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\} 重复字符 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

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 进程使用的虚拟内存总量,单位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 改变显示项目的顺序

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 显示内存使用总合