Linux150个基础命令

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云解析 DNS,旗舰版 1个月
简介: 常用命令 Linux mkdir ls

1.mkdir 创建目录 *
主要选项:-p 递归创建目录
主要案列:mkdir /jingfeng

      mkdir -p /jingfeng/jf 
      mkdir -p /jingfeng/jf{1,2}  #创建多个目录 

2.cd 切换路径 *
主要案例:cd 或 cd ~ #切换至家目录

      cd -  #在上一个目录和当前目录来回切换 
      cd ~jingfeng  #切换至某用户的家目录 
      cd ..  #切换至上一级目录 

3.ls 查看目录或文件信息 *
主要选项:-l 列出目录或者文件的详细信息。比如权限、修改时间等等 -a 列出当前目录下所有文件,包括隐藏文件(已点开头的都是隐藏文件) -A 列出除.和..之外的所有文件 -h 已人类能查看的方式,列出文件的大小 -d 只列出目录的详细信息 -F 给不同文件结尾加不同标识 -p 给目录结尾加斜线 -t 按修改时间排序 -r 反转排序 -i 查看 inode 节点 --time-style=long-iso 格式化属性时间 -R 递归
主要案例:1、ls -l #列出目录或者文件的详细信息
-rw-r--r-- 1 root root 1 Aug 5 21:24 jingfeng.txt
2、ls -la #列出当前目录下所有文件,包括隐藏文件

      -rw-------   1 root root  18029 Aug 11 22:05 .bash_history 

-rw-r--r-- 1 root root 18 Dec 8 2016 .bash_logout

-rw-r--r-- 1 root root 176 Dec 8 2016 .bash_profile
3、ls -lh #已人类能查看的方式,列出文件的大小

      -rw-r--r--  1 root root  22K Dec  8  2016 install.log 
      4、ls -ld jingfeng  #只列出目录的详细信息 
      drwxr-xr-x 5 root root 4096 Aug 11 23:00 jingfeng 
      5、ls -lrt  #已时间倒叙的方式来列出 
      -rw-r--r--  1 root root    205 Feb  5  2017 jingfeng.txt.bz2 

-rw-r--r-- 1 root root 1 Aug 5 21:24 jingfeng.txt
drwxr-xr-x 5 root root 4096 Aug 11 23:00 jingfeng

4.pwd 列出当前目录 *
主要选项:-L 大写的 L,显示的逻辑路径 /etc/init.d -P 大写的 P,显示的是实际物理路径 /etc/rc.d/init.d 这两个参数了解即可
主要案例:[root@db02 ~]# pwd
/root

5.touch 创建一个空白文件,假如当前目录有同样的文件,则会更新文件的时间戳 *
主要选项:-a 修改 access(访问)时间 -m 修改 modify(修改)时间 这两个参数了解即可
主要案例:touch jingfeng.txt

6.cat 查看文件 *
主要选项:-n 显示行号 -b 只显示非空行的内容(显示行号) -E 在每行结束处显示$ -s 压缩空行 -T 把 tab 键字符显示为^I
主要案例:cat -n jingfeng.txt

      cat -b jingfeng.txt 

cat -E jingfeng.txt
cat -T jingfeng.txt
cat >>jingfeng.txt<Jingfeng

Woaini
EOF

7.vi 简单的编辑命令 *
主要案列:vi jingfeng.txt

8.vim 复杂的编辑器 *(使用方法参考 linux 基础里面的 vim 篇章)
使用方法同上

9.echo 打印文件内容或编辑文件内容 *
主要选项:-n 不换行输出 -e 可以使用转义字符(n 回车,t tab 键)
主要案列:echo “I am studying linux”>>jingfeng.txt 追加文件尾部内容

      echo $?  假如返回值为 0 的时候,表示上一次命令成功。假如是 1 到 255 的话,则是失败 
      echo -e “wo\tshi\tshei”> jingfeng.txt 

10.xargs 从标准输入(管道或 stdin、输入重定向)获取数据。并将数据转换成命
令行的参数 *

    简单理解就是 find 管道|后面接文件,就需要 xargs。假如| 前面输入的是文字,字符串就 不需要接 xargs 主要选项:-n 数字分组           -i 将 xargs 的每项名称,一行一行赋值给{},可以用{}代替 

主要案列:xargs -n 2 < jingfeng.txt

      find /etc -type f -name “*.txt”|xargs rm -f 
      find /etc -type f -name “*.txt”|xargs -i mv {} /tmp  

11.cp 复制文件或目录 *
主要选项:-a 相当于-pdr -f 强制复制,不提示
主要案列:cp -a jingfeng.txt /jf

      简写方式 cp /etc/ssh/sshd_config {,orz} 
               cp -a {/root/jingfeng.txt,/tmp/1.txt} 

12.mv 移动文件或目录,并且可以更改文件或目录的名字 *
主要选项:-f 强制移动,不提示
主要案列:mv jingfeng.txt /jingfeng xj.txt

13.rm 删除文件或者目录,这个命令在日常工作中一定要慎用 *
主要选项:-r 递归删除文件或者目录 -f 强制删除不提示
主要案列:rm -f jingfeng.txt

14.find 详细查找文件或者目录 *
主要选项:-type 文件类型 f=文件 d=目录 c=字符类型 b=块设备类型 -name 文件名 -iname 文件名不区分大小写 已天为单位: -mtime 修改文件内容 按修改时间查找 +7 7 天以前 7 第 7 天 -7 7 天以内 -atime 根据访问时间查找 -ctime 根据创建时间查找 已分钟为单位: -amin 根据访问时间查找 -mmin 根据修改时间查找 -cmin 根据创建时间查找 -user 根据用户名查找 -group 根据组用户查找 -uid 根据用户的 uid 查找文件 -gid 根据用户的 gid 查找文件 -size 根据文件的大小来查找文件(默认单位:KB,MB,GB) 1024:什么都不加,小于文件大小-1 或等于 +1024:大于等于文件大小 -1024 小于等于文件大小 -perm 根据权限查找 644:什么都不加,精确文件权限匹配

               /644: 任何一类用户(u,g,o)的权限中的任何一位(r,w,x)符合条件即满足                   -644: 每一类用户(u,g,o)权限中的每一位(r,w,x)同时符合条件即满足           !取反           -o 或者           -exec COMMAND {} \; 对查找到的每个文件执行由 COMMAND 表示的命令 注意:find 传递查找到的文件路径至后面的命令时,是先查找出所有符合条件的文件路径,并一次 性传递给后面的命令。但是有些命令不能接受过长的参数,此时命令执行会失败。所以需要另一种 方式来规避问题:find |xargs COMMAND 

主要案例:find jingfeng/ -type f -name "*.txt" | xargs rm -f

      find jingfeng/ -type f -name "jingfeng.txt" -exec rm {} \; 
      find jingfeng/ -type f -name "*txt" -mtime -7 | xargs rm -f 
     这条命令解析:查找 jingfeng 目录下的为文件、名字为*txt、最近 7 天之内修改的文件通过管道命

令,再通过 xargs 排序 删除文件

   find /jingfeng -type f -name "*.txt" | xargs sed -i s#jingfeng#momo# 
   或者 sed -i "s#shei#jingfeng#g" $(find /jf/ -type f -name "*.txt") 
再或者 find /jf/ -type f -name "*.txt" -exec sed -i "s#shei#jingfeng#g" {} \; 
   find /jingfeng -type f -name "*.txt" -ok rm -f {} \;这种方式,当你删除的时候,会询问你是

否需要删除该文件

      find /backup -type f \( -name "*.log" -o -name "*.tar.gz" \)  同时查找多个名字的文件 
      find /data -type f -name “.txt” -mtime +7|xargs -i mv {} /tmp 

15.grep 过滤器 *
主要选项:-v 排除内容 -E 可以同时实现两条命令的使用,当然也要加| --color=auto 对过滤的字符串加颜色 -i 不区分大小写 -w 按单词搜索 -B 除了显示匹配的一行之外,并显示该行之前的 N 行 -A 除了显示匹配的一行之外,并显示该行之后的 N 行 -C 除了显示匹配的一行之外,并显示该行之前后各 N 行 -o 只显示匹配到的内容 -n 显示行号
主要案列:grep -v old jingfeng.txt grep -Po '(?<=addr:)S+' 取 ip 地址

      grep -n “.*” jingfeng.txt  grep -w “jf” jingfeng.txt 
      grep -E “root|nginx” /etc/passwd 

16.egrep 支持扩展正则表达式的 grep 命令 *
主要参数: -v 排除内容 --color=auto 对过滤的字符串加颜色 -i 不区分大小写 -o 只显示匹配到的内容 -B 除了显示匹配的一行之外,并显示该行之前的 N 行 -A 除了显示匹配的一行之外,并显示该行之后的 N 行 -C 除了显示匹配的一行之外,并显示该行之前后各 N 行
主要案列:egrep -v old jingfeng.txt egrep -Po '(?<=addr:)S+' 取 ip 地址

      egrep -w “jf” jingfeng.txt 

17.head 查看文件的前 N 行 *
主要选项:-n 后面接数字,表示查看前几行(也可以不加) 注意:head 默认查看 10 行
主要案列:head -5 /etc/passwd

      head -10 /etc/passwd|tail -5 查看 passwd 文件中 6 到 10 行 

18.tail 查看文件的后 N 行 *
主要选项:-n 后面接数字,表示查看前几行(也可以不加) -f(循环读取)监视 filename 文件的尾部内容(默认 10 行,相当于增加参数-n 10) 刷新显示在屏幕上,退出按下 ctrl+c 注意:tail 默认查看 10 行
主要案列:tail -5 /etc/passwd

19.alias 查看和设置别名 *
主要案列:查看别名,直接输入 alias。

      设置别名:alias cp='cp -i' 
             alias rm='echo “this command does not allow to ues”' 
   别名的配置文件:/etc/profile 或者/etc/bashrc 全局生效 
                 ~/.bashrc  #当前用户生效 
   设置别名文件时命令必须是/bin 下的 

20.unalias 取消别名
主要案例:unalias cp

21.seq 生成序列 *(编写 shell 时需要)
主要选项:-s 指定分隔符 -w 输出同宽数列,不足的位数用 0 补齐
主要案例:[root@db02 ~]# seq -s : 10
1:2:3:4:5:6:7:8:9:10
[root@jf ~]# seq 100 >jingfeng.txt
[root@jf ~]# cat jingfeng.txt
1
2
....100

22.sed 流编辑器,实现对文件的增删改查 *
编辑命令: d:删除 #sed ‘2,3’d /etc/passwd p:打印输出 a:在行后面追加文本,支持使用n 实现多行追加 i:在行前面插入文本,支持使用n 实现多行插入 c:把匹配到的行替换为此处指定的文本 w:保存模式空间匹配到的行至指定的文件中 r:读取指定文件的内容至当前文件被模式匹配到的行后面并且文件合并 !:条件取反 s///:查找替换,其分隔符可自行指定,常用的有 s@@@,s###等 替换标记:g 全局替换 主要选项:-n 取消默认输出,把我想输出的内容输出到屏幕上 -i 修改文件内容并且会破坏软链接和硬链接 -e 多项编辑 -f 每行一个编辑命令 -r 支持使用扩展正则表达式

主要案例:sed -n ‘20,30’p /etc/passwd

      sed -i  "s#xj#jingfeng1#g" jingfeng.txt 
      sed -nr '2s#^.*addr:(.*) Bca.*$#\1#gp' 取 IP 
      sed -i '3a '$(sed -n '2p' 1.txt)'\n'$(sed -n '3p' 1.txt) 2.txt 

注意:sed 's#内容#替换的内容#g jingfeng.txt 2.sed 里面有小 p,前面必须接参数-n

23.awk 过滤,输出内容 *
区域:$就是取什么什么引用 $1 表示第一列,$2 第二列,依次类推。但是$0 表示整行 FS==区域分隔符,默认是空格 RS==每个记录读入的时候的分隔符(行的结束标识) NR==行号,记录的数。 NF==NF 表示记录中的区域(列)数量,$NF 表示取最后一列 awk 默认已空格为分隔符 BEGIN 模块在 awk 读取文件之前就执行,一般用来定义我们的内置变量(预定义变量:FS,RS) END 模块就是 END 在 awk 读取完所有文件的时候,再执行 END 模块,一般用来输出一个结果(累 加,数组的结果) awk 编程思想: 1.先处理,最后再 END 模块输出 2.BEGIN 模块用于 awk 内置变量 FS,RS 的赋值,在 awk 执行前 3.END 模块用来最后输出,统计信息 awk 几种运算表达式:a=a+1 或者 a++ a=a+2 或者 a+=2 a+=$0 主要参数:-F 指定分隔符 比如说指定:为分隔符,那么:相当于一把菜刀,把数据切成一块一 块,这个就是-F 的作用 在 linux 里面==等于等号。一个=在 linux 里面相当于赋值
主要案例:awk 'NR>19 && NR<31' jingfeng.txt

      awk 'NR==20,NR==30' jingfeng.txt  
  awk -F ":" 'NR==1 {print $6}' /etc/passwd 
   awk -F "[ :]+" '{print $3,$5,$7}' 加号表示取一个整体 
   cat /etc/passwd|awk -F "[ :]+" 'NR==10,NR==20 {print $3}' 
   awk 'BEGIN{RS=":"} {print NR,$0}' passwd  
   awk 'BEGIN{RS=":"} {print NR,$0}' passwd  
  awk 'BEGIN{RS="[:/0-9 |\n]+"}{print $0}' passwd | sort | uniq -c | sort -rn 统计单词数 
  awk -F "[ /]+" '$1~/^(ftp|http|ssh)$/{print $1,$2}' /etc/services  
  awk -F "[:]+" '$3>15{a=a+1}END{print a}' awkfile.txt  
  awk 'BEGIN{jf["a"]="jingfeng";olboy["b"]="xiaoyu";jf["c"]="wo" 
  awk '{print NR,$0}' jingfeng.txt 

print jf["a"]
print oldbot["b"]
print jf["c"]}' 这个案列引用了数组的概念:1.awk 数组的元素名(苹果名)可以是字符串

                                                   2.字符串要使用双引号引起来 

     echo jf{01..10}|xargs -n 1|awk '{print "echo "$0" >>/tmp/jf.txt && useradd "$0" && 

pa=$(mkpasswd|cut -c 1-5) && echo $pa|passwd --stdin "$0"|echo $pa >>/tmp/jf.txt"}'|bash 批量创建用

户和随机密码

     awk -F "[: ]+" '/Dan/{print $5}' reg.txt  已 Dan 开头的行,并且匹配第五列 
     awk -F "[ :]+" '$3~/^138/{print $1,$3}' reg.txt 已 138 开头的手机号码,取人的名字和号码(这

里的~表示匹配的意思)

     awk -F "[ :]+" '$3!~/^138/{print $1,$2":"$3}' reg.txt 匹配不已 138 开头的手机号码和人的名字 
     awk -F "[ :]+" '!/138/{print $1,$2":"$3}' reg.txt 匹配不已 138 开头的手机号码和人的名字 
     awk -F "[ :]+" '$1~/C|E/{print $1,$2}' reg.txt  已 C 或 E 开头的人名 
     awk -F "[ :]+" '$3~/(1|5)$/{print $1,$2}' reg.txt 已结尾为 1 或者 5 的手机数字,然后取对应的

人名

     awk 'NR==2||NR==3||NR==9{print NR,$0}' jingfeng.txt 或者 awk 'NR==2;NR==3;NR==9{print 

NR,$0}'
jingfeng.txt

     2 bin:x:1:1:bin:/bin:/sbin/nologin 
     3 daemon:x:2:2:daemon:/sbin:/sbin/nologin 
     9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin 取第二行,第三行,第九行 
    awk 'BEGIN{a="abcd";print a}' awk 中字母会被认为是变量,如果真的要给一个变量赋值,使用双引号 
    awk '/^$/{i=i+1}END{print i}' /etc/services  统计空行数量 
    seq 100|awk '{s=s+$0}'END'{print s}' 
    awk 'BEGIN{jf["a"]="oldgirl";jf["b"]="jingfeng";jf["c"]="oldbaby" 

for(police in jf)
print police,jf[police]
}'
a oldgirl

b jingfeng
c oldbaby (awk 数组)

    awk -F "[/]+" '{ceshi[$2]=ceshi[$2]+1}'END'{for(police in ceshi)print 

police,ceshi[police]}' ceshi.txt (数组)

mp3.etiantian.org 1
post.etiantian.org 2
www.etiantian.org 3

    awk '{a[$1]+=$2}END{for(i in a)print i,a[i]}' shuzu.txt  “a[$1]=a[$1]+$2”=”a[$1]+=$2” 

awk 小结:1.NR 行号,存放着每个记录的号,读取新行时候自动+1 2.RS 是输入数据的记录的分隔符,简单理解就是可以指定每个记录的结尾标志 3.用 RS 替换n 4.RS 作用就是表示一个记录的结束 5.FS 标识着每个区域的结束 6.awk 只有模式(条件)的时候,会默认输出整行($0) 7.$1~/正则表达式-开始/,$3~/正则结束/ 行,记录 8.awk 中字母会被认为是变量,如果真的要给一个变量赋值,使用双引号

24.rmdir 删除空目录
主要选项:-p 删除某目录后,如果其父目录为空,则一并删除
主要案列:rmdir /jf

25.tree 显示目录树 *
主要选项:-a 显示所有文件和目录 -d 只显示目录 -L 后面接上数字,表示只显示几层树结构 -f 为每个文件和目录显示完整的路径 -F 可以用来区分文件和目录 -i 不以阶梯状列出文件或目录名称
主要案例:[root@db02 ~]# tree -d -L 1 /application/
/application/
├── apache2.2.17
├── mysql -> /application/mysql-5.6.35/
└── mysql-5.6.35
3 directories

26.man 帮助命令 *
当要搜索某个关键字的时候,输入/,然后在输入关键字搜索 其中 n 这个快捷键是向下翻所查找的关键字的内容,大写 N 是向上查找
主要案列:man cp

27.--help 简单的帮助命令 *(外部命令)
主要案列:cp --help

28.uname 查看系统 *
主要选项:-m 查看系统是几位操作系统 -r 查看系统的内核版本 -a 查看详细的系统内核版本和系统的操作系统
主要案列:[root@db02 ~]# uname -a
Linux db02 2.6.32-573.el6.x86_64 #1 SMP Thu Jul 23 15:44:03 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

29.stat 详细查看文件和目录的信息 *
主要案例:[root@db02 ~]# stat jingfeng.txt
File: `jingfeng.txt'
Size: 310 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 916335 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2017-08-14 16:53:53.668136237 +0800
Modify: 2017-08-14 16:53:48.144137021 +0800
Change: 2017-08-14 16:53:48.144137021 +0800

30.rz 上传命令 *
假如系统里面没有这个命令,则使用 yum install lrzsz -y 来安装次命令 主要参数:-y 覆盖
主要案例:直接输入 rz,就可以上传文件
注意:新版的 xshell 支持直接从 windows 把文件拖进 xshell 里,但是前提必须安装了 rz

31.sz 下载命令 *
主要参数:-y 覆盖
主要案例:sz -y jingfeng.txt
注意:1.只能上传文件,目录不行。假如一定要上传目录的话,可以打包上传,但必须是 zip 格式 2.下载的文件到 linux 中,是当前路径

31.useradd 创建普通用户 * 主要选项:-u 指定 uid 列子:useradd -u 504 jingfeng (重要) -c 新账号 password 的说明栏 -d 设置新账号每次登入时使用的家目录 -e 账号终止日期。日期格式为 MM/DD/YY -g 指定属于的主组 -G 定义此用户为多个不同的组成员,每个用户组使用,逗号来分隔 -s 指定登录 shell (重要) -m 创建家目录 -M 不创建用户家目录 -r 创建系统用户 -D 显示或修改用户的默认配置 修改的结果保存与/etc/default/useradd 文件中
主要案例:useradd -s /sbin/nologin -M jingfeng

      useradd -u 504 jingfeng 

注意:创建用户时的诸多默认设定配置文件为/etc/login.defs /etc/default/useradd 这个配置文件,可以默认更改 useradd 的一些参数

32.passwd 创建用户密码或修改密码 *
主要选项:--stdin 非交互式设置密码 -n 指定最短使用期限 -x 最大使用期限 -w 提前多少天开始警告

      -i 非活动期限           -e 过期期限 

主要案例:echo “123456”|passwd --stdin jingfeng

33.su 切换用户 *
主要选项:-c 变更账号为 USER 的使用者,并执行指令后再变回原来的使用者 - 加载环境变量
主要案例:su - jingfeng

34.hostname 显示和设置主机名 *
主要案列:hostname 直接输入,显示主机名

      hostname jingfeng 更改 jingfeng 为主机名 但这个只是暂时的更改,重启就没有了 
      假如需要永久性的更改主机名,需要到配置文件/etc/sysconfig/network 

35.init 切换运行级别
主要案例:init 0 关机

      init 1 单用户 
      init 2 没有 NFS 网络的多用户模式 
      init 3 有 NFS 网络的多用户模式 
      init 4 没有用户 
      init 5 x window 
      init 6 重启 

36.runlevel 查看当前系统的运行级别
主要案例:直接输入 runlevel

37.shutdown 关机
主要选项:-h 关机 -r 重启 -c 终止关机或重启的动作
主要案例:shutdown -h now

      shutdown -r now 

38.reboot 重启
主要案例:直接输入 reboot

39.history 查看命令历史记录 *
登陆 shell 时,会读取命令历史文件中记录下的命令(~.bash_history) 登陆进 shell 后新执行的命令只会记录在缓存中,这些命令会用户退出时追加至~.bash_history !#:再一次执行历史列表中的第#条命令 !!:再一次执行上一条命令 !STRING:再一次执行已 STRING 开头的命令 控制命令历史记录的方式:HISTCONTROL=ignoredups(忽略重复的命令),ignorespace(忽略已 空格开头的命令),ignoreboth(以上两者同时生效) 主要选项:-a 追加本次会话新执行的命令历史列表至历史文件中 -c 清空所有 -d 删除指定历史内容
主要案例:如何调用历史记录,使用!后面接命令的字符 比如:!Touch

      history -c 
      History -d 5 删除指定历史内容 

40.mount 磁盘挂载 *
主要选项:-t 后面可以接文件系统 ext2 ext3 等等 -r 只读挂载 -L 挂载时以卷标的方式指明设备 -U 挂载时以 uuid 的方式指明设备 -a 可自动挂载定义在/etc/fstab 文件中的所支持自动挂载的设备 -o 挂载选项: sync/async:同步/异步操作 atime/noatime:文件或目录在被访问时是否更新其访问时间戳 diratime/nodiratime:目录在被访问时是否更新其访问时间戳 remount/:重新挂载 acl:支持使用访问控制列表 dev/nodev:此设备上是否允许创建设备文件

          exec/noexec:是否允许允许此设备上的程序文件              user/nouser:是否允许普通用户挂载此文件系统              suid/nosuid:是否允许程序文件上的 suid 和 sgind 特殊权限生效 使用技巧:可以实现将目录绑定至另一个目录上,作为其临时访问入口           mount --bind 源目录 目标目录:mount --bind /etc /mnt 

主要案列:mount -t ext3 /dev/cdrom /mnt

      lsof /mnt  当 umount /mnt 无法卸载的时候,可以使用这个命令,来查看是否有进程在使用中 

41.which 详细查看命令的路径 *
主要选项:--skip-alias 不显示别名
主要案列:which ls

      [root@m01 ~]# which --skip-alias ls 

/bin/ls

42.dmesg 查看系统的故障详细情况
主要案例:dmesg

43.ifup 和 ifdown 启动和停止网卡,后面接网卡名 *
主要案例:ifdown eth0

      ifup eth0 

44.nl 显示行号
主要案例:nl jingfeng.txt

45.less 查看当前文档内容,相比 cat,less 的使用方式更加的灵活多变,它可以实
现上下翻页等功能 *
主要选项:-N 显示行号
主要案列:less jingfeng.txt

46.more 按页查看,不能回退,灵活上不如 less *
主要案例:more jingfeng.txt

47.wc 统计文件的字数和行数,字节数 *
主要选项:-l 显示总行数,常用于查看进程是否启动 -L 显示最长一行的字符数 -c 显示字节数 -m 显示字符数 -w 显示单词数
主要案例:wc -l jingfeng.txt

      [root@web01 ~]# ps -ef|grep "/sbin/nginx"|grep -v grep|wc -l 
                      1    工作常用这个来查看进程是否存在,假如为 1,就是存在的。 
                           要是 0 的话,就表示该进程不存在 

48.chkconfig 设置开机自启动 *
主要选项:--list 查看启动服务 --level 设置运行级别 --add 添加服务 --del 删除服务 注意:正常级别下,最后启动的一个服务 S99local 没有链接至/etc/init.d/下的脚本,而是链接了 /etc/rc.d/rc.local 脚本。因此,不便或不需写为服务脚本的程序要想开机自启动,则需要放置此文件 中即可。
主要案列:chkconfig --level 5 sshd off(on)

      chkconfig --list sshd (查看指定服务是否开启还是关闭) 
   chkconfig --list|grep "3:on"|egrep -v "crond|sshd|network|rsyslog|sysstat"|awk '{print 

"chkconfig",$1,"off"}'|bash
假如我写了一个脚本(命令的集合),怎么让 chkconfig 管理并运行呢
1.脚本必须放在/etc/init.d 下
2.脚本要有执行权限(x)
3.脚本的前几行必须要有

chkconfig:2345 08 92 #这个必须要有

description:starts,stop and saves iptables firewall

4.通过 chkconfig --add 添加

49.dumpe2fs 显示 ext2/ext3/ext4 文件系统信息
主要案列:dumpe2fs /dev/sda1

50.df 列出 linux 下所有的磁盘容量 *
主要选项:-h 已人类可读的方式(MB,GB,KB)显示出来 -i 列出 inode 剩余的总量和使用量 -T 查看当前挂载的文件系统 -l 仅显示本地文件的相关信息
主要案例:df -h
51.file 查看文件类型
主要案例:file jingfeng.txt
52.查看用户的最近登陆信息,对应的数据文件是/var/log/wtmp *
主要案例:[root@db02 yum.repos.d]# last
root pts/3 10.0.0.1 Fri Aug 18 11:19 still logged in
root pts/1 10.0.0.1 Mon Aug 14 22:37 - 13:15 (3+14:37)
root pts/4 10.0.0.1 Mon Aug 14 17:00 - 17:02 (00:02)
root pts/3 10.0.0.1 Fri Aug 11 22:56 - 19:40 (2+20:44)
53.lastlog:显示最近登陆的所有用户信息。对应的数据文件是/var/log/lastlog
主要案例:[root@web01 ~]# lastlog
Username Port From Latest
root pts/0 192.168.203.1 Tue Mar 14 22:12:43 +0800 2017
bin Never logged in
daemon Never logged in
adm Never logged in
lp Never logged in
sync Never logged in

54.ln 链接文件 *
1.硬链接:可以看做是一种备份,当原文件写入,备份文件也会自动写入。当原文件被删除的时 候,备份文件还能继续使用。

2.软链接:可以看做是 windows 下的快捷方式。此链接方式的特点可以概括如下:原文件删除,备 份文件不能使用。 主要选项:-s 如果不加-s,就是硬链接。相反加了-s,就是软链接
主要案例:ln -s /application/nginx-5.6.3.0 /application/nginx

55.tar 打包命令 *
主要选项:-j:通过 bzip2 的支持进行压缩和解压缩。此时文件名最好为:.tar.bz2 -c:新建打包文件 -f:这个参数后面要接被出来的文件名,建议 -f 单独写一个参数 -t:查看打包文件 -z:通过 gzip 的支持进行压缩和解压缩。此时文件名最好为:.tar.gz --exclude 这个参数可以过滤你不想打包的目录内容 tar -zcvf /tmp/etc.tar.gz etc --exclude /etc/services -C:这个参数用在解压缩时,若要在特定目录解压缩,可以使用这个参数 -x:解压缩打包文件 -h:打包的时候,假如目录里面有软链接文件,这个参数会打包软链接对应的真实目录 或文件 -X:从文件里面排除不需要的文件或者目录 -u:添加改变了和现有的文件到已经存在的压缩文件里
主要案例:压缩:tar -zcv -f /tmp/etc.tar.gz /etc

     查询:tar -t -f /tmp/etc.tar.gz  
     解压缩:tar -x -f /tmp/etc.tar.gz /tmp 
  tar -zcf /backup/html_`date +%F-%H`.tar.gz www/html/ 

56.tr 转换字符串 *
主要选项:-d 删除
主要案例:转换 tr 'abc' 'XYZ' < jingfeng.txt (a-X,b-Y,c-z)

57.id 查看用户和用户组的信息 *
主要选项:-u 仅显示用户的 uid -g 仅显示用户的 gid -G 仅显示用户所属的所有组 ID -n 仅显示名字而非 ID

主要案例:[root@db02 ~]# id john
uid=511(john) gid=511(john) groups=511(john)

58.du 查看 linux 下目录的容量 *
主要选项:-s 列出目录容量,而不列出每个各别的目录占用容量 -h 表示系统自动调节单位 -a 或-all 为每个指定文件显示磁盘使用情况,或者为目录中每个文件显示各自磁盘使用 情况 –max-depth=<目录层数> 超过指定层数的目录后,予以忽略
主要案例:[root@db02 ~]# du -sh /etc
30M /etc

59.date 设置和显示时间 *
主要选项:-s 修改并设置时间 -d 可以显示以前和未来的时间 %H 小时 %M 分钟 %S 秒 %X 相当于%H %M %S %F 显示当前所有时间属性 %Y 完整年份 %m 月 %d 日 %A 星期的全称
主要案例:date +%F

      date -s “2017-03-09 18:56:00” 
      echo `date +%F` 工作中会用到的 
      echo $(date +%F) 工作中会用到的 
      date +%F -d “-2day” 2 天以前的时间 
      tar zcf etc.tar$(date +%F).gz /etc 

60.whereis 查找文件帮助、源代码、命令
主要案列:whereis ifconfig

61.locate 根据数据库里内容查找文件
主要案列:locate ifconfig

62.readlink 查看软链接的源文件在哪
主要案列:readlink 后面接软链接文件

63.rename 重命名软件 *
主要案列:rename "_finished" "" *

64.basename:basename 和 dirname 命令通常用于 shell 脚本中的命令替换来指定和
指定的输入文件名称有所差异的输出文件名称。
主要案例:basename /root/jingfeng1270.txt

      jingfeng1270.txt 

65.dirname:去除文件名中的非目录部分,仅显示与目录有关的内容
主要案例: dirname /root/jingfeng1270.txt

       /root 

66.md5sum 计算和校验文件的 md5 值 *
主要选项:-c 从指定文件中读取 MD5 校验和,并进行校验
主要案例:md5sum jf.txt

      md5sum jf.txt >> jingfeng.txt 
      md5sum -c jingfeng.txt 
      jf.txt: OK 

67.chmod 改变文件权限 *
主要选项:-R 递归改变目录下所有子目录和文件的权限
主要案列:-rwxr-xr-x root root

  数字方式:r=4 w=2 x=1 
  使用方法:chmod 777 jingfeng.txt 
            ls -l jingfeng.txt 
            -rwxrwxrwx 

68.chown 改变文件和目录的所有者 *
主要选项:-R 递归改变目录下所有子目录和文件的所有者
主要案列:ls -l jingfeng.txt

  -rwxr-xr-x root root 
  chown jingfeng jingfeng.txt 
  ls -l jingfeng.txt 
  -rwxr-xr-x jingfeng root 

chown 用户:组 文件或目录

69.umask 修改 umask 值
当 umask 值都为偶数,直接相减 如果有奇数,对应为加一 注意:之所以文件用 666 去减,表示文件默认不能拥有执行权限。如果减得的结果中有执行权限, 则需要将其加一。所以这个对目录而言,是没有任何效果的
主要案列:umask 022

70.chattr 增加隐藏属性 *
主要选项:-a 可以增加内容,但是不能减少或删除文件 +i 锁定文件,让其不能增加,删除,修改
主要案例:chattr +i jingfeng.txt

      chattr -i jingfeng.txt  #取消锁定 

71.lsattr 查看隐藏属性 *
主要选项:lsattr jingfeng.txt

72.groupadd 创建一个组用户 *
主要选项:-g 创建组的 gid -r 创建系统组
主要案例:groupadd -g 504 jf

73.usermod 更改用户属性 *
主要选项:-c 注释 -d 更新用户新的家目录。如果给定-m 选项,用户旧的家目录会搬到新的家目录去,如 旧的家目录不存在则建个新的 -e 加上用户账号停止日期 -g 更新用户新的起始登入用户组 -G 定义用户为多个用户组 -s 指定新登入的 shell -u 指定用户的 UID -a 和-G 配合使用,表示追加新的用户组,不覆盖 -m 只能与-d 选项一同使用,用于将原来的家目录移动为新的家目录
主要案例:usermod -c "Handsomeboy" -u 806 -G root,jf -s /bin/sh -md /jf6 jf6

74.userdel 删除用户 *
主要选项:-r 删除用户的家目录(此选项慎用)
主要案例:userdel -r jingfeng

75.crontab 定时任务 *
主要选项:-l 查看 crontab 文件内容 -e 编辑 crontab 文件内容
主要案例:crontab -e
注意:假如直接用命令行去编辑的时候,后面不要加>/dev/null 2>&1

76.tac 倒叙的方式查看文件内容
主要案列:tac jf.txt

77.rev 将文件中的每行内容已字符为单位反向输出,即第一个字符最后输出,最后
一个字符最先输出
主要案例:rev jf.txt

78.cut 用来显示行中的指定部分,删除文件中指定字段 *
主要选项:-b 用字节来切割 -c 用字符来切割 -d 指定字段的分隔符,默认的字段分隔符为“TAB” -f 显示指定字段的内容(一般配合-d 使用) --output-delimiter=“ ” 可以把指定的分隔符替换成其他字段,比如说空格符
主要案例:ifconfig eth0|grep "inet addr:"|cut -c 21-33

      192.168.203.8 

79.chage 修改用户密码有效期限 管理/etc/shadow *
主要选项:-l 查看当前的设置 -E 将账户过期时间设为“过期日期”。日期写法“2017-3-15”
主要案例:[root@db02 ~]# chage -l jingfeng
Last password change : Dec 31, 2016
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7

80.sudo 用来以其他身份来执行命令,预设的身份为 root。在/etc/sudoers 中设置
了可执行 sudo 指令的用户 *
主要选项:-l 查看当前用户可以执行的 sudo 命令
主要案例:[jf@web01 ~]$ sudo ifconfig

81.visudo 配置 sudo 权限的编辑命令 *
主要案例:visudo 进入编辑模式之后,在第 98 行左右,编辑用户和命令(98gg)

      root    ALL=(ALL)       ALL 

%jingfeng ALL=(ALL) /usr/sbin/useradd 用户组前面一定加百分号
jf ALL=(ALL) /usr/sbin/useradd
定义多个别名:用户和用户组和多条命令

用户别名分类

User_Alias ADMINS = jsmith, mikem

岗位命令分类

Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/up2date, /usr/bin/yum
Cmnd_Alias SERVICES = /sbin/service, /sbin/chkconfig
Cmnd_Alias LOCATE = /usr/bin/updatedb
Cmnd_Alias STORAGE = /sbin/fdisk, /sbin/sfdisk, /sbin/parted, /sbin/partprobe, /bin/mount,
/bin/umount
Cmnd_Alias DELEGATING = /usr/sbin/visudo, /bin/chown, /bin/chmod, /bin/chgrp

角色

Runas_Alias OP1 = root, jf
Runas_Alias OP2 = oldgirl
ADMINS ALL=(OP1) SOFTWARE

82.groupdel 删除用户组 *
注意:删除有用户的组,需要先删除用户,然后在删除组
主要案例:[root@db02 ~]# groupdel john

83.w 详细查看当前用户的登陆情况 *
主要案例:[root@web01 ~]# w
11:06:21 up 3 days, 23:25, 2 users, load average: 0.00, 0.00, 0.00

第一行从左至右显示的信息依次为:时间、系统运行时间、登陆用户数、平均负载:平均负载里面的数字表示,

1 分钟内,5 分钟内,15 分钟内,当数值超过当前系统内核数量的时候,表示系统已经有了压力
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.203.1 Tue22 0.00s 0.00s 0.00s w
root pts/1 192.168.203.1 Mon21 16:01m 0.39s 0.39s -bash

84.who 查看当前用户登陆情况
主要案例:[root@web01 ~]# who
root pts/0 2017-03-14 22:12 (192.168.203.1)
root pts/1 2017-03-13 21:25 (192.168.203.1)

85.whoami 查看当前用户是什么 *
主要案例:[root@web01 ~]# whoami
root

86.free 可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的
内存缓冲区 *
87.主要选项:-m 已 mb 为单位显示

      -h 以人类可读的方式显示 

主要案例:[root@web01 ~]# free -m

         total       used       free     shared    buffers     cached 

Mem: 981 476 505 0 62 298
-/+ buffers/cache: 114 866 (工作看内存大小,主要看这里)
Swap: 1023 0 1023
提示:1)linux 系统的特性是将系统不用的物理内存做为缓存或缓冲使用,因此,505 不是系统真实的内存

  2)系统真正系统可用内存是 866M 
  3)buffers 为写入缓冲区,sync 将缓冲区数据写入磁盘 
  4)cache 为读取数据的缓存区 
  5)硬盘是机械的,无论是写入还是读取都太慢了,所以读取和写入都是用了缓存技术 
  6)门户网站架构都会用缓存技术,来让用户写入读取尽可能不接触硬盘 

88.od 查看二进制文件
主要案列:od /bin/ls

89.dd 用于复制文件并对原文件的内容进行转换和格式化处理
主要案列:dd if=/dev/zero of=/root/jingfeng.txt bs=1M count=1 创建一个 1M 的文件

90.fdisk 用于观察硬盘实体使用情况,也可对硬盘分区 *
主要选项:-l 列出分表情况
主要案例:fdisk /dev/sdb 为第二块硬盘进行分区
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition 删除分区
l list known partition types
m print this menu
n add a new partition 创建一个新的分区
o create a new empty DOS partition table
p print the partition table 列出磁盘目前的分区情况
q quit without saving changes 直接退出不修改分区
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit 保存分区表并退出(这个选项慎用)
x extra functionality (experts only)

使用物理分区构建 swap
fdisk /dev/sdb 分成一个分区
mkswap /dev/sdb1
free -m
swapon /dev/sdb1
free -m
fdisk 之后需要通知内核强制重读磁盘分区表:

         Centos5:partprobe[device] 
         Centos6 和 7:partx,kpartx 
               partx -a [device] 
               Kpartx -af [device] 

91.parted 磁盘分区管理工具,比 fdisk 更加灵活。当磁盘大于 2T 的时候,需要用
到这个命令,并且这个命令分区的时候,是实时生效的,所以分区时一定要慎重
主要案列:[root@localhost ~]# parted /dev/sdb GNU Parted Copyright (C) 1998 - 2004 free Software Foundation,
Inc. This program is free software, covered by the GNU General Public License. This program is distributed in the
hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more

  1. 使用/dev/sdb

(parted)mklabel gpt
(parted)mkpart primary 0 2048(单位是 M)
(parted)Ignore
(parted)quit

92.mkfs 创建文件系统 *
主要选项:-t 指定文件系统格式
主要案列:mkfs -t ext4 /dev/sdb

93.fsck 磁盘检验
主要选项:-t 指定文件系统格式
主要案列:fsck -t ext4 /dev/sda6 没坏的磁盘一定不要使用这个命令
94.partprobe 把分区表的修改变化通知内核
一般配合 fdisk 和 parted 使用
主要案例:partprobe /dev/sdb
95.mkswap 格式化 swap 分区
主要选项:-L 指明卷标 -f 强制
主要案列:mkswap /dev/sdb1

96.swapon 使用 swap 分区
主要案列:swapon /dev/sdb1

97.swapoff:不使用 swap 分区
主要案例:swapoff /dev/sdb1
98.tune2fs:修改文件系统信息 (很少用到)
主要参数:-i 查看超级块的内容 -j 修改文件系统 -L 修改卷标 -m 调整预留空间百分比 -O 开启或关闭某种特性 -o 开启或关闭某种默认挂载选项 主要案例:tune2fs -c 30 /dev/hda1 设置强制检查前文件系统可以挂载的次数 tune2fs -c -l /dev/hda1 关闭强制检查挂载次数限制。 tune2fs -i 10 /dev/hda1 10 天后检查 tune2fs -i 1d /dev/hda1 1 天后检查 tune2fs -i 3w /dev/hda1 3 周后检查 tune2fs -i 6m /dev/hda1 半年后检查 tune2fs -i 0 /dev/hda1 禁用时间检查 tune2fs -j /dev/hda1 添加日志功能,将 ext2 转换成 ext3 文件系统 tune2fs -r 40000 /dev/hda1 调整/dev/hda1 分区的保留空间为 40000 个磁盘块 tune2fs -o acl,user_xattr /dev/hda1 设置/dev/hda1 挂载选项,启用 Posix Access Control Lists 和用户指 定的扩展属性

99.megacli:查看 raid 信息
主要案例:megacli

100.ipmitools:查看硬件信息工具
主要案列:ipmitools

101.resize2fs:调整文件系统大小(LVM,brbd)
主要案列:resize2fs

102split:按照指定的大小或行数分割文件
主要选项:-l 指定行数 -a 指定生成文件后缀长度 split -l 10 -a 4 jingfeng.txt jingfeng_(默认是 2 字节) -d 指定文件后缀为数字 -b 指定文件大小
主要案例:split -l 10 /etc/inittab new_

103.paste:把每个文件以列对列的方式,一列列地加以合并
主要选项:-d 指定分隔符 -s 已行来指定文件
主要案例:paste -d :jingfeng.txt jingfeng1.txt

      paste -sd '=\n' svn.txt 

104.sort:将文件的每一行作为一个单位,然后升序排列(默认按照 accll 码排序,
升序,从小到大)*
主要选项:-n 按照数值排序 sort -n jingfeng.txt -r 倒叙排列数值 sort -r jingfeng.txt -u 去除重复行 -t 指定分隔符 -k 指定区域 -f 忽略字符大小写
主要案例: awk 'BEGIN{RS="[:/0-9 |n]+"}{print $0}' 、passwd | sort | uniq -c | sort -rn 统计单词数

       head -10 /etc/passwd|tail -5|sort -t : -k 3 -n|cut -d : -f1  #以冒号分隔,取出

/etc/passwd 文件的第 6 至第 10 行,并将这些信息按第三个字段的数值大小进行排序,最后仅显示各自的第一个
字段

105.dos2unix:windows 格式转换成 unix 格式 *
主要案列:dos2unix jingfeng.txt

106.diff:用于比较文件或目录的内容,特别是比较两个版本不同的文件以找到改动
的地方 *
提示符: a add 增加 c chage 改变 d delate 删除 主要选项:-u 显示行修改的上下文,默认为上下 3 行
主要案例:diff jingfeng.txt jingfeng1(比较两个文件内容有什么不同)

      diff /etc/rc3.d/ /etc/rc6.d/ 

107.vimdiff:可视化的比较工具,和 diff 一样,就是多了 vim 可视化(可以比较 4
个文件) *
主要案列:vimdiff jingfeng.txt jingfeng1 jingfeng2 jingfeng3

108.tr:转换删除字符串 *
主要选项:-d 删除
主要案列:转换 tr 'abc' 'XYZ' < jingfeng.txt (a-X,b-Y,c-z)

109.tee:多重定向
主要选项:-a 追加重定向
主要案例:ls|tee /tmp/ls.txt

      cat /etc/passwd|tee /tmp/passwd.txt|tr ‘a-z’ ‘A-Z’ 把 cat 的数据通过管道输入到 tr 命令

并且保存到/tmp/passwd.txt 文件中

110.dig:解析域名 *
主要选项:-t 正向解析,直接跳过本地的 hosts 文件,解析 DNS 配置的 IP -x 反向解析
主要案例:dig www.baidu.com (这样解析不是很完美)

      dig @8.8.8.8 www.baidu.com +trace (完美解析) 
      dig -t A www.baidu.com 

111.nslookup:DNS 服务诊断工具
主要案例:nslookup

      >baidu.com  

112.host:域名解析工具
主要案例:host www.baidu.com
113.ping:网络服务诊断工具 *
主要选项:-c 指定发送的 ping 包个数 -w 指定 ping 命令超时时长 -W 一次 ping 操作中,等待对方响应的超时时长 -s 指定 ping 包报文大小
主要案列:ping www.baidu.com

114.route:配置默认网关和网络静态路由 *
主要选项:-n 查看网关信息 -net 到一个网络的路由表
主要案例:route add default gw 网关(添加网关,但是是临时生效)

     route del default gw 网关(删除网关) 
     route add -net 192.168.0.0/24 gw 10.10.10.2 (添加 192.168.0.0 这个网段,并从 10.10.10.2 这

个网关出去)

115.ifconfig:显示网卡信息 *
主要选项:-a 显示所有接口
主要案例:ifconfig eth0 10.0.0.100/24 up

      ifconfig eth0 (只查看一块网卡) 
      ifconfig eth0:0 192.168.1.1/24 up(配置在一块网卡上配置多个 IP,网卡或者系统重启失效) 
      ifconfig eth0 192.168.1.100 netmask 255.255.255.0 up 
      ifconfig eth0:0 down (删除 IP) 

116.ip:查看网卡信息(未来趋势)*
主要选项:ip address 查看网卡信息

            ip address add:添加 ip 地址                 ip address del:删除 ip 地址                 ip address show:指定查看接口的信息                 ip address flush:清空端口的 ip 地址           ip route 查看路由                 ip route add:添加新的路由                 ip route change:修改路由                 ip route replace:修改或添加新的                 ip route delete:删除路由                 ip route show:列出路由表           ip link 查看不同网络接口的统计数据 注意:ip 命令大部分选项都可以简写 

主要案例:ip addr add 10.0.0.13/24 dev eth0:3(配置在一块网卡上配置多个 IP,网卡或者系统重启失效)

      ip addr del 10.0.0.13/24 dev eth0:3 (删除 IP) 
      ip link show eth1  #指定查看接口的信息 
      ip address show  #查看 IP 地址(同 ifconfig) 
      ip address flush dev eth0  #清空 eth0 的 ip 地址 
      ip route add 192.168.0.0/24 via 10.0.0.2 dev eth1 
      ip route add default via 10.0.0.2 

注意:配置子接口,需要在/etc/sysconfig/network-scripts/里配置一个 ifcfg-eth0:0,这样才能永久有效

117.netstat:查看进程或者端口 *
主要参数:-a 查看所有 -p 显示正在运行的进程 -u 显示 udp 协议相关的进程或者端口 -t 显示 tcp 协议相关的进程或者端口 -n 已数字显示 -l 仅列出有在 Listen (监听) 的服務状态 -r 显示路由表
主要案列:netstat -lntup|grep 80

      netstat -rn 

118.lsof:查看端口 *
主要参数:-i 列出符合条件的进程。(4、6、协议、:端口、 @ip )

主要案例:lsof -i :80

      lsof |grep del  查看被删除的进程 

注意:lsof /mnt 当 umount /mnt 无法卸载的时候,可以使用这个命令,来查看是否有进程在使用 中

119.traceroute:用于追踪网络数据包在网络上传输时所经过的路径 *
主要参数:-n:直接使用 IP 地址而非主机名称
主要案例:traceroute www.baidu.com

120.tcpdump:抓包工具 *
主要参数:-i 指定端口 -n 指定协议 -t 在输出的每一行不打印时间戳 -S 将 tcp 的序列号以绝对值形式输出,而不是相对值 -c 在收到指定的数量的分组后,tcpdump 就会停止
主要案列:tcpdump -n icmp -i eth0

      tcpdump tcp -i eth1 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.1.0/24 

w ./target.cap
(1)tcp: ip icmp arp rarp 和 tcp、udp、icmp 这些选项等都要放到第一个参数的位置,用来过滤数据报的类型
(2)-i eth1 : 只抓经过接口 eth1 的包
(3)-t : 不显示时间戳
(4)-s 0 : 抓取数据包时默认抓取长度为 68 字节。加上-S 0 后可以抓到完整的数据包
(5)-c 100 : 只抓取 100 个数据包
(6)dst port ! 22 : 不抓取目标端口是 22 的数据包
(7)src net 192.168.1.0/24 : 数据包的源网络地址为 192.168.1.0/24
(8)-w ./target.cap : 保存成 cap 文件,方便用 ethereal(即 wireshark)分析

121.uniq:用于去除或忽略文件中的重复行,一般和 sort 结合使用 *
主要选项:-c 在每列旁边显示该行重复出现的次数 -d 仅显示重复的行 -u 仅显示不曾重复的行 主要案例:sort file.txt | uniq -c 统计各行在文件中出现的次数 awk 'BEGIN{RS="[ :/0-9n]+"}{print $0}' jingfeng.txt|sort -n|uniq -c

  3 adm       1 bash       5 bin       2 daemon       3 halt       2 lp       1 lpd       3 mail       6 nologin       3 root       12 sbin 

122.column:有序的排序
主要参数:-t 判断输入行的列数来创建一个表。分隔符是使用在-s 中指定的字符。如果没有指定分 隔符,默认是空格
主要案例:column -t

123.rsync:备份工具 *
主要选项:-v 详细模式输出,传输时的进度等信息 -z 传输时进行压缩以提高传输效率 -a 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rtopgdl --bwlimit=10 限制传输速度 --exclude=PATH:表示指定排除不需要传输的文件,等号后面跟文件名,可以是万用字 符模式(如*.txt) --delete:表示删除 DST 中 SRC 没有的文件 -L:会把软链接指向的目标文件复制到对端目录中 -e:指定使用 ssh 还是其他方式来数据同步
主要案例:主要案列:本地模式 rsync -avz /tmp/ /jf/

      使用远程 ssh 来传递文件:rsync -avz /etc/hosts -e 'ssh -p 22' jf@192.168.229.101:/home/jf/ 

ssh key (免密钥的方式)

124.mail:邮件服务
主要选项:-s 指点邮件主题

vim /etc/mail/rc 编辑邮件服务配置文件 set from=jingfeng1270@163.com set smtp=smtp.163.com set smtp-auth-user=jingfeng1270@163.com set smtp-auth-password=jingfeng66207383 set smtp-auth=login
主要案列:mail -s “标题” 邮件地址<文件

      mial -s “jf”837367121@qq.com </etc/hosts 
      echo “正文”|mail -s “jf” 837367121@qq.com 

125.umount:卸载挂载服务
主要选项:-f 强制卸载 -l 并不是马上 umount,而是在该目录空闲后再 umount
主要案例:umount -lf /mnt

      lsof /mnt  当 umount /mnt 无法卸载的时候,可以使用这个命令,来查看是否有进程在使用中 

126.showmount:查看挂载
主要选项:-e 显示 NFS 服务输出的目录列表
主要案例:showmount -e 10.0.0.14

127.inotifywait:在被监控的文件或目录上等待特定文件系统时间(open、close、
delete)发生,执行后处于阻塞状态,适合在 shell 脚本中使用
主要参数:-r 递归查询目录 -q 打印监控事件的信息 -m 始终保持事件监听状态 --excludei 排除文件或目录时,不区分大小写 --timefmt 指定时间输出的格式 --format 打印使用指定的输出类似格式字符串 -e 通过此参数可以指定需要监控的时间,如下所示: access 文件或目录被读取 modify 文件或目录内容被修改 attrib 文件或目录属性被改变

       close 文件或目录封闭,无论读/写模式           open 文件或目录被打开           moved_to 文件或目录被移动至另外一个目录           move 文件或目录被移动另一个目录或从另一个目录移动至当前目录           create 文件或目录被创建在当前目录           delete 文件或目录被删除            unmount 文件系统被卸载 

主要案列:inotifywait -mrq --format ‘%w%f’ -e create,delete /backup 实时监控 backup 某个事件的状态

128.sersync:实时同步工具 *
主要选项:-d 启用守护进程模式 -r 在监控前,将监控目录与远程主机用 rsync 命令推送一遍 -n 指定开启守护进程的数量,默认为 10 个 -o 指定配置文件,默认使用 confxml.xml 文件
主要案例:/application/sersync_installdir_64bit/sersync/bin/sersync -d -r -n 8 -o
/application/sersync_installdir_64bit/sersync/conf/confxml.xml

129.watch:周期性执行程序,打印到目录,默认 2 秒
主要选项:-n 指定秒 -d 或--differences 用-d 或--differences 选项 watch 会高亮显示变化的区域。 而d=cumulative 选项会把变动过的地方(不管最近的那次有没有变动)都高亮显示出来。
主要案例:watch -n 1 -d netstat -ant

130.ssh:linux ssh 客户端工具 *
主要选项:-p 指定端口 -t 打开终端
主要案例:ssh -p22 jingfeng@172.16.1.52

131.scp:远程复制 *
主要选项:-P 指定端口 -r 复制目录 -p 保持属性

      -l 限速 

主要案例:scp -P22 -rp /etc jingfeng@192.168.203.61:/tmp

132.help:内置命令的帮助 *
主要案列:help cd

133.hash:shell 搜寻到的外部命令的路径结果会缓存至内存缓存中
主要选项:-d 指定删除某个命令 -r 清空所有
主要案例:hash -d help

      hash -r 

134.wget:下载命令 *
主要选项:-q 不显示下载过程 -O 指定文件名 -b 在后台执行下载操作 -c 断点续传 --spider 爬虫,检查网站是不是好的,不会下载,只会检查 -T, –timeout=SECONDS 设定响应超时的秒数 --tries=2 指定重试的次数 --limit-rate=amount 以指定的速率传输文件 主要案例:wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

135.curl 下载工具 *
主要参数:-I 查看响应 header 信息 -s 安静的 -w 获取状态码 -o 把输出写到该文件中
主要案例:[root@m01 ~]# curl www.etiantian.org
www
[root@m01 ~]# curl bbs.etiantian.org
bbs

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo

136.rpm :RPM 是 RPM 软件包的管理命令 *
Rpm 包的命名格式:redis-3.0.2-1.centos7.x64.rpm 3.0.2-1 是版本号 Centos7 是适用于哪个平台 x64 是 32 位还是 64 位系统 主要选项:-a 查看所有软件包 -f 查看指定文件的软件包 -q 使用询问模式,当遇到任何问题时。Rpm 会先询问用户 -l 显示软件包的文件列表 --nodeps 忽略软件包的依赖关系强行安装 -e 删除指定的软件包 --force 忽略软件包及文件的冲突 -h 软件包安装时列出标记 -v 打印输出 -U 升级指定的软件包 -i 安装软件包 -c 查询指定的程序提供的配置文件 -i 程序包相关的信息,版本号,大小,所属的包组等 -d 查询指定的帮助文档 -R 查询指定包的依赖关系 --replacepkgs 重新安装 --noslgnature 不检查包签名信息,不检查来源合法性 --nodigest 不检查包完整性信息 --force 强制升级 --allmatches 卸载所有匹配指定名称的程序包的各版本 --whatrequires 查询指定的命令或者文件被哪个包所依赖
主要案例:
-ivh:安装显示安装进度--install--verbose--hash
-Uvh:升级软件包--Update;
-qpl: 列出 RPM 软件包内的文件信息[Query Package list];
-qpi:列出 RPM 软件包的描述信息[Query Package install package(s)];
-qf:查找指定文件属于哪个 RPM 软件包[Query File];
-Va:校验所有的 RPM 软件包,查找丢失的文件[View Lost];

-e:删除包
rpm -q samba //查询程序是否安装
rpm -ivh /media/cdrom/RedHat/RPMS/samba-3.0.10-1.4E.i386.rpm //按路径安装并显示进度
rpm -ivh --relocate /=/opt/gaim gaim-1.3.0-1.fc4.i386.rpm //指定安装目录
rpm -ivh --test gaim-1.3.0-1.fc4.i386.rpm //用来检查依赖关系;并不是真正的安装;
rpm -Uvh --oldpackage gaim-1.3.0-1.fc4.i386.rpm //新版本降级为旧版本
rpm -qa | grep httpd #[搜索指定 rpm 包是否安装]--all 搜索httpd
rpm -ql httpd #[搜索 rpm 包]--list 所有文件安装目录
rpm -qpi Linux-1.4-6.i368.rpm #[查看 rpm 包]--query--package--install package 信息
rpm -qpf Linux-1.4-6.i368.rpm #[查看 rpm 包]--file
rpm -qpR file.rpm #[查看包]依赖关系
rpm2cpio file.rpm |cpio -div #[抽出文件]
rpm -ivh file.rpm #[安装新的 rpm]--install--verbose--hash
rpm -ivh http://mirrors.kernel.org/fedora/core/4/i386/os/Fedora/RPMS/gaim-1.3.0-1.fc4.i386.rpm
rpm -Uvh file.rpm #[升级一个 rpm]--upgrade
rpm -e file.rpm #[删除一个 rpm 包]--erase
rpm -ivh --aid *.rpm #--aid 参数解决 RPM 包循环依赖的问题
rpm -qf $(which inotifywait) #查找命令所在的软件包
rpm -ivh --replacepkgs 安装包 #重新安装

137.yum:linux 包管理器 *
主要选项:-y(当安装过程提示选择全部为"yes") --nogpgcheck 禁止进行 gpg check -q 静默模式 --disablerepo=repoidglob 临时禁用此处指定的 repo --enablerepo=repoidglob 临时启用此处指定的 repo --noplugins 禁用所有插件 显示仓库列表:repolist [all|enabled|disabled] 显示程序包:list # yum list [all | glob_exp1] [glob_exp2] [...] # yum list {available|installed|updates} [glob_exp1] [...] 安装程序包:install package1 [package2] [...] reinstall package1 [package2] [...] (重新安装) 升级程序包:update [package1] [package2] [...] downgrade package1 [package2] ...

检查可用升级:check-update 卸载程序包:remove | erase package1 [package2] [...] 查看程序包 information:info [...] 查看指定的特性(可以是某文件)是由哪个程序包所提供:provides | whatprovides feature1 [feature2] [...]

清理本地缓存:clean [ packages | metadata | expire-cache | rpmdb | plugins | all ] 搜索:search string1 [string2] [...] 以指定的关键字搜索程序包名及 summary 信息; 查看指定包所依赖的关系:deplist package1 [package2] [...] 查看 yum 的事务历史:yum history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats] 注意:yum -y update 升级所有包同时也升级软件和系统内核 yum -y upgrade 只升级所有包,不升级软件和系统内核
主要案例:yum -y install tree

      怎么使用 YUM 命令升级所有 RPM 软件包? 
      yum update 
      怎么使用 YUM 命令升级单个 RPM 软件包 
      yum update 软件名称 
      使用 YUM 安装 RPM 软件包 
      yum install 软件名称 
      yum repolist 查看当前系统使用的源 
      yum list 查看 yum 源所有已安装的和未安装的包 
      yum grouplist 列出所有安装过的和未安装的套件 
      yum provides COMMAND 

138.kill 结束进程,但是后面只能加上 pid 进程的号码 *
常用信号:1 无须关闭进程而让其重读配置文件 2 终止正在运行的进程,相当于 Ctrl+c 3 退出正在运行的进程 9 杀死运行中的进程(慎用) 15 终止运行中的进程 18 继续 19 暂停 主要案例:kill 3268

     kill -9 pid 很危险,无论这个进程是否存在,都会杀死 

139.killall 命令使用进程的名称来杀死进程
主要案例:killall rsync

140.pkill 可以杀掉指定名字的进程,还可以根据各种属性杀掉进程(进程名可以不
是全名,但必须是唯一) *
主要案例:pkill rsync

      pkill rsyn 

141.pstree 把进程已树状结构列出 *
主要案例:[root@db02 ~]# pstree
init─┬─atd

 ├─crond 
 ├─6*[mingetty] 
 ├─mysqld_safe───mysqld───21*[{mysqld}] 
 ├─rsyslogd───3*[{rsyslogd}] 
 ├─sh───mysqld───23*[{mysqld}] 
 ├─sshd───sshd───bash───pstree 
 └─udevd───2*[udevd] 

142.ps 显示当前运行的进程 *

  主要选项:a 所有与终端相关的进程                 x 所有与终端无关的进程                 u 以用户为中心组织进程状态信息显示                 o 自定义要显示的字段列表,以逗号分隔                   常用的 field:pid,ni,pri,psr,pcpu,stat,comm,tty,ppid                 -e 显示所有进程                 -f 显示完整格式的进程信息                 -F 显示更加完整格式的进程信息                 -H 以层级结构显示进程的相关信息 

主要案例:常用组合之一:aux

      常用组合之二:-ef 
      常用组合之三:-eFH 
      常用组合之四:-eo 或者 axo 

143.pidof 根据进程名,取其 pid
主要案例:pidof sshd

144.top 实时显示系统中各个进程的资源占用情况 *
主要选项:-d 指定刷新时间间隔,默认为 3 秒 -b 以批次方式显示 -n 显示多少批次
主要案例:top 显示,按 q 退出

      top -b -n 1 

145.htop 比 top 更加好的命令
注意:htop 是一个新的命令,所以 linux 系统中是没有,需要 yum install htop -y,但是 yum 之前, 需要更新一下 epol 源 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo 主要选项:-d 指定延迟时间间隔 -u 仅显示指定用户的进程 -s 以指定字段进行排序
主要案列:htop
146.vmstat 显示系统中各个进程的资源占用情况
主要选项:-s 显示内存统计数据
主要案例:[root@db02 ~]# vmstat 2 #每隔两秒进行一次监控
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 451020 64936 23864 148060 0 2 3 2 16 64 0 0 100 0 0
vmstat 每一列的解释:
procs:

r:等待运行的进程的个数。CPU 上等待运行的任务的队列长度 
b:处于不可中断睡眠态的进程个数,被阻塞的任务队列的长度 

memory:

swpd:交换内存使用总量 
free:空闲的物理内存总量 
buffer:用于 buffer 的内存总量 
cache:用于 cache 的内存总量 

swap:

si:数据进入 swap 中的数据速率 
so:数据离开 swap 的速率 

lo:

bi:从块设备读入数据到系统的速度 
bo:保存数据至块设备的速率 

system:

in:中断速率 
cs:上下文,切换的速率 

cpu:

us:user space 
sy:system 
id:idle 
wa:wait 
st:stolen 

147.glances 实时显示系统中各个进程的资源占用情况
主要选项:-b 以 byte 为单位显示网上数据速率 -d 关闭磁盘 I/O 模块 -m 关闭 mount 模块 -n 关闭 network 模块 -t 刷新时间间隔 -1 每个 cpu 的相关数据单独显示 -o 输出格式 -f 设定输出文件的保存目录
主要案例:glances

148.dstat 实时显示系统中各个进程的资源占用情况 *
主要选项:-c 显示 cpu 的相关信息 -d 显示磁盘的相关信息 -g 显示 page 相关的统计数据 -m 显示内存的相关统计数据 -n 显示网络的相关统计数据 -p 显示进程的相关统计数据 -r 显示 io 请求的相关的统计数据 -s 显示 swqpped 的相关统计数据 --tcp --udp --raw --socket --top-cpu 显示最占用 cpu 的进程 --top-io 显示最占用 io 的进程 --top-mem 显示最占用内存的进程 --top-lantency 显示延迟最大的进程
主要案列:

149.fpm 简易的 rpm 打包软件 *
主要选项:-s 指定源类型 -t 指定目标类型 -n 指定包的名字 -v 指定包的版本号 -C 指定打包的相对路径 -d 指定依赖于哪些包 -f 第二次打包时如果有同名安装包存在,则覆盖 -p 输出的安装包的目录,不想放在当前目录下就需要指定 -post-install 软件包安装完成之后所要运行的脚本 -pre-install 软件包安装完成之前所要运行的脚本 -post-uninstall 软件包卸载完成之后所要运行的脚本 -pre-uninstall 软件包卸载完成之前所要运行的脚本
主要案列:fpm -s dir -t rpm -n nginx -v 1.6.3 -d 'pcre-devel,openssl-devel' --post-install
/sercer/scripts/nginx_rpm.sh -f /application/nginx-1.6.3/

150.ulimit 用来限制系统用户对 shell 资源的访问。
如果不懂什么意思,下面一段内容可以帮助你理解: 假设有这样一种情况,当一台 Linux 主机上 同时登陆了 10 个人,在系统资源无限制的情况下,这 10 个用户同时打开了 500 个文档,而假设 每个文档的大小有 10M,这时系统的内存资源就会受到巨大的挑战。 而实际应用的环境要比这种 假设复杂的多,例如在一个嵌入式开发环境中,各方面的资源都是非常紧缺的,对于开启文件描述 符的数量,分配堆栈的大 小,CPU 时间,虚拟内存大小,等等,都有非常严格的要求。资源的合 理限制和分配,不仅仅是保证系统可用性的必要条件,也与系统上软件运行的性能有着密不可分的 联 系。这时,ulimit 可以起到很大的作用,它是一种简单并且有效的实现资源限制的方式。 ulimit 用于限制 shell 启动进程所占用的资源,支持以下各种类型的限制:所创建的内核文件的大小、进 程数据块的大小、Shell 进程创建文件的大小、内存锁住的大小、常驻内存集的大小、打开文件描述 符的数量、分配堆栈的最大大小、CPU 时间、单个用户的最大线程数、Shell 进程所能使用的最大 虚拟内存。同时,它支持硬资源和软资源的限制。 作为临时限制,ulimit 可以作用于通过使用其命 令登录的 shell 会话,在会话终止时便结束限制,并不影响于其他 shell 会话。而对于长期的固定 限制,ulimit 命令语句又可以被添加到由登录 shell 读取的文件中,作用于特定的 shell 用户。 主要参数:-a:显示目前资源限制的设定; -H:设定资源的硬性限制,也就是管理员所设下的限制; -n <文件数目>:指定同一时间最多可开启的文件数; -S:设定资源的弹性限制;

主要案列:ulimit -SHn 65535

151.hwclock 显示硬件时钟
主要选项:-s 让系统时间同步硬件时间 -w 让硬件时间同步系统时间
主要案列:hwclock

152.groupmod 组属性修改
主要参数:-n 修改组名 -g 新的 GID
主要案例:groupmod -g 1000 jf

153.gpasswd 组密码修改 *
主要参数:-a 将用户添加至指定组中 -d 从组中移除用户 -A 设置有管理权限的用户列表(设置之后,在 sudo 管理文件可以看见) -M 添加多个用户到一个组
主要案例:gpasswd -a jf test

      gpasswd -A jf oldgirl root 

154.newgrp 临时切换基本组

      如果用户不属于此组,则需要组密码 主要参数:- 会模拟用户重新登陆以实现重新初始化其工作环境 

主要案例:newgrp test

155.iconv 用来转换文件的编码方式

156.ss 网络状态工具(比 netstat 更加强大的工具) *
主要参数:-h, --help 帮助信息 -n, --numeric 不解析服务名称

      -r, --resolve 解析主机名           -o, --options 显示计时器信息           -e, --extended 显示详细的套接字(sockets)信息           -p, --processes 显示使用套接字(socket)的进程           -i, --info 显示 TCP 内部信息           -s, --summary 显示套接字(socket)使用概况           -t, --tcp 仅显示 TCP 套接字(sockets)           -u, --udp 仅显示 UCP 套接字(sockets)           -d, --dccp 仅显示 DCCP 套接字(sockets)           -l 监听状态的连接           -a 所有状态的连接           -m 内存用量 

主要案例:ss -lntup|grep rsync
tcp LISTEN 0 5 :::873 :::*
users:(("rsync",1329,5))
tcp LISTEN 0 5 :873 :*
users:(("rsync",1329,3))

157.sshpass 非交互的 ssh 操作
主要参数:-p 端口
主要案列:sshpass -p66207383 ssh 172.16.1.7 hostname

158.set 设置 shell *
主要参数:-C 禁止使用输出重定向覆盖已存在的文件 如果想强制覆盖输出,可使用:>|
主要案例:set -C 禁止使用输出重定向覆盖已存在的文件

      set +C 关闭上诉功能 

159.install 安装或升级软件或备份数据
它的使用权限是所有用户。install 命令和 cp 命令类似,都可以将文件/目录拷贝到指定的地点。但 是,install 允许你控制目标文件的属性。install 通常用于程序的 makefile,使用它来将程序拷贝到目 标(安装)目录。 主要参数:-m 设定目标文件权限,默认为 755 -o 设定目标文件属主

      -g 设定目标文件属组           -d 创建目录 

主要案列:install -m 644 /etc/passwd /tmp/

      install -m 644 -o jingfeng -g jf /etc/passwd /tmp/ 
      install -d jingfeng/ 

160.mktemp 创建一个临时的随机命名的文件或者目录
注意:一个月之后就会被删除 主要参数:-d 创建临时目录
主要案列:mktemp /tmp/jingfeng.xxx

161.uptime 查看系统平均负载 *
主要案例:[root@db02 ~]# uptime
14:02:28 up 6 days, 4:06, 1 user, load average: 0.00, 0.00, 0.00
1.当前时间为:14:02:28
2.系统已运行的时间:6 days, 4:06
3.当前在线用户:1 user
4.平均负载:0.00, 0.00, 0.00,最近 1 分钟、5 分钟、15 分钟系统的负载

162.export 查看环境变量 *
主要案例:[root@db02 ~]# export
declare -x MAIL="/var/spool/mail/root"
declare -x MODULEPATH="/usr/share/Modules/modulefiles:/etc/modulefiles"
declare -x MODULESHOME="/usr/share/Modules"
declare -x OLDPWD
declare -x PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin"
declare -x PWD="/root"
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
declare -x SSH_CLIENT="10.0.0.1 62252 22"
declare -x SSH_CONNECTION="10.0.0.1 62252 10.0.0.52 22"
declare -x SSH_TTY="/dev/pts/1"
declare -x TERM="xterm"

declare -x USER="root"

163.readonly 只读变量
注意:只读变量无法重新赋值,并且不支持撤销。存活时间为当前 shell 进程的生命周期,随 shell 进程终止而终止
主要案例:readonly name

164.patch 向文件打补丁
主要选项:-i 读取指定的修补文件
主要案列:patch jingfeng.new jingfeng.txt

165.访问控制列表 facl:
文件的额外赋权机制,在原来的 u,g,o 之外,另一层让普通用户能控制赋权给另外用户或组的赋 权机制 getfacl 命令:查看访问控制列表 getfacl FILE....... setfacl 命令:设置访问控制列表 赋权给用户: setfacl -m u:USERNAME:MODE FILE...... 赋权给组: setfacl -m g:GROUPNAME:MODE FILE..... 撤销赋权: setfacl -x u:USERNAME FILE..... setfacl -x g:GROUPNAME FILE.....

166.mke2fs:ext 系列文件系统专用管理工具
主要选项:-t 指定要创建的文件系统类型 -b 指定文件系统的块大小 -L 指明卷标 -J 创建有日志功能的文件系统 -i 指定 inode 与字节的比率。即每多少字节创建一个 inode -N 直接指明要给此文件系统创建的 inode 数量

      -O 已指定的特性创建目标文件系统           -m 指定预留的空间 

主要案例:mke2fs -t ext4 /mnt/jingfeng/

167.e2label:卷标的查看与设定
查看:e2label device
设定:e2label device LABEL

168.blkid:查看文件系统信息
主要选项:-L 根据 LABEL 定位设备 -U 根据 UUID 定位设备
主要案例:blkid /dev/sda3

169.watch:实时监控每一条命令执行的结果动态变化
主要选项:-n #:刷新间隔,单位是秒
主要案例:watch -n 2 ifconfig

170.pvdisplay:显示卷组中一个或多个物理卷的信息(LVM 专用)

171.pvcreate:创建一个可以被卷组使用的物理卷(LVM 专用)

172.vgdisplay 显示卷组信息(LVM 专用)

173.vgcreate 创建一个卷组(LVM 专用)

174.vgremove 从系统上删除一个或多个卷组的定(LVM 专用)

175.vgextend 通过添加物理卷扩展一个卷组(LVM 专用)

176.vgreduce 通过删除一个或多个物理卷减小卷组(LVM 专用)

177lvdisplay 显示逻辑卷的信息(LVM 专用)

178.lvcreate 在卷组中创建一个逻辑卷(LVM 专用)
主要参数:-L 指定逻辑卷大小 -s 创建快照(类似于虚拟机上面的快照) -n 指明逻辑卷的名字 -p 指明快照的权限(r,w)
主要案例:lvcreate -L #[mMgGtT] -p r -s -n snapshot_lv_name original_lv_name

179.lvextend 增加分配给逻辑卷的物理区域数(LVM 专用)
主要参数:-L 指定逻辑卷大小

180.lvreduce 减少分配给逻辑卷的物理区域数(LVM 专用)
主要参数:-L 指定逻辑卷大小

181.lvremove 从卷组中删除一个或多个逻辑卷(LVM 专用)
主要案例:lvremove /dev/VG_NAME/LV_NAME

182.gzip 压缩工具(一般压缩以后,文件的后缀名是 gz)
主要参数:-d: 解压缩,相当于 gunzip -c: 将结果输出至标准输出; -#:1-9,指定压缩比,默认为 6;
主要案例:gzip [OPTION]... FILE ...

183.zcat:可以直接查看 gz 结尾的压缩文件
主要案例:zcat jingfeng.gz

184.bgzip2:也是一个压缩工具(后缀名是 bz2)
主要参数:-k: keep, 保留原文件; -d:解压缩 -#:1-9,压缩比,默认为 6;
主要案例:bzip2 [OPTION]... FILE ...

185.bzcat:可以直接查看 bz2 结尾的压缩文件
主要案例:bzcat jingfeng.bz2

186.xz:压缩工具(后缀名是 xz)
主要参数:-k: keep, 保留原文件; -d:解压缩 -#:1-9,压缩比,默认为 6;
主要案例:xz [OPTION]... FILE ...

187.xzcat:可以直接查看 xzcat 结尾的压缩文件
主要案列:xzcat jingfeng.xz

188.at:一次性任务计划(这条命令要启用,需要开启进程 atd,开启用
/etc/init.d/atd start or restart
TIME:(时间格式,这里可以定义出什么时候要进行 at 这项任务的时间,选项有以下几项) HH:MM:[YYYY-MM-DD] noon,midnight,teatime tomorrow now+ 主要参数:-l 查看作业队列 -f<文件> 从指定文件读入任务而不是从标准输入读入 -d 删除指定的作业 -c 查看指定作业的具体内容 -q 指明队列
主要案例:# at now+2min

at> echo "wo ai ni"
at> ls -l /root
退出按 ctrl+d
注意:作业执行结果是以邮件方式发送给用户

188.lsmod:列出内核已载入模块的状态(几乎用不到)
lsmod 以美观的方式列出/proc/modules 的内容
主要案例:lsmod

189.modinfo:显示内核模块的信息(几乎用不到)
主要选项:-F 仅显示指定字段的信息 -n 显示文件路径 主要案例:modinfo [ -0 ] [ -F field] [modulename | filename ... ]

190.modprobe:linux 内核添加删除模块(几乎用不到)
主要案例:modprobe [-r] module_name

      模块的动态装载:modprobe module_name 
      动态卸载:modprobe -r module_name 

191.depmod:分析可加载模块的依赖性,生成 modules.dep 文件和映射文件(几乎用
不到,只是了解一下)

192.insmod:向 linux 内核中插入一个模块(几乎用不到)
主要案例:insmod [filename] [modue options ...]

193.rmmod:删除内核中的一些模块(几乎用不到)
主要案例:rmmod [ -f ] [ -w ] [ -s ] [ -v ] [ modulename ]

194.mkinitrd:为当前使用中的内核重新制作 ramdisk 文件(几乎用不到,只是了
解)
主要案例:

195.dracut 命令(几乎用不到,只是了解)

196.nload 查看网卡流量
安装过程:1.yum install -y epel-release 2.yum install -y nload
主要案列:nload

相关文章
|
12天前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
97 6
|
13天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
52 3
|
13天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
39 2
|
21天前
|
缓存 监控 Linux
|
24天前
|
Linux Shell 数据安全/隐私保护
|
25天前
|
域名解析 网络协议 安全
|
8天前
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
36 3
|
2月前
|
运维 监控 网络协议
|
2月前
|
监控 Linux Shell
|
13天前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
48 3
下一篇
无影云桌面