进行文件与目录的操作时,常用的命令包括:
- mkdir: 创建目录。
- rm: 移除文件和目录。
- cp: 复制文件和目录。
- mv: 移动或重命名文件和目录。
- in:创建硬链接和符号链接。
进行文件操作时会用到通配符,常用的通配符如下:
| 通配符 | 匹配值 | 备注 |
|---|---|---|
| * | 匹配任意多个字符(≥0) | |
| ? | 匹配任意单个字符(>0) | |
| [character] | 匹配任意一个属于方括号内的字符串 | |
| [! character] | 匹配任意一个不属于方括号内的字符串 | |
| [[:class:]] | 匹配任意一个属于指定的字符类中的字符 | |
| [:alnum:] | 匹配任意一个字母或者数字 | |
| [:alpha:] | 匹配任意一个字母 | |
| [:digit:] | 匹配任意一个数字 | |
| [:lower:] | 匹配任意一个小写字母 | |
| [:upper:] | 匹配任意一个大写字母 |
代码示例:
| 通配符 | 匹配值 | 备注 |
|---|---|---|
| * | 全体文件 | |
| a* | 以字母a开头的任一文件 | |
| a*.txt | a开头,以.txt结尾的任意文件 | |
| a?? | 以字母a开头,后跟2个字符的任意文件 | |
| [abc]* | 以abc任意一个字符开头的任意文件 | |
| a[0-9][:digit:] | 以a开头,后跟2个数字的任意文件 | |
| [:upper]* | 以大写字母开头的任意文件 | |
| *[:lower:] | 以小写字母结尾的任意文件 | |
| [![:digit:]] | *不以数字开头的任意文件 |
创建目录 mkdir
命令格式:mkdir directory,例如创建一个目录为bobo:
mkdir bobo
mkdir命令可以同时带多个参数,即可以一次创建数个目录,例如在当前目录下同时创建三个目录books、reference、 notes:
mkdir books reference notes
复制文件和目录 cp
命令格式1:cp item1 directory,可以将文件(目录)item1复制到目录directory中,当directory不存在时,自动创建该目录。
命令格式2:cp item... directory,将多个文件(目录)复制至directory目录下,directory必须已存在。
cp命令的常用参数如下:
| 参数 | 含义 | 备注 |
|---|---|---|
| -a或--archive | 复制文件和目录以及属性,包括所有权及权限。 | |
| -i或--interactive | 覆盖已存在文件时,提示用户确认。没有该参数时会直接覆盖。 | |
| -r或--recursive | 递归的复制目录及内容,复制目录时应带该参数(或使用-a参数) | |
| -u或--update | 只复制目标目录中不存在的文件或是目标文件较旧的文件 | |
| -v或--verbpse | 复制文件时,显示消性的信息 |
cp命令示例:
| 命令 | 含义 | 备注 |
|---|---|---|
| cp apple.html fruit | 将文档apple.html复制到fruit目录下 | |
| cp fruit dinner | 将fruit文件复制到dinner目录下 | |
| cp -r fruit dinner | 将fruit目录复制到dinner目录下 | |
| cp -i fruit dinner | 同上,但当两者存在相同内容时会通知用户确认是否覆盖 | |
| cp fruit/* dinner | 将fruit下的所有文件复制入dinner目录下,dinner必须已存在 | |
| cp -u fruit dinner | 将fruit目录复制到dinner目录下,当存在相同的文件或者目标文件中文件更新时,则跳过该文件的复制 |
移除和重命名 mv
用于执行文件或目录的移动或重命名,该命令与复制命令类似,但是源文件将不存在。
命令格式1:mv item1 item2。将文件或者目录item1移动(或重命名)为item2。
命令格式2:mu item... directory。将多个文件(目录)移动到目录directory下。
mv的参数与cp类似,也包含-i、-u、-v等,在此不再赘述。
删除文件和目录 rm
rm命令用于删除文件和目录。
命令格式:rm item...
其中item可以是一个或者多个文件(目录)的名称。
由于linux系统不存在恢复命令,因此当配合通配符时,需要格外小心。例如下述命令会删除当前目录下所有的html文档:
rm *.html
但如果在*和.html间多打了一个空格时,系统会认为要删除所有文件以及一个叫做.html的文件:
rm * .html
其运行的结果是目录内所有文件被删除,并提醒用户未找到.html这个文件。
rm的常用参数列表:
| 参数 | 含义 | 备注 |
|---|---|---|
| -i,--interactive | 删除一个已存在的文件前,提示用户确认 | |
| -r,--recursive | 递归处理,会将目录下的文件和子目录均删除 | |
| -f,--force | 强制删除,不进行任何提示,会覆盖-i参数 | |
| -v,--verbose | 删除文件时,显示消息性信息 |
rm的使用实例:
| 命令 | 含义 | 备注 |
|---|---|---|
| rm file1 | 不提示用户的情况下,删除文件file1 | 如果file1时目录,则提示无法删除目录 |
| rm -i file1 | 删除文件file1之前,会提示用户进行确认 | |
| rm -r file1 dir1 | 删除file1、dir1,若为目录则删除其下所有文件 | 删除每个文件及目录时均会提示用户确认 |
| rm -rf file1 dir1 | 删除文件及目录,且不询问用户 |
建立链接 ln
命令格式1:ln file link。用于创建硬链接,仅能链接本磁盘分区下的文件。
命令格式2:ln -s item link。用于创建符号链接,可以链接文件、也可以链接目录。相当于Windows系统下的快捷方式。
rm命令可以移除链接,使用的格式同之前所讲。











网友评论