一、文件和目录操作命令

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 查看文本内容并给非空行显示行号

linux命令整理版(拷贝)的更多相关文章

  1. 50条LINUX命令整理

    1. find 基本语法参数如下: find [PATH] [option] [action] # 与时间有关的参数: -mtime n : n为数字,意思为在n天之前的“一天内”被更改过的文件: - ...

  2. carson常用linux命令整理

    注:通过日常所用到的一些命令进行整理添加!! 完整的命令可参考:Linux命令大全 1.cp命令 cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录. 2.mount(挂载)命令 在li ...

  3. day02.2-常用Linux命令整理

    Linux命令语法格式:   命令    [选项]    [参数] 1). 命令:告诉Linux操作系统执行什么: 2). 选项:说明命令的运行方式.选项部分是以字符‘-’开始的: 3). 参数:说明 ...

  4. Linux命令整理,用户管理,用户组管理,系统管理,目录管理常用命令

    知识点梳理 Linux课堂笔记 学习目标 能够知道什么是Linux系统以及它的应用场景 能够独立完成安装VMware虚拟机和网络配置 能够独立完成安装CentOS以及远程终端SecureCRT 能够熟 ...

  5. Linux 命令整理-tailf

    1.tailf 跟踪日志文件 常用参数格式: tailf -n logfile 动态跟踪日志文件logfile,最初的时候打印文件的最后10行内容. 实例 查看从倒数多少行的日志信息 2.tail 跟 ...

  6. Linux命令整理 - 通用版

    通用版 - 系统架构 /dev 设备文件夹 null 有去无回 mouse /sbin 系统管理必备程序 cfdisk.dhcpcd.dump.e2fsck.fdisk.halt.ifconfig.i ...

  7. 常用快捷键以及linux命令整理

    关于快捷键的使用,网上有很多.自己在使用过程中不断整理用到的知识点.一个项目完成了就把涉及用到的快捷键和命令介绍给大家,都是一些比较基础的,常用的命令.希望大家有好的知识点,命令可以及时交流整理. 一 ...

  8. Linux命令整理(2018/9/9-2018/9/15)

    根据本周的Linux学习进度,整理了部分Linux知识及常用命令,待完善…… 1.显示默认启动方式(默认启动目标): systemctl get-default 2.设置默认启动方式(默认启动目标): ...

  9. 日志处理--高效Linux命令整理

    序 在学习使用python处理日志开始阶段,对我阻力最大的莫过于对linux的不熟悉了,有种寸步难行的感觉. 在之后乱学一通之后,发现有点对我颇有益处: 学<鸟哥linux私房菜基础学习篇> ...

随机推荐

  1. 【149】ArcGIS Desktop 10.0 & Engine 10.0 安装及破解

    写在前面:可能会出现按照此方法无法破解的情况,那请确保您有将 ArcGIS 10.0 已经完全卸载干净,直接通过控制面板进行卸载的时候并不能将其卸载干净,需要进行更深层次的卸载,包括删除注册表,各种文 ...

  2. jquery中$()的使用

    在jquery中最常使用的就是$这个符号了,在我没有系统的学习jquery之前,我用到的$都是用于对元素的选择,而这只是$的很简单的用法.在jquery$()函数一共有三种用法: $(selector ...

  3. jquery plupload上传插件

    http://www.jianshu.com/p/047349275cd4 http://www.cnblogs.com/2050/p/3913184.html demo地址: http://chap ...

  4. SQL常用指令集(Oracle)

    1. Select rownum(oracle) top(mysql): 用于规定返回指定数目的值 Where roenum < number 2. Like 用于在where子句搜索指定模式 ...

  5. 转 MySQL数据库基础

    http://lib.csdn.net/article/mysql/57883 1 数据库基础 一.数据库与数据库管理系统 1.数据库(DB):存放数据的仓库,从广义来说,数据不仅包括数字,还包括了文 ...

  6. WCF学习笔记(1)-一个完整的例子

    一.开发环境 IDE:VS2013 OS:Win10 IIS:IIS 10 二.开发流程 1.项目结构 2.添加一个WCF程序 3.删除系统自动生成的两个文件IService1.cs和Service1 ...

  7. vs2012 jsoncpp 链接错误

    解决: 项目->属性->C/C++->代码生成->运行库->设置与使用的.lib的版本一致.

  8. P1160 队列安排

    题目描述 一个学校里老师要将班上N个同学排成一列,同学被编号为1-N,他采取如下的方法: 1.先将1号同学安排进队列,这时队列中只有他一个人: 2.2-N号同学依次入列,编号为i的同学入列方式为:老师 ...

  9. 关于百度地图导航AndroidSDK的初始化问题

    使用百度地图有一段时间了,导航是一个一直困扰我的问题.今天刚发现百度地图的导航SDK并不是对Android6.0版本不兼容.而是对某一部分手机不兼容,准确的说是对X64或X86的cpu不兼容.下载百度 ...

  10. 如何解决数据库中,数字+null=null

    如何解决数据库中,数字+null=null 我使用SQLServer,做一个 update 操作,累计一个数.在数据库中,为了方便,数据库中这个字段我设为允许为空,并且设置了默认值为 0 .但是在新增 ...