Linux-ls-cp-tr-命令拓展及通配符

显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录

[11:23:02 root@centos8 ~]#ls -d /etc/[^[:alpha:]][[:alpha:]]*
ls: cannot access '/etc/[^[:alpha:]][[:alpha:]]*': No such file or directory


复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。

 

 

 

 1 [11:26:56 root@centos8 ~]#ls -d /etc/p*[^0-9]
 2 /etc/pam.d      /etc/pbm2ppa.conf  /etc/plymouth      /etc/prelink.conf.d  /etc/protocols
 3 /etc/papersize  /etc/pinforc       /etc/pm            /etc/printcap        /etc/pulse
 4 /etc/passwd     /etc/pipewire      /etc/pnm2ppa.conf  /etc/profile
 5 /etc/passwd-    /etc/pki           /etc/popt.d        /etc/profile.d
 6 [11:27:39 root@centos8 ~]#cp -r /etc/p*[^0-9] /tmp/mytest1/
 7 [11:28:03 root@centos8 ~]#ls /tmp/mytest1/
 8 pam.d      passwd-       pipewire  pm            prelink.conf.d  profile.d
 9 papersize  pbm2ppa.conf  pki       pnm2ppa.conf  printcap        protocols
10 passwd     pinforc       plymouth  popt.d        profile         pulse
11 [11:28:13 root@centos8 ~]#

将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中

1

2

 

 

 

 

 


 

ls命令:

  ls命令可以列出当前目录的内容或指定目录

    ls [options] [flies_or_dirs]

      常见选项

      -a 包含隐藏文件

      -l 显示额外的信息  (权限,大小,修改时间等)

      -R 目录递归

      -ld 目录和符号链接信息

      -1 文件分行显示

      -S 按从大到小排序

      -t 按mitme排序

      -u 适配-t选项,显示并按atime从新到旧排序

      -U 按目录存放顺序显示

      -X 按文件后缀排序

      -F 对不同类型文件显示时加不同的符号:*/=>@|

      -C 文件多时,以多列的方式显示文件,默认是一列(标注只能输出)

cp命令

  利用cp  (copy)命令可以实现文件或目录的复制 

      cp [OPTION]... [-T] SOURCE DEST
      cp [OPTION]... SOURCE... DIRECTORY
      cp [OPTION]... -t DIRECTORY SOURCE...

      cp SRC DEST
        SRC是文件:
           如果目标不存在,新建DEST,并将SRC中内容填充至DEST中
           如果目录存在:
             如果DEST是文件:将SRC中的内容覆盖至DEST中;
               此时建议为cp命令使用-i选项: 提醒目标存在 是否 覆盖
             如果DEST是目录:在DEST下新建与原文件同名的文件,并将SRC中内容填充至新文件中;
      cp SRC... DEST
        SRC... :多个文件
          DEST必须存在,且为目录,其他情形均会出错;
      cp SRC DEST
        SRC是目录:
          此时要使用选项:-r
          如果DEST不存在:则创建指定目录,复制SRC目录中所有文件至DEST中
          如果DEST存在:
          如果DEST是文件:报错
          如果DEST是目录:复制SRC目录中所有文件至DEST中
    常用选项:
      -i : 交互式 提醒目标存在 是否 覆盖
      -r , -R : 递归复制目录及内部的所有内容;
      -a: 归档 , 相当于 -dR --preserv=all
      -d: --no-dereference --preserv=links
      --preserv[=ATTR_LIST]
          mode: 权限
          ownership:属主属组
          timestamp:时间戳
          links: 链接属性
          xattr :扩展属性
          context:安全上下文
          all:以上所有
      -p:--preserv=mode,ownership,timestamp
      -v: --verbose 显示过程
      -f:--force

 tr 命令

  tr 转换和删除字符

    tr [OPTION]... SET1 [SET2]

      选项:

        -d 删除所有属于第一个字符集的字符

        -s 把连续重复的字符以单独一个字符表示,即去重

        -t 将第一个字符集对应字符转化为第二字符集对应的字符

        -c 取字符集的补集

 

 

通配符 

  通配符:*,?,[]
    (1) *
    任意长度的任意字符
      a*b: aab , ab , a123b
    (2) ?
    任意单个字符
      a?b:
      aab
      ab,a12b,abc
    (3) []
    匹配指定范围内的任意单个字符
    [0-9]
    [a-z] : 不区分字符大小写
    [A-Z] : 
    (4) [^] 取反
    匹配指定范围外的任意单个字符
    [^0-9]


    专用字符集合:
      [:digit:]任意数字,相当于0-9
      [:lower:]任意小写字母
      [:upper:]任意大写字母
      [:alpha:]任意大小写字母
      [:alnum:]任意数字或字母
      [:space:]空格
      [:punct:]任意标点符号

 

 

posted @ 2022-04-08 13:11  goodbay说拜拜  阅读(233)  评论(0编辑  收藏  举报