复制
cp 命令的基本格式如下:
cp [选项] 源文件 目标文件
选项:
- -r : 递归复制,用于复制目录。
- -p : 复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间)。
- -i : 询问,如果目标文件已经存在,则会询问是否覆盖。
- -u : 若目标文件比源文件有差异,则使用该选项可以更新目标文件,可用于对文件的升级。
- -d : 如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接。
- -l : 把目标文件建立为源文件的硬链接文件,而不是复制源文件。
- -s : 把目标文件建立为源文件的软链接文件,而不是复制源文件。
- -a : 相当于选项的集合。
几种常用的复制操作命令如下:
- 1. 将文件夹1下的某文件复制到文件夹2下,命令如下:
cp folder1/folder1_1.txt folder2 # -r 加不加都可以
- 2. 将文件夹1下的所有内容(不包含文件夹1)复制到文件夹2下,命令如下:
cp -r folder1/. folder2/
或者
cp -r folder1/* folder2/
- 3. 将文件夹1以及包含的所有内容复制到文件夹2下,命令如下:
cp -r folder1/ folder2/ # 最后加不加斜线都可以
移动
用户可以使用 mv 命令来移动文件或目录至另一个问价或目录,还可以将目录或文件重命名。
mv 命令的基本格式:
mv [选项] 源文件或目录 目标文件或目录
选项:
- -f : 强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖。
- -i : 交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项)。
- -n : 如果目标文件已经存在,则不会覆盖移动,而且不询问用户。
- -v : 显示文件或目录的移动过程。
- -u : 若目标文件已经存在,但两者相比,源文件更新,则会对目标文件进行升级。
几种常见的移动操作命令如下:
- 1. 移动文件或目录
# 移动目录,和rm、cp不同的是,mv移动目录时不需要加入-r选项。
mv folder1 folder2 # 将文件夹1及其包含的内容移动到了文件夹2下,前提是两个文件夹都已经存在,如果folder3不存在就成了改名了
# 移动文件
mv folder1/folder1_1.txt folder2 # 将folder1_1.txt移动到了文件夹2下
- 2. 更改文件或目录名称
(如果原文件或目录和目标文件或目录在同一目录下,那就是改名。)
# 更改目录名称
mv folder1 folder3 # 将文件夹1改名为文件夹3,前提是folder3不存在,否则就成了把folder1及其包含的文件移动到folder3下面了
# 更改文件名称
mv folder1/folder1_1.txt folder1/folder1_2.txt # 将folder1_1.txt改名为folder1_2.txt
- 3. 强制移动
(如果目标目录下已经存在同名文件,则会提示是否覆盖,需要手工确认。这时如果移动的同名文件较多,则需要一个一个文件进行确认,很不方便。如果我们确认需要覆盖已经存在的同名文件,则可以使用 "-f" 选项进行强制移动,这就不再需要用户手工确认了。)
mv -f folder1/folder1_1.txt folder2
# 就算folder2下已经存在同名的文件,由于-f的作用,也会被强制覆盖。
- 4. 不覆盖移动
(既然可以强制覆盖移动,那也有可能需要不覆盖的移动。如果需要移动几百个同名文件,但是不想覆盖,这时就需要 "-n" 选项的帮助了。)
- 5. 显示移动过程
(如果我们想要知道在移动过程中到底有哪些文件进行了移动,则可以使用 "-v" 选项来查看详细的移动信息。)
删除
rm命令的基本格式如下:
rm [选项] 文件名
选项:
- -f: 强制删除文件,不提示确认;
- -i: 删除前进行提示确认;
- -r或-R: 递归删除目录及其下的所有文件;
- -v: 显示删除的详细信息。
几种常见的删除操作命令如下:
- 1. 删除单个文件:
rm file.txt
- 2. 删除多个文件:
rm file1.txt file2.txt
- 3. 删除目录及其下的所有文件:
rm -r directory
- 4. 强制删除文件:
rm -f file.txt
- 5. 删除前进行确认提示:
rm -i file.txt
注意:上述选项可以多个结合使用,如 rm -rf directory