文章目录
Linux中划分为文件管理部分的命令有很多,本章主要大概介绍下各自的用法。命令具体详解后见单独章节。
1 文件的建立、移动和删除
文件的建立,移动和删除构成了文件管理的基础,其中文件建立最常用的方法就是利用文本编辑器(如vi、emacs等)。
在Linux系统下没有建立文件的专用命令,但是可以借助其他命令的特殊用法达到建立文件的目的。
1.1 cat
建立文件
cat
命令用来串接文件或显示文件内容的,但是如果从标准输入设备中读入数据并将结果重定向到一个新的文件中,则可以达到建立新文件的目的。
cat
命令在编辑新的文件时只能从键盘接收数据,不能灵活的对文件进行编辑,灵活性差。
1.1.1 语法格式与参数
cat [--help] [--version] >|>>[文件名]
1.1.2 示例
# 创建文件,并在输入提示符下输入内容
pang@pang-HP:~$ cat >abc.txt
123
451
用户从键盘上输入123 456
等,然后<Ctrl+C>
退出。查看文件内容为:
pang@pang-HP:~$ cat abc.txt
123
451
pang@pang-HP:~$
1.2 touch
建立文件
创建文件是touch
命令的一个特殊情况。touch
是用来修改指定文件的访问和修改时间属性,若指定文件不存在,则将创建一个新的空文件,并以当前的时间来设置文件的访问和修改时间。
1.2.1 语法格式与参数
touch [-r<参考文件>] [文件名]
-r<参考文件>
使用由参考文件的时间属性来设定新建的文件,而不是当前默认的时间。
1.2.2 示例
pang@pang-HP:~/文档/22$ touch abc1 abc2
pang@pang-HP:~/文档/22$ ll abc1 abc2
-rw-rw-r-- 1 pang pang 0 12月 19 11:11 abc1
-rw-rw-r-- 1 pang pang 0 12月 19 11:11 abc2
pang@pang-HP:~/文档/22$
1.2.3 注意
touch
命令只能建立新的空文件,必须借助文档编辑工具为新的文件录入内容。而cat
命令可以进行简单的文本录入工作。- 若以其他文件的时间属性作为参考建立新的空文件的时候,引用的参考文件必须存在。
- 参考的文件可以是目录文件
1.3 ln
建立链接文件
符号链接文件属于特殊的文件,利用较小的资源空间,就可以访问位于其他目录下的文件或目录。
符号链接文件包括硬链接和软链接:
- 硬链接就是建立一个inode(结点),该结点指向该文件放置内容的block块,新建的i结点和文件原来的i结点指向相同的内容;
- 软链接则是新建立一个独立的文件,该文件指向链接的文件,类似于Windows下的快捷方式;
1.3.1 语法格式与参数
ln [参数][-T][源文件链接文件]
ln [参数][源文件]
ln [参数][源文件][新建链接文件所在的目录]
ln [参数][-t][新建链接文件所在的目录][源文件]
参数:
参数 | 说明 |
---|---|
-b 或 -backup=[CONTROL] | 对已经存在的目标链接文件进行备份 |
-d 或 -F 或 --directory | 试图允许超级用户建立到目录的硬链接。注意,可能由于不同系统的限制导致操作失败 |
-f 或 --force | 链接时,先将与目标链接文件同一目录下的同名文件删除,不管该同名文件为何种类型 |
-i 或 --interactiv | 覆盖既有文件之前先询问用户 |
-n 或 --no-dereference | 将到目录的软链接文件看做普通文件 |
-s 或 --symbolic | 对源文件建立软链接,而非硬链接 |
-S<字尾备份字符串> 或 --suffix=<字尾备份字符串> | 用-b 参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,预设的字尾备份字符串是符号~ ,可通过-S 参数来修改 |
-t 或 --target-dircetory=DIRECTORY | 指定链接文件创建的目录,默认情况下,链接文件将创建到用户所在的目录 |
-T 或 --no-target-directory | 将链接文件看做普通文件一样对待 |
-v 或 --verbose | 显示指令执行过程 |
-V<备份方式> 或 --version-control | 用-b 参数备份目标文件时,使用-V 参数<备份方式>指定不同备份方式时,也会产生不同字尾的备份字符串 |
--help | 显示在线帮助信息 |
--version | 显示版本信息 |
1.3.2 示例
pang@pang-HP:~/文档/22$ ln -sv abc1 abc111
'abc111' -> 'abc1'
pang@pang-HP:~/文档/22$ ll
总用量 64292
drwxrwxr-x 3 pang pang 4096 12月 19 11:44 ./
drwxr-xr-x 16 pang pang 4096 12月 12 16:48 ../
-rw-rw-r-- 1 pang pang 0 12月 19 11:11 abc1
lrwxrwxrwx 1 pang pang 4 12月 19 11:44 abc111 -> abc1
-rw-rw-r-- 1 pang pang 0 12月 19 11:11 abc2
pang@pang-HP:~/文档/22$
1.3.3 注意事项
- 不管是硬链接还是软链接,
ln
命令都会保持每一处链接文件的同步性,即无论改动了哪一处,其他的文件都会发生相同的变化。 - 由于硬链接是利用结点链接到文件块,由于目录不需要占用块空间,因此不能建立到目录的硬链接;另外,不同的文件系统具有不同的结点表,由于硬链接是利用相同的结点访问存储在硬盘上的文件内容,所有硬链接也不允许跨越文件系统。
- 默认情况下是不允许建立到目录的硬链接,而超级用户利用
-d
或-F
或--directory
,系统将试着建立到目录的硬链接,但是能否成功,因系统而异。 ln
建立链接文件的时候,必须保持目标文件的存在。
1.4 rm
删除文件
当一些文件不需要时,可以利用rm
命令将文件永久地从硬盘上删除,该命令一般用来删除文件。但是若使用-r
参数,则可以直接删除一个目录,以及目录中所有的子目录。对于链接文件,只是断开了链接,源文件保持不变。用户在删除一个文件时,需要对该文件具有执行权限(x)。
1.4.1 语言格式与参数
rm [参数][文件或目录]
参数:
参数 | 说明 |
---|---|
-i 或 --interactive | 交互方式删除目标文件 |
-f 或 --force | 与i 参数相反。当删除文件的时候,不提示用户强行删除 |
-r 或 -R 或 --recursive | 表示rm 将指定目标文件列表中的全部目录和子目录均递归地删除,可用于删除非空目录 |
-d 或 --directory | 直接把想要删除的目录的硬链接数据变成0,然后删除该目录,注意只有超级用户才有该权限 |
-v 或 --verbose | 显示命令执行过程 |
--help | 显示在线帮助信息 |
--version | 显示版本信息 |
1.4.2 示例
rm install*
1.4.3 注意
rmdir
可以删除一个空目录,利用rm
可以递归删除一个非空目录;但是在使用rm
命令删除目录的时候,必须指明-r
参数,即rm
默认情况下,只能删除一般文件。- 使用
rm
命令要小心,因为一旦文件被删除,就不能恢复。系统默认使用交互方式删除文件,即使没有开启-i
参数,如果用户输入y,文件也将被删除。输入其他任意键,文件将不会被删除。 - 只有文件的属主或超级用户才能删除指定文件
1.5 mv
移动或重命名文件
在Linux系统中,mv
命令可用于对文件,目录的重命名及移动进行操作。系统会根据参数的类型,自动判断是移动还是重命名操作。
1.5.1 语法格式与参数
mv [参数][源文件或目录][目标目录或目标文件]
参数:
参数 | 说明 |
---|---|
-b 或 --backup | 若需覆盖文件,则覆盖前先行备份 |
-i 或 --interactive | 以交互方式操作。如果mv 操作将导致对已存在的目标文件覆盖,此时系统询问是否重写,用户可以输入y或n,这样可以避免误覆盖文件 |
-f 或 --force | 禁止交互操作。在mv 操作要覆盖某已有的目标文件时不给任何提示,并且指定此参数后,i 参数将不再起作用 |
-u 或 --update | 如果目标文件已经存在并且和源文件一致或较源文件新,则不移动文件 |
-v 或 --verbose | 在移动每个文件的同时,在屏幕上显示文件的名称 |
-S<备份后缀字符或字符串> 或 --suffix=<备份后缀字符或字符串> | 与-b 参数一并使用,可指定备份文件的后缀字符串 |
--help | 显示在线帮助信息 |
--version | 显示版本信息 |
1.5.2 示例
# 把文件移动到/home目录下,必须具有对该目录具有写权限,普通用户是不能将文件移动到美欧写权限的目录下
mv abc1 /home/abc1-new
1.5.3 注意
- 文件的移动目标输入错误,系统理解为文件重命名,不能达到移动文件的目的。
- 移动多个文件时,指定目标目录不存在,则产生错误提示信息
- 经文件移动到目标的目录必须对该目录具有写权限