linux环境下常用的命令(3)---含文件通配符用法

文件通配符

用于匹配文件名,不是匹配文件内容

  • *匹配零个或多个字符
  • ? 匹配任何单个字符
[root@CentOS7 ~]# ls /data
aa    file10.txt  file2.txt  file4.txt  file6.txt  file8.txt
asnd  file1.txt   file3.txt  file5.txt  file7.txt  file9.txt
[root@CentOS7 ~]# ls /data/a*
/data/aa  /data/asnd
[root@CentOS7 ~]# ls /data/a?
/data/aa
  • ~ 当前用户家目录
  • ~+ 当前工作目录
  • ~- 前一个工作目录
[root@CentOS7 ~]# cd /data/
[root@CentOS7 data]# cd /boot
[root@CentOS7 boot]# ls ~-/aa
/data/aa
  • [0-9] 匹配数字范围
  • [a-z]:字母
  • [A-Z]:字母
[root@CentOS7 data]# ll f[a-c].txt
-rw-r--r--. 1 root root 0 Mar 23 10:12 fa.txt
-rw-r--r--. 1 root root 0 Mar 23 10:13 fA.txt
-rw-r--r--. 1 root root 0 Mar 23 10:12 fb.txt
-rw-r--r--. 1 root root 0 Mar 23 10:13 fB.txt
-rw-r--r--. 1 root root 0 Mar 23 10:12 fc.txt

     注:a-c里包含a.A.b.B.c,但不包含C

  • [wang] 匹配列表中的任何的一个字符
  • [^wang] 匹配列表中的所有字符以外的字符
[root@CentOS7 data]# ll f[ab].txt
-rw-r--r--. 1 root root 0 Mar 23 10:12 fa.txt
-rw-r--r--. 1 root root 0 Mar 23 10:12 fb.txt
[root@CentOS7 data]# ll f[^ab].txt
-rw-r--r--. 1 root root 0 Mar 23 10:13 fA.txt
-rw-r--r--. 1 root root 0 Mar 23 10:13 fB.txt
-rw-r--r--. 1 root root 0 Mar 23 10:12 fc.txt
-rw-r--r--. 1 root root 0 Mar 23 10:13 fC.txt
···

预定义的字符类:man 7 glob

  1. [:digit:]:任意数字,相当于0-9
  2. [:lower:]:任意小写字母
  3. [:upper:]: 任意大写字母 [:alpha:]: 任意大小写字母
  4. [:alnum:]:任意数字或字母
  5. [:blank:]:水平空白字符
  6. [:space:]:水平或垂直空白字符
  7. [:punct:]:标点符号
  8. [:print:]:可打印字符
  9. [:cntrl:]:控制(非打印)字符
  10. [:graph:]:图形字符
  11. [:xdigit:]:十六进制字符

touch 的用法

  • touch用于创建空文件,如果文件夹里存在相同的文件名的文件,不会将其覆盖,但会修改其创建时间。
  • 使用 > 创建文件,会将其文件内容覆盖。
  • 使用 >> 创建文件,如果文件夹里存在相同的文件名的文件,既不会覆盖文件内容,也不会修改文件时间,更为安全
[root@CentOS7 data]# cp /etc/pnm2ppa.conf new2.txt
[root@CentOS7 data]# ll new2.txt 
-rw-r--r--. 1 root root 6300 Mar 23 10:27 new2.txt
[root@CentOS7 data]# touch new2.txt
[root@CentOS7 data]# ll new2.txt
-rw-r--r--. 1 root root 6300 Mar 23 10:28 new2.txt
[root@CentOS7 data]# > new2.txt
[root@CentOS7 data]# ll new2.txt 
-rw-r--r--. 1 root root 0 Mar 23 10:28 new2.txt
[root@CentOS7 data]# ll new2.txt 
-rw-r--r--. 1 root root 0 Mar 23 10:28 new2.txt
[root@CentOS7 data]# >> new2.txt
[root@CentOS7 data]# ll new2.txt
-rw-r--r--. 1 root root 0 Mar 23 10:28 new2.txt

cp的用法

  • cp主要用于拷贝文件
  • cp在系统中定义的别名为cp -i,拷贝文件夹中如果存在同名文件,会询问是否覆盖
  • \cp 会使用原始cp命令,不进行询问,直接覆盖
  • cp -a 会保存原来文件的属性;cp -av 可查看到拷贝过程。
  • cp默认不允许拷贝文件夹,cp-r 可以拷贝文件夹
    注:拷贝A文件夹时,会将拷贝的A文件夹修改为指定的文件夹B名称,如果A拷贝的文件夹里已存在需修改的B名称,会默认在拷贝到的B文件夹里创建一个文件夹,名称为拷贝原文件夹A名称
[root@CentOS7 data]# cp -r /boot /data/bootbak
[root@CentOS7 data]# ll
total 4
dr-xr-xr-x. 5 root root 4096 Mar 23 10:48 bootbak
[root@CentOS7 data]# cp -r /boot /data/bootbak
[root@CentOS7 data]# ls bootbak/
boot
config-3.10.0-957.el7.x86_64
efi
grub
grub2
···
  • cp --backup=numbered 目标存在,覆盖前先备份加数字后缀
[root@CentOS7 data]# cp /etc/f1 f2.txt
[root@CentOS7 data]# ll
total 0
-rw-r--r--. 1 root root 0 Mar 23 11:17 f2.txt
[root@CentOS7 data]# cp --backup=numbered /etc/f1 f2.txt
cp: overwrite ‘f2.txt’? y
[root@CentOS7 data]# ll
total 0
-rw-r--r--. 1 root root 0 Mar 23 11:20 f2.txt
-rw-r--r--. 1 root root 0 Mar 23 11:18 f2.txt.~1~
[root@CentOS7 data]# cp --backup=numbered /etc/f1 f2.txt
cp: overwrite ‘f2.txt’? y
[root@CentOS7 data]# ll
total 0
-rw-r--r--. 1 root root 0 Mar 23 11:20 f2.txt
-rw-r--r--. 1 root root 0 Mar 23 11:18 f2.txt.~1~
-rw-r--r--. 1 root root 0 Mar 23 11:20 f2.txt.~2~

mv的用法

  • 移动或重命名文件
[root@CentOS7 data]# ls
f2.txt  f2.txt.~1~  f2.txt.~2~
[root@CentOS7 data]# mv f2.txt /etc/
[root@CentOS7 data]# ls
f2.txt.~1~  f2.txt.~2~
[root@CentOS7 data]# mv f2.txt.~1~ f5
[root@CentOS7 data]# ls
f2.txt.~2~  f5

terr的用法

  • 显示目录树
  • tree 显示目录树
    1. -d: 只显示目录
    1. -L level:指定显示的层级数目
    1. -P pattern: 只显示由指定pattern匹配到的路径
  • mkdir 创建目录
    1. -p: 存在于不报错,且可自动创建所需的各目录
    1. -v: 显示详细信息
    1. -m MODE: 创建目录时直接指定权限
  • rmdir 删除空目录
    1. -p: 递归删除父空目录
    1. -v: 显示详细信息
    1. rm -r 递归删除目录树

硬链接的与软连接用法

  • ln 硬链接,给一个文件取多个名称,但是节点编号一致,不能跨分区。
[root@CentOS7 data]# ll -i f1
67 -rw-r--r--. 1 root root 0 Mar 23 11:48 f1
[root@CentOS7 data]# cp -a f1 f2
[root@CentOS7 data]# ll -i
total 0
67 -rw-r--r--. 1 root root 0 Mar 23 11:48 f1
68 -rw-r--r--. 1 root root 0 Mar 23 11:48 f2
[root@CentOS7 data]# ln f1 f1.ink
[root@CentOS7 data]# ll -i
total 0
67 -rw-r--r--. 2 root root 0 Mar 23 11:48 f1
67 -rw-r--r--. 2 root root 0 Mar 23 11:48 f1.ink
68 -rw-r--r--. 1 root root 0 Mar 23 11:48 f2

67 -rw-r–r--. 2 root root 0 Mar 23 11:48 f1,其中67为节点编号,2指有链接数,通俗讲就是一个文件有几个名称,磁盘的空间还是占一份。

注:f1与f1.ink为同一个文件,只是名字不一样,修改其中某个文件,其关联文件都会被修改。但是删除f1,f1.ink仍存在。

  • ln -s 软链接,又称符号链接。创建出的文件,节点编号不一致,类似于Windows的快捷方式,可以跨分区。
[root@CentOS7 data]# ln -s f2 f22
[root@CentOS7 data]# ll -i
total 0
67 -rw-r--r--. 2 root root 0 Mar 23 11:48 f1
67 -rw-r--r--. 2 root root 0 Mar 23 11:48 f1.ink
68 -rw-r--r--. 1 root root 0 Mar 23 11:48 f2
69 lrwxrwxrwx. 1 root root 2 Mar 23 12:02 f22 -> f2

注:如果原始文件被删除,软链接的文件不可使用;但是,重新拷贝一个与原始文件一样名称的文件,刚才创建的软链接仍可使用。

file 判断文件内容

    以上内容仅供参考,如有不足,欢迎批评指正。

附件

linux环境下常用的命令(1)
linux环境下常用的命令(2)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值