1.什么是Linux?

  • Linux是一个基于UNIX的操作系统,最初是由Linus Torvalds引入的
  • 它基于Linux内核,可以运行在由Intel,MIPS,HP,IBM,SPARC 和 Motorola 制造的不同硬件平台上
  • Linux 另一个受欢迎的元素是它的吉祥物,一个名叫 Tux 的企鹅形象


2.Linux如何添加新系统用户?

  • 以 root 身份登录 linux 系统,进入终端
  • 增加一个新用户,useradd 用户名
  • 设置密码,passwd 用户名

3.什么是bash别名?

相当于自定义 shell 指令
如:ll 指令可以查看文件的详细信息,ll 就是一个被定义好的别名,能够大大的简化指令

  1. 1.通过 alias 命令可以查看命令别名
  2. [root]# alias
  3. alias cp='cp -i'
  4. alias egrep='egrep --color=auto'
  5. alias fgrep='fgrep --color=auto'
  6. alias grep='grep --color=auto'
  7. alias l.='ls -d .* --color=auto'
  8. alias ll='ls -l --color=auto'
  9. alias ls='ls --color=auto'
  10. alias mv='mv -i'
  11. alias rm='rm -i'
  12. alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
  13. 2.定义新的别
  14. [root]#alias rmall = 'rm -rf'
  15. 3.取消别名
  16. [root]# unalias rmall

4.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"开头的目录的详细内容
  11. ls | sed "s:^:`pwd`/:" 列出文件绝对路径(不包含隐藏文件)
  12. find $pwd -maxdepth 1 | xargs ls -ld 列出文件绝对路径(包含隐藏文件)

5.Linux指令-cd

切换目录,changeDirectory 的缩写
命令语法:cd [目录名]

  1. cd / 进入要目录
  2. cd ~ 进入 "home" 目录
  3. cd - 进入上一次工作路径
  4. cd !$ 把上个命令的参数作为cd参数使用

6.Linux指令-pwd

命令用于查看当前工作目录路径
pwd -P 查看软链接的实际路径

7.Linux指令-mkdir

创建文件夹

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

8.Linux指令-rm

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

  1. 命令语法:rm [选项] 文件…
  2. rm -i *.log 删除任何 .log 文件,删除前逐一询问确认
  3. rm -rf test 强制删除 test 目录或文件,无需确认

9.Linux指令-rmdir

删除目录,不能删除非空目录,当子目录被删除后也父目录成为空目录的话,则一并删除

  1. rmdir -p a/b/c 等同于 rmdir a/b/c a/b a

10.Linux指令-mv

移动文件、目录;修改文件名或目录名

  1. mv test.log test1.txt 将文件 test.log 重命名为 test1.txt
  2. mv llog1.txt log2.txt log3.txt /test3 将文件 log1.txt,log2.txt,log3.txt 移动到 /test3 目录中
  3. mv -i log1.txt log2.txt 将文件 log1.txt 改名为 log2.txt,如果 log2.txt 已经存在,则询问是否覆盖
  4. mv * ../ 移动当前文件夹下的所有文件到上一级目录

11.Linux指令-cp

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

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

12.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.log 和 log2.log 的文件内容加上行号(空白行不加)之后将内容附加到 log.log 里

13.Linux指令-more

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

  1. 命令参数:
  2. +n 从笫 n 行开始显示
  3. -n 定义屏幕大小为n行
  4. +/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示
  5. -c 从顶部清屏,然后显示
  6. -d 提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能
  7. -l 忽略Ctrl+l(换页)字符
  8. -p 通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似
  9. -s 把连续的多个空行显示为一行
  10. -u 把文件内容中的下画线去掉
  11. 常用操作命令:
  12. Enter 向下 n 行,需要定义。默认为 1 行
  13. Ctrl+F 向下滚动一屏
  14. 空格键 向下滚动一屏
  15. Ctrl+B 返回上一屏
  16. = 输出当前行的行号
  17. :f 输出文件名和当前行的行号
  18. V 调用vi编辑器
  19. !命令 调用Shell,并执行命令
  20. q 退出more
  21. more +3 text.txt 显示文件中从第3行起的内容
  22. ls -l | more -5 在所列出文件目录详细信息,每次显示 5 行

14.Linux指令-less

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

  1. 常用参数:
  2. -i 忽略搜索时的大小写
  3. -N 显示每行的行号
  4. -o <文件名> 将less 输出的内容在指定文件中保存起来
  5. -s 显示连续空行为一行
  6. /字符串 向下搜索“字符串”的功能
  7. ?字符串 向上搜索“字符串”的功能
  8. n: 重复前一个搜索(与 / 或 ? 有关)
  9. N: 反向重复前一个搜索(与 / 或 ? 有关)
  10. -x <数字> 将“tab”键显示为规定的数字空格
  11. b 向后翻一页
  12. d 向后翻半页
  13. h 显示帮助界面
  14. Q 退出less 命令
  15. u 向前滚动半页
  16. y 向前滚动一行
  17. 空格键 滚动一行
  18. 回车键 滚动一页
  19. [pagedown] 向下翻动一页
  20. [pageup] 向上翻动一页
  21. ps -aux | less -N ps 查看进程信息并通过 less 分页显示
  22. less 1.log 2.log 查看多个文件,可以使用 n 查看下一个,使用 p 查看前一个

15.Linux指令-tail

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

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

16.Linux指令-head

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

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

17.Linux指令-which

PATH 中搜索某个系统命令的位置,并返回第一个搜索结果
which 命令,可以看到某个系统命令是否存在,执行命令的位置

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

18.Linux指令-whereis

二进制文件程序名搜索
whereis 及 locate 都是基于系统内建的数据库进行搜索,效率很高,而 find 则是遍历硬盘查找文件

  1. 常用参数:
  2. -b 定位可执行文件
  3. -m 定位帮助文件
  4. -s 定位源代码文件
  5. -u 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件
  6. whereis locale 查找 locale 程序相关文件
  7. whereis -s locale 查找 locale 的源码文件
  8. whereis -m locale 查找 locale 的帮助文件

19.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 结尾的文件

20.Linux命令-find

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

  1. 命令格式:find pathname -options [-print -exec -ok ...]
  2. 命令参数:
  3. pathname: 查找的目录路径
  4. -print: 匹配的文件输出到标准输出
  5. -exec: 对匹配的文件执行该参数所给出的 shell 命令
  6. -ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的 shell 命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行
  7. 命令选项:
  8. -name 按照文件名查找文件
  9. -perm 按文件权限查找文件
  10. -user 按文件属主查找文件
  11. -group 按照文件所属的组来查找文件。
  12. -type 查找某一类型的文件
  13. b - 块设备文件
  14. d - 目录
  15. c - 字符设备文件
  16. l - 符号链接文件
  17. p - 管道文件
  18. f - 普通文件
  19. -size n :[c] 查找文件长度为n块文件,带有 c 时表文件字节大小
  20. -amin n 查找系统中最后 n 分钟访问的文件
  21. -atime n 查找系统中最后 n*24小时访问的文件
  22. -cmin n 查找系统中最后 n 分钟被改变文件状态的文件
  23. -ctime n 查找系统中最后 n*24小时被改变文件状态的文件
  24. -mmin n 查找系统中最后 n 分钟被改变文件数据的文件
  25. -mtime n 查找系统中最后 n*24 小时被改变文件数据的文件,用减号 - 来限定更改时间在距今 n 日以内的文件,而用加号 + 来限定更改时间在距今n日以前的文件
  26. -maxdepth n 最大查找目录深度
  27. -prune 选项来指出需要忽略的目录
  28. -newer 查找更改时间比某个文件新但比另一个文件旧的所有文件

21.Linux指令-chmod

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

  • 文件属主的读、写和执行权限
  • 与属主同组的用户的读、写和执行权限
  • 系统中其他用户的读、写和执行权限
    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:特殊权限

22.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 或 tar -cvf log.* 文件全部打包成 tar 包
  14. tar -zcvf /tmp/log.tar.gz /log 将 /log 下的所有文件及目录打包到指定目录,并使用 gz 压缩
  15. tar -ztvf /tmp/log.tar.gz 查看刚打包的文件内容
  16. tar --exclude /log/mylog -zcvf /tmp/log.tar.gz /log 压缩打包 /log ,排除 /log/mylog

23.Linux指令-chown

将指定文件的拥有者改为指定的用户或组
用户可以是用户名或者用户 ID
组可以是组名或者组 ID
文件是以空格分开的要改变权限的文件列表,支持通配符

  1. 常用参数:
  2. -c 显示更改的部分的信息
  3. -R 处理指定目录及子目录
  4. 示例
  5. chown -c log:log log.log 改变文件 log.log 的拥有者和群组都为 log 并显示改变信息
  6. chown -c :log log.log 改变文件 log.log 的群组为 log
  7. chown -cR log: log/ 改变文件夹 log 及子文件、目录属主 log

24.Linux指令-df

显示磁盘空间使用情况
获取硬盘被占用空间,剩余空间等信息。默认所有当前被挂载的文件系统的可用空间都会显示
默认情况下,磁盘空间以 1KB 为单位进行显示

  1. 常用参数:
  2. -a 全部文件系统列表
  3. -h 以方便阅读的方式显示信息
  4. -i 显示inode信息
  5. -k 区块为1024字节
  6. -l 只显示本地磁盘
  7. -T 列出文件系统类型

25.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 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和

26.Linux指令-ln

为文件在另外一个位置建立一个同步的链接
链接分为:
1、软链接

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

2、硬链接

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

需要注意:

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

27.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 +%Y%m%d --date="+1 day" //显示下一天的日期
  19. date -d "nov 22" 显示今年的 11 月 22 日
  20. date -d "2 weeks" 显示2周后的日期
  21. date -d "next monday" 显示下周一的日期
  22. date -d next-day +%Y%m%d 或 date -d tomorrow +%Y%m%d 显示明天的日期
  23. date -d last-day +%Y%m%d 或 date -d yesterday +%Y%m%d 显示昨天的日期
  24. date -d last-month +%Y%m 显示上个月的月份
  25. date -d next-month +%Y%m 显示下个月的月份

28.Linux指令-cal

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

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

29.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\} 重复字符 x,m 次,如:'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

30.Linux指令-wc

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

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

31.Linux指令-ps

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

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

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

  • R 运行 runnable
  • S 中断 sleeping
  • D 不可中断 uninterruptible sleep
  • Z 僵死 a defunct process
  • 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 显示进程树

32.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 — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
  48. RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=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 改变显示项目的顺序

33.Linux指令-kill

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

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

34.Linux指令-free

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

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