经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Linux/Shell » 查看文章
工作中总结的30个常用Linux指令,实在记不住就别硬记了,看这篇就够了
来源:cnblogs  作者:JavaBuild  时间:2024/3/27 8:44:15  对本文有异议

写在开头

最近发现自己记忆力严重下滑,很多sql命令,linux命令都记不住,特别是linux命令,很多命令参数很多,一段时间不用,再去使用就需要从网上重查了,很烦人,为此花了一些时间把之前笔记中的Linux命令给整理了一下,汇总出30个常用的分享出来,下次再想不起来直接看这篇文章就行了。

1、Linux指令-ls

list 的缩写,通过 ls 命令不仅可以查看 linux 文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)、查看目录信息等等。

  1. ls -a 列出目录下所有文件,包含以.开始的隐藏文件
  2. ls -A 列出除.及..的其他文件
  3. ls -r 文件以反序排列
  4. ls -t 文件以修改时间排序
  5. ls -S 文件以大小排序
  6. ls -h 以易读大小显示
  7. ls -l 除了文件名外,还将文件的权限、所有者、文件大小等详细信息显示出来
  8. ls -lhrt 按照易读方式按时间反序排序,并显示文件详细信息
  9. ls -lrS 按大小反序显示文件详细信息
  10. ls -l t* 列出当前目录中所有以“t”开头的目录的详细内容

2、Linux指令-cd

切换目录,是changedirectory的缩写

  1. cd / 进入指定的目录
  2. cd ~ 进入home目录
  3. cd - 进入上一次工作路径
  4. cd .. 切换到上一级目录

3、Linux指令-pwd

该命令用于查看当前工作目录的路径, print work directory的缩写

  1. pwd 查看当前目录路径
  2. pwd -P 查看软连接的实际路径

4、Linux指令-mkdir

该指令用于创建目录,是make directory的缩写

  1. mkdir t 当前工作目录下创建名为t的文件夹
  2. mkdir -m 对新建的目录设置权限,当然也可以用chmod命令赋权
  3. mkdir -p 若路径中的某些目录尚不存在,系统会自动创建
  4. mkdir -p /tmp/test/t tmp目录下创建路径为test的目录,
  5. test目录下创建t目录

5、Linux指令-rm

rm是remove的缩写,指删除一个目录中的一个或多个文件或目录。如果没有使用 -r 选项,则 rm 不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。

  1. 命令语法:rm [选项] 文件..
  2. rm -f 强制删除,忽略不存在的文件,不给出提示
  3. rm -i 交互式删除,删除前给提示
  4. rm -r 递归删除目录下文件,以及子目录下的文件
  5. rm -i *.log 删除任何.log文件,删除前逐一询问确认
  6. rm -rf test 强制删除test目录或文件,无需确认

6、Linux指令-rmdir

rmdir是remove directory的缩写,指删除空目录

  1. rmdir -v 删除时有提示
  2. rmdir -p 如果一个目录和子目录皆为空,则在删除子目录时,父目录一并删除
  3. rmdir -p a/b/c 等同于rmdir a/b/c a/b a

7、Linux指令-mv

mv是move的缩写,指移动文件、目录,移动时可修改文件或目录名

  1. 命令语法:mv [选项] 源文件或目录 目标文件或目录
  2. mv test.txt test2.txt 将文件test.txt重命名为test2.txt
  3. mv log.txt log2.txt /log log.txtlog2.txt文件移动到/log目录中
  4. mv -i log.txt log2.txt 将文件log.txt更名为log2.txt,如果log2.txt已经存在,则询问是否覆盖。
  5. mv -f log.txt log2.txt 将文件log.txt更名为log2.txt,如果log2.txt已经存在,直接覆盖。
  6. mv * ../ 移动当前文件夹下的所有文件到上一级目录

8、Linux指令-cp

复制,将多文件或目录复制至目标目录(shell 脚本中不加 -i 参数会直接覆盖不会提示)

  1. 常用指令:
  2. -i 提示
  3. -r 复制目录以及目录内所有的文件
  4. -a 复制的文件与原文件时间一样
  5. cp -ai a.txt test 复制a.txt文件到test目录下,保持原文件时间,如果test目录中已经存在a.txt文件,提示是否覆盖。
  6. cp -s a.txt a_link.txt a.txt文件创建一个链接

9、Linux指令-cat

文本输出命令

  1. cat filename 一次显示整个文件
  2. cat > filename 从键盘创建一个文件
  3. cat file1 file2 > file 将几个文件合并为一个文件
  4. -b 对非空输出行号
  5. -n 输出所有行号
  6. cat -n log1.log log2.log log1.log的文件内容加上行号后输入到log2.log文件里
  7. cat -b log1.log log2.log log.log log1.loglog2.log的文件内容加上行号(空白行不加)附加到log.log里。

10、Linux指令-more

阅读命令,与 cat 类似, more 会以一页一页的显示方便逐页阅读,按空格键(space)就往下一页显示,按 b 键就会往回(back)一页显示。

  1. 命令参数:
  2. +n 从第n行开始显示
  3. -n 定义屏幕大小为n
  4. +/pattern 在每个档案显示前搜寻该(pattern)字符串,然后从该字串前两行之后开始显示
  5. -c 从顶部清屏,然后显示
  6. -s 把连续的多个空行显示为一行
  7. -u 把文件中的下划线去掉
  8. 常用的操作命令:
  9. Enter 向下n行,需要定义。默认为1
  10. Ctrl+F 向下滚动一屏
  11. 空格键 向下滚动一屏
  12. Ctrl+B 返回上一屏
  13. = 输出当前行的行号
  14. :f 输出文件名和当前行的行号
  15. !命令 调用shell,并执行命令
  16. q 退出more
  17. more +3 text.txt 显示文件中从第三行起的内容
  18. ls -l | more -5 以每次显示5行数据的量,列出当前目录下的所有文件详细信息

11、Linux指令-less

浏览文件命令,less 可以随意浏览文件,less 在查看之前不会加载整个文件

  1. 常用参数:
  2. -i 忽略搜索时的大小写
  3. -N 显示每行行号
  4. -o <文件名> less输出的内容在指定的文件中保存起来
  5. -s 显示连续空行为一行
  6. /字符串 向下搜索“字符串”的功能
  7. ?字符串 向上搜索“字符串”的功能
  8. -x <数字> tab键显示为规定的数字空格
  9. 空格键 滚动一行
  10. 回车键 滚动一页
  11. [pagedown] 向下发动一页
  12. [pageup] 向上翻动一页
  13. ps -aux | less -N ps查看进程信息并通过less分页显示,显示行号
  14. less a.log b.log 查看多个文件,可以使用n查看下一个,使用怕p查看前一个

12、Linux指令-tail

用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理,常用来查看日志文件

  1. 常用参数:
  2. -f 循环读取(常用于查看程序执行后递增的日志文件)
  3. -n<行数> 显示行数(从后向前)
  4. tail -n 100 显示后100行日志文件
  5. tail -f log.log 循环读取日志文件逐渐增加的内容
  6. tail -200f log.log 循环读取日志文件后200行的内容

13、Linux指令-head

显示开头或结尾命令
head 用来显示档案的开头至标准输出中,默认 head 命令打印文件的开头 10 行

  1. 常用参数:
  2. -n <行数> 显示的行数(行数为复数表示从后向前数)
  3. head a.log -n 20 显示a.log文件中前20行数据
  4. head -c 20 a.log 显示a.log文件前20字节
  5. head -n -10 a.log 显示a.log最后10行数据

14、Linux指令-which

这个指令平时用的比较少,主要功能是PATH 中搜索某个系统命令的位置,并返回第一个搜索结果
which 命令,可以看到某个系统命令是否存在,执行命令的位置。

  1. which ls 查看 ls 命令的执行文件位置

15、Linux指令-locate

搜索文档数据库命令
locate 通过搜寻系统内建文档数据库达到快速找到档案,数据库由 updatedb 程序来更新,updatedb 由 cron daemon 周期性调用
locate 命令在搜寻较快,但最近才建立或刚更名的,可能会找不到
locate 与 find 命令相似,可以使用正则匹配查找

  1. 常用参数:
  2. -l num 要显示的行数
  3. -f 将特定的档案系统排除在外
  4. -r 使用正则运算符作为寻找条件
  5. locate pwd 查找文件名中包换pwd的所有文件
  6. locate /etc/sh 搜索etc目录下的所有以sh开头的文件
  7. locate -r '^/var.*txt$' 查找/var目录下,以txt结尾的文件

16、Linux指令-find

查找文件树命令,用于在文件树中查找文件,并作出相应的处理。

  1. 命令格式:find pathname -options [-print -exex -ok ...]
  2. 命令参数:
  3. pathname:查找的目录路径
  4. ~表示home目录
  5. .表示当前目录
  6. /表示根目录
  7. -print:匹配的文件输出到标准输出
  8. -exec:对匹配的文件执行该参数所给出的shell命令
  9. -ok:和-exec作用相同,不过是以一种更安全的模式来执行该参数所给出的shell命令,在执行每一个命令前,都会给出提示,让用户来确定是都执行。
  10. -options:表示查找方式,如下是其具体选项
  11. -name 按照文件名查找文件
  12. -perm 按照文件权限查找文件
  13. -user 按照文件属主查找文件
  14. -group 按照文件所属的组来查找文件
  15. -type 查找某一类型的文件
  16. b 块设备文件
  17. d 目录
  18. c 字符设备文件
  19. l 符号链接文件
  20. p 管道文件
  21. f 普通文件
  22. -size n :[c] 查找文件长度为n块文件,带有c时表示文件字节大小
  23. -amin n 查找系统中最后n分钟访问的文件
  24. -atime n 查找系统中最后n*24小时访问的文件
  25. -cmin n 查找系统中最后n分钟被改变文件状态的文件
  26. -ctime n 查找系统中最后n*24小时被改变文件状态的文件
  27. -mmin n 查找系统中最后n分钟被改变文件数据的文件
  28. -mtime n 查找系统中最后n*24小时被改变文件数据的文件
  29. -maxdepth n 最大查找目录深度
  30. -prune 选项来指出需要忽略的目录
  31. -newer 查找更改时间比某个文件新,但比另外一个文件旧的所有文件
  32. find . -name '[A-Z]*.txt' -print 在当前目录及子目录中,查找大写字母开头的txt文件
  33. find . -mtime -2 -type f -print 查找两天内被更该过的文件
  34. find . -name 'del.txt' -ok rm {} \; 查找名为del.txt的文件并删除,删除前提示确认
  35. find logs -type f -mtime +5 -exec -ok rm {} \; /logs目录中查找更改时间在5日以前的文件并删除它们

17、Linux指令-chmod

用于改变 linux 系统文件或目录的访问权限
该命令有两种用法:一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法
每一文件或目录的访问权限都有三组,每组用三位代号表示:

  1. 文件属主的读、写和执行权限
  2. 与属主同组的用户的读、写和执行权限
  3. 系统中其他用户的读、写和执行权限
  1. 常用参数:
  2. -c 当发生改变时,报告处理信息
  3. -R 处理指定目录以及其子目录下的所有文件
  4. 权限范围:
  5. u:目录或者文件的当前的用户
  6. g:目录或者文件的当前的群组
  7. o:除了目录或者文件的当前用户或者群组之外的用户
  8. a:所有的用户及群组
  9. 权限代号:
  10. r :读权限,用数字4表示
  11. w :写权限,用数字2表示
  12. x :执行权限,用数字1表示
  13. - :删除权限,用数字0表示
  14. s :特殊权限
  15. chmod -R 755 目录名称

18、Linux指令-tar

压缩和解压文件
tar 本身不具有压缩功能,只具有打包功能,有关压缩及解压是调用其它的功能来完成

  1. 命令参数:
  2. -c 建立新的压缩文件
  3. -f 指定压缩文件
  4. -r 添加文件到已经压缩文件包中
  5. -u 添加改了和现有的文件到压缩包中
  6. -x 从压缩包中抽取文件
  7. -t 显示压缩文件中的内容
  8. -z 支持gzip压缩
  9. -j 支持bzip2压缩
  10. -Z 支持compress解压文件
  11. -v 显示操作过程
  12. 示列:
  13. tar -cvf log.tar 1.log,2.log 1.log2.log文件全部打成tar
  14. tar -zcvf /temp/log.tar.gz /log 将/log下所有文件及目录打包到指定的目录,并使用gz压缩
  15. tar -ztvf /temp/log.tar.gz 查看刚打包的文件内容
  16. tar -zxvf log.tar.gz 解压这个log.tar.gz文件
  17. tar --exclude /log/mylog/ -zcvf /tmp/loglog.tar.gz /log 压缩打包/log,排除/log/mylog

19、Linux指令-chown

将指定文件的拥有者改为指定的用户或组,操作权限为root用户

  1. 用户可以是用户名或者用户 ID
  2. 组可以是组名或者组 ID
  3. 文件是以空格分开的要改变权限的文件列表,支持通配符
  1. 常用参数:
  2. -c 显示更改部分的信息
  3. -R 处理指定的目录及子目录
  4. chown -c log:log a.txt 改变文件a.txt的拥有者和群组都为log,并显示改变信息
  5. chown -c :log a.txt 改变文件a.txt的群组为log,并显示改变信息
  6. chown -c log a.txt 改变文件a.txt的拥有者为log,并显示改变信息
  7. chown -cR log: log/ 改变文件夹log及子文件、目录属主为log

20、Linux指令-df

显示磁盘空间使用情况

  1. 获取硬盘被占用空间,剩余空间等信息。默认所有当前被挂载的文件系统的可用空间都会显示
  2. 默认情况下,磁盘空间以 1KB 为单位进行显示
  1. 常用参数:
  2. -a 全部文件系统列表
  3. -h 以方便阅读的方式显示信息
  4. -i 显示inode信息
  5. -k 区块为1024字节
  6. -l 只显示本地磁盘
  7. -T 列出文件系统类型

21、Linux指令-du

是查看目录使用空间情况,与 df 命令不同的是 du 命令是对文件和目录磁盘使用的空间的查看

  1. 命令格式:du [选项] [文件]
  2. 常用参数:
  3. -a 显示目录中所有文件大小
  4. -k kb为单位显示文件大小
  5. -m MB为单位显示文件大小
  6. -g GB为单位显示文件大小
  7. -h 以易读方式显示文件大小
  8. -s 仅显示总计
  9. -c --total 除了显示个别目录或文件大小,同时也显示所有的目录或文件的大小总和
  10. du -ah --max-depth=1 显示各个文件夹大小

22、Linux指令-ln

为文件在另外一个位置建立一个同步的链接

链接分为:
1、软链接

  1. 软链接,以路径的形式存在。类似于 Windows 操作系统中的快捷方式
  2. 软链接可以跨文件系统 ,硬链接不可以
  3. 软链接可以对一个不存在的文件名进行链接
  4. 软链接可以对目录进行链接

2、硬链接

  1. 硬链接,以文件副本的形式存在。但不占用实际空间。
  2. 不允许给目录创建硬链接
  3. 硬链接只有在同一个文件系统中才能创建

需要注意:

  1. ln 命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化
  2. ln 的链接又分软链接和硬链接两种,软链接就是ln s 源文件 目标文件,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间;硬链接 ln 源文件 目标文件,没有参数 -s 在指定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化
  3. ln 指令用在链接文件或目录,如同时指定两个以上的文件或目录,且目标目录已经,则会把前面指定的所有文件或目录复制到该目录中。若同时指定多个文件或目录,且目标目录不存在,则会出现错误信息
  1. 常用参数:
  2. -b 删除,覆盖之前建立的链接
  3. -s 软连接
  4. -v 显示详细处理过程
  5. ln -s /usr/local/mysql/bin/mysql /usr/bin 建立一个软链接

23、Linux指令-date

显示或设定系统的日期与时间

  1. 命令参数:
  2. -d<字符串>  显示字符串所指的日期与时间,字符串前后必须加上双引号
  3. -s<字符串>  根据字符串来设置日期与时间,字符串前后必须加上双引号
  4. -u  显示GMT
  5. %H 小时(00-23)
  6. %I 小时(00-12)
  7. %M 分钟(以00-59来表示)
  8. %s 总秒数起算时间为1970-01-01 00:00:00 UTC
  9. %S 秒(以本地的惯用法来表示)
  10. %a 星期的缩写
  11. %A 星期的完整名称
  12. %d 日期(以01-31来表示)
  13. %D 日期(含年月日)
  14. %m 月份(以01-12来表示)
  15. %y 年份(以00-99来表示)
  16. %Y 年份(以四位数来表示)
  17. 实例:
  18. date +回车 查看系统当前时间
  19. date -s "2018-05-24 16:36:00" 修改当天系统时间为所设置时间
  20. date +%Y%m%d --date="+1 day" //显示下一天的日期
  21. date -d "nov 22" 显示今年的 11 22
  22. date -d "2 weeks" 显示2周后的日期
  23. date -d "next monday" 显示下周一的日期
  24. date -d next-day +%Y%m%d date -d tomorrow +%Y%m%d 显示明天的日期
  25. date -d last-day +%Y%m%d date -d yesterday +%Y%m%d 显示昨天的日期
  26. date -d last-month +%Y%m 显示上个月的月份
  27. date -d next-month +%Y%m 显示下个月的月份

24、Linux指令-cal

显示公历日历
指令后只有一个参数,表示年份,1-9999
指令后有两个参数,表示月份和年份

  1. 常用参数:
  2. -3 显示前一个月,当前月,后一个月三个月的日历
  3. -m 显示星期一为第一列
  4. -j 显示当前年第几天
  5. -y [year]显示[year]年份的日历
  6. cal 11 2021 显示202111月的日历

25、Linux指令-grep

文本搜索命令,grep 是 Global Regular Expression Print 的缩写,全局正则表达式搜索
grep 在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须使用引号,模板后的所有字符串被看作文件名,搜索的结果被送到标准输出,不影响原文件内容。

  1. 命令格式:grep [option] pattern file|dir
  2. 常用参数:
  3. -A n --after-context显示匹配字符后n
  4. -B n --before-context显示匹配字符前n
  5. -C n --context 显示匹配字符前后n
  6. -c --count 计算符合样式的列数
  7. -i 忽略大小写
  8. -l 只列出文件内容符合指定的样式的文件名称
  9. -f 从文件中读取关键词
  10. -n 显示匹配内容的所在文件中行数
  11. -R 递归查找文件夹
  12. grep 的规则表达式:
  13. ^ 锚定行的开始 如:'^log'匹配所有以 log 开头的行。
  14. $ 锚定行的结束 如:'log$'匹配所有以 log 结尾的行。
  15. . 匹配一个非换行符的字符,'l.g' 匹配 l+非换行字符+g,如:log
  16. * 匹配零个或多个先前字符 如:'*log' 匹配所有一个或多个空格后紧跟 log 的行
  17. .* 一起用代表任意字符
  18. [] 匹配一个指定范围内的字符,如:'[Ll]og' 匹配 Log log
  19. [^] 匹配一个不在指定范围内的字符,如:'[^A-FH-Z]og' 匹配不包含 A-F H-Z 的一个字母开头,紧跟 log 的行
  20. \(..\) 标记匹配字符,如:'\(log\)'log 被标记为 1
  21. \< 锚定单词的开始,如:'\<log' 匹配包含以 log 开头的单词的行
  22. \> 锚定单词的结束,如:'log\>' 匹配包含以 log 结尾的单词的行
  23. x\{m\} 重复字符 xm 次,如:'a\{5\}' 匹配包含 5 a 的行
  24. x\{m,\} 重复字符 x,至少 m 次,如:'a\{5,\}' 匹配至少有 5 a 的行
  25. x\{m,n\} 重复字符 x,至少 m 次,不多于 n 次,如:'a\{5,10\}' 匹配 5 10 a 的行
  26. \w 匹配文字和数字字符,也就是[A-Za-z0-9],如:'l\w*g'匹配 l 后跟零个或多个字母或数字字符加上字符 p
  27. \W \w 的取反,匹配一个或多个非单词字符,如 , . ' "
  28. \b 单词锁定符,如: '\blog\b' 只匹配 log
  29. grep "text" . -R 在当前目录下递归查找含有“text”内容的文件

26、Linux指令-wc

wc(word count),统计指定的文件中字节数、字数、行数,并将统计结果输出

  1. 命令参数:
  2. -c 统计字节数
  3. -l 统计行数
  4. -m 统计字符数
  5. -w 统计词数,一个字被定义为由空白、跳格或换行字符分隔的字符串

27、Linux指令-ps

ps(process status),用来查看当前运行的进程状态,一次性查看,如果需要动态连续结果使用 top 指令

linux 系统中进程有5种状态:

  1. 运行(正在运行或在运行队列中等待)
  2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)
  3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)
  4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用 wait4() 系统调用后释放)
  5. 停止(进程收到 SIGSTOP, SIGSTP, SIGTIN, SIGTOU 信号后停止运行)

ps 工具标识进程的5种状态码:

  1. R 运行 runnable
  2. S 中断 sleeping
  3. D 不可中断 uninterruptible sleep
  4. Z 僵死 a defunct process
  5. T 停止 traced or stopped
  1. 常用参数:
  2. -A 显示所有进程
  3. -a 显示同一终端下所有进程
  4. -f: full 展示进程详细信息
  5. -e: every 展示所有进程信息
  6. -ax: all -e 同,展示所有进程信息
  7. -o: 设置输出格式, 可以指定需要输出的进程信息列
  8. -L: 展示线程信息
  9. -C: 获取指定命令名的进程信息
  10. -t: tty 展示关联指定 tty 的进程
  11. --forest: 展示进程数
  12. --sort: 按照某个或者某些进程信息列排序展示
  13. a 显示所有进程
  14. c 显示进程真实名称
  15. e 显示环境变量
  16. f 显示进程间的关系
  17. r 显示当前终端运行的进程
  18. -aux 显示所有包含其它使用的进程
  19. -ef 显示所有当前进程信息
  20. ps -C bash 显示指定名称的进程信息
  21. ps -eLf 显示当前系统中的线程信息
  22. ps -ef --forest 显示进程树

28、Linux指令-top

显示当前系统正在执行的进程的 ID、内存占用率、CPU 占用率等相关信息

  1. 常用参数:
  2. -c 显示完整的进程命令
  3. -s 保密模式
  4. -p <进程号> 指定进程显示
  5. -n <次数> 循环显示次数
  6. 实例:
  7. top - 00:05:02 up 204 days, 9:56, 2 users, load average: 0.00, 0.01, 0.05
  8. Tasks: 68 total, 1 running, 67 sleeping, 0 stopped, 0 zombie
  9. %Cpu(s): 0.7 us, 0.7 sy, 0.0 ni, 98.3 id, 0.3 wa, 0.0 hi, 0.0 si, 0.0 st
  10. KiB Mem : 1016168 total, 65948 free, 335736 used, 614484 buff/cache
  11. KiB Swap: 0 total, 0 free, 0 used. 517700 avail Mem
  12. PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
  13. 7110 root 10 -10 130476 9416 6116 S 1.3 0.9 141:26.59 AliYunDun
  14. 15845 root 20 0 47064 4320 2180 S 0.3 0.4 2:51.16 nginx
  15. 前五行是当前系统情况整体的统计信息区
  16. 第一行,任务队列信息,同 uptime 命令的执行结果:
  17. 00:05:02 当前系统时间
  18. up 204 days, 9:56 系统已经连续运行了 204 9 小时 56 分钟未重启
  19. 2 users 当前有 2 个用户登录系统
  20. load average: 0.00, 0.01, 0.05 load average 后面的三个数分别是 0 分钟、1 分钟、5分钟的负载情况,load average 数据是每隔 5 秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了
  21. 第二行,Tasks 任务(进程):
  22. 系统现在共有 68 个进程,其中处于运行中的有 1 个,休眠中 67 个,停止 0 个,僵死 0
  23. 第三行,cpu状态信息:
  24. 0.7 us 用户空间占用 CPU 的百分比
  25. 0.7 sy 内核空间占用 CPU 的百分比
  26. 0.0 ni 改变过优先级的进程占用 CPU 的百分比
  27. 98.3 id 空闲CPU百分比
  28. 0.3 wa IO 等待占用 CPU 的百分比
  29. 0.0 hi 硬中断(Hardware IRQ)占用 CPU 的百分比
  30. 0.0 si 软中断(Software Interrupts)占用 CPU 的百分比
  31. 0.0 st - 虚拟机占用百分比
  32. 第四行,内存状态:
  33. 1016168 total 物理内存总量
  34. 65948 free 空闲内存总量
  35. 335736 used 使用中的内存总量
  36. 614484 buff/cache 缓存的内存量
  37. 第五行,swap交换分区信息,具体信息说明如下:
  38. 0 total 交换区总量
  39. 0 free 空闲交换区总量
  40. 0 used 使用的交换区总量
  41. 517700 avail Mem - 可用内存
  42. 第七行以下:各进程(任务)的状态监控,项目列信息说明如下:
  43. PID 进程id
  44. USER 进程所有者
  45. PR 进程优先级
  46. NI nice值。负值表示高优先级,正值表示低优先级
  47. VIRT 进程使用的虚拟内存总量,单位kbVIRT=SWAP+RES
  48. RES 进程使用的、未被换出的物理内存大小,单位kbRES=CODE+DATA
  49. SHR 共享内存大小,单位kb
  50. S 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
  51. %CPU 上次更新到现在的CPU时间占用百分比
  52. %MEM 进程使用的物理内存百分比
  53. TIME+ 进程使用的CPU时间总计,单位1/100
  54. COMMAND 进程名称(命令名/命令行)
  55. top 交互命令
  56. h 显示top交互命令帮助信息
  57. c 切换显示命令名称和完整命令行
  58. m 以内存使用率排序
  59. P 根据CPU使用百分比大小进行排序
  60. T 根据时间/累计时间进行排序
  61. W 将当前设置写入~/.toprc文件中
  62. o或者O 改变显示项目的顺序

29、Linux指令-kill

删除执行中的程序或者工作,发送指定的信号到相应的进程,如果不指定信号的话,将发送sigterm(15)终止指定进程,用‘-KILL’参数,发送信号SIGKILL(9)强制结束进程

  1. 常用参数:
  2. -l 信号,若不加信号的编号参数,会全部列出信号的名称。
  3. -a 当处理当前进程时,不限制命令名和进程号的对应关系
  4. -p 指定kill命令只打印相关进程的进程号,而不发送任何信号
  5. -s 指定发送信号
  6. -u 指定用户
  7. 示例:
  8. kill -l 显示信号
  9. kill -KILL 8878 强制杀死进程 8878
  10. kill -9 8878 彻底杀死进程8878
  11. kill -u tomcat 杀死tomcat用户的进程

30、Linux指令-free

显示系统内存使用情况,包括物理内存、swap内存和内核cache内存

  1. 命令参数:
  2. -b Byte显示内存使用情况
  3. -k kb为单位显示内存使用情况
  4. -m mb为单位显示内存使用情况
  5. -g gb 为单位显示内存使用情况
  6. -s<间隔秒数>持续显示内存
  7. -t 显示内存使用总合

总结

以上是基于在工作中所遇到的一些命令进行了汇总,并不完全,后续再遇到会继续补充滴,大家像build哥一样实在记不住Linux命令的,就别硬记啦,收藏起来,后面忘记了直接查吧。

结尾彩蛋

如果本篇博客对您有一定的帮助,大家记得留言+点赞+收藏呀。原创不易,转载请联系Build哥!

image

如果您想与Build哥的关系更近一步,还可以关注“JavaBuild888”,在这里除了看到《Java成长计划》系列博文,还有提升工作效率的小笔记、读书心得、大厂面经、人生感悟等等,欢迎您的加入!

image

原文链接:https://www.cnblogs.com/JavaBuild/p/18096060

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号