2017.10.15 文件管理命令别名和glob

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2017.10.15 文件管理命令别名和glob相关的知识,希望对你有一定的参考价值。

一. 目录/文件的相关操作:

  1. 创建目录

   mkdir 选项 目录

    参数:

    -p 递归创建目录 

    例如:

在根目录/下创建uzz目录
[[email protected] /]# mkdir uzz
[[email protected] /]# ls /
12   bin   data1  home   lost+found  opt   sbin     sys  uzz
123  boot  dev    lib    media       proc  selinux  tmp  var
abc  data  etc    lib64  mnt         root  srv      usr  xxl
[[email protected] /]#
在uzz目录下创建xk目录,再在xk目录下创建wlgc目录
[[email protected] uzz]# mkdir -p xk/wlgc
[[email protected] uzz]# ls
xk
[[email protected] uzz]# ls xk
wlgc
[[email protected] uzz]# 

补充:linux中的相对路径和绝对路径:
绝对路径是指从根/开始的路径,例如 /etc/sysconfig/network-scripts/ifcfg-eth0
相对路径不从根开始,从当前路径说起,即./

  2.列出目录:

    ls 目录名  列出目录

    tree 目录名  查看目录树

例子:

列出mnt文件夹中的内容
[[email protected] uzz]# ls /mnt
cdrom
[[email protected] uzz]# 

递归列出uzz目录树
[[email protected] uzz]# tree /uzz
/uzz
└── xk
    └── wlgc

2 directories, 0 files
[[email protected] uzz]# 

补充:使用tree命令要先安装tree, 安装方法:yum install tree  –y   安装完会有乱码,
执行:LANG=EN 就可以解决

  3.切换目录

     cd 目录名

     例如:切换到uzz目录

  [[email protected] /]# cd /uzz
  [[email protected] uzz]#

  4. 查看当前目录

      pwd

  [[email protected] uzz]# pwd
  /uzz
  [[email protected] uzz]#

 5. 删除文件夹

     rm 参数 文件/文件夹

     -f   强制删除

     -r  删除文件夹

     例如:强制删除12文件夹

[[email protected] ~]# ls /
12   bin   data1  home   lost+found  opt   sbin     sys  uzz
123  boot  dev    lib    media       proc  selinux  tmp  var
abc  data  etc    lib64  mnt         root  srv      usr  xxl
[[email protected] ~]# rm -fr /12
[[email protected] ~]# ls /
123  boot   dev   lib         media  proc  selinux  tmp  var
abc  data   etc   lib64       mnt    root  srv      usr  xxl
bin  data1  home  lost+found  opt    sbin  sys      uzz
[[email protected] ~]#

6. 新建文件
    touch  创建文件或个更新文件的时间戳。 如果文件不存在,就创建新文件,如果文件存在,就更新文件的时间戳。
      例如:在uzz目录下创建1.txt,在uzz的xk目录下创建2.txt

   [[email protected] uzz]# touch 1.txt
   [[email protected] uzz]# touch xk/2.txt
   [[email protected] uzz]# ls
   1.txt  xk
   [[email protected] uzz]# ls xk
   2.txt  wlgc
   [[email protected] uzz]#

7 . 查看文件
      cat 目录名/文件名

     [[email protected] xk]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
   DEVICE=eth0
   HWADDR=00:0c:29:06:1c:66
   TYPE=Ethernet
   UUID=3bfb0110-c5ed-446c-856e-530bb2097725
   ONBOOT=yes
   NM_CONTROLLED=yes
   BOOTPROTO=none
   USERCTL=no
   IPV6INIT=no
   IPADDR=192.168.80.222
   NETMASK=255.255.255.0
   GATEWAY=192.168.80.1
   DNS1=8.8.8.8
   [[email protected] xk]#

8.  移动/复制文件/文件夹
      cp  拷贝文件/文件夹

      格式:cp 参数 源 目标

      例如:将uzz/xk下的2.txt拷贝到uzz下:

   [[email protected] xk]# cp 2.txt /uzz
   [[email protected] xk]# ls /uzz
   1.txt  2.txt  xk
   [[email protected] xk]#

      mv  移动文件/文件夹

      格式:mv 参数 源 目标

      例如:将uzz下的1.txt移动到uzz/xk文件夹中

   [[email protected] uzz]# mv 1.txt xk
   [[email protected] uzz]# ls xk
   1.txt  2.txt  wlgc
   [[email protected] uzz]#

9 .使用 vi 编辑文件

     vi 文件名

     然后按a或i进入编辑模式,对文本进行编辑,编辑完成后按esc,然后按shift+: 输入wq 回车保存      并退出

     例如:编辑uzz下的2.txt,输入内容:1 2 3 4

  [[email protected] uzz]# ls
    2.txt  xk
    [[email protected] uzz]# vi 2.txt
    
    1 2 3 4 
    ~
    ~
    ~
    ~
    "2.txt" 1L, 8C written
    [[email protected] uzz]# cat 2.txt
    1 2 3 4
    [[email protected] uzz]#

10. 命令别名(alias)

    通过alias实现:

    (1)alias

        显示当前shell进程所有可用的命令别名;

    (2)alias NAME="VALUE"

        定义别名NAME,其相当于执行命令“VALUE”;

    注意: 在命令行中定义别名,仅对当前shell进程有效,如果想永久有效,要定义在配置文件中;

            仅对当前用户:~/.bashrc

            对所有用户有效:/etc/bashrc

            Note:编辑配置给出的新配置不会立即生效;

            

            bash进程重新读取配置文件:

                source /path/to/config_file

                .  /path/to/config_file

    撤销别名:unalias

            unalias [-a] name [name ...]

    Note:如果别名同原命令的名称,则如果要执行原命令,可用“\COMMAND”;

11.glob的用法


bash中用于实现文件名“通配”

    通配符:*,?,[]

    (1)*

         任意长度的任意字符

                a*b:

                      aab, ab, a123b     可以

                      abc 不可以

    (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:]:标点符号


练习:

        1. 显示/var下所有以1开头,以一个小写字母结尾,且中间出现至少一位数字的文件或目录。

        2. 显示/etc/目录下,以任意一位数字开头,且以非数字结尾的文件或目录

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

        4. 复制/etc目录下,所有以m开头,以非数字结尾的文件或目录至/tmp/123目录中

        5. 复制/etc目录下,所有以.d结尾的文件或目录至/tmp/123目录中

        6. 复制/etc目录下,所有以.conf结尾,且以m,n,r,p开头的文件或目录至/tmp/123目录中











本文出自 “技术成就梦想” 博客,请务必保留此出处http://xuxiaoliang.blog.51cto.com/10882951/1972495

以上是关于2017.10.15 文件管理命令别名和glob的主要内容,如果未能解决你的问题,请参考以下文章

2.1-文件管理,命令别名和glob

马哥linux笔记(第4天 文件管理命令别名和glob)

alias and glob

bash特性之五

linux 继续学习bash特性(20170420)

使用 Gulp.js 和 globbing 模式就地修改文件(相同的目标)