欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > Linux 文件与目录管理

Linux 文件与目录管理

2025/6/24 6:00:10 来源:https://blog.csdn.net/qq_41964263/article/details/148741260  浏览:    关键词:Linux 文件与目录管理

以下是关于 Linux 文件与目录管理 的常用命令及其详细讲解,结合了知识库中的信息,帮助您高效管理文件和目录。


一、查看文件与目录

1. ls(列出目录内容)
  • 功能:显示当前目录下的文件和子目录。

  • 常用选项

    • ls:列出当前目录下的文件和目录(不带详细信息)。
    • ls -l:以详细格式显示文件信息(权限、所有者、大小、修改时间等)。
    • ls -a:显示所有文件(包括隐藏文件,以 . 开头的文件)。
    • ls -h:以人类可读的格式显示文件大小(如 2K5M)。
    • ls -R:递归显示目录及其子目录的所有内容。
    • ls -t:按修改时间排序(最近修改的文件在前)。
    • ls -S:按文件大小排序(大文件在前)。
    • ls -1:选项(数字 1)会强制以单列形式输出。
  • 示例

    ls -l /var/log       # 查看 /var/log 目录的详细内容
    ls -a .              # 显示当前目录下的所有文件(包括隐藏文件)
    

2. pwd(显示当前目录路径)
  • 功能:输出当前工作目录的绝对路径。

  • 常用选项

    • pwd:直接显示当前路径。
    • pwd -P:显示真实物理路径(绕过符号链接)。
  • 示例

    pwd                  # 输出当前目录路径,如 /home/user/docs
    

二、切换目录

3. cd(切换目录)
  • 功能:进入指定目录。

  • 常用用法

    • cd /path/to/directory:进入绝对路径目录。
    • cd directory_name:进入当前目录下的子目录(相对路径)。
    • cd ..:返回上一级目录。
    • cd -:切换到上一次所在的目录。
    • cd ~cd:返回用户的主目录。
  • 示例

    cd /home/user        # 进入用户的主目录
    cd ..                # 返回上一级目录
    cd -                 # 切换回上一个访问的目录
    

三、创建文件与目录

4. mkdir(创建目录)
  • 功能:创建新目录。

  • 常用选项

    • mkdir directory_name:创建单个目录。
    • mkdir -m 权限 directory_name: 配置文件的权限
    • mkdir -p path/to/directory:递归创建多级目录(如果父目录不存在则一并创建)。
    • mkdir -v directory_name:显示创建过程。
  • 示例

    mkdir project        # 创建名为 project 的目录
    mkdir -p project/src # 递归创建 project/src 目录
    mkdir -m 711 project # 创建权限为 rwx--x--x 的目录
    
5. touch(创建文件)
  • 功能:创建空文件或更新文件的时间戳

  • 示例

    touch file.txt       # 创建一个空文件 file.txt
    

四、删除文件与目录

6. rm(删除文件或目录)
  • 功能:删除文件或目录。

  • 常用选项

    • rm file_name:删除单个文件。
    • rm -f file_name:强制删除(不提示确认)。
    • rm -i file_name:在删除前会询问。
    • rm -r directory_name:递归删除目录及其内容。
    • rm -rf directory_name:强制递归删除(慎用!无提示删除目录及其所有内容)。
  • 示例

    rm file.txt          # 删除 file.txt 文件
    rm -r mydir          # 递归删除 mydir 目录及其内容
    
7. rmdir(删除空目录)
  • 功能:仅能删除空目录。

  • 常用选项mkdir -p 多级目录

  • 示例

    rmdir emptydir       # 删除名为 emptydir 的空目录
    rmdir -p dir1/dir2   # 删除名为 dir1、dir2 的空目录
    

五、复制文件与目录

8. cp(复制文件或目录)
  • 功能:复制文件或目录。

  • 常用选项

    • cp [选项] 源文件1 源文件2 ... 目标目录:复制文件到目标路径。
    • cp -i:交互式复制(覆盖前提示确认)。
    • cp -f:强制覆盖目标文件(不提示)。
    • cp -a:归档复制(保留源文件的所有属性,常用于备份 相当于 -pdr)。
    • cp -p:保留源文件的属性(时间戳、权限等)。
    • cp -d:保留符号链接。
    • cp -r:递归复制目录。
    • cp -v :显示详细的复制过程。
    • cp -l:创建硬链接而非复制文件(节省存储空间)。
    • cp -s:创建符号链接(快捷方式)。
    • cp -u:仅复制源文件比目标文件新或目标文件不存在的文件(增量更新)。
  • 示例

    cp -s file1.txt link_file.txt						#创建符号链接
    cp file1.txt file2.txt								#将file1.txt复制为file2.txt。#如果file2.txt已存在,会直接覆盖(除非使用-i选项)。
    cp file1.txt file2.txt /path/to/destination/		#复制多个文件到目录
    find /path/to/source/ -name "*.log" 
    -exec cp {} /path/to/destination/ \;				#结合find批量复制
    
  • 注意误区!!!

    错误

    • 不区分结尾是否带斜杠:可能导致复制行为不符合预期。

    正确

    • 源路径结尾带斜杠(/:表示复制该目录下的所有内容,而不是目录本身。

      cp -r source_dir/ target_dir/
      
      • 如果 target_dir/ 存在,source_dir/ 中的文件和子目录会被复制到 target_dir/ 下。
      • 如果 target_dir/ 不存在,会报错(因为 source_dir/ 是目录,结尾带斜杠表示“复制内容”而非“复制目录”)。
    • 源路径结尾不带斜杠:表示复制该目录本身

      cp -r source_dir target_dir/
      
      • 如果 target_dir/ 存在,会将 source_dir 作为一个子目录复制到 target_dir/ 下,形成 target_dir/source_dir/
      • 如果 target_dir/ 不存在,会直接创建 target_dir 并将 source_dir 内容放入其中。

六、移动或重命名文件与目录

9. mv(移动或重命名)
  • 功能:移动文件或目录,或重命名文件/目录。

  • 常用用法

    • mv [选项] 源文件1 源文件2 ... 目标文件:移动文件到目标路径。
      • 如果 目标文件 是一个目录,则将源文件移动到该目录中。
      • 如果 目标文件 是一个文件名,则将源文件重命名为目标文件名
    • mv -i:如果目标文件已存在,提示用户确认是否覆盖。
    • mv -f强制模式覆盖目标文件时不提示。
    • mv -v:显示移动过程的详细信息。
    • mv -b:如果目标文件已存在,先备份目标文件(添加 ~ 后缀)。
    • mv -n:如果目标文件已存在,则不进行任何操作。
    • mv -u:若目标文件已经存在,且 source 比较新,才会升级 (update)
  • 示例

    mv file.txt /tmp     # 将 file.txt 移动到 /tmp 目录
    mv oldname.txt newname.txt # 将 oldname.txt 重命名为 newname.txt
    

七、查找文件与目录

10. find(查找文件)
  • 功能:在文件系统中查找文件。

  • 常用选项

    • find /path -name "filename":按名称查找文件。
    • find /path -type d:查找目录。
    • find /path -size +10M:查找大于 10MB 的文件。
  • 示例

    find /home -name "*.log" # 在 /home 目录下查找所有 .log 文件
    
11. locate(快速查找文件)
  • 功能:通过数据库快速查找文件(需先更新数据库:updatedb)。

  • 示例

    locate *.txt         # 查找所有 .txt 文件
    

八、文件权限管理

12. chmod(修改文件权限)
  • 功能:更改文件或目录的权限。

  • 权限类型

    • r(读)、w(写)、x(执行)。
  • 权限设置

    • 数字模式:chmod 755 file(所有者:rwx,组:rx,其他:rx)。
    • 符号模式:chmod u+x file(给所有者添加执行权限)。
  • 示例

    chmod 755 script.sh  # 设置脚本文件权限为 rwxr-xr-x
    
13. chown(修改文件所有者)
  • 功能:更改文件或目录的所有者和所属组。

  • 示例

    chown user:group file.txt # 将 file.txt 的所有者设为 user,组设为 group
    

九、文件内容查看

14. cat
  • 功能:主要用于显示(从第一行开始)、合并、创建或输出文件内容。

  • 示例

    cat filename.txt			#可快速查看文件内容。
    cat file1.txt file2.txt		#将多个文件内容按顺序合并输出
    cat > newfile.txt			# 也可以创建文件,输入内容后按 Ctrl+D 保存退出
    
15. tac
  • 功能taccat命令相反(从最后一行开始显示)。
16. lessmore(分页查看文件)
  • 功能:分页查看文件内容(less 支持前后翻页,more 仅支持向后翻页)。

  • 示例

    less largefile.txt   	# 分页查看大文件
    less -N /etc/passwd  	# 显示行号,没有-n参数,大小写敏感
    ls -l | less		 	# 结合管道使用
    less +F /var/log/syslog # 实时追踪日志
    
17. head(查看文件)
  • 功能:命令用于查看文件的开头部分内容

  • 示例

    head file.txt			# 默认显示前 10 行
    head -n 5 file.txt  	# 显示前 5 行
    head -n -5 file.txt  	# 显示除最后 5 行外的所有内容
    head -c 100 file.txt  	# 显示前 100 字节
    head -c 2K file.txt    	# 显示前 2KB(2048 字节)
    head -c 1M file.txt    	# 显示前 1MB(1048576 字节)
    ls -t | head -n 3  		# 显示最近修改的 3 个文件
    
18. tail(查看文件)
  • 功能:用于查看文件的末尾内容

  • 示例

    tail file.txt				#默认显示文件的最后 10 行
    tail -n 20 file.txt   		# 显示文件的最后 20 行
    tail -n +10 file.txt  		# 从第 10 行开始显示到文件末尾
    tail -c 100 file.txt  		# 显示文件的最后 100 个字节
    tail -f /var/log/syslog   	# 实时显示 syslog 日志的新增内容,按 Ctrl+C 即可终止
    
19. nl
  • 功能:用于为文本文件的每一行添加行号。它比 cat -n 更灵活,支持更多自定义选项,例如行号格式、递增步长、分隔符等

  • 示例

    nl file.txt					# 为文件所有非空行添加行号
    nl -b a file.txt			# 为所有行(包括空行)编号
    nl -n rz file.txt			# 右对齐并补零(如 000001)
    nl -b p'^Error' file.txt  	# 仅对以 "Error" 开头的行编号
    

十、其他实用命令

20. wc(统计文件信息)
  • 功能:统计文件的行数、单词数和字节数。

  • 常用选项

    • wc -l:统计行数。
    • wc -w:统计单词数。
    • wc -c:统计字节数。
  • 示例

    wc -l file.txt       # 统计 file.txt 的行数
    

注意事项

  1. 谨慎使用 rm -rf:该命令会无提示删除目录及其内容,可能导致重要数据丢失。
  2. 权限管理:使用 chmodchown 时需注意权限设置,避免权限过高或过低。
  3. 递归操作:使用 cp -rrm -r 等递归操作时,确保目标路径正确。
  4. 文件备份:重要文件操作前,建议先备份。

通过以上命令,您可以高效管理 Linux 系统中的文件和目录。熟练掌握这些命令后,日常的文件操作将更加便捷!

如果有意见和或者建议欢迎留言讨论!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词