5个常用的用于操作文件和目录Linux命令。
- mkdir:创建目录。
- cp:复制目录。
- mv:移动和重命名文件和目录。
- rm:删除文件和目录。
- ln:创建硬链接和符号链接。
使用命令比图形化界面可以执行更丰富的功能。
4.1 通配符wildcard
Shell要用到大量文件名,通过通配符来快速指定一组文件名。
通配符 | 含义 |
* | 匹配任意多个字符 |
? | 匹配任意单个字符 |
[characters] | 匹配属于字符集合character中的任意单个字符 |
[!characters] | 匹配不属于字符集合character中的任意单个字符 |
[[:class:]] | 匹配属于字符类class中的任意单个字符 |
字符类 | 含义 |
[:alnum:] | 匹配任意单个字母数字(alphanumeric)字符 |
[:alpha;] | 匹配任意单个字母 |
[:digit:] | 匹配任意单个数字 |
[:lower:] | 匹配任意单个小写字母 |
[:upper:] | 匹配任意单个大写字母 |
利用通配符可以构建出复杂的文件名匹配条件。
模式 | 匹配 |
* | 所有文件(但不能匹配隐藏文件).[!.]* |
g* | 以g开头的任意文件 |
b*.txt | 以b开头,扩展名为.txt的文件 |
Data??? | 以Data开头并紧接3个字符的文件 |
[abc]* | 以a、b、c、中任意字符开头的文件 |
BACKUP.[0-9][0-9][0-9] | 以BACKUP.开头并紧接3个数字的文件 |
[[:upper:]]* | 以单个大写字母开头的文件 |
[![:digit:]]* | 不以数字开头的文件 |
*[[:lower:]123] | 以小写字母或1、2、3中任意数字结尾的文件 |
查看/usr/bin 目录中所有以小写字母开头u开头的文件。
[root@iZ2zedyc2xu831hpw85bmhZ /]# cd /usr/bin
[root@iZ2zedyc2xu831hpw85bmhZ bin]# ls -l u*
-rwxr-xr-x 1 root root 447096 Dec 22 2021 udevadm
-rwxr-xr-x. 1 root root 62376 May 3 2021 udisksctl
-rwxr-xr-x. 1 root root 21080 Jul 21 2021 ul
-rwxr-xr-x. 1 root root 30 Jul 27 2021 ulimit
-rwxr-xr-x. 1 root root 29 Jul 27 2021 umask
-rwsr-xr-x. 1 root root 33544 Jul 21 2021 umount
-rwxr-xr-x. 1 root root 31 Jul 27 2021 unalias
-rwxr-xr-x. 1 root root 38216 Jul 14 2021 uname
lrwxrwxrwx. 1 root root 7 Jul 21 2021 uname26 -> setarch
-rwxr-xr-x. 1 root root 46672 Jul 14 2021 unexpand
-rwxr-xr-x. 1 root root 2613 Jul 21 2020 unicode_start
-rwxr-xr-x. 1 root root 363 Jul 21 2020 unicode_stop
-rwxr-xr-x. 1 root root 50808 Jul 14 2021 uniq
-rwxr-xr-x. 1 root root 59936 May 11 2019 unix2dos
lrwxrwxrwx. 1 root root 8 May 11 2019 unix2mac -> unix2dos
-rwxr-xr-x. 1 root root 34112 Jul 14 2021 unlink
-rwxr-xr-x. 2 root root 125176 Apr 7 2020 unpigz
-rwxr-xr-x. 1 root root 25528 Jul 21 2021 unshare
lrwxrwxrwx. 1 root root 24 Apr 28 18:05 unversioned-python -> /etc/alternatives/python
lrwxrwxrwx. 1 root root 2 May 11 2019 unxz -> xz
-rwxr-xr-x. 2 root root 206696 Jun 30 2021 unzip
-rwxr-xr-x. 1 root root 103864 Jun 30 2021 unzipsfx
-rwxr-xr-x. 1 root root 1268 Sep 22 2021 update-ca-trust
-rwxr-xr-x. 1 root root 87 Jun 17 2021 update-crypto-policies
-rwxr-xr-x. 1 root root 55128 May 11 2019 updatedb
-rwxr-xr-x. 1 root root 26168 May 14 2019 update-desktop-database
-rwxr-xr-x. 1 root root 55216 May 11 2019 update-mime-database
-rwxr-xr-x. 1 root root 12976 Feb 2 2021 uptime
-rwxr-xr-x. 1 root root 4102 May 15 2018 usb-devices
-rwxr-xr-x. 1 root root 31784 May 11 2019 usbhid-dump
-rwxr-xr-x. 1 root root 38264 Jul 14 2021 users
-rwxr-xr-x. 1 root root 12120 Feb 19 2021 usleep
-rwxr-xr-x. 1 root root 29352 Jul 21 2021 utmpdump
-rwxr-xr-x. 1 root root 16704 Jul 21 2021 uuidgen
-rwxr-xr-x. 1 root root 38032 Jul 21 2021 uuidparse
4.2 mkdir ---创建目录
mkdir directory...
三个点代表参数可重复
创建单个目录和创建三个目录
mkdir dir1
mkdir dir1 dir2 dir3
4.3 cp --- 复制文件和目录
将单个或多个文件或目录item1复制到文件或目录item2:
cp item... directory
选项 | 含义 |
-a,-archive | 复制文件和目录及其包括所有权和权限在内的所有属性。在通常情况下,副本采用执行复制操作的用户的默认属性。 |
-i,--interactive | 在覆盖已有文件之前,提示用户确认。如未指定该选项,cp命令会悄无声息的覆盖文件。(无警告) |
-r,--recursive | 递归复制目录及其内容。在复制目录时,要用到该选项(或者-a选项) |
-u,--update | 在将文件从一个目录复制到目标目录时,只复制目标目录中不存在或比目标目录中现有文件更新的文件。该选项在复制大批量文件时很实用,因为它能够跳过哪些不必复制的文件。 |
-v,--verbose | 在进行复制时显示相关信息。 |
命令 | 结果 |
cp file1 file2 | 将文件file1 复制为文件 file2.如果文件 file2 存在,使用文件file1的内容将其覆盖。如果文件file2 不存在,则创建文件file2 |
cp -i file1 file2 | 和前一个命令一样,除了当前文件file2存在时,在覆盖之前会提示用户。 |
cp file1 file2 dir1 | 将文件file1和文件file2复制到目录dir1.该目录必须事先存在。 |
cp dir1/* dir2 | 使用通配符,将目录dir1中的所有文件复制到目录dir2中。目录dir2必须事先存在 |
cp -r dir1 dir2 | 将目录dir1的内容复制到目录dir2。如果目录dir2不存在,则会先创建该目录,再复制目录dir1的内容。如果目录dir2已存在,目录dir1及其内容会被复制到目录dir2 |
4