• 命令总结


     

     

    1章 sed命令 1

    1.1 功能说明 1

    1.2 增删改查 1

    1.2.1  1

    1.2.2  4

    1.2.3  4

    1.2.4  9

    1.2.5 其他参数用法 9

    2章 awk 10

    3章 grep 11

    4章 mkdir 11

    5章 cd 12

    6章 pwd 12

    7章 touch 12

    8章 ls 12

    9章 vi 13

    10章 cat 13

    11章 echo 14

    12章 cp 16

    13章 mv 16

    13.1 mv  move(移动文件或目录) 16

    13.2 rm  remove删除文件或目录 16

    13.3 .rmdir    删除空目录 17

    14章 find 17

    15章 xargs 17

    16章 head 18

    17章 tail 18

    18章 which 18

    19章 alias 19

    20章 seq 19

    21章 uname 20

    22章 hostname 20

    23章 setenforce 20

    23.1 setenforce 设置selinux状态 20

    23.2 getenforce 查看selinux状态 20

    24章 runlevel 21

    24.1 runlevel   查看系统的运行级别 21

    24.2 init       修改运行级别(修改你的个人状态) 21

    25章 chkconfig chkconfig  管理开机自启动服务。 21

    26章 date 21

    27章 history 22

    28章 ulimit 23

    29章 useradd 23

    30章 passwd 23

    31章 su 23

    32章 chattr 23

    32.1 chattr     更改文件属性(-i,-a 23

    32.2 lsattr     查看chattr更改后的属性 23

    33章 tree 24

    34章 df 24

    35章 cut 25

    36章 wc 25

    37章 tar 26

    38章 file 30

    39章 du 31

    40章 stat 32

    41章 mounts cat   /proc/mounts可查看当前已经挂载文件系统的列表 32

    第1章 sed命令

    1.1   功能说明

    流编辑器,操作、过滤和转换文本内容的强大工具,linux三剑客老二。

    常用功能增删改查过滤取行

    1.2 增删改查

    实验文本

    [root@root /]# cat person.txt

    101,oldboy,CEO

    102,zhangyao,CTO

    103,Alex,COO

    104,yy,CFO

    105,feixue,CIO

    1.2.1  

    追加文本到指定的行后

    单行增加

     [root@root /]# sed '2a 106,dandan,CSO' person.txt    2a在第二行后追加内容

    101,oldboy,CEO

    102,zhangyao,CTO

    106,dandan,CSO

    103,Alex,COO

    104,yy,CFO

    105,feixue,CIO

    多行增加

    第一种sed '2a 106,dandan,CSO 107,bingbing,CCO' person.txt     是换行符  连续在第二行之后追加了两行

    第二种sed '2a 106,dandan,CSO 按回车

    >输入 107,bingbing,CCO' person.txt

    i 插入文本到指定行前

    [root@oldboy ~]# sed '2i 106,dandan,CSO' person.txt  2i在第二行后追加内容

    实例1-1   

    企业案例:优化ssh配置

    在我们学习系统优化时,有一个优化点:更改ssh服务远程登录的配置。主要的操作是在ssh的配置文件加入下面5行文本。(下面参数的具体含义见其他课程。)  现在想一条命令增加5行文本到第13行前

    1. Port 52113
    2. PermitRootLogin no
    3. PermitEmptyPasswords no
    4. UseDNS no
    5. GSSAPIAuthentication no

    答案sed  '13i  Port 52113 PermitRootLogin no PermitEmptyPasswords no UseDNS no GSSAPIAuthentication no' /etc/ssh/sshd_config

    指定执行的地址范围:

    1. sed软件可以对单行或多行进行处理。如果在sed命令前面不指定地址范围,那么默认会匹配所有行。
    2. 用法:n1[,n2]{sed-commands}
    3. 地址用逗号分隔的,n1,n2可以用数字、正则表达式、或二者的组合表示。

    例子:

    1.    10{sed-commands}        对第10行操作
    2.    10,20{sed-commands}     对10到20行操作,包括第10,20行
    3.    10,+20{sed-commands}   对10到30(10+20)行操作,包括第10,30行
    4.    1~2{sed-commands}       对1,3,5,7,……行操作
    5.    10,${sed-commands}     对10到最后一行($代表最后一行)操作,包括第10行
    6. /oldboy/{sed-commands}         对匹配oldboy的行操作
    7. /oldboy/,/Alex/{sed-commands}  对匹配oldboy的行到匹配Alex的行操作
    8. /oldboy/,${sed-commands}       对匹配oldboy的行到最后一行操作
    9. /oldboy/,10{sed-commands}      对匹配oldboy的行到第10行操作,注意:如果前10行没有匹配到oldboy,sed软件会显示10行以后的匹配oldboy的行,如果有。
    10. 1,/Alex/{sed-commands}         对第1行到匹配Alex的行操作
    11. /oldboy/,+2{sed-commands}      对匹配oldboy的行到其后的2行操作

    1.2.2 

    d删除指定的行   结合指定删除范围使用

    实例1-1  打印文件内容但不包括oldboy

            sed   '/oldboy/d'  person.txt

    1.2.3 

    1.按行替换

    c 用新行取代旧行    [root@oldboy ~]# sed '2c 106,dandan,CSO' person.txt

    2.文本替换

    s:单独使用→将每一行中第一处匹配的字符串进行替换 ==>sed命令 
    g:每一行进行全部替换 ==>sed命令s的替换标志之一,非sed命令 
    -i:修改文件内容 ==>sed软件的选项

    sed软件替换模型(方框▇被替换成三角▲)

    sed -i 's/▇/▲/g' oldboy.log      不加g的话对每行第一个替换加上g全部替换
    sed -i 's#▇#▲#g' oldboy.log

    s#▇#▲#g▇能用正则表达式,但▲不能用,必须是具体的

    实例1-1  指定行修改配置文件

    1.:sed '3s#0#9#' person.txt   加上g第三行的0全部换为9

    例2. sed '2s#1#0#2' num.txt

    [root@oldboy ~]# sed '2s#1#0#2' num.txt #→精确定位第2行,第2列
    1 1 1 1 1
    1 0 1 1 1
    1 1 1 1 1
    1 1 1 1 1

    3.变量替换

    [root@oldboy ~]# cat test.txt #→再新建一个文本

    a

    b

    a

    [root@oldboy ~]# x=a

    [root@oldboy ~]# y=b

    [root@oldboy ~]# echo $x $y              变量时必须加双引号或者不加引号

    a b

    [root@oldboy ~]# sed s#$x#$y#g test.txt       也可以eval sed 's#$x#$y#g' test.txt

    b

    b

    b

    4.分组替换

    sed软件的( )的功能可以记住正则表达式的一部分,其中,1为第一个记住的模式即第一个小括号中的匹配内容

    例:echo I am oldboy teacher.如果想保留这一行的单词oldboy,删除剩下的部分,使用圆括号标记想保留的部分。

    1. [root@oldboy ~]# echo I am oldboy teacher. |sed 's#^.*am ([a-z].*) tea.*$#1#g'
    2. oldboy
    3. [root@oldboy ~]# echo I am oldboy teacher. |sed -r 's#^.*am ([a-z].*) tea.*$#1#g'
    4. oldboy
    5. [root@oldboy ~]# echo I am oldboy teacher. |sed -r 's#I (.*) (.*) teacher.#12#g'
    6. amoldboy

    实例1-2  企业开机启动项优化

    企业案例4:系统开机启动项优化
    1. [root@oldboy ~]# chkconfig --list|grep "3:on"|grep -vE "sshd|crond|network|rsyslog|sysstat"|awk '{print $1}'|sed -r  's#^(.*)#chkconfig 1 off#g'|bash
    2. [root@oldboy ~]# chkconfig --list|grep "3:on"
    3. crond           0:off   1:off   2:on    3:on    4:on    5:on    6:off
    4. network         0:off   1:off   2:on    3:on    4:on    5:on    6:off
    5. rsyslog         0:off   1:off   2:on    3:on    4:on    5:on    6:off
    6. sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
    7. sysstat         0:off   1:on    2:on    3:on    4:on    5:on    6:off

    chkconfig --list|grep 3:on|egrep -v "crond|sshd|network|rsyslog|sysstat"|awk '{print "chkconfig",$1,"off"}'|bash
    第二种写法

    chkconfig --level 1 sshd off  指定某个运行级别开关

    5.特殊符号$代表被替换的内容

    1. [root@oldboy ~]# sed '1,3s#C#--&--#g' person.txt #→此处&等于C
    2. 101,oldboy,--C--EO      #→将1到3行的C替换为--C--
    3. 102,zhangyao,--C--TO
    4. 103,yy,--C--OO
    5. 104,feixue,CFO
    6. 105,dandan,CIO

     

    实例1-3  批量重命名文件

    当前目录下有文件如下所示:

    1. [root@oldboy test]# ls
    2. stu_102999_1_finished.jpg stu_102999_2_finished.jpg stu_102999_3_finished.jpg stu_102999_4_finished.jpg stu_102999_5_finished.jpg

    要求用sed命令重命名,效果为stu_102999_1_finished.jpg==>stu_102999_1.jpg,即删除文件名的_finished

    方法一:1 子串匹配标记   & 已匹配字符串标记  mv命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中

    方法二:

    [root@oldboy ~/test]# rename jpg JPG *
    [root@oldboy ~/test]# ls
    stu_102999_1.JPG  stu_102999_2.JPG  stu_102999_3.JPG  stu_102999_4.JPG  stu_102999_5.JPG

    备份文件内容
    [root@oldboy ~]# sed -i.ori 's#zhangyao#NB#' person.txt
    [root@oldboy ~]# cat person.txt
    101,oldboy,CEO
    102,NB,CTO
    103,Alex,COO
    104,yy,CFO
    105,feixue,CIO
    [root@oldboy ~]# cat person.txt.ori 
    101,oldboy,CEO
    102,zhangyao,CTO
    103,Alex,COO
    104,yy,CFO
    105,feixue,CIO

    1.2.4 

    p 输出指定内容,但默认会输出2次匹配的结果,因此使用n取消默认输出

    按行查询sed -n '2p' person.txt

       按字符串查询:sed -n '/CTO/p' person.txt

    1.2.5  其他参数用法

    -e选项允许在同一行里执行多条命令或者使用 sed -e '1,5d' -e 's/test/check/' file
    = 打印当前行号码
    N 追加下一个输入行到模板块后面并在二者间嵌入一个新行,改变当前行号码
    例:[root@oldboy ~]# sed  "=" person.txt|sed 'N;s# # #'

    实例1-1 企业案例:SVN帐号密码案例
       很久以前,由于一些未知的原因,我们的SVN服务器的生成帐号密码的脚本生成的帐号密码如下:
    stu10309
    7f753cc3
    stu10312
    636e026d
    stu10315
    18273b95
    但是SVN服务器识别的帐号密码格式为:
    stu10309=7f753cc3
    stu10312=636e026d
    stu10315=18273b95     如何修改 sed 'N;s# # #'

    第2章 awk

    .awk   过滤、输出内容 一门语言 按列是特长

    常用参数:NR是行号,&&意思是并且,两边同时成立。

              $0表示整行内容, 回车。 F 是分隔符

    NF字段数

    例如:[root@oldboy ~]# ifconfig eth0|awk -F "[ :]+" 'NR ==2{print $4}'

    [root@oldboy ~]# awk 'NF>0 {print $0}' 12.txt

    [root@oldboy ~]# awk 'NF!=0 {print $0}' 12.txt  

    第3章 grep

    grep  过滤,类似筛子 。 linux三剑客老三(awk,sed,grep)。
    -B(before)  除了显示匹配的一行之外,并显示该行之前的num行(包含匹配的行)

    grep 30 -B 10 ett.txt
    -A(after)  除了显示匹配的一行之外,并显示该行之后的num行(包含匹配的行)

    grep 20 -A 10 ett.txt
    -C(context)  除了显示匹配的一行之外,并显示该行之前后各num行(包含匹配的行) grep 25 -C 5 ett.txt
    不区分大小写 -i 

     echo "hello world" | grep -i "HELLO" hello      
    输出除之外的所有行 -v 

     grep -v "match_pattern" file_name

    标记匹配颜色 --color=auto 

      grep "match_pattern" file_name --color=auto

    使用正则表达式 -E 

      grep -E "[1-9]+" 或 egrep "[1-9]+"

    只输出文件中匹配到的部分 -o

      echo this is a test line. | grep -o -E "[a-z]+." line.  echo this is a test line. | egrep -o "[a-z]+." line.

    第4章 mkdir

    mkdir创建目录  mkdir -p递归创建目录  -m加权限

    在目录/usr/meng下建立子目录test,并且只有文件主有读、写和执行权限,其他人无权访问

    mkdir -m 700 /usr/meng/test

    在当前目录中建立bin和bin下的os_1目录,权限设置为文件主可读、写、执行,同组用户可读和执行,其他用户无权访问 mkdir -p-m 750 bin/os_1

    第5章 cd

    cd 切换目录        

    cd..  退到上一级目录 ,一个点儿是当前目录,- 上一次所在目录

    第6章 pwd  

    绝对路径方式显示当前工作目录所在

    第7章 touch

    touch 创建文件 
    如果touch创建文件,如果重复创建不会提示存在,也不会覆盖,更改文件时间戳(时间属性)

    创建多个文件:touch  stu{1..100}

    第8章 ls

    ls 查看目录下的内容(列表)

    -l(long)以长格式显示文件信息

    -F在文件结尾加不同的标识

    -p给目录结尾加斜线
      -d 列目录属性。

    -r反转排序 

    -t按修改时间排序  例:按修改时间列出文件和文件夹详细信息  ls -ltr

    --color=auto让不同的文件显示不同的颜色。

    ls -lih 查看文件属性,十列内容

    -i (inode节点,每个文件索引号)

    -h 人类可读

    第9章 vi   

     vi   类似记事本一样的linux下的常用编辑器

    例:vi oldboy.txt进入vi编辑器(命令模式),点击i进入insert模式,输入文本,然后按esc退出编辑模式(进入命令模式),最后敲:wq保存并推出。

    q!强制退出

    vim   类似高级的编辑器例

    第10章 cat

    1.cat   查看文件内容。例如:cat oldboy.txt  

     2.-n显示行号  cat -n oldboy.txt

    3.追加多行内容到文件 例:

        cat >>/data/oldboy.txt<<EOF  也可将EOF改为其他

        I am studying linux.

        EOF结束。

    第11章 echo

    1. echo  打印输出内容,配合“>或>>”可以为文件覆盖及追加内容

    2.echo "I am studying linux." >oldboy.txt

    "I am studying linux."里的内容,重定向到oldboy.txt结尾,清除文件之前的内容,如果文件不存在会创建文件

    3.echo "I am studying linux." >>oldboy.txt

    "I am studying linux."里的内容,追加到oldboy.txt结尾,但不清除之前的内容。

    4.将标准输出和错误输出重定向到log.txt。

    echo oldboy 1>log.txt 2>log.txt

    echo oldboy >log.txt 2>&1(最常用)

    echo oldboy &>log.txt

    5. echo 参数:

        -n 不要在最后自动换行

        -e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般

    文字输出:

       a 发出警告声;

        删除前一个字符;

       c 最后不加上换行符号;

       f 换行但光标仍旧停留在原来的位置;

        换行且光标移至行首;

        光标移至行首,但不换行;

        插入tab;

       v 与f相同;

       \ 插入字符;

        nn 插入nnn(八进制)所代表的ASCII字符;

    [root@oldboy ~]# echo -n "oldboy";echo "oldboy"

    oldboyoldboy

    [root@oldboy ~]# echo -e "oldboy ";echo "oldboy"

    oldboy

    oldboy

    [root@oldboy ~]# echo -e " oldboy"

            oldboy

    [root@oldboy ~]# echo -en " oldboy";echo 123

            oldboy123

    [root@oldboy ~]# echo -en " oldboy ";echo 123

            oldboy  123

    第12章 cp

    cp  拷贝文件或目录(copy) -i操作前确认

    -i操作前确认  -p 保留原文件的目录属性

    -r递归 ,将目录文件下所有文件与子目录一并处理

    -a 用于复制目录,相当于-pdr

    文件可以直接拷贝,不加参数

    cp 拷贝时不提示

    第13章 mv

    13.1 mv  move(移动文件或目录) 

      重命名,原地搬家

    例:将文件ex3改名为new1 mv ex3 new1

    将目录/usr/men中的所有文件移到当前目录(用.表示)中: mv /usr/men/* .

    13.2 rm  remove删除文件或目录

    -f强制删除,-r递归,删除目录  rm -fr

    13.3 .rmdir    删除空目录

    第14章 find

    1.find  查找,-type类型 f(file),d(directory)

    -exec对找到的结果处理

    -mtime 按修改时间查找+7 7天以前,7第七天  -7最近7天

     -maxdepth 深度

     -name 按文件名查找

    -mmin 按分钟查找[root@oldboy etc]# find /etc/* -mmin -10
    ! 取反 

    例find ./ -maxdepth 1 -type d ! -name "."  ./是标识当前目录下  标识的是路径   -name "."  表示的是名字

    find /data -type f -name "*.log" -mtime +7 -size 10M|xargs -i mv {} /tmp

    find /data -type f -name "*.log" -mtime +7 -size 10M -exec mv {} /tmp 

    2.-a并且  -o 或者

    [root@oldboy oldboy]# find . -type f -a -name "oldboy"
    ./oldboy
    [root@oldboy oldboy]# find . -type f -o -name "oldboy" 

    第15章 xargs

    1.xargs 分组功能,配合find等,可以实现把找到的内容作为后面命令处理的源。

    例如:cat test.txt | xargs -n3

     a b c

     d e f

    g h i

    2.xargs的一个选项-I,使用-I指定一个替换字符串{},当-I与xargs结合使用,每一个参数命令都会被执行一次:

    find /data -type f -name "*.log" -mtime +7 -size 10M|xargs -i mv {} /tmp

    第16章 head

    head  头 头部  显示文件的前n行,默认显示前10行

    head -n 5(head -5)

    第17章 tail

    tail  尾 尾部  显示文件的后n行,默认显示后10行

    tail -n 5(tail -5)

    -f跟随一个文件尾部的内容变化。

    tail -f /var/log/messages  -f 输入错误时会报错,另一个窗口会自动退出-F会一直尝试去打开这个文件,直到有人创建。

    tail -F /var/log/messages

    第18章 which

    which 查看命令所在路径  which cat

    whereis -b  cat

    locateupdatedb更新)查看命令和帮助

    第19章 alias

    alias 查看和设置别名(*在命令的前面加上全路径或反斜线可以跳过系统别名)

    防止用户误操作
    unalias 取消别名

    alias egrep='egrep --color=auto'

    永久生效:vi /etc/profile 保存退出  

    source /etc/profile 或者 /etc/bashrc

    第20章 seq

    seq  equence==seq序列。打数字序列。

    -s 指定分隔符

    -w同宽  seq -w 98 101  输出:098 099 100 101

    例: 1.[root@Bison oldboy]# seq -s " " 10

          1 2 3 4 5 6 7 8 9 10

         2.seq 100 >ett.txt 往ett中打100个数字 一个数字一行

    3.seq  100 |xargs 显示一行

         4. seq  100 |xargs  -n  2  n显示两行。

    第21章 uname

    uname输出系统信息 

      -m(-p -i) 32or64  

    -r内核版本     -a(all)    -n显示主机名

    cat /etc/redhat-release 查系统版本

    隐藏内核版本提示. > /etc/issue

    第22章 hostname

    hostname  查看以及设置主机名(uname -n)

    hostname 名字 (临时生效)系统并不会永久保存新的主机名,重新启动机器之后还是原来的主机名。如果需要永久修改主机名,需要同时修改/etc/hosts和/etc/sysconfig/network的相关内容。

    -I  显示IP地址

    第23章 setenforce

    23.1 setenforce 设置selinux状态

    setenforce  0 (用于命令管理级别,数字表示设置对应的级别),不用立刻重启系统,生产环境下linux系统不能随意重启

    23.2 getenforce 查看selinux状态

    [root@root ~]# getenforce

    Enforcing

    [root@root ~]# setenforce

    usage:  setenforce [ Enforcing | Permissive | 1 | 0 ]

    第24章 runlevel 

    24.1 runlevel   查看系统的运行级别

    24.2 init       修改运行级别(修改你的个人状态)

    第25章 chkconfig
    chkconfig  管理开机自启动服务。

    chkconfig --list #列出所有的系统服务

    chkconfig sshd off

    chkconfig --level 1 sshd  off

    例如:操作命令chkconfig --list|grep 3:on|grep -vE “sshd |rsysiog |network |crond |ysstart”|awk  '{print " chkconfig " "$1" off "}'|bash

    第26章 date

    date 查看设置时间  cal  日历

    date -d -d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号

    例:date -d "1 day ago" +"%Y-%m-%d" 2012-11-19

    例如:[root@root data]# date +%y

    16

    [root@root data]# date +%Y

    2016

    [root@root data]# date +%Y%m%d%h

    20160905Sep

    [root@root data]# date +%F

    2016-09-05

    date -s 设置时间

    第27章 history

    1)history    历史记录相关  

    -c清空所有历史,    

    -d指定偏移量。

    -n打印最近的几行  history 10

    2)设置命令行:      export HISTSIZE=5     

    #history size命令行历史记录数量  

    3)命令行命令对应的历史记录文件:export HISTFILESIZE=5          

    记录文件中命令数 ~/.bash_history

    查看cat  ~/.bash_history

    第28章 ulimit 

    ulimit     修改shell的资源限制(ulimit -HSn 65535)

    ulimit -HSn 65535 若想永久生效,需要加入到/etc/rc.local

    第29章 useradd 

    useradd 添加用户

    第30章 passwd 

    passwd 为用户设置或修改密码

    例子:passwd oldboy 为oldboy设置修改密码,直接passwd是为当前用户修改密码  

    非交互式更改密码:echo“123456”|passwd--stdin oldboy

    第31章 su 

    su 切换用户(su - oldboy)

    第32章 chattr

    32.1 chattr     更改文件属性(-i,-a)

    32.2 lsattr     查看chattr更改后的属性

    chattr 更改文件属性-i  -a)

    1.上锁:chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab

    查看:
    lsattr /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab

    解锁-i

    2.想要更安全:

    可以把chattr改名转移。mv /usr/bin/chattr /usr/bin/oldboy1

    解锁时需用oldboy1 -i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab

    第33章 tree 

    tree 以树形的格式列目录的内容 

    -L(level)显示目录tree -L 1 显示一列    -d 显示目录

    如果tree不出来,输入yum install tree -y  ,安装。

    第34章 df  

    df -h查看分区挂载以及使用情况 -h(human-readable)

    df -a 查看全部文件系统

    查看inode block的字节大小

    [root@oldboy spool]# dumpe2fs /dev/sda3 |egrep -i "block count |Inode count"

    [root@oldboy spool]# dumpe2fs /dev/sda3 |egrep -i "block size |Inode size"

    注意:block count一般会大一Inode count的数量。

    查看inode的总量和使用方法

    df -i

    查看文件的inode信息方法

    ls -li或sata

    如何生成及指定inode大小

    格式化命令:mkfs.ext4 -b 2048 -I 256 /dev/sdb

    第35章 cut

    cut 切割    

    -d指定分隔符

    [root@localhost text]# cat test2.txt

     [root@localhost text]# cut -f2 -d";" test2.txt  以冒号为分隔符取第二列

    -f指定列[root@localhost text]# cut -f 1 test.txt  1是表示取第一列

    -c取字符cut -c1-3 test.txt    取一到三个字符

    第36章 wc

    wc 统计行数,字符,字节 -l统计行数

    第37章 tar

    打包和压缩。打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。
    gziptar z)bzip2tar j)两种打包方式

    unzip

    tar
    ①-c  创建tar包
    ②-f  指定tar包名字
    tar -cf etc.tar.gz etc
    模型: tar  筐   苹果
    ③-z 调用gzip命令压缩tar包
    tar -zcf etc.tar.gz etc
    ④-v  显示详细信息
    tar -zcvf etc.tar.gz etc
    tar zcvf etc.tar.gz etc
    ⑤--exclude=文件   不打包这个文件
    tar zcvf  etc_exclude.tar.gz 

    etc --exclude=etc/services
    ⑥-t  不解压查看tar包内容
    [root@oldboy /]# tar tf etc_exclude.tar.gz |grep service
    etc/init/readahead-disable-services.conf
    [root@oldboy /]# tar tf etc.tar.gz |grep service        
    etc/services
    etc/init/readahead-disable-services.conf
    ⑦x  解压
    tar zxf etc.tar.gz -C /tmp  解压的常用组合:zxvf(tar zxvf etc.tar.gz)或者xf(tar xf etc.tar.gz)
    ⑧-C  指定解压路径
    tar xf etc.tar.gz -C /tmp    tar命令他会自动识别你这个包是用gzip还是其他压缩命令压缩的

    压缩:zcf
    解压:xf
    不解压查看:tf

    其他参数:

    -C  --directory DIR  指定目录进行操作,如解压到指定目录

    -p  --same-permissions 保持文件属性

    --exclude PATTERN  排除不需要处理的文件或目录

    -X  --exclude-from FILE 指定文件列表的形式排除不需要处理的文件或目录

    例:解压到指定目录下

    [root@Bison tmp]# tar xf oldboy.tar.gz  -C /opt/

    [root@Bison opt]# ll oldboy

    total 24

    drwxr-xr-x 4 root root 4096 Aug 24 09:41 ext

    -rw-r--r-- 1 root root    0 Aug 23 15:21 jeacen

    -rw-r--r-- 1 root root    0 Aug 23 15:21 oldboy

    -rw-r--r-- 1 root root   30 Aug 24 14:21 oldboy.txt

    drwxr-xr-x 2 root root 4096 Aug 23 15:21 test

    -rw-r--r-- 1 root root    0 Aug 23 15:21 wodi.gz

    drwxr-xr-x 2 root root 4096 Aug 23 15:21 xiaodong

    drwxr-xr-x 2 root root 4096 Aug 23 15:21 xiaofan

    drwxr-xr-x 2 root root 4096 Aug 23 15:21 xingfujie

    -rw-r--r-- 1 root root    0 Aug 23 15:21 yingsui.gz

    压缩时排除单个文件:

    [root@Bison opt]# tar zcvf /tmp/oldboy.tar.gz --exclude=oldboy/wodi.gz ./oldboy

    ./oldboy/

    ./oldboy/ext/

    ./oldboy/ext/sss/

    ./oldboy/ext/oldboy/

    ./oldboy/xiaodong/

    ./oldboy/oldboy.txt

    ./oldboy/jeacen

    ./oldboy/xingfujie/

    ./oldboy/yingsui.gz

    ./oldboy/test/

    ./oldboy/oldboy

    ./oldboy/xiaofan/

    压缩时排出多个文件:

    [root@Bison opt]# tar zcvf /tmp/oldboy.tar.gz --exclude={wodi.gz,jeacen} ./oldboy

    ./oldboy/

    ./oldboy/ext/

    ./oldboy/ext/sss/

    ./oldboy/ext/oldboy/

    ./oldboy/xiaodong/

    ./oldboy/oldboy.txt

    ./oldboy/xingfujie/

    ./oldboy/yingsui.gz

    ./oldboy/test/

    ./oldboy/oldboy

    ./oldboy/xiaofan/

    [root@Bison opt]# tar tf /tmp/oldboy.tar.gz

    ./oldboy/

    ./oldboy/ext/

    ./oldboy/ext/sss/

    ./oldboy/ext/oldboy/

    ./oldboy/xiaodong/

    ./oldboy/oldboy.txt

    ./oldboy/xingfujie/

    ./oldboy/yingsui.gz

    ./oldboy/test/

    ./oldboy/oldboy

    ./oldboy/xiaofan/

    排除指定文件内的文件或目录:

    实例37-1  

    第38章 file

    file命令用来探测给定文件的类型。file命令对文件的检查分为文件系统、魔法幻数检查和语言检查3个过程


    选项 -b:列出辨识结果时,不显示文件名称;

     -c:详细显示指令执行过程,便于排错或分析程序执行的情形;

    -f<名称文件>:指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名称;

     -L:直接显示符号连接所指向的文件类别; [root@localhost ~]# file -L /var/spool/mail /var/spool/mail: directory

    -m<魔法数字文件>:指定魔法数字文件;

     -v:显示版本信息;

    -z:尝试去解读压缩文件的内容。

    第39章 du

    du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的。

    1).du:只显示当前目录下面的子目录的目录大小和当前目录的总的大小
    例如:[root@root data]# du

    4 ./data

    4 ./test

    12 ./aa

    4 ./oldboy/aa

    8 ./oldboy

    72 .
    2.du -s 只显示总和的大小

    第40章 stat

    stat命令用于显示文件的状态信息。stat命令的输出信息比ls命令的输出信息要更详细

    第41章 mounts
    cat   /proc/mounts可查看当前已经挂载文件系统的列表

    umount()系统调用用于卸载已经挂载的文件系统



  • 相关阅读:
    二分图匹配与带权匹配
    2021牛客多校第九场CCells LGV引理 FFT 线性代数
    Kubernetes upgrading from 1.18.5 to 1.22
    阿里云云盘在线扩容
    Kubernetes健康检查
    浅谈.NET中程序集的动态加载
    用VBA提取excel中的日期和数字
    MVCC隔离性 事务并发支持
    MySQL 事务
    JMM内存模型和MESI缓存一致性协议 图解
  • 原文地址:https://www.cnblogs.com/nb-blog/p/5784038.html
Copyright © 2020-2023  润新知