zoukankan      html  css  js  c++  java
  • 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 查看文本内容并给非空行显示行号

  • 相关阅读:
    display:none;与visibility:hidden;的区别
    前端优化:雅虎35条
    JQ中find()和filter()的区别
    attr属性
    媒体查询器(转)@media screen and
    javascript解决URL (转)
    使用 js 处理 html entities(转)
    FileReader详解与实例---读取并显示图像文件
    HTML5中File对象初探
    createTextRange和createRange的一些用法(重点)
  • 原文地址:https://www.cnblogs.com/wangguangtao/p/9721798.html
Copyright © 2011-2022 走看看