1.通配符
表1 常用的通配符以及它们所选择的对象
| 通配符 | 匹配项 |
|---|---|
| * | 匹配任意多个字符(包括0个和1个) |
| ? | 匹配任意单个字符(不包括0个) |
| [characters] | 匹配任意一个属于字符集中的字符 |
| [!characters] | 匹配任意一个不属于字符集中的字符 |
| [[:class:]] | 匹配任意一个属于指定字符类中的字符 |
表2 最常见的字符类
| 字符类 | 匹配项 |
|---|---|
| [:alnum:] | 匹配任意一个字母或数字 |
| [:alpha:] | 匹配任意一个字母 |
| [:digit] | 匹配任意一个数字 |
| [:lower:] | 匹配任意一个小写字母 |
| [:upper:] | 匹配任意一个大写字母 |
表3 通配符示例
| 形式 | 匹配项 |
|---|---|
| * | 所有文件 |
| 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中任一结尾的任一文件 |
2. mkdir——创建目录
语法 mkdir directory …
可同时创建多个目录,例如
mkdir dir1 dir2 dir3
3.cp——复制文件和目录
语法
复制单个文件: cp item directory
复制多个文件: cp item… directory
表4 cp命令选项
| 选项 | 含义 |
|---|---|
| -a,–archive | 复制文件和目录及其属性包括所有权和权限。通常来说,复制文件具有用户所操作文件的默认属性 |
| -i ,–interactive | 在覆盖一个已存在的文件前,提醒用户进行确认。如果没有指定该选项,cp会默认覆盖文件 |
| -r, --recursive | 递归地复制目录及其内容。复制目录时需要该选项 |
| -u,–update | 当将文件从一个目录复制到另外一个目录时,只会复制哪些目标目录中不存在的文件或是目标目录相应的更新文件 |
| -v, --verbose | 复制文件时,显示信息性消息(informative message) |
表5 cp命令示例
| 命令 | 结果 |
|---|---|
| cp file1 file2 | 将file1复制到file2,如果file2存在,则会被file1的内容覆盖,如果file2不存在,则创建file2 |
| cp -i file1 file2 | 同上,区别在于file2存在时,覆盖之前会通知用户确认 |
| cp file1 file2 dir1 | 将file1和file2复制到目录dir1里,dir1必须已经存在 |
| cp dir1/* dir2 | 通过使用通配符,将dir1中的所有文件复制的dir2中,dir2必须已经存在 |
| cp -r dir1 dir2 | 将dir1目录(及其内容)复制到dir2目录中,如果dir2不存在,创建dir2,且包含与dir1目录相同的内容. |
4. mv——移除和重命名文件
语法与cp类似
mv item1 item2,将文件(或目录)item1移动(或重命名)为item2
mv item… directory, 将一个或多个条目从一个目录移动到另一个目录下.
表6 mv命令选项
| 选项 | 含义 |
|---|---|
| -i ,–interactive | 在覆盖一个已存在的文件前,提醒用户进行确认。如果没有指定该选项,cp会默认覆盖文件 |
| -u,–update | 当将文件从一个目录移动到另外一个目录时,只会移动哪些目标目录中不存在的文件或是目标目录相应的更新文件 |
| -v, --verbose | 移动文件时,显示信息性消息(informative message) |
表7 mv命令示例
| 命令 | 结果 |
|---|---|
| mv file1 file2 | 将file1移动到file2,如果file2存在,则会被file1的内容覆盖,如果file2不存在,则创建file2,无论哪种情况,file1不再存在 |
| mv -i file1 file2 | 同上,区别在于file2存在时,覆盖之前会通知用户确认 |
| mv file1 file2 dir1 | 将file1和file2移动到目录dir1里,dir1必须已经存在 |
| mv dir1 dir2 | 将dir1(和其内容)移动到dir2中,如果dir2不存在,创建目录dir2,将dir1的内容移动到dir2下,同时删除目录dir1 |
5.rm——删除文件和目录
语法为 rm item…
表8 rm选项
| 选项 | 含义 |
|---|---|
| -i, --interative | 删除一个已存在的文件前,提示用户确认。如果没有指定这个选项,rm命令会默认删除文件 |
| -r, --recursive | 递归地删除目录。要删除一个目录,则必须指定该选项 |
| -f,–force | 忽略不存在的文件并无需提示确认,该选项会覆盖–interative选项 |
| -v,–verbose | 删除文件时显示信息性消息 |
表9 rm实例
命令 | 结果
rm file1 | 在不提示用户的情况下,删除file1
rm -i file1 | 删除file1前,提示用户确认
rm -r file1 dir1 | 删除file1、dir1以及它们的内容
rm -rf file1 dir1 | 同上,当file1或dir1不存在时,rm仍会继续执行,且不提示用户
6. ln——创建链接
语法:
ln file link,用来创建硬链接
ln -s item link, 用来创建软链接
6.1 硬链接
当创建一个硬链接时,也为这个文件创建了一个额外的目录条目,硬链接有两条重要的局限性:
- 硬链接不能引用自身文件系统之外的文件。也就是说,链接不能引用与该链接不在同一磁盘分区的文件。
- 硬链接无法引用目录。
ln fun fun-hard
ln fun dir1/fun-hard
ln fun dir2/fun-hard
ls -li
可通过索引字节号,即第一个字段,来看到fun和fun-hard共享同一个索引节点号。
6.2 符号链接
符号链接克服了硬链接的各种局限,与windows系统下的快捷方式很像。
ln -s fun fun-sym
ln -s ../fun dir1/fun-sym
ln -s ../fun dir2/fun-sym
ls -l dir1
输出首字段第1个字段的首字符“l”来确认的.
本文深入讲解了Linux系统中常用的文件操作命令,包括通配符的使用、目录创建、文件复制与移动、链接创建及文件删除等核心功能。通过具体示例,帮助读者掌握这些命令的语法、选项及应用场景。
14万+

被折叠的 条评论
为什么被折叠?



