03.Linux常用命令
常用命令
- 查看磁盘:df -lh
- 查看一级目录下文件大小:du -h –max-depth=1
- 统计当前目录下文件大小,并按照大小排序:du -sm * | sort -nr
- 设置文件权限:chmod
- 更改文件所有者:chown bob:user 用户:组
- 根据端口号查找程序
- netstat -tunlp | grep port
- 如果命令不存在安装一下yum install net-tools
- ps aux | grep pid
- netstat -tunlp | grep port
- 创建用户及用户组
- useradd myuser
- -d 指定家目录
- -g 指定用户组
- passwd myuser 修改密码
- useradd myuser
- 当前文件夹下查找字符串,忽略大小写
- grep -rni hello,world! ./*
重定向
- cat :连接文件
- grep : 打印匹配行
- head : 输出文件第一部分
- sort :排序文本行
- tail : 输出文件最后一部分
- tee : 从标准输入读取数据,并同时写到标准输出和文件
- uniq : 报道或省略重复行
- wc : 打印文件中换行符,字数,和字节个数
压缩与解压
- *.tar 用 tar –xvf 解压
- x : 从压缩的文件中提取文件
- c: 建立新的压缩文件
- v : 显示操作过程
- f : 指定压缩文件
- z: 支持gzip的压缩文件
- *.gz 用 gzip -d或者gunzip 解压
- *.tar.gz和*.tgz 用 tar –xzf 解压
- *.bz2 用 bzip2 -d或者用bunzip2 解压
- *.tar.bz2用tar –xjf 解压
- *.Z 用 uncompress 解压
- *.tar.Z 用tar –xZf 解压
- *.rar 用 unrar e解压
- *.zip 用 unzip 解压
- war包用unzip或者jar 都可以
进程相关
ps – 报告当前进程快照 -x 展示所有线程
- aux输出格式:USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
- USER: 行程拥有者 PID: pid %CPU: 占用的 CPU 使用率 %MEM: 占用的记忆体使用率
VSZ: 占用的虚拟记忆体大小 RSS: 占用的记忆体大小 TTY: 终端的次要装置号码 (minor device number of tty) - STAT: 该行程的状态 START: 行程开始时间 TIME: 执行的时间 COMMAND:所执行的指令
- USER: 行程拥有者 PID: pid %CPU: 占用的 CPU 使用率 %MEM: 占用的记忆体使用率
- 其他指令
- ps a 显示现行终端机下的所有程序,包括其他用户的程序。
ps -A 显示所有程序。
ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
ps -e 此参数的效果和指定”A”参数相同。
ps e 列出程序时,显示每个程序所使用的环境变量。
ps f 用ASCII字符显示树状结构,表达程序间的相互关系。
ps -H 显示树状结构,表示程序间的相互关系。
ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。
ps s 采用程序信号的格式显示程序状况。
ps S 列出程序时,包括已中断的子程序资料。
ps -t 指定终端机编号,并列出属于该终端机的程序的状况。
ps u 以用户为主的格式来显示程序状况。
ps x 显示所有程序,不以终端机来区分。
- ps a 显示现行终端机下的所有程序,包括其他用户的程序。
- aux输出格式:USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
top – 显示任务
jobs – 列出活跃的任务
bg – 把一个任务放到后台执行
fg – 把一个任务放到前台执行
killall – 杀死指定名字的进程
& - 进程后台执行
vmstat - 输出一个系统资源使用快照,包括内存,交换分区和磁盘 I/O。 为了看到连续的显示结果,则在命令名后加上更新操作延时的时间(以秒为单位)。例如,“vmstat 5”。 ,按下 Ctrl-c 组合键, 终止输出。
进程状态
R running or runnable (on run queue) 正在执行或者可执行,此时进程位于执行队列中。 D uninterruptible sleep (usually I/O) 不可中断阻塞,通常为 IO 阻塞。 S interruptible sleep (waiting for an event to complete) 可中断阻塞,此时进程正在等待某个事件完成。 Z zombie (terminated but not reaped by its parent) 僵死,进程已经终止但是尚未被其父进程获取信息。 T stopped (either by a job control signal or because it is being traced) 结束,进程既可以被作业控制信号结束,也可能是正在被追踪 < 高优先级,对其他用户不友好 N 低优先级,对其他用户友好 L 已经将页面锁到了内存中 s 会话leader,包含子进程 l 多线程的 + 位于后台的进程组
常用命令详解x
kill
- 1 : HUP挂起(Hangup)。这是美好往昔的残留部分,那时候终端机通过电话线和调制解调器连接到 远端的计算机。这个信号被用来告诉程序,控制的终端机已经“挂断”。 通过关闭一个终端会话,可以展示这个信号的作用。在当前终端运行的前台程序将会收到这个信号并终止。许多守护进程也使用这个信号,来重新初始化。这意味着,当一个守护进程收到这个信号后, 这个进程会重新启动,并且重新读取它的配置文件。Apache 网络服务器守护进程就是一个例子。
- 2 : INT中断。实现和 Ctrl-c 一样的功能,由终端发送。通常,它会终止一个程序。
- 9 : KILL杀死。这个信号很特别。尽管程序可能会选择不同的方式来处理发送给它的 信号,其中也包含忽略信号,但是 KILL 信号从不被发送到目标程序。而是内核立即终止 这个进程。当一个进程以这种方式终止的时候,它没有机会去做些“清理”工作,或者是保存工作。 因为这个原因,把 KILL 信号看作最后一招,当其它终止信号失败后,再使用它。
- 15 :TERM终止。这是 kill 命令发送的默认信号。如果程序仍然“活着”,可以接受信号,那么 这个它会终止。
- 18 :CONT继续。在一个停止信号后,这个信号会恢复进程的运行。19STOP停止。这个信号导致进程停止运行,而不是终止。像 KILL 信号,它不被 发送到目标进程,因此它不能被忽略。
find
- -name : 按照文件名进行查找
- -user : 按照文件属主来查找文件
- -group : 按照文件所属的组来查找文件
grep
- grep ‘字符串’ 文件名 在某个文件中查找字符串
-c : 统计匹配到行的个数 -i : 忽略大小写 -n : 输出行号 -v : 反向选择,也就是显示出没有 搜寻字符串 内容的那一行 --color=auto :找到的关键字加颜色显示1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27#### cut
+ -c a-b 从第a个字符到第b个字符
#### df
+ -h 查看磁盘空间的大小
#### netstat
+ 打印网路连接
#### awk
+ AWK 是一种处理文本文件的语言,是一个强大的文本分析工具。
+ 用法
+ awk '{[pattern] action}' {filenames} # 行匹配语句 awk '' 只能用单引号
+ 正则匹配
+ awk '/pattern/' finenames
+ 每行按空格或TAB分割,输出文本中的1、4项
+ $ awk '{print $1,$4}' log.txt
+ 使用","分割
+ $ awk -F, '{print $1,$2}' log.txt
+ 使用多个分隔符.先使用空格分割,然后对分割结果再使用","分割
+ $ awk -F '[ ,]' '{print $1,$2,$5}' log.txt
#### lsof(list open files)
+ 是一个查看进程打开的文件的工具 常用-p
#### netstat -natp
+ 用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况
#### cut 提取指令
+ ```html
-d :分隔符
-f :经过 -d 分隔后,使用 -f n 取出第 n 个区间
-c :以字符为单位取出区间
sort 排序指令
- 用于排序 sort [-fbMnrtuk] [file or stdin]
-f :忽略大小写 -b :忽略最前面的空格 -M :以月份的名字来排序,例如 JAN,DEC -n :使用数字 -r :反向排序 -u :相当于 unique,重复的内容只出现一次 -t :分隔符,默认为 tab -k :指定排序的区间
tcpdemp
03.Linux常用命令
https://x-leonidas.github.io/2025/10/26/13Linux/03.Linux常用命令/