文件通配符
用于匹配文件名,不是匹配文件内容
- *匹配零个或多个字符
- ? 匹配任何单个字符
[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
- [:digit:]:任意数字,相当于0-9
- [:lower:]:任意小写字母
- [:upper:]: 任意大写字母 [:alpha:]: 任意大小写字母
- [:alnum:]:任意数字或字母
- [:blank:]:水平空白字符
- [:space:]:水平或垂直空白字符
- [:punct:]:标点符号
- [:print:]:可打印字符
- [:cntrl:]:控制(非打印)字符
- [:graph:]:图形字符
- [: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 显示目录树
-
- -d: 只显示目录
-
- -L level:指定显示的层级数目
-
- -P pattern: 只显示由指定pattern匹配到的路径
- mkdir 创建目录
-
- -p: 存在于不报错,且可自动创建所需的各目录
-
- -v: 显示详细信息
-
- -m MODE: 创建目录时直接指定权限
- rmdir 删除空目录
-
- -p: 递归删除父空目录
-
- -v: 显示详细信息
-
- 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 判断文件内容
以上内容仅供参考,如有不足,欢迎批评指正。