复制

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命令

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐