前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Linux入门】文件与目录管理

【Linux入门】文件与目录管理

原创
作者头像
参谋带个长
发布2023-12-08 08:42:04
2642
发布2023-12-08 08:42:04
举报

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

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

常用命令

ls:文件与目录的查看

cp:文件与目录的复制

rm:文件与目录的删除

mv:文件与目录的移动

文件与目录的查看 ls

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

命令格式:

代码语言:javascript
复制
ls [选项] [目录名]

# 选项

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

命令示例:

代码语言:javascript
复制
# 列出当前目录中的所有文件和目录
ls

# 详细信息列出当前目录中的所有文件和目录
ls -l

# 列出指定目录(如/home/www)中的所有文件和目录
ls /home/www

# 列出当前目录中的所有文件,包括隐藏文件
ls -a 

# 递归地列出当前目录及其子目录中的所有文件和目录
ls -R

# 按修改时间排序当前目录中的文件和目录
ls -t

# 反向排序当前目录中的文件和目录
ls -r

文件与目录的复制 cp

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

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

命令格式:

代码语言:javascript
复制
cp [选项] 源文件或目录 目标位置

# 选项

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

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

命令示例:

代码语言:javascript
复制
# 复制单个文件到指定位置
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 的缩写,用于删除文件或目录,可以删除单个文件、多个文件或整个目录及其内容。

命令格式:

代码语言:javascript
复制
rm [选项] 文件或目录

# 选项

-r:递归删除目录及其内容(慎重操作)
-f:强制删除不提示确认(慎重操作)
-i:在删除之前提示确认

命令示例:

代码语言:javascript
复制
# 删除单个文件
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 的缩写,用于将文件或目录从一个位置移动到另一个位置,也可以用于重命名文件或目录。

命令格式:

代码语言:javascript
复制
mv [选项] 源文件或目录 目标位置或新名称

# 选项

-i:在覆盖目标文件之前提示确认
-u:仅当源文件较新或目标文件不存在时,才移动文件
-f:强制移动,不提示确认,如果目标文件存在则直接覆盖

命令示例:

代码语言:javascript
复制
# 将文件移动到指定位置并重命名
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)操作时一定要谨慎。

我正在参与2023腾讯技术创作特训营第四期有奖征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 常用命令
  • 文件与目录的查看 ls
  • 文件与目录的复制 cp
  • 文件与目录的删除 rm
  • 文件与目录的移动 mv
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档