第1次 更多的bash shell命令
1.检测程序
程序都是进程在运行,进程里面有很多线程,面试经常会问进程和线程的区别,线程可以访问另一个线程的什么什么的,这些我都听腻了,区别就是进程会分配程序需要的空间,创建线程需要的资源,用一个中二的说法:进程就是世界,线程是世界意志的执行者。线程可以访问进程的各种资源,但是不能访问线程自己的堆栈。
查看进程的命令是ps,它有很多搭配的参数,比如ps -e 输出全部进程,ps -f显示进程的完整信息,还可以组合ps -ef
实时检测进程的运行情况:top
进程显示的信息有哪些?
UID 启动这些进程的用户
PID 进程的ID号
PPID 父进程的ID
C 进程生命周期中CPU利用率
STIME 进程启动时的系统时间
TTY 启动进程时的终端时间
CMD 启动的程序名称
使用ps -l会出现更多的字段,可以自行查询
2.结束进程
我们需要知道进程的各种状态,根据情况结束进程,唤醒进程,挂起进程等等,进程是通过信号来通信。下面列举了几种信号对应的状态
信号 | 名称 | 描述 |
1 | HUP | 挂起 |
2 | INT | 中断 |
3 | QUIT | 结束运行 |
9 | KILL | 无条件终止 |
11 | SEGV | 段错误 |
15 | TERM | 尽可能终止 |
17 | STOP | 无条件停止运行,但是不终止 |
18 | TSTP | 停止或者暂停,但继续在后台运行 |
19 | CONT | 在STOP或者TSTP后恢复运行 |
(1).kill命令
kill PID
终止PID代表的进程,这是向进程发生TERM命令,有些进程会很调皮,无视这个命令,这个时候你可以强硬一点,使用kill -s PID,pid进程会立刻GG
(2). killall命令
kill需要pid,killall可以指定进程名字,还能用通配符
3.监测磁盘空间
有时候我们还要处理LINUX系统空间,所以这也是一项基本技能。
1.挂载存储媒体
LINUX文件系统把所有的磁盘并入到一个虚拟目录下,把新的储存媒体比如U盘放在虚拟目录下,这样的工作叫做挂载。
(1).mount命令
这是挂载媒体的命令,输入mount,输出当前系统上挂载的设备列表
mount命令提供四个部分的信息:
(1).媒体的设备文件名
(2).媒体挂载的虚拟目录的挂载点
(3).文件系统类型
(4).已挂载媒体的访问状态
·修改挂载点 mount -t type device directory
type:格式化方法,有很多种,比如vfat,ios9660,ntfs
device:目前的挂载点
directory:修改到指定位置的挂载点
mount -t vfat /dev/sdb1 /media/disk
把sdb1的挂载点修改到/media/disk
mount还可以搭配其他的参数,完成更加复杂的命令,这里只介绍重要的-o
-o可以添加一些其他的命令,后面用逗号分割,
ro只读挂载
rw读写挂载
user允许普通用户挂载文件系统
check-none挂载时不检测
loop挂载一个文件
2.umount移除挂载设备
从系统中移除一个可移动设备,需要先卸载。
umount [directory | device]
可以指定设备名字或者挂载点来移除设备,如果设备正在使用,则会失败
3.df命令
查看挂载设备的内存使用情况
这个输出很容易看懂,下面就是df的输出,分别是设备的设备文件位置,块(1M)的数量,已经使用的块,可以空间,使用率,挂载点
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 61054632 3911020 54605344 7% /
devtmpfs 781052 0 781052 0% /dev
tmpfs 946812 0 946812 0% /dev/shm
tmpfs 378728 1188 377540 1% /run
tmpfs 5120 4 5116 1% /run/lock
/dev/mmcblk0p1 261108 31228 229880 12% /boot
tmpfs 189360 20 189340 1% /run/user/1000
df -h 输出更明白
Filesystem Size Used Avail Use% Mounted on
/dev/root 59G 3.8G 53G 7% /
devtmpfs 763M 0 763M 0% /dev
tmpfs 925M 0 925M 0% /dev/shm
tmpfs 370M 1.2M 369M 1% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
/dev/mmcblk0p1 255M 31M 225M 12% /boot
tmpfs 185M 20K 185M 1% /run/user/1000
4.du命令
df是看整体的情况,则du是看某个指定文件夹下面的内存情况,某人情况下是看当前的文件夹,它会输出指定文件夹下的子文件夹使用情况。这种输出会从文件夹最底层开始,也就是最里面开始输出。也许我们并不需要知道每个文件夹的情况。只需要知道指定的文件夹整体情况。
du -s 则输出文件夹下的整体占用空间
du -h 输出普通人看得明白的数据,和上面那个一样
du -c 输出整体的情况,它是在末尾多了一个统计而已
我的桌面有一个Linux文件目录
du -s linux #输出Linux的文件大小
输出:
6236 linux
du -h linux
64K linux/.git/hooks
4.0K linux/.git/refs/heads
4.0K linux/.git/refs/tags
12K linux/.git/refs
8.0K linux/.git/info
4.0K linux/.git/branches
4.0K linux/.git/objects/info
4.0K linux/.git/objects/pack
12K linux/.git/objects
116K linux/.git
64K linux/linux-2.6/.git/hooks
4.0K linux/linux-2.6/.git/refs/heads
4.0K linux/linux-2.6/.git/refs/tags
12K linux/linux-2.6/.git/refs
8.0K linux/linux-2.6/.git/info
4.0K linux/linux-2.6/.git/branches
4.0K linux/linux-2.6/.git/objects/info
5.9M linux/linux-2.6/.git/objects/pack
5.9M linux/linux-2.6/.git/objects
6.0M linux/linux-2.6/.git
6.0M linux/linux-2.6
6.1M linux
64 linux/.git/hooks
4 linux/.git/refs/heads
4 linux/.git/refs/tags
12 linux/.git/refs
8 linux/.git/info
4 linux/.git/branches
4 linux/.git/objects/info
4 linux/.git/objects/pack
12 linux/.git/objects
116 linux/.git
64 linux/linux-2.6/.git/hooks
4 linux/linux-2.6/.git/refs/heads
4 linux/linux-2.6/.git/refs/tags
12 linux/linux-2.6/.git/refs
8 linux/linux-2.6/.git/info
4 linux/linux-2.6/.git/branches
4 linux/linux-2.6/.git/objects/info
6000 linux/linux-2.6/.git/objects/pack
6008 linux/linux-2.6/.git/objects
6112 linux/linux-2.6/.git
6116 linux/linux-2.6
6236 linux
6236 total
5. 处理数据文档
(1) sort 对文档的数据排序
默认情况是安装字符串的升序排序,如果你的文档是数字字符,然后你想按数字排序,可以用-n,如果开头是时间,可以按时间排序,-r是降序,-t指定分隔符,-k指定排序的字段。-k和-t一起使用很有效。
理解一下:
du linux | sort -nr
6236 linux
6116 linux/linux-2.6
6112 linux/linux-2.6/.git
6008 linux/linux-2.6/.git/objects
6000 linux/linux-2.6/.git/objects/pack
116 linux/.git
64 linux/linux-2.6/.git/hooks
64 linux/.git/hooks
12 linux/linux-2.6/.git/refs
12 linux/.git/refs
12 linux/.git/objects
8 linux/linux-2.6/.git/info
8 linux/.git/info
4 linux/linux-2.6/.git/refs/tags
4 linux/linux-2.6/.git/refs/heads
4 linux/linux-2.6/.git/objects/info
4 linux/linux-2.6/.git/branches
4 linux/.git/refs/tags
4 linux/.git/refs/heads
4 linux/.git/objects/pack
4 linux/.git/objects/info
4 linux/.git/branches
Linux文件下全部文件降序排列 ,|是管道符
sort -t ':' -k 3 /etc/passwdsystemd-network:x:101:102:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin
systemd-resolve:x:102:103:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin
systemd-timesync:x:103:109:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin
messagebus:x:104:110::/nonexistent:/usr/sbin/nologin
_rpc:x:105:65534::/run/rpcbind:/usr/sbin/nologin
sshd:x:106:65534::/run/sshd:/usr/sbin/nologin
statd:x:107:65534::/var/lib/nfs:/usr/sbin/nologin
avahi:x:108:113:Avahi mDNS daemon,,,:/run/avahi-daemon:/usr/sbin/nologin
dnsmasq:x:109:65534:dnsmasq,,,:/var/lib/misc:/usr/sbin/nologin
lightdm:x:110:114:Light Display Manager:/var/lib/lightdm:/bin/false
rtkit:x:111:116:RealtimeKit,,,:/proc:/usr/sbin/nologin
pulse:x:112:119:PulseAudio daemon,,,:/run/pulse:/usr/sbin/nologin
saned:x:113:122::/var/lib/saned:/usr/sbin/nologin
colord:x:114:123:colord colour management daemon,,,:/var/lib/colord:/usr/sbin/nologin
hplip:x:115:7:HPLIP system user,,,:/run/hplip:/bin/false
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
systemd-coredump:x:996:996:systemd Core Dumper:/:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
观察一下,它把: 作为分割符号,分为很多个字段,指定第三个字段作为排序的指标,然后升序排列。
(2).搜索数据:grep
他的使用方法很多,需要仔细研究。命令模式:
grep [options] pattern [file]
比如我们有一个文本test.txt,内容如下:
abc
def
123
456
grep a test.txt
输出:abc
grep -v a test.txt #-v表示输出不含查询的字符
def
123
456
有很多选项,可以自己查询
6.压缩文件
有很多工具可以压缩,比如bzip2,compress,gzip,zip
后缀名也各不一样,分别对应.bz2,.z,.gz,.zip
介绍一下gzip,这是GUN的一个压缩软件
(1).gzip 压缩文件
(2).gzcat 查看压缩文件的内容
(3).gunzip 解压
7.归档文件
虽然gzip可以压缩文件,但是它是对单个文件使用,我们常常需要对一系列文件使用,所以需要tar命令。
tar function [option] object1 object2 object3
功能有很多
-A 把一个归档的文件追加到另一个中
-c 创建一个新的归档文件
-d 比较两个归档文件的不同
-r 追加归档文件到末尾
-t 列出归档文件的内容
-u 更新,追加同名文件
-x 从归档文件中提取文件
选项也有很多
-C dir 切换到指定dir
-f file 输出结果到文件file
-j 重定向输出结果给bzip2来压缩文件
-p 保留文件权限
-v 处理文件的时候显示文件
-z 重定向给gzip命令来压缩文件
比如压缩三个文件a1,a2,a3
tar -cvf A.tar a1 a2 a3
把a1 a2 a3 的内容输入到创建的文件A.tar中
查看压缩文件
tar -tf A.tar
则输出a1 a2 a3
A.tar会被重新构建
解压命令:
tar -zxvf A.tar
相关文章:
第1次 更多的bash shell命令
1.检测程序 程序都是进程在运行,进程里面有很多线程,面试经常会问进程和线程的区别,线程可以访问另一个线程的什么什么的,这些我都听腻了,区别就是进程会分配程序需要的空间,创建线程需要的资源,…...

工业路由器项目应用(4g+5g两种工业路由器项目介绍)
引言: 随着工业智能化的不断发展,工业路由器在各个领域的应用越来越广泛。本文将介绍两个工业路由器项目的应用案例,一个是使用SR500 4g工业路由器,另一个是使用SR800 5g工业路由器。 详情:https://www.key-iot.com/i…...

国产开源无头CMS,MyCms v4.7 快捷生成接口开发后台
MyCms 是一款基于 Laravel 开发的开源免费的开源多语言商城 CMS 企业建站系统。 MyCms 基于 Apache2.0 开源协议发布,免费且可商业使用,欢迎持续关注我们。技术交流 QQ 群:887522124 加群请备注来源:如gitee、github、官网等 v4…...

C++(反向迭代器)
前言: 上一章我们介绍了适配器,也提了一下迭代器适配器,今天我们就从反向迭代器把迭代器适配器给解释一下。 既然 都叫迭代器容器了 就说名只要接口合适他可以封装实现各种容器需求包括vector list 。 目录 1.反向迭代器设计 1.1反向迭代…...

DataX和dataX-web 集群部署及使用
📑 DataX和dataX-web 集群部署及使用 一 . 安装前准备 DataX 是一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。 DataX 采用 框架 插件 的模式…...
常见的数据存储方案:选择合适的方式来管理您的数据
对于数据存储方案的选择,是现代企业和个人都需要面对的重要决策。本文将为您介绍几种常见的数据存储方案,包括关系型数据库、NoSQL数据库以及分布式文件系统。通过了解每种方案的特点、操作方式和适用业务类型,希望能帮助您选择合适的数据存储…...
leetcode 221 最大正方形 + 1277 统计全为1的正方形子矩阵
题目 在一个由 ‘0’ 和 ‘1’ 组成的二维矩阵内,找到只包含 ‘1’ 的最大正方形,并返回其面积。 示例 输入:matrix [[“1”,“0”,“1”,“0”,“0”],[“1”,“0”,“1”,“1”,“1”],[“1”,“1”,“1”,“1”,“1”],[“1”,“0”,“…...

yolov7车牌识别(12种中文车牌类型)
12种中文车牌类型: 1.单行蓝牌 2.单行黄牌 3.新能源车牌 4.白色警用车牌 5 教练车牌 6 武警车牌 7 双层黄牌 8 双层武警 9 使馆车牌 10 港澳牌车 11 双层农用车牌 12 民航车牌 测试demo: 以yolov7-lite-s 为例: python detect_rec_plate.py --detect_model weigh…...
Mac PF命令防火墙
查看所有网络接口及其名称 ifconfig -a 文件目录:/etc/pf.conf 在文件末尾添加以下行: block drop from IP_ADDRESS其中,"IP_ADDRESS"是您要屏蔽的IP地址。 输入以下命令以重新加载pf防火墙配置文件: sudo pfctl …...
prototype-based learning algorithm(原型学习)
Prototype-based learning(原型学习)是一种机器学习方法,它的核心思想是通过存储一组代表性的样本(原型),然后使用这些原型来进行分类、回归或聚类等任务。这种方法模拟了人类学习的方式,人们往…...

【数据结构-二叉树 八】【遍历求和】:求根到叶子节点数字之和
废话不多说,喊一句号子鼓励自己:程序员永不失业,程序员走向架构!本篇Blog的主题是【遍历求和】,使用【二叉树】这个基本的数据结构来实现,这个高频题的站点是:CodeTop,筛选条件为&am…...
PHP知识大全
PHP知识大全 1. 变量如何定义?如何检查变量是否定义?如何删除一个变量?怎样检测变量是否设置? $定义 isset()// 检测变量是否设置 defined()// 检测常量是否设置unset()//销毁指定的变量 empty()// 检测…...

Jmeter常用参数化技巧总结!
说起接口测试,相信大家在工作中用的最多的还是Jmeter。 JMeter是一个100%的纯Java桌面应用,由Apache组织的开放源代码项目,它是功能和性能测试的工具。具有高可扩展性、支持Web(HTTP/HTTPS)、SOAP、FTP、JAVA 等多种协议。 在做…...

iTunes更新iOS17出现发生未知错误4000的原因和解决方案
有不少人使用iTunes更新iOS 17时出现「无法更新iPhone发生未知的错误4000」的错误提示,不仅不知道iTunes升级失败的原因,也无从解决iPhone无法更新4000的问题。 小编今天就分享iPhone更新iOS系统出现4000错误提示的原因和对应的解决方案。 为什么iPhone…...

微信小程序 table表格 固定表头和首列 右侧表格可以左右滚动
(一) 1.左侧一列固定不动 2.右侧表格内容可以左右滚动 3.单元格内容平均分配 4.每一行行高可以由内容撑开 通过 js 设置左侧一列行高与右侧表格内容行高保持一致 1.1 效果图 1.2 tabble.wxml <view classtable><!-- 左侧固定 --><view classtable_left_colum…...
Final Cut Pro 10.6.10中文用法儿
Final Cut Pro是一款专业视频编辑软件,主要用于影片的后期剪辑、调色、特效、音频处理等方面。 Final Cut Pro for Mac(fcpx视频剪辑) 10.6.10中文版 以下是一些基本的使用方法和快捷键: 添加素材: 在检视器中,可以使用E快捷键把所选素材片…...

【网络安全---XSS漏洞(1)】XSS漏洞原理,产生原因,以及XSS漏洞的分类。附带案例和payload让你快速学习XSS漏洞
以pikachu靶场为例子进行讲解,pikachu靶场的搭建请参考以下博客; 【网路安全 --- pikachu靶场安装】超详细的pikachu靶场安装教程(提供靶场代码及工具)_网络安全_Aini的博客-CSDN博客【网路安全 --- pikachu靶场安装】超详细的pi…...
云计算:常用系统前端与后端框架
目录 一、理论 1.前端 2.后端 一、理论 1.前端 (1)JavaScript框架 JQuery.JS ZeptoJS(与jquery类似) SUI.Mobile Node.JS (服务端) angular.Js (模型,scope作用域,controller, 依赖注入,MVVM) :前端MVC . requir…...

asp.net闲置物品购物网系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio
一、源码特点 asp.net闲置物品购物网系统是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为vs2010,数据库为sqlserver2008,使用c#语 言开发 asp.net 闲置物品购物网 二、功…...
一般纳税人缺少进项票,如何降低税负压力?
《梅梅谈税》专注于企业税务筹划!助力企业合理、合规、合法进行节税税收筹划! 大部分一般纳税人企业通常都存在进项和成本发票欠缺的问题,而进项发票欠缺,就会导致企业的增值税和企业所得税税负压力过大,那么如何解决…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...

循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...
聊一聊接口测试的意义有哪些?
目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...

Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...

如何理解 IP 数据报中的 TTL?
目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...

均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...

android13 app的触摸问题定位分析流程
一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...

FFmpeg avformat_open_input函数分析
函数内部的总体流程如下: avformat_open_input 精简后的代码如下: int avformat_open_input(AVFormatContext **ps, const char *filename,ff_const59 AVInputFormat *fmt, AVDictionary **options) {AVFormatContext *s *ps;int i, ret 0;AVDictio…...

STM32标准库-ADC数模转换器
文章目录 一、ADC1.1简介1. 2逐次逼近型ADC1.3ADC框图1.4ADC基本结构1.4.1 信号 “上车点”:输入模块(GPIO、温度、V_REFINT)1.4.2 信号 “调度站”:多路开关1.4.3 信号 “加工厂”:ADC 转换器(规则组 注入…...