Linux文件与目录管理命令 ls cp rm mv使用方法

avatar
作者
筋斗云
阅读量:0

Linux文件与目录的管理基本上包括:显示属性、复制、删除、移动文件与目录等,由于文件与目录的管理不仅重要而且操作频繁,所以本文列举一些常用的管理命令。

如需了解路径的概念及目录的基本操作,可参考【Linux】路径的概念及目录的操作

常用命令

ls:文件与目录的查看

cp:文件与目录的复制

rm:文件与目录的删除

mv:文件与目录的移动

文件与目录的查看 ls

ls 命令是 list 的缩写,用于列出目录中的文件和子目录,如果不指定目录,则默认显示当前目录的内容。

命令格式:

ls [选项] [目录名]  # 选项  -l:详细信息显示文件和目录信息,包括文件权限、所有者、大小等 -a:显示所有文件和目录,包括以点(.)开头的隐藏文件 -d:仅显示目录本身的信息,而不包括目录中的文件和子目录 -R:递归地显示目录及其子目录中的文件和目录 -t:按修改时间排序文件和目录 -r:反向排序文件和目录 

命令示例:

# 列出当前目录中的所有文件和目录 ls  # 详细信息列出当前目录中的所有文件和目录 ls -l  # 列出指定目录(如/home/www)中的所有文件和目录 ls /home/www  # 列出当前目录中的所有文件,包括隐藏文件 ls -a   # 递归地列出当前目录及其子目录中的所有文件和目录 ls -R  # 按修改时间排序当前目录中的文件和目录 ls -t  # 反向排序当前目录中的文件和目录 ls -r 

文件与目录的复制 cp

cp 命令是 copy 的缩写,用于将源文件或目录复制到指定的目标位置,可以复制单个文件或多个文件,以及整个目录及其内容。

在默认条件中,cp 的源文件与目标文件权限是不同的,目标文件的拥有者是命令操作者本身

命令格式:

cp [选项] 源文件或目录 目标位置  # 选项  -a:相当于 -dr --preserve=all 的组合,可以复制整个目录树,并保持文件和目录的属性不变 -r:递归复制整个目录及其内容 -i:在覆盖目标文件之前提示确认 -u:仅当源文件较新或目标文件不存在时,才复制文件 -p:保留源文件的权限、所有者和时间戳等属性 --preserve=all:除了 -p 的权限相关参数外,还加入了 SELinux 的属性,对 links、xattr 等也可复制 

如果源文件有两个及以上,则目标位置必须为目录

命令示例:

# 复制单个文件到指定位置 cp a.txt b.txt  # 复制多个文件到指定目录 cp file1.txt file2.txt /home/test/  # 递归复制目录及其内容到指定位置 cp -r /home/test/ /home/backup/  # 在覆盖目标文件之前提示确认 cp -i a.txt b.txt  # 仅当源文件较新或目标文件不存在时,才复制文件 cp -u a.txt b.txt  # 复制文件并保留其属性 cp -p a.txt b.txt 

使用 cp 命令时,需确保有足够的权限来执行复制操作,且需谨慎处理覆盖文件的情况,以免造成数据丢失。

文件与目录的删除 rm

rm 命令是 remove 的缩写,用于删除文件或目录,可以删除单个文件、多个文件或整个目录及其内容。

命令格式:

rm [选项] 文件或目录  # 选项  -r:递归删除目录及其内容(慎重操作) -f:强制删除不提示确认(慎重操作) -i:在删除之前提示确认 

命令示例:

# 删除单个文件 rm a.txt  # 删除多个文件 rm a.txt b.txt  # 递归删除目录及其内容(慎重操作) rm -r /home/test/  # 在删除之前提示确认 rm -i a.txt  # 强制删除文件,不提示确认(慎重操作) rm -f a.txt  # 强制递归删除目录及其内容,不提示确认(慎重操作) rm -rf /home/test/ 

使用 rm 命令时要慎重操作,尤其是在使用递归删除(-r)或强制删除(-f)选项时,确保要删除的文件或目录是正确的,并谨慎处理删除操作,以免造成数据丢失。

文件与目录的移动 mv

mv 命令是 move 的缩写,用于将文件或目录从一个位置移动到另一个位置,也可以用于重命名文件或目录。

命令格式:

mv [选项] 源文件或目录 目标位置或新名称  # 选项  -i:在覆盖目标文件之前提示确认 -u:仅当源文件较新或目标文件不存在时,才移动文件 -f:强制移动,不提示确认,如果目标文件存在则直接覆盖 

命令示例:

# 将文件移动到指定位置并重命名 mv a.txt /home/test/b.txt  # 重命名文件 mv a.txt b.txt  # 将多个文件移动到指定目录 mv file1.txt file2.txt /home/test/  # 在覆盖目标文件之前提示确认 mv -i a.txt b.txt  # 仅当源文件较新或目标文件不存在时,才移动文件 mv -u a.txt b.txt 

在使用mv命令时,要确保目标位置的路径是正确的,并谨慎处理覆盖文件的情况,以免造成数据丢失。

补充说明:因为 Linux 特有的权限及文件管理机制,所以在进行删除(rm)、移动(mv)、复制(cp)操作时一定要谨慎。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!