linux命令整理版(拷贝)

一、文件和目录操作命令


1、pwd 显示当前所在位置

  -L 显示逻辑路径,忽略软链接文件
  -P 显示物理路径时如果当前目录路径时软链接文件,则会显示软链接对应的源文件

2、cd 切换目录
  cd - 回到上一次目录/位置 回到上一次的工作目录
  cd .. 返回上一级目录
  cd 回家目录


3、tree 以树形结构显示目录下的内容
  -a 显示所有文件
  -L 树的最大显示深度(遍历目录的最大层数)
  -d 显示目录
  -f 显示每个文件的全路径
  -i 不显示树枝,常与-f参数配合使用
  -F 在执行文件、目录、Socket、符号链接、管道名称等不同类型文件的结尾,各自加上* / = @ | 号

4、mkdir 创建目录
  -p 递归创建目录
  -m 设置新创建目录的默认对应的权限
  -v 显示创建目录的过程

5、touch 创建空文件或者改变文件的时间戳属性
  -a 只更改指定文件的最后访问时间
  -d(STRING) 使用字符串STRING代表的时间作为模板设置指定文件的时间属性
  -m 只更改指定文件的最后修改时间
  -r 将指定文件的时间属性设置与模板文件file的时间属性相同
  -t(STAMP) 使用[[CC]YY]MMDDhhmm[.ss]格式的时间设置文件的时间属性

6、ls 显示目录下的内容及相关属性信息
  -l 使用长格式列出文件及目录信息
  -a 显示目录下的所有文件,包括一"."字符开头的隐藏文件
  -t 根据最后的修改时间(mtime)排序
  -r 反次序排列
  -F 显示文件类型或给不同类型的文件加上不同的标志(*、/、=、@、|,其中的一个)
  -P 只在目录后面加上"/"
  -i 显示inode节点信息
  -d 当遇到目录时,列出目录本身而非目录内的文件,并且不跟随符号链接
  -h 文件所占空间大小用K MB GB PB显示
  -A 列出所有文件,包括隐藏文件,但不包括"."和".."这两个目录
  -S 根据文件大小排序
  -R 递归列出所有子目录
  -x 逐行列出目录而不是逐栏列出
  -X 根据扩展名排序
  -c 根据状态改变时间(ctime)排序
  -u 根据最后访问时间(atime)排序
  --color={never,always,auto} 不同文件类型显示不同的颜色参数,never表示不显示,always并表示总是显示,auto表示自动显示
  --full-time 以完整的时间格式输出
  --time-style={full-iso,long-iso,iso,locale} 以不同的时间格式输出
  --time={atime,ctime} 按不同的时间属性输出,atime表示按访问时间,ctime表示按改变权限属性时间,如果不加此参数则默认为最后修改时间

7、cp 复制文件或目录
  -p 复制文件时保持文件的所有者、权限信息及时间属性
  -d 如果复制的源文件时符号链接、那么仅复制符号链接本身,而且保留符号链接所指向的目标文件或目录
  -r 递归复制目录,即复制目录下的所有层级的子目录及文件
  -a 相当于-pdr
  -i 覆盖已有文件前提示用户确认

8、mv 移动或重命名文件
  -f 若目标文件已经存在,则不会询问而是直接覆盖
  -i 若目标文件已经存在,则会询问是否覆盖
  -n 不覆盖以存在的文件
  -u 在源文件比目标文件新,或目标文件不存在时才进行移动

9、rm 删除文件或目录
  -f 强制删除。忽略不存在的文件,不提示确认
  -i 在删除前需要确认
  -r 递归删除目录及其内容
  -I 在删除超过三个文件或者递归删除前要求确认

10、rmdir 删除空目录
  -P 递归删除目录,当子目录删除后其父目录为空时,也一并删除。如果整个路径被删除,或者由于某种原因保留了部分路径,则系统在标准输出上显示相应的信息
  -v 显示命名执行过程

11、ln 创建硬链接或者软连接
  无参数 创建硬链接
  -s 创建软链接(符号链接)

12、readlink 查看符号链接文件的内容
  -f 一直跟随符号链接,直到非符号链接的文件位置,但要保证最后必须存在一个非符号链接的文件

13、find 查找目录下的文件
  -depth 从指定目录下最深层的子目录开始查找
  -maxdepth levels 查找的最大目录级数,levels为自然数
  -regextype type 改变正则表达式的模式。默认为emacs,还有posix-awk、posix-basic、posix-egrep、posix-extended
  -mtime [-n|n|+n] 按照文件的修改时间来查找文件
  n n是距现在第n天
  -n 表示文件更改时间距现在n天以内
  +n 表示文件更改时间距现在n天以前
  -atime [-n|n|+n] 按照文件的访问时间来查找文件。单位为天
  -ctime [-n|n|+n] 按照文件的状态改变时间来查找文件。单位为天
  -amin 按照文件的访问时间来查找文件。单位为分钟
  -cmin 按照文件的状态改变时间来查找文件。单位为分钟
  -mmin 按照文件的修改时间来查找文件。单位为分钟
  -group 按照文件所属的组来查找文件
  -name 按照文件名查找文件,值支持*、?、[]等特殊通配符
  -newer 查找更改时间比指定文件新的文件
  -nogroup 查找没有有效用户组的文件
  -nouser 查找没有有效属主的文件
  -path pattern 指定路径样式,配合-prune参数排除指定目录
  -perm 按照文件权限来查找文件
  -regex 接正则表达式
  -iregex 接正则表达式,不区分大小写
  -size n[cwbkMG] 查找文件大小为n的文件,cwbkMG为文件度量单位
  -user 按照文件的属主来查找文件
  -type [b|c|d|p|l|f|s|D] 按文件类型查找文件
  b 块设备文件
  c 字符设备文件
  d 目录
  p 管道文件
  l 符号链接文件
  f 普通文件
  s socket文件
  D door
  -delete 将查出的文件删除
  -exec 对匹配的文件执行该参数所给出的shell命令
  -ok 和-exec作用相同,但是执行每个命令之前,都会让用户先确认是否执行
  -prune 使用这一选项可以使find命令不在当前指定的目录查找
  -print 将匹配的文件输出到标准输出
  ! 取反
  -a 取交集,全拼为and
  -o 取并集,全拼为or

14、xargs 将标准输入转换成命令行参数
  -n 指定每行的最大参数量n,可以将标准输入的文本划分为多行,每行n个参数,默认空格分隔
  -d 自定义分隔符
  -i 以{}代替前面的结果
  -I 指定一个符号代替前面的结果,而不用-i参数默认的{}
  -p 提示让用户确认是否执行后面的命令,y执行,n不执行
  -0(数字0) 用null替代空格作为分隔符,配合find命令的-print0选项的输出使用

15、rename 重命名文件

16、basename 显示文件名或目录

17、dirname 显示文件或目录路径

18、chattr 改变文件的扩展属性
  -R 递归更改目录属性
  -V 显示命令执行过程
  + 增加参数
  - 移除参数
  = 更新为指定参数
  A 告诉系统不要修改这个文件的最后访问时间
  a 只能向文件中添加数据,而不能删除,多用于服务器日志文件安全
  i 设定文件不能被删除、改名、写入、或新增内容(追加输入)

19、lsattr 查看文件的扩展属性
  -R 递归查看目录的属性
  -a 显示所有文件包括隐藏文件的扩展属性
  -d 显示目录的扩展属性

20、file 显示文件的类型
  -b 输出信息使用的精简格式,不输出文件名

21、md5sum 计算和校验文件的MD5值
  -b 二进制模式读取文件
  -c 从指定文件中读取MD5校验值,并进行校验
  -t 文本模式读取文件,这是默认模式
  --quiet 校验文件使用的参数,验证通过不输出OK
  --status 校验文件使用的参数,不输出任何信息,可以通过命令的返回值来判断

22、chown 改变文件或目录的用户和用户组
  -R 递归更改目录的用户和用户组

23、chmod 改变文件或目录的权限
  -R 递归处理指定目录及其子目录下的所有文件

24、chgrp 更改文件用户组
  -R 递归更改目录的用户组

25、umask 显示或设置权限掩码
  -p 输出的权限掩码可直接作为命令来执行
  -S 以字符方式输出权限掩码
  文件缺省最大权限是666
  目录缺省最大权限是777
  root用户的umask为002
  普通用户的umask为022

二、文件过滤及内容编辑处理命令
  1、cat 合并文件或查看文件内容
  -n 从1开始对所有输出的内容按行编号
  -b 和-n选项功能类似,但会忽略显示空白行行号
  -s 当遇到有连续两行以上的空白行时,就替换为一行空白号
  -A 等价于-vET三个选项的功能之和
  -e 等价于-vE
  -E 在每一行的行尾显示$符号
  -t 与-VT等价
  -T 将Tab字符显示为^I
  -v 除了LFD和TAB之外,使用^和M-引用

  2、tac 反向显示文件内容
  -b 在行前面而非行尾添加分割标志
  -r 将分割标志视作正则表达式来解析
  -s 使用指定字符串代替换行作为分割标志

  3、more 分页显示文件内容
  -num 指定屏幕显示大小为num行
  +num 从行号num开始显示
  -s 把连续的多个空行显示为一行
  -p 不滚屏,而是清除整个屏幕,然后显示文本
  -c 不滚屏,而是从每一屏的顶部开始显示文本,每显示完一行,就清除这一行的剩余部分
  子命令
  h或? 查看帮助
  空格键 向下滚动一屏
  z 向下滚动一屏
  Enter 向下滚动一行
  f 向下滚动一屏
  b 返回上一屏
  = 输出当前的行号
  / 查找指定的文本
  :f 输出文件名和当前行的行号
  v 调用vi编辑器
  !命令 调用shell,并执行命令
  q 退出more

  4、less 分页显示文件内容
  -i 搜索时忽略大小写
  -m 显示类似于more命令的进度百分比
  -N 显示每行的行号
  -s 将连续的空行压缩为一行显示
  -e 当文件显示到结尾时自动退出文件
  子命令
  b 向前翻一页
  空格键 向后翻一页
  u 向前翻半页
  d 向后翻半页
  y 向上滚一行
  回车键 向下滚动一行
  / 向下搜索
  ? 向上搜索
  n 向后查找下一个匹配的文本
  N 向前查找前一个匹配的文本
  v 进入vi编辑器界面
  !命令 调用shell,并执行命令
  G 移动到最后一行
  g 移动到第一行
  q 退出less

  5、head 显示文件内容头部
  -n 显示指定的行数
  -c 指定显示的字节数
  -q 不显示包含给定文件名的文件头
  -v 总是显示包含给定文件名的文件头

  6、tail 显示文件内容尾部
  -n 显示指定的行数
  -c 指定显示的字节数
  -f 实时输出文件变化后追加的数据
  -F 功能等于 -f --retry
  --retry 不停地尝试打开文件直到打开为止,和-f参数合用
  --pid=进程号 与-f参数连用,在进程结束后自动退出tail命令
  -s 监视文件变化的间隔秒数
  -q 不显示包含给定文件名的文件头
  -v 总是显示包含给定文件名的文件头

  7、tailf 跟踪日志文件
  -n 指定显示的行数

  8、cut 从文本中提取一段文件并输出
  -b 以字节为单位进行分割
  -n 取消分割多字节字符,与选项-b一起使用
  -c 以字符为单位进行分割
  -d 自定义分隔符,默认以tab为分隔符
  -f 与选项-d一起使用,指定显示哪个区域
  N 第N个字节、字符、或字段
  N- 从第N个字节、字符或字段开始直至行尾
  N-M 从第N到第M(含第M个)个字节、字符或字段
  -M 从第1个到第M个(含第M个)个字节、字符或字段

  9、split 分割文件
  -b 指定分割文件的最大字节数
  -l 指定分割文件的最大行数
  -a 指定后缀长度,默认为2位字母
  -d 使用数字后缀

  10、paste 合并文件
  -d 指定合并的分隔符,默认是TAB
  -s 每个文件占用一行

  11、sort 文本排序
  -b 忽略每行开头存在的空格字符
  -n 依照数值的大小进行排序
  -r 倒叙排序
  -u 去除重复行
  -t 指定分隔符
  -k 按指定区间排序

  12、join 按两个文件相同字段合并
  -a 文件号 输出文件中不匹配的行,文件好可选1或2,分别代表文件1和文件2
  -i 比较字段时忽略大小写
  -1(数字1) 以第1个文件的指定地段为基础进行合并
  -2 以第2个文件的指定地段为基础进行合并

  13、uniq 去除重复的行
  -c 去除重估的行,并计算每行出现的次数
  -d 只显示重复的行
  -u 只显示唯一的行

  14、wc 统计文件的行数、单词数或字节数
  -c 统计字节数
  -l 统计行数
  -m 统计字符数
  -w 统计单词数
  -L 打印最长行的长度

  15、iconv 转换文件的编码格式
  -f encodingA 从编码A转换
  -t encodingB 转换成编码B
  -l 显示系统支持的编码
  -o 将输出输入到指定文件

  16、dos2unix 将DOS格式文件装换成UNIX文件

  17、diff 比较两个文件的不同
  -y 以并列的方式显示文件的异同之处
  -W 在使用-y参数时,指定显示宽度
  -c 使用上下文的输出格式
  -u 使用同一格式输出

  18、vimdiff 可视化比较工具

  19、rev 反向输出文件内容

  20、tr 替换或删除字符
  -d 删除字符
  -s 保留连续字符的第一个字符,删除其他字符
  -c 使用第一个字符串(set1)的补集,取反

  21、od 按不同进制显示文件
  -t 显示的格式

  22、tee 多重定向
  -a 向文件追加内容,而不是覆盖

  23、vi/vim 纯文本编辑器
  G或(shift+g) 将光标移动到最后一行
  gg 将光标移动到文件的第一行
  0(数字0) 将光标从所在位置移动到当前行的开头
  $ 将光标从所在位置移动到当前行的结尾
  n<Enter> n为数字,<Enter>为回车键,将光标从当前位置向下移动n行
  ngg n为数字,移动到文件的第n行
  H 光标移动到当前窗口最上方的那一行
  M 光标移动到当前窗口中间的那一行
  L 光标移动到当前窗口最下方的那一行
  h或(←) 光标向左移动一个字符
  j或(↓) 光标向下移动一个字符
  k或(↑) 光标向上移动一个字符
  l或(→) 光标向右移动一个字符
  /wt 从光标位置开始,向下寻找名为wt的字符串
  ?wt 从光标位置开始,向上寻找名为wt的字符串
  n 从光标位置开始,向下重复前一个搜索动作
  N 从光标位置开始,向上重复前一个搜索动作
  :g/A/s//B/g 把符合A的内容全部替换为B,斜线为分隔符,可以用@、#等代替
  :%s/A/B/g 把符合A的内容全部替换为B,斜线为分隔符,可以用@、#等代替
  :n1,n2s/A/B/gc n1,n2为数字,在第n1行和n2行之间寻找A,用B替换
  yy 复制光标所在的当前行
  nyy n为数字,复制光标开始向下共n行
  p/P p将以复制的数据粘贴到光标的下一行,P则为粘贴到光标的上一行
  dd 删除光标所在的当前行
  ndd n为数字,删除从光标开始向下共n行
  u 恢复(回滚)前一个执行过的动作
  . 点号,重复前一个执行过的动作
  x 向后删除字符
  X 向前删除字符
  d1G 删除当前行至第一行
  dG 删除当前行至最后一行
  d0 删除当前光标文本至行首
  d$ 删除当前光标文本至行尾
  i 在当前光标所在处插入文字
  a 在当前光标所在的下一个字符处插入文字
  I 在当前所在行行首的第一个非空格符处开始插入文字,和A相反
  A 在当前所在行行首的最后一个字符处开始插入文字,和I相反
  O 在当前所在的行的上一行插入新的一行
  o 在当前所在的行的下一行插入新的一行
  Esc键 退出编辑模式,回到命令模式中
  :wq 退出并保存
  :wq! 退出并强制保存
  :q! 强制退出,不保存
  :x 保存并强制退出vi编辑器
  :set number(:set nu) 在文件中的每一行前面列出行号
  :set nonumber(:set nonu) 取消行号
  :set readonly 设置文件为只读状态

三、文本处理三剑客
  1、grep 文本过滤工具
  -v 显示不匹配的行
  -n 显示匹配行及行号
  -i 不区分大小写
  -c 只统计匹配的行数,注意不是匹配的次数
  -E 使用扩展的egrep命令
  --color=auto 为grep过滤的匹配字符串添加颜色
  -w 只匹配过滤的单词
  -o 只输出匹配的内容
  -A n after 显示你要找的行,即他后面的n行
  -B n before 显示你要找的行,即他前面的n行
  -C n context 显示你要找的行,即他上面的n行即他下面的n行

  2、sed 字符流编辑器
  -n 取消默认的sed输出,常与sed内置命令的p连用
  -r 使用扩展正则表达式
  -i 直接修改文件内容,而不是输出到终端
  -e 执行多条sed语句命令
  -f 后接sed脚本文件名
  a 在指定行后添加一行或多行文本
  d 删除一行文本
  i 在指定行前添加一行或多行文本
  p 打印匹配行的内容
  c 用新行取代旧行
  s 替换指定字符
  l 输出不可见字符
  g 获得内存缓冲区的内容,并替代当前模板块中的文本
  & 匹配到的文本
  l 在替换字符中使用l标志时,它会把紧跟其后的第一个字符当作小写来处理
  L 在替换字符中使用L标志时,它会把紧跟其后的所有字符当作小写来处理
  u 在替换字符中使用u标志时,它会把紧跟其后的第一个字符当作大写来处理
  U 在替换字符中使用U标志时,它会把紧跟其后的所有字符当作大写来处理
  E 需要和U或L一起使用,他将关闭U或L的功能

  3、awk awk工具
  -F 指定字段分割符
  -v 定义或修改一个awk内部的变量

四、Linux信息显示与搜索文件命令
  1、uname 显示系统信息
  -a 显示系统所有相关信息
  -m 显示计算机硬件架构
  -n 显示主机名称
  -r 显示内核发行版本号
  -s 显示内核名称
  -v 显示内核版本
  -p 显示主机处理器类型
  -o 显示操作系统名称
  -i 显示硬件平台

  2、hostname 显示或设置系统的主机名
  -a 如果设置了主机别名,则可用a选项来显示主机的别名
  -i 显示主机的IP地址,这个参数需要依赖DNS解析
  -I 显示主机的所有IP地址,不依赖DNS解析
  -s 显示短格式主机名

  3、dmesg 系统启动异常诊断
  -c 显示信息后,清除环形缓冲区中的内容
  -s bufsize 设置缓冲区大小,默认16384
  -n level 显示消息等级

  4、stat 显示文件或文件系统状态
  -f 显示文件所在分区的文件系统状态而非文件状态
  -c 使用指定输出格式代替默认值
  -t 使用简洁格式输出

  5、du 统计磁盘空间使用情况
  -a 显示所有文件大小
  -h 以人类可读的方式查看大小,以K、M、G为单位
  -s 显示文件总大小
  --exclude=<目录或文件> 略过指定的目录或文件
  -X,--exclude-from=FILE 从文件读取需要略过的目录或文件
  --max-depth=N 显示N级子目录的大小,当N=0时,该参数和-s参数的效果一样

  6、date 显示与设置系统时间
  %F 完整日期格式,等价于%Y-%m-%d(2018-09-06)
  %Y 年份2018
  %m 月份0-12
  %d 每月的第几天
  %H 24小时制
  %M 分
  %S 秒
  %T 时间,等于%H:%M:%S

  7、echo 显示一行文本
  -n 不需要自动换行
  -E 不解析转义字符
  -e 解析转意义符

  8、watch 监视命令执行情况
  -n 命令执行的时间间隔,默认为2s
  -d 高亮显示命令结果的变得之处
  -t 关闭watch命令在顶部显示的时间间隔、命令及当前时间的输出

  9、which 显示命令的全路径
  -a 遍历所有的PATH路径,输出所有匹配项

  10、whereis 显示命名及其相关文件的全路径
  -b 查找可执行文件
  -m 查找man帮助文件
  -s 查找源代码文件

  11、locate 快速定位文件路径
  -c 不显示匹配的内容,只显示匹配到的行数
  -i 匹配时忽略大小写
  -r 支持基本正则表达式匹配
  --regex 支持扩展正则表达式匹配

  12、updatedb 更新mlocate数据库
  -U 更新指定目录相关的数据库信息。默认是扫描整个系统。
  -v 显示命令执行过程

五、文件备份与压缩命令
  1、tar 打包备份
  z 通过gzip压缩或解压
  c 创建新的tar包
  v 显示详细地tar命令执行过程
  f 指定压缩文件的名字
  t 不解压查看tar包的内容
  p 保持文件的原有属性
  P(大写) 以绝对路径打包
  j 通过bzip2命令压缩或解压
  x 解开tar包
  C 指定解压的目录路径
  --exclude=PATTERN 打包时排除不需要处理的文件或目录列表
  -X 文件名 从指定文件读取不需要处理的文件或目录列表
  -N 日期 仅打包比指定日期新的文件,可用于增量打包备份
  -h 打包软链接文件指向的真实源文件
  --hard-dereference 打包硬链接文件

  2、gzip 压缩或解压文件
  -d 解开压缩文件
  -v 显示指令执行的过程
  -l 列出压缩文件的内容信息
  -c 将内容输出到标准输出,不改变原始文件
  -r 对目录下的所有文件递归进行压缩操作
  -数字<1-9> 指定压缩率,默认为6,值越大压缩率越高

  3、zip 打包和压缩文件
  -r 将指定目录下的所有文件和子目录一并压缩
  -x 压缩文件时排除某个文件
  -q 不显示压缩信息

  4、unzip 解压zip文件
  -l 不解压显示压缩包的内容
  -d 指定解压目录

  5、scp 远程文件复制
  -C 压缩传输
  -l 指定传输占用的带宽,单位Kbit/s
  -P port 大写的P,指定传输的端口号
  -p 小写的p,传输后保留文件原始属性
  -q 不显示传输进度条
  -r 递归复制整个目录

  6、rsync 文件同步工具
  -v 详细模式输出,传输时的进度等信息
  -z 传输时进行压缩以提高传输效率,--compress-level=NUM可按级别压缩
  -a 以递归方式传输文件,并保持所有文件的属性
  -r 对子目录以递归模式,即目录下的所有目录都以同样的模式传输
  -t 保持文件的时间信息
  -o 保持文件的属主信息
  -p 保持文件的权限
  -g 保持文件的属组信息
  -P(大写) 显示同步的过程及传输时的进度等信息
  -D 保持设备文件信息
  -I 保留软链接
  -e,--rsh=COMMAND 使用的信道协议,指定替代rsh的shell程序
  -n 测试选项,模拟执行
  --exclude=PATTERN 指定排除不需要传输的文件模式
  --exclide-from=FILE 从文本文件读取需要排除的文件列表
  --bwlimit=KBPS 限制传输速度
  --delete 使目标目录内容和源保持目录一致,删除不同的文件

六、Linux用户管理及用户信息查询命令
  1、useradd 创建用户
  -c comment 新用户password文件中的说明栏(冒号分割后的第五列)
  -d home_dir 新用户每次登录时所使用的家目录
  -e expire_date 用户终止日期。日期的指定格式为YYYY-MM-DD
  -f inactive_days 用户过期几日后永久停权。当值为0时用户立即被停权,而当值为-1时则关闭此功能,预设值为-1
  -g inital_group 指定用户对应的用户组。用户组名必须为系统现已存在的名称
  -G group,[...] 定义此用户为多个不同组的成员。每个用户组使用逗号(,)分隔。
  -m 用户目录如不存在则自动创建
  -M 不建立用户家目录,优先于/etc/login.defs文件的设定
  -n 默认情况下用户的用户组与用户的名称是相同的
  -r 此参数是用来建立系统用户的
  -s shell 用户登录后使用的shell名称
  -u uid 用户的ID值。

  2、usermod 修改用户信息
  -c comment 修改用户password文件中用户的说明栏
  -d home_dir 修改用户每次登录时所使用的家目录
  -e expire_date 修改用户终止日期。日期的指定格式为YYYY-MM-DD
  -f inactive_days 修改用户过期几日后永久停权。当值为0时用户立即被停权,而当值为-1时则关闭此功能,预设值为-1
  -g inital_group 修改指定用户对应的用户组。用户组名必须为系统现已存在的名称
  -G group,[...] 修改此用户为多个不同组的成员。每个用户组使用逗号(,)分隔。
  -m 用户目录如果不存在则自动创建
  -n 默认情况下,用户的用户组与用户的名称会相同。如果使用-n参数,则不会生成与用户同名的用户组
  -r 此参数是用来建立系统用户的
  -s shell 修改用户登录后使用的shell名称
  -u uid 修改用户的ID值
  -a 追加用户到用户组,仅与-G参数连用
  -l 修改用户的帐户名称
  -L 锁定用户密码,不让用户修改密码
  -U 解除密码锁定

  3、userdel 删除用户
  -f 强制删除用户
  -r 删除用户的同时,删除与用户相关的所有文件

  4、groupadd 创建新的用户组
  -g gid 指定用户组的gid
  -f 新增一个帐户,强制覆盖一个已存在的组帐号

  5、groupdel 删除用户组

  6、passwd 修改用户密码
  -k 为密码已经过期的用户更新有效期
  -l 锁定用户,被锁定的用户将不能登录。仅root用户有权使用该选项
  --stdin 从标准输入读取密码字符串。
  -u 解除对用户的锁定。仅root用户有权使用该选项
  -d 删除用户的密码,是密码为空。仅root用户有权使用该选项
  -e 使用户密码立即过期,将在用户下次登录时强制要求用户修改密码。仅root用户有权使用该选项
  -n 设置修改密码的最短天数。仅root用户有权使用该选项
  -x 设置修改密码的最长天数。仅root用户有权使用该选项
  -w 设置用户在密码过期前收到警告信息的天数。仅root用户有权使用该选项
  -i 设置密码过期多少天后禁用帐户。仅root用户有权使用该选项
  -S 显示用户密码相关的简单描述。仅root用户有权使用该选项

  7、chage 修改用户密码有效期
  -d 设置上一次密码更改的日期
  -E 帐号过期的日期。日期格式为YYYY-MM-DD
  -I 设置密码过期多少天后禁用帐户
  -l 显示账号有效期信息
  -m 密码可更改的最小天数。默认为0,表示任何时候都可以更改密码
  -M 密码保持有效的最大天数
  -W 密码到期前,提示收到警告信息的天数

  8、chpasswd 批量更新用户密码
  -e 默认格式是明文密码,使用-e参数则需要加密的密码

  9、su 切换用户
  -,-l,--login 切换用户的同时,将用户的家目录、系统环境等重新按切换的用户初始化
  -c 向shell传递单个命令

  10、visudo 编辑sudoers文件
  -c 手动执行语法检查

  11、sudo 以另一个用户身份执行命令
  -l 列出当前用户可以执行的命令
  -h 列出使用方法,并退出
  -H 将环境变量中的HOME(家目录)指定为要变更身份的使用者家目录(如果不加-u参数就是系统管理中root)
  -V 显示版本信息,并退出
  -v sudo在第一次执行时,或者在N分钟内没有执行(N预设为五),则会询问密码,这个参数用于重新做一次确认
  -u 以指定用户的身份执行命令
  -k 清除时间戳上的 时间,下次再使用sudu是要再输入密码
  -K 与-k类似,同时还要删除时间戳文件
  -b 在后台执行指定命令
  -p 可以更改询问密码时的提示语
  -e 不执行命令,而是修改文件,相当于命令sudo edit

  12、id 显示用户与用户组信息
  -g 显示用户组ID
  -G 显示用户所属附加群组的ID
  -n 显示用户,所属群组或附加群组的名称,不显示数字
  -r 显示实际ID
  -u 显示用户ID

  13、w 显示已登录用户信息
  -h 不显示前两行标题信息
  -u 忽略执行程序的名称,以及CPU时间信息
  -s 使用短输出格式

  14、who 显示已登录用户信息
  -a 显示所有信息
  -b 显示系统的启动时间
  -d 显示已死的进程
  -H 显示标题,默认不显示
  -l 显示登录进程

  15、users 显示已登录用户

  16、whoami 显示当前登录的用户名

  17、last 显示用户登录列表
  -num 指定显示结果的行数
  -n num 指定显示结果的行数

  18、lastb 显示用户登录失败的记录
  -num 指定显示结果的行数
  -n num 指定显示结果的行数

  19、lastlog 显示所有用户的最近登录记录

七、Linux磁盘与文件系统管理命令
  1、fdisk 磁盘分区工具
  -l 显示所有磁盘分区的信息
  m 显示所有能在fdisk中使用的命令
  n 创建新分区
  p 显示磁盘分区信息
  t 更改分区的系统ID(分区类型)
  d 删除磁盘分区
  q 退出fdisk,不保存磁盘分区设置
  w 保存磁盘分区设置并退出fdisk

  2、partprobe 更新内核的硬盘分区表信息
  -d 不更新内核
  -s 显示摘要和分区

  3、tune2fs 调整ext2/ext3/ext4文件系统参数
  -c 设置强制自检的挂载次数,没挂载一次计数就会加1,超过次数就会强制自检,设置为0或-1则此功能关闭
  -C 设置文件系统已经被挂载的次数
  -i 设置强制自检的时间间隔(天、周、月)
  -j 将ext2文件系统转换为ext3类型的文件系统
  -l 查看文件系统信息

  4、parted 磁盘分区工具
  -l 显示所有磁盘分区的信息
  -h 查看帮助

  5、mkfs 创建linux文件系统
  -t 指定要创建的文件系统类型
  -c 创建文件系统时检查磁盘坏块
  -v 显示详细信息

  6、dumpe2fs 导出ext2/ext3/ext4文件系统信息
  -b 打印文件系统中预留的块信息
  -h 仅显示超级块信息
  -i 从指定的文件系统映像文件中读取文件的系统信息
  -x 以16进制格式打印信息块成员

  7、resize2fs 调整ext2/ext3/ext4文件系统大小
  -p 打印完成任务的进度条
  -f 强制执行操作

  8、fsck 检查并修复linux文件系统
  -a 自动修复文件系统,不询问任何问题
  -s 按顺序检查多个文件系统
  -t 指定要检查的分区的文件系统类型
  -A 依照/etc/fstab配置文件的内容。检查文件内所列的全部文件系统
  -N 不执行指令,仅列出实际执行会进行的动作

  9、dd 转换或复制文件
  if=<输入文件> 从指定文件中读取
  of=<输出文件> 写入到指定文件
  bs=<字节数> 一次读写的字节数
  count=<块数> 指定复制block块的个数
  ibs=<字节数> 一次读的字节。默认是512
  obs=<字节数> 一次写的字节。默认是512
  conv=<格式> 格式转换
  ucase:把字母由小写转换为大写
  lcase:把字母由大写转换为小写

  10、mount 挂载文件系统
  -l 显示系统已经挂载的设备的相关信息
  -a 根据/etc/fstab文件里的配置挂载文件系统
  -t 指定挂载的文件系统类型
  -o 后接一些挂载的选项,是安全、性能优化的重要选项
  -r 只读挂载
  -w 读写挂载

  11、umount 卸载文件系统
  -f 强制卸载
  -l 懒惰地卸载

  12、df 报告未见系统磁盘空间的使用情况
  -a 显示所有文件系统
  -h 以容易理解的格式显示磁盘的使用情况
  -i 显示文件系统的inode信息
  -t 显示指定类型的磁盘
  -T 列出文件系统的类型

  13、mkswap 创建交换分区
  -c 建立交换分区之前,首先检查磁盘是否有损坏的区块
  -f 强制执行操作

  14、swapon 激活交换分区
  -s 显示所有交换分区的信息

  15、swapoff 关闭交换分区
  -a 关闭所有交换分区

  16、sync 刷新文件系统缓冲区

  17、e2label 为格式化文件系统的磁盘设置卷标

八、Linux进程管理命令
  1、ps 查看进程
  -a 显示所有终端下执行的进程
  a 显示与终端相关的所有进程,包括每个进程的完整路径
  x 显示与终端无关的所有进程
  -u 显示指定用户相关的进程信息
  -e 显示所有进程
  -f 额外显示UID、PPID、C与STIME栏位
  f 用ASCII字符显示树状结构,表达进程间的相互关系
  -H 显示进程树
  -l 以详细地格式来显示进程的状况
  -o 自定义输出指定的字段,以逗号分隔
  --sort key key表示为指定字段排序,默认升序,+key升序,-key降序

  2、pstree 显示进程状态树
  -a 显示启动每个进程对应的完整命令、包含启动进程的路径、参数等
  -c 不精简显示进程信息,即显示的进程中包含子进程和父进程
  -h 对现在执行的程序进行特别标注
  -n 根据进程PID号来排序输出,默认是以程序名称排序输出的
  -p 显示进程的PID
  -u 显示进程对应的用户名称

  3、pgrep 查找匹配的进程
  -u 显示指定用户的所有进程号

  4、kill 终止进程
  -l 列出全部的信号名称
  -p 指定kill命令之打印相关进程的进程号,而不是发送任何信号
  -s 指定要发送的信号
  HUP(1) 挂起
  INT(2) 中断
  QUIT(3) 退出
  KILL(9) 立即结束进程的运行
  TERM(15) 终止
  TSTP(20) 暂停进程的运行

  5、killall 通过进程名终止进程
  -e 对于很长的名字,要求能够准确匹配。默认情况下,如果一个进程名的长度超过了15个字符,则无法使用整个名字(溢出了)。在这种情况下,killall会终止所有匹配名字前15个字符的所有进程。而-e参数的作用是忽略模糊匹配项目。如果同时指定了-v选项,则killall会针对每个忽略的记录打印一条消息
  -l 不区分大小写匹配
  -g 终止属于该进程组的进程
  -i 在终止进程之前询问是否确认
  -l 列出所有已知的信号名
  -q 如果没有进程终止则不提示
  -r 使用正则表达式匹配要终止的进程名称
  -s 用指定的信号代替默认信号
  -u 终止指定用户的进程
  -v 报告信号是否发生成功
  -w 等待所有被终止的进程死去。killall每秒都会检查一次被终止的进程是否仍然存在,其仅在都死光后才返回。

  6、pkill 通过进程名终止进程
  -t 终端 杀死指定终端的进程
  -u 用户 杀死指定用户的进程

  7、top 实时显示系统中各个进程的资源占用情况
  -a 将进程安装使用内存排序
  -b 以批处理的模式显示进程信息,输出结果可以传递给其他程序或写入到文件中。在这种模式下,top命令不会接受任何输入,一直运行直到达到-n选项设置的阈值,或者按Ctrl+c等组合键终止程序
  -c 显示进程的整个命令路径,而不是只显示命令名称
  -d 指定没两次屏幕信息刷新之间的时间间隔
  -H 指定这个可以显示每个线程的情况,否则就是进程的总的状态
  -i 不显示闲置或者僵死的进程信息
  -n top输出信息更新的次数,完成后将退出top命令
  -p 显示指定的进程信息

  交互式命令
  h或? 显示帮助信息,给出交互式命令的一些说明总结
  Z 全局颜色设置
  B 全局字体加粗设置
  l 切换是否显示平均负载和启动时间信息
  t 切换是否显示进程和CPU状态信息
  m 切换是否显示内存信息
  1 数字1,用于多核CPU监控,可监控每个逻辑CPU的状况
  I Irix/Solaris模式
  f 从当前显示列表中添加或删除项目。按f键之后会显示列的列表。按'a~z'键即可显示或隐藏对应的列,最后按回车确定
  o 改变top输出信息中显示项目的顺序
  F或O 选择排序的列
  <,> 移动选择排序的列,"<"选择左邻一列排序,">"选择右邻一列排序
  R 切换正常/反转排序
  H 切换是否显示进程信息
  c 切换是否显示完整命令行和命令名称信息
  i 切换是否显示闲置进程和僵死进程
  S 切换到累计模式
  x 以高亮的形式排序对应列,需要结合b/z使用
  y 高亮运行的进程,需要结合b/z使用
  z 打开/关闭颜色
  b 打开/关闭加粗
  u 显示指定用户相关的进程信息
  n或# 设置指定用户相关的进程信息
  k 终止一个进程,系统将提示用户输入一个需要终止进程的PID
  r 重新设置一个进程的优先级,系统提示用户输入需要改变的进程PID,以及需要设置的进程优先级值。输入一个正直将使优先级降低,反之则可以使该进程拥有更高的优先权。默认值是10
  d或s 改变top输出信息两次刷新之间的时间,系统将提示输入新的时间,单位是s。如果是小数,则换算成ms;如果输出0,那么系统输出将会不间断刷新,默认刷新时间是3s。需要注意的是,如果设置太小的时间,则可能会引起系统不断刷新,无法看清输出显示情况,而且系统负载也会加大
  W 将当前top设置写入"~/.toprc"文件中
  q 退出top显示

  8、nice 调整程序运行时的优先级
  -n num 设置nice增加的数字,num取值从-20~19.不使用-n选项相当于-n 10的效果
说明:
(1)root用户可以随意调整自己或他人程序的nice值,且范围为-20~19
(2)普通用户仅可以调整自己程序的nice值,且范围仅为0~19(避免普通用户抢占系统资源)
(3)普通用户可以将nice值往高调,例如nice值原本为5,则未来仅能调整到大于5的值
  9、renice 调整运行中的进程的优先级
  -n num 设置nice增加的数值,num取值范围从-20~19
  -g 修改指定用户组的进程的优先级
  -u 修改指定用户的进程的优先级
  -p 修改指定pid的进程的优先级

  10、nohup 用户退出系统进程继续工作

  11、strace 跟踪进程的系统调用
  -c 统计每一个系统调用所执行的时间、次数和出错的次数等
  -d 输出strace关于标准错误的调试信息
  -f 跟踪目标进程,以及目标进程创建的所有子进程
  -ff 如果提供-o filename,则将所有进程的跟踪结构输出到相应的filename.pid中,pid是各进程的进程号
  -i 输出系统调用的入口指针
  -q 禁止输出关于脱离的消息
  -r 输出每一个系统调用的相对时间
  -t 在输出中的每一行前加上时间信息。例如16:46:22
  -tt 在输出中的每一行前加上时间信息,精确到微秒,例如11:18:59.759546
  -ttt 在输出中的每一行前加上时间信息,精确到微秒,而且时间表示为UNIX时间戳。例如1486111461.650434
  -T 显示每次系统调用所花费的时间
  -v 对于某些相关调用,把完整的换进变量、文件stat结构等打印出来
  -x 以十六进制形式输出非标准字符串
  -xx 所有字符串以十六进制形式输出
  -e expr 输出过滤器,通过表达式,可以过滤掉你不想要的输出
  说明:expr是一个表达式,用于控制如何跟踪:[qualifier=][!]value1[,value2]...
  <1>qualifier只能是trace、abbrev、raw、signal、read、write其中之一
  <2>value是用来限定的符号或数字
  <3>默认的qualifier是trace
  <4>感叹号shi否定符号 例如:-e open等价于-e trace=open 表示只跟踪open调用,而-e trace!=open表示跟踪除了open以外的其他调用
常用选项
  -e trace=[set] 只跟踪指定的系统调用
  -e trace=file 只跟踪与文件操作有关的系统调用
  -e trace=process 只跟踪与进程控制有关的系统调用
  -e trace=network 只跟踪与网络有关的系统调用
  -e trace=signal 只跟踪与系统信号有关的系统调用
  -e trace=desc 只跟踪与文件描述符有关的系统调用
  -e trace=ipc 只跟踪与进程通信有关的系统调用
  -e abbrev=[set] 设定strace输出的系统调用的结果集
  -e raw=[set] 将指定的系统调用的参数以十六进制显示
  -e signal=[set] 指定跟踪的系统信号
  -e read=[set] 输出从指定文件中读出的数据
  -e write=[set] 输出写入到指定文件中的数据

  -o filename 将strace的输出写入文件filename
  -p pid 将指定跟踪的进程pid,要同时跟踪多个pid,重复多次-p选项即可
  -s strsize 将指定输出的字符串的最大长度,默认为32.并没有将文件视为字符串,默认全部输出
  -u username 以username的UID和GID执行所跟踪的命令

  12、ltrace 跟踪进程调用库函数
  -c 统计库函数每次调用的时间,最后程序退出时打印摘要
  -C 解码低级别名称(内核级)为用户级名称
  -d 打印调试信息
  -e expr 输出过滤器,通过表达式,可以过滤掉你不想要的内容
  -f 跟踪子进程
  -o filename 将ltrace的出入文件filename
  -p pid 指定要跟踪的pid进程
  -r 输出每一个调用的相对时间
  -S 显示系统调用
  -t 在输出中的每一行前加上时间信息,例如16:45:28
  -tt 在输出中的每一行前加上时间信息,精确到微秒。例如11:18:59.759546
  -ttt 在输出中的每一行前加上时间信息,精确到微秒,而且时间表示为UNIX时间戳。例如1486111461
  -T 显示每次调用所花费的时间
  -u username 以username的UID和GID执行所跟踪命令

  13、runlevel 输出当前运行级别
  --quite 不输出结果,用于通过返回值判断的场合
  0 关机
  1 单用户模式
  3 无网络的多用户模式
  4 未使用
  5 图形界面多用户模式
  6 重启

  14、init 初始化Linux进程

  15、service 管理系统服务
  --status-all 显示所有服务状态

九、Linux网络管理命令
  1、ifconfig 配置或显示网络接口信息
  -a 显示所有的网络接口信息,包括活动的和非活动的
  up 激活指定的网络接口
  down 禁用指定的网络接口
  hw 设置网络接口的物理地址(MAC地址)

  2、ifup 激活网络接口

  3、ifdown 禁用网络接口

  4、route 显示或管理路由表
  -n 直接使用IP地址,不进行DNS解析主机名
  -v 详细信息模式
  -r 显示路由表
  -ee 显示更详细地路由信息
  add 添加路由信息
  del 删除路由信息
  target 指定目标网络或主机
  -net 到一个网络的路由,后面接的是一个网络号地址
  -host 到一个主机的路由,后面接的是一个主机地址
  netmask NM 为添加的路由指定网络掩码
  gw GW 为发往目标网络/主机的任何分组指定网关
  dev 指定由哪个网络设备出去,后面接网络设备名
  mss 设置TCP的最大区块长度(MSS),单位MB
  window 指定通过路由表的TCP连接的TCP窗口大小

  5、arp 管理系统的arp缓存
  -n 显示数字IP地址
  -s<主机><MAC地址> 设置指定主机的ip地址与MAC地址的静态映射
  -d<主机> 从arp缓存区中删除指定主机的arp条目
  -i<接口> 指定网络接口
  -v 显示详细地arp缓存条目,包括缓冲区条目的统计信息

  6、ip 网络配置工具
  -s 输出更详细的信息,为了显示更加详细的信息,可重复使用此选项
  -r 显示主机时,不使用IP地址,而是用主机的域名
  网络对象
  link 网络设备
  address 设备的协议地址(IP地址)
  addlabel 协议地址变迁管理
  neighbour arp或ndisc缓存表
  route 路由表
  rule 策略路由表
  maddress 多播路由缓存表
  tunnel IP隧道
  xfrm IPsec协议框架
  这里有一个有趣的用法,比如ip address可以简写为ip addr或最简化ip a;其他对象也是如此

  7、netstat 查看网络状态
  -r 显示路由表信息
  -g 显示多播功能群组成员
  -i 显示网络接口信息
  -s 显示各类协议的统计信息
  -n 显示数字形式的地址而不是去解析主机、端口或用户名。默认情况下,netstat命令会尝试解析并显示主机的主机名
  -a 显示处于监听状态和非监听状态的socket信息
  -A 显示指定网络类型的网络连接状态
  -c<秒数> 后面跟的秒数表示每隔几秒就刷新显示一次
  -l 仅显示连接状态为"LISTEN"的服务的网络状态
  -t 显示所有TCP连接情况
  -u 显示所有UDP连接情况
  -p 显示socket所属进程的PID和名称

  8、ss 查看网络状态
  -n 显示IP地址,不进行DNS解析
  r 尝试解析数字IP地址和端口
  -a 显示所有socket连接
  -l 显示所有监听socket
  -o 显示计时器信息
  -e 显示详细地socket信息
  -m 显示socket的内存使用情况
  -p 显示使用socket的进程
  -i 显示TCP内部信息
  -s 显示socket使用统计
  -4 仅显示IPv4的socket
  -6 仅显示IPv6的socket
  -0 仅显示PACKET的socket
  -t 仅显示TCP的socket
  -u 仅显示UDP的socket
  -d 仅显示DCCP的socket
  -w 仅显示RAW的socket
  -x 仅显示Unix的socket

  9、ping 测试主机之间网络的连通性
  -c<次数> 指发送ICMP报文的次数
  -i<时间间隔> 相邻两次发送报文的时间间,默认时间是1s
  -n 不查询主机名,直接显示其IP地址
  -q 只显示命令开始时的信息和运行结束时的统计信息。忽略命令执行过程中输出的信息
  -s<数据包大小> 设置发送数据包的大小,默认大小为56字节,再加上8字节的ICMP头,一共是64字节的ICMP包
  -t<生存期> 设置发送的数据包其生存期(TTL)的值
  -w 截止日期 超过截止时间,立即退出ping程序
  -W 超时时间 等待响应的超时时间

  10、traceroute 追踪数据传输路由状况
  -q<nqueries> 设置每一跳得探测包数量。默认是3
  -I 使用ICMP ECHO探测,即ping
  -n 直接使用IP地址而不是使用主机名
  -m 设置最大的跳数,默认为30

  11、arping 发送arp请求
  -c<次数> 发送指定次数的arp报文后退出命令
  -f 当收到第一个应答报文时,立即退出命令。
  -I 网络接口 指定网络接口发送arp报文
  -w<截止时间> 设置命令的执行截止时间
  -s source 设定arping发送的arp数据包中的源地址

  12、telnet 远程登录主机

  13、nc 多功能网络工具
  -l 指定监听端口,然后一直等待网络连接
  -z 表示zero,表示扫描时不发送任何数据
  -v 显示详细输出
  -w 设置超时时间,对-l选项失败
  -p 指定nc命令使用的端口,不能和-l选项一起使用,如果与-l选项一起使用,则可能出现错误
  -u 使用UDP连接,默认是TCP连接
  -s 指定发送数据的源IP地址

  14、ssh 安全地远程登录主机
  -p 指定ssh登录端口,如果忽略则默认端口为22
  -t 强制分配伪终端. 可以在远程机器上执行任何全屏幕(screen-based)程序
  -v 调试模式
  -1 强制使用ssh协议版本1;
  -2 强制使用ssh协议版本2;
  -4 强制使用IPv4地址;
  -6 强制使用IPv6地址;
  -A 开启认证代理连接转发功能;
  -a 关闭认证代理连接转发功能;
  -b 使用本机指定地址作为对应连接的源ip地址;
  -C 请求压缩所有数据;
  -F 指定ssh指令的配置文件;
  -f 后台执行ssh指令;
  -g 允许远程主机连接主机的转发端口;
  -i 指定身份文件;
  -l 指定连接远程服务器登录用户名;
  -N 不执行远程指令;
  -o 指定配置选项;
  -q 静默模式;
  -X 开启X11转发功能;
  -x 关闭X11转发功能;
  -y 开启信任X11转发功能。

  15、wget 命令行下载工具
  -o 将命令的执行结果写入文件中
  -O 指定保存的文件名后下载文件
  --limit-rate 限速下载
  -b 转入后台执行命令
  -c 断点续传
  --user-agent 指定客户端标志
  -q 关闭下载时的输出
  -l 指定页面层级。这意味着 wget 只会向下遍历指定的页面级数。该选项要与 -r (recursive,递归选项)一同使用
  -N 表示使用文件的时间戳
  -k 指示wget将页面的链接地址转换为本地地址
  --tries=number 设置重试次数
  --spider 模拟爬虫访问
  --mirror wget 有一个选项可以使其像爬虫一样以递归的方式遍历网页上所有的URL链接,并逐个下载。这样一来,我们就能够获得一个网站的所有页面
  -Q 指定最大下载配额(quota)。配额一旦用尽,下载随之停止
  -T seconds 设置访问的超时时间
  --timeout=seconds 设置访问的超时时间

  16、mailq 显示邮件传输队列
  -v 调试模式,显示详细信息

  17、mail 发送和接收邮件
  -s 指定邮件主题
  -a 发送邮件附件,多个附件使用多次-a选项即可
  -b 指定加密抄送的收信人地址
  -c 指定抄送的收信人地址

  18、nslookup 域名查询工具
  --timeout 指定查询的超时时间
  -query 指定域名查询的类型

  19、dig 域名查询工具
  @<DNS服务器地址> 指定进行域名解析的域名服务器
  -x 反向解析域名
  -t 指定要查询的DNS数据类型,如A、MX和PTR等。默认的查询类型为A
  -b 指定使用本机的哪个IP地址向域名服务器发生域名查询请求
  -p 指定域名服务器所使用的端口号。默认为53号端口
  +trace 从根域开始跟踪查询结果
  +nocmd 不输出dig的版本信息
  +short 仅输出最精简的CNAME信息和A记录,其他的都不会输出
  +nocomment 不输出dig的详情注释信息
  +nostat 不输出最后的统计信息

  20、host 域名查询工具
  -a 显示详细的DNS信息
  -t 指定查询的域名类型,如A、ALL、MX和NS

  21、nmap 网络探测工具和安全/端口扫描
  -O 激活对TCP/IP指纹特征(fingerprinting)的扫描,获得远程主机的标志,也就是操作系统类型
  -v 显示扫描过程中的详细信息
  -S<IP> 设置扫描的源IP地址
  -g port 设置扫描的源端口
  -p<端口> 指定要扫描的端口,可以是一个单独的端口,也可以用逗号分隔开多个端口,或者使用-表示端口范围
  -n 不进行DNS解析,加快扫描速度
  -6 使用IPv6地址
  -d 增加调试信息地输出
  -A 使用所有高级扫描选项
  -e 在多网络接口Linux系统中,指定扫描使用的网络接口
  -sS TCP同步扫描(TCP SYN)
  -sT TCP连接扫描
  -sn 不进行端口扫描,只检查主机正在运行
  -sU 扫描UDP端口
  -sV 探测服务器版本信息
  -sP ping扫描,仅发现目标主机是否存活
  -Pn 只进行扫描,不ping主机
  -PS 使用SYN包对目标主机进行扫描,默认是80端口,也可以指定端口,例如:-PS22或-PS22-25,113 (记住PS和端口号之间不要有空格)
  -PU 使用udp ping扫描端口
  -PE 强制执行直接的ICMPping
  -PB 默认模式,可以使用ICMPping和TCPping
  -oN 把扫描的结果重定向到文件中
  -oL filename 从文件中读取扫描的目标
  -oX 以xml格式向指定文件输出信息
  -oM 以机器可阅读的格式输出
  --exclude 排除指定主机
  --excludefile 排除指定文件中的主机
  --resume 继续上次执行完的扫描
  --ttl 指定发送的扫描报文的生存期
  --packet-trace 显示扫描过程中收发报文统计
  --scanflags 设置在扫描报文中的TCP标志



  22、tcpdump 监听网络流量
  -A 以ASCII码方式显示每一个数据包(不会显示数据包中链路层的头部信息)
  -c<数据包数目> 接收到指定的数据包数目后退出命令
  -e 每行的打印输出中将包括数据包的数据链路层头部信息
  -i<网络接口> 指定要监听数据包的网络接口
  -n 不进行DNS解析
  -nn 不将协议和端口数字等转换成名字
  -q 以快速输出的方式运行,此选项仅显示数据包的协议概要信息,输出信息较短
  -s<数据包大小> 设置数据包抓包长度,如果不设置则默认为68字节,设置为0则自动选择合适的长度来抓包数据
  -t 在每行输出信息中不显示时间戳标记
  -tt 在每行输出信息中显示无格式的时间戳标记
  -ttt 显示当前行与前一行的延迟
  -tttt 在每行打印的时间戳之间添加日期
  -ttttt 显示当前与第一行的延迟
  -v 显示命令执行的详细信息
  -vv 显示比-v选项更加详细的信息
  -vvv 显示比-vv选项更加详细的信息

  23、curl 利用URL规则在命令行下工作的文件传输工具
  -s 不输出任何东西
  -i/--include 输出时包括protocol头信息
  -I/--head 只显示请求头信息

十、Linux系统管理命令
  1、lsof 查看进程打开的文件
  -c 显示指定的进程名所打开的文件
  -p<进程号> 显示指定的进程号所打开的文件
  -i 通过监听指定的协议、端口和主机等信息,显示符合条件的进程信息
  -u 显示指定用户使用的文件
  -U 显示所有socket文件

  2、uptime 显示系统的运行时间及负载

  3、free 查看系统内存
  -t 显示内存总和列
  -b 以字节(Byte)为单位显示内存使用情况
  -K 以KB为单位显示内存使用情况
  -m 以MB为单位显示内存使用情况
  -g 以GB为单位显示内存使用情况
  -h 以人类可读的形式显示内存的使用情况
  -s<间隔秒数> 根据指定的间隔秒数持续显示内存的使用情况
  -o 不显示系统缓冲区列

  4、iftop 动态显示网络接口流量信息
  -i 指定监听的网络接口
  -n 不进行DNS解析
  -N 不将端口号解析成服务名
  -B 以byte为单位显示流量(默认是bit)
  -p 设置网卡为混杂模式,以便不直接通过指定接口传递的流量也能被计数
  -P(大写) 显示端口号
  -m 设置界面最上边的刻度的最大值,刻度分为五大段显示
  -F 显示指定网段的进出流量

  5、vmstat 虚拟内存统计
  -a 显示活跃和非活跃内存
  -f 显示从系统启动至今的fork进程数量
  -m 显示slab信息
  -n 只在开始时显示一次各字段名称
  -s 显示内存相关统计信息及多种系统活动数量
  -d 显示磁盘相关统计信息
  -p 显示指定磁盘分区统计信息
  -S 使用指定单位显示。参数有k、K、m、M,分别代表1000、1024、1000000、1048576字节。默认单位为K(1024byte)
  -t 统计信息带上时间戳

  6、mpstat CPU信息统计
  -P(大写) 指定CPU编号、 -P 0表示第一个CPU

  7、iostat I/O信息统计
  -c 显示CPU的使用情况
  -d 显示磁盘的使用情况
  -k 每秒以KB为单位显示数据
  -m 每秒以MB为单位显示数据
  -n 显示NFS的使用情况
  -t 显示每次统计的执行时间
  -p device 指定要统计的磁盘设备名称,默认为所有的磁盘设备
  -x 显示扩展统计

  8、iotop 动态显示磁盘I/O统计信息
  -o 显示正在使用I/O的进程或者线程,默认是显示所有
  -d 设置显示的间隔秒数
  -p 只显示指定PID的信息
  -u 显示指定用户信息
  -P(大写) 只显示进程,一般是显示所有线程
  -a 显示从iotop启动后每个线程完成的I/O总数
  -k 设置显示单位为KB
  -t 在每一行前添加一个当前时间

  9、sar 收集系统信息
  -A 显示系统所有资源设备(CPU、内存、磁盘)的运行状况
  -u 显示系统所有CPU在采样时间内的负载状态
  -P 显示当前系统中指定CPU的使用情况
  -d 显示系统所有硬盘设备在采样时间内的使用情况
  -r 显示在采样时间内系统内存的使用情况
  -b 显示在采样时间内系统缓冲区的使用情况
  -v 显示索引节点、文件和其他内核表的状态
  -n 显示网络运行状态
  -q 显示运行队列的大小,它与系统当时得平均负载相同
  -R 显示进程在采样时间内的活动情况
  -y 显示终端设备在采样时间内的活动情况
  -w 显示系统交换活动在采样时间内的状态
  -o filename 将命令结果以二进制格式存放在文件中,filename是文件名

  10、chkconfig 管理开机服务
  --list 显示不同运行级别下服务的启动状态
  --add 添加一个系统服务
  --del 删除一个系统服务
  --level 指定运行级别

  11、ntsysv 管理开机服务
  --back 在交互界面里,显示Back按钮,而非Cancel按钮
  --level 指定运行级别,默认是当前级别

  12、setup 系统管理工具

  13、ethtool 查询网卡参数
  -i 显示网卡驱动的信息,如驱动的名称、版本等

  14、mii-tool 管理网络接口的状态
  -v 显示详细信息
  -r 重启自动协商模式

  15、dmidecode 查询系统硬件信息
  -t 只显示指定条目
  -s 只显示指定DMI字符串信息
  -q 精简输出

  16、lspic 显示所有PCI设备
  -v 显示详细信息
  -vv 显示更详细地信息
  -s 显示指定总线信息

  17、ipcs 显示进程间通信设施的状态
  -a 显示全部可显示的信息
  -q 显示活动的消息队列信息
  -m 显示活动的共享内存信息
  -s 显示活动的信号量信息

  18、ipcrm 清除ipc相关信息
  -M 移除用shmkey创建的共享内存段
  -m 移除shmid标识的共享内存段
  -Q 移除用msqkey创建的消息队列
  -q 移除用msqid标识的消息队列
  -S 移除用semkey创建的信号
  -s 移除用semid标识的信号

  19、rpm RPM包管理器
  -q 查询软件包
  -p<套件档> 查询指定的RPM套件档
  -i 如果配合-qp使用,则表示显示软件包的概要信息,此时i是info的缩写。另一功能是安装软件包,此时i是install的缩写
  -l 显示软件包中的所有文件列表
  -R 显示软件包的依赖环境
  -v 显示详细信息
  -h 用"#"显示安装进度条
  -a 与-q参数搭配使用,用于查询所有的软件包
  -e 卸载软件包
  -f 查询文件命令属于哪个软件包
  -U 升级指定的软件包
  -s 显示文件状态,本参数需配合"-l"参数使用
  -K 验证rpm文件
  -V 验证以安装的软件
组合:
  -qa 列出所有安装的rpm软件
  -ivh 安装rpm包
  -qf 查询目标文件属于那个rpm包
  -qi 查询指定已安装rpm软件的信息
  -ql 查询指定已安装rpm软件包含的文件
  -qip 查询rpm文件信息(未安装前查询)
  -qlp 查询rpm文件包含的文件
  rpm -q package_name --whatrequires 显示与一个rpm包存在依赖关系的列表

  20、yum 自动化RPM包管理工具
  -y 确认操作
  --nogpgcheck 忽略GPG验证
  -C 直接使用系统yum缓存,不下载更新yum缓存
  -q 不输出信息
  -v 显示详细信息
  install 安装软件包
  licalinstall 安装本地RPM包
  remove 完全移除软件,包括所有依赖
  update 更新软件包
  list 列出软件包
  search 寻找软件包
  info 获取软件包信息
  deplist 查看软件包依赖
  provides 查找某个特定文件属于哪个软件包
  check-update 检查是否有可用的更新rpm软件包
  grouplist 列出所有可用的群组
  groupinstall 安装群组软件包
  groupupdate 更新群组软件包
  groupremove 移除群组软件包
  repolist 列出启用的YUM源
  makecache 生成缓存
  clean 清理所有YUM的缓存内容
  history 查看yum的历史记录

十一、Linux查看帮助命令
  1、help 查看内置命令帮助
  -d 输出内置命令的简单描述
  -m 以man帮助格式显示
  -s 只输出命令使用语法

  2、man 查看内置命令帮助
  3、info 查看内置命令帮助

十二、Linux其他一些命令
  1、.和source 使当前shell读入路径为filepath的shell文件并依次执行文件中的所有语句,通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录

  2、alias 设置别名(命令别名)

  3、unalias 取消别名

  4、bg 将前台执行任务转入后台,或将后台暂停的任务运行起来

  5、fg 将后台任务调到前台来执行

  6、jobs 查看后台任务列表

  7、export 查看或设置全局变量
  -p 打印所有环境变量

  8、history 查看命令历史记录
  -d 删除指定编号命令的历史记录
  -c 清除所有命令的历史记录

  9、read 从标准输入获得字符
  -p 设置提示信息
  -t 设置输入等待时间,默认单位是秒
  -s 输入的数据不显示在监视器上
  -n 规定read后面的变量所接收的字符个数

  10、type 判断命令类型
  -a 显示所有相关信息
  -t 精简显示命令类型,file:普通命令;alias:命令别名;builtin:内置命令

  11、ulimit 查看或修改系统资源使用显示
  -a 显示当前所有系统资源使用限制
  -n 显示或设置最多打开的文件数目

  12、unset 删除已定义的shell变量(包括环境变量)和shell函数
  -f 仅删除函数
  -v 仅删除变量

  13、blkid 查询设备上所采用文件系统的类型

  14、env 显示系统中已存在的环境变量,以及在定义的环境中执行指令
  -i 开始一个新的空的环境;
  -u<变量名> 从当前环境中删除指定的变量。

  15、nl 查看文本内容并给非空行显示行号

原文地址:https://www.cnblogs.com/wangguangtao/p/9721798.html