zoukankan      html  css  js  c++  java
  • Linux上的文件管理类命令(2)

    Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示;

    wc
    统计文件中的字节数、单词数、行数、并将统计结果显示输出

    -c, --bytes 打印字节数
    [root@qingcheng-web ~]# wc -c /etc/passwd
    935 /etc/passwd
    -m, --chars 打印字符数
    [root@qingcheng-web ~]# echo "123456"|wc -m
    7
    -l, --lines打印行数
    [root@qingcheng-web ~]# wc -l /etc/passwd
    21 /etc/passwd
    -w, --words打印单词数
    [root@qingcheng-web ~]# echo "li guo ping"|wc -w
    3
    

    cut
    在文件中的每一行中提取片断

    -b, --bytes=LIST   :输出这些字节
    -c, --characters=LIST 输出这些字符
    -d, --delimiter=DELIM 使用DELIM取代TAB做字段(field)分隔符
    -f, --fields=LIST 输出这些字段
    -s, --only-delimited 不显示没有分隔符的行
    
    [root@qingcheng-web ~]# cat /etc/passwd|cut -b 1 |head -5               //输出文件的第一个字符     
    r
    b
    d
    a
    l
    
    [root@db146 ~]# cat /etc/passwd|cut -c 1-4 |head -5                        //输出文件的前四个字符
    root
    bin:
    daem
    adm:
    lp:x
    
    
    [root@db146 ~]# cat /etc/passwd|cut -f5 -d ':' |head -5                        //以:分隔文件,输出第一个字段
    root
    bin
    daemon
    adm
    lp
    

    sort

    用法:sort [选项]...[文件]...
    或:sort [选项]... --files0-from=F
    串联排序所有指定文件并将结果写到标准输出。

    -f:忽略字符大小写
    -r:逆序
    -t delimiter:字段分隔符
    -k #:已指定字段为标准排序
    u:unip 排序后去重
    -n :s数值大小进行排序
    
    [root@db146 ~]# cat /etc/passwd |sort                  //sort 是默认以第一个数据来排序
    
    [root@db146 ~]# cat /etc/passwd|sort -t ':' -k 3     // /etc/passwd 内容是以:来分隔的,以第三栏来排序
    
    [root@db146 ~]# cat /etc/passwd|sort -t ':' -k 7 -u    //查看/etc/passwd有多少个shell:对/etc/passwd的第7个域进行排序,然后去重;
    

    uniq
    uniq [option]..[input][output]

    -c:显示每行重复次数
    -d:仅显示重复的行
    -u:仅显示不重复的行,显示唯一的行

    [root@db146 lgp]# cat unqtest 
    this is a test  
    this is a test  
    this is a test  
    i am tank  
    i love tank  
    i love tank  
    this is a test  
    whom have a try  
    WhoM have a try  
    you  have a try  
    i want to abroad  
    those are good men  
    we are good men
    
    [root@db146 lgp]# uniq -c unqtest                             #uniq的一个特性,检查重复行的时候,只会检查相邻的行。
          3 this is a test 
          1 i am tank 
          2 i love tank 
          1 this is a test 
          1 whom have a try 
          1 WhoM have a try 
          1 you  have a try 
          1 i want to abroad 
          1 those are good men 
          1 we are good men
    
    [root@db146 lgp]# sort unqtest |uniq -c
          1 i am tank  
          2 i love tank  
          1 i want to abroad  
          4 this is a test  
          1 those are good men  
          1 we are good men
          1 whom have a try  
          1 WhoM have a try  
          1 you  have a try 
    
    [root@db146 lgp]# uniq -d -c unqtest                //显示重复的行
          3 this is a test  
          2 i love tank
    

    cp
    将文件复制至目标文件,或将多个源文件复制至目标目录
    cp[option]...[-T]SOUCE DEST
    cp[option]...source...directory
    cp[option]...-t directory source...

    cp SRC DEST
        SRC是文件:
            如果 目标不存在,新建DEST,新建DEST,并将SRC中的内容填充值DEST中;
            如果目标存在:
                    如果DEST是文件,将SRC中的内容覆盖至DEST中;
                            此时建议为cp命令使用-i选项;
                    如果REST是目录,在DEST下新建与源文件同名的文件,并将SRC中的内容填充至新文件中
    cp SRC.... DEST
            SRC...多文件
                    dest必须存在,且为目录,其他情形均会出错;
    cp  SRC  DEST
            SRC是目录:
                       此选项为:-r
            如果DEST不存在,则创建指定目录,复制SRC目录中所有文件复制到DEST中
    
    -i:交互式
    -r:递归复制目录及内部所有内容
    -a:归档,相当于-dR --preserver=all
    -d:表示不跟踪符号链接所指向的源文件
    -p:保持原与文件属性信息
    -f: --force 强制覆盖
    -v:显示过程
    
    [root@db146 lgp]# cp -p test /home/    //将test文件 复制到home目录,并保留原文件的属性
    
    [root@db146 lgp]# cp -r zabbix/ /usr/local/        //将zabbix目录复制到/usr/locat目录
    
    [root@db146 lgp]# cp test{,.txt}                   //备份text文件,并在尾部加上.txt文件
    

    mv
    移动命令
    用法:
    mv [OPTION]... [-T] SOURCE DEST
    mv [OPTION]... SOURCE... DIRECTORY
    mv [OPTION]... -t DIRECTORY SOURCE...

    -i:交互式
    -f:强制  
    [root@db146 lgp]# mv -i ping/test  test.sh                  //将test文件重命名为test.sh
    
    [root@db146 lgp]# mv  ping/  network                        //将ping文件夹重命名为network
    

    rm
    删除命令
    rm [OPTION]... FILE...

    -i:交互式
    -f:强制
    -r:递归
    -v:详细显示进行步骤
     [root@db146 lgp]# rm test.txt                                      //删除文件需要确认
    rm:是否删除普通文件 "test.txt"?y
    [root@db146 lgp]# rm -f test.sh                                     //强制删除文件不确认
    [root@db146 lgp]# rm -rfv test.sh network/                  //强制删除当前的test目录
    已删除"network/ifcfg-eno16777736"
    已删除"network/ifcfg-eth1"
    已删除"network/backup/ifcfg-br0"
    已删除目录:"network/backup"
    已删除目录:"network/ping/hi"
    已删除目录:"network/ping"
    已删除目录:"network/"
    
  • 相关阅读:
    KVC
    MRC&ARC
    网络基础
    沙盒
    GCD深入了解
    iOS 架构模式MVVM
    iOS 源代码管理工具之SVN
    iOS给UIimage添加圆角的两种方式
    Objective-C 中,atomic原子性一定是安全的吗?
    iOS Block循环引用
  • 原文地址:https://www.cnblogs.com/kangfeng/p/8047731.html
Copyright © 2011-2022 走看看