Linux 基础下令-文件与目录操作

罪恶克星  金牌会员 | 2024-9-12 05:02:57 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 641|帖子 641|积分 1923

在 Linux 操作系统中,文件和目录是组织和管理数据的焦点单元。作为一个下令行驱动的操作系统,Linux 提供了一系列强大且灵活的下令来操作文件和目录。掌握这些下令不仅是管理 Linux 系统的基础,也是高效使用 Linux 环境的关键。
一、文件与目录的基本操作

1.1 pwd —— 显示当前工作目录

pwd(print working directory)下令用于显示用户当前所在的目录路径。Linux 是一个多层次的文件系统,用户在执行操作时常常须要知道自己当前所在的目录。
  1. $ pwd
  2. /home/user
复制代码
1.2 ls —— 列出目录内容

ls(list)下令用于列出指定目录中的文件和子目录。它有许多选项来控制输出结果的格式和内容。
  1. $ ls
  2. file1.txt  file2.txt  dir1
  3. $ ls -l  # 显示详细信息,包括权限、所有者、大小等
  4. total 8
  5. -rw-r--r-- 1 user user  4096 Sep  8 09:00 file1.txt
  6. -rw-r--r-- 1 user user  2048 Sep  8 09:10 file2.txt
  7. drwxr-xr-x 2 user user  4096 Sep  8 09:15 dir1
  8. $ ls -a  # 显示所有文件,包括隐藏文件
  9. .  ..  .hidden_file  file1.txt  file2.txt  dir1
复制代码
常见的选项有:


  • -l:显示详细信息(如权限、大小、所有者等)。
  • -a:显示包括隐蔽文件在内的所有文件。
  • -h:以人类可读的形式显示文件大小(例如 KB、MB 等)。
1.3 cd —— 切换目录

cd(change directory)下令用于在不同的目录之间切换。通过指定目的目录的路径,用户可以快速移动到该目录。
  1. $ cd /home/user/Documents  # 切换到绝对路径 /home/user/Documents
  2. $ cd ..  # 返回上一级目录
  3. $ cd ~  # 切换到用户的主目录
复制代码


  • . 表现当前目录,.. 表现上一级目录,~ 表现用户的主目录。
1.4 mkdir —— 创建目录

mkdir(make directory)下令用于创建新的空目录。
  1. $ mkdir new_directory  # 创建一个名为 new_directory 的目录
  2. $ mkdir -p parent_directory/child_directory  # 递归创建目录,父目录不存在时一并创建
复制代码
选项 -p 用于创建不存在的父目录,这对于创建嵌套目录结构非常有用。
1.5 rmdir 和 rm -r —— 删除目录

rmdir(remove directory)下令用于删除空目录。如果目录非空,须要使用 rm -r 下令。
  1. $ rmdir empty_directory  # 删除空目录
  2. $ rm -r non_empty_directory  # 删除非空目录及其内部所有文件和子目录
复制代码


  • rm -r 的 -r(recursive)选项表现递归删除目录中的所有内容,因此操作时需格外警惕,避免误删告急文件。
1.6 touch —— 创建空文件或更新文件时间戳

touch 下令用于创建空文件或更新已存在文件的时间戳。如果指定的文件不存在,touch 会自动创建一个新的空文件。
  1. $ touch newfile.txt  # 创建一个空文件 newfile.txt
复制代码
如果文件已存在,touch 不会改变其内容,但会更新文件的修改时间。
1.7 cp —— 复制文件或目录

cp(copy)下令用于复制文件或目录。它支持将单个文件或整个目录复制到指定的位置。
  1. $ cp file1.txt file2.txt  # 复制 file1.txt 到 file2.txt
  2. $ cp -r dir1/ dir2/  # 递归复制目录 dir1 到 dir2
复制代码
常见选项:


  • -r:递归复制目录及其内容。
  • -i:提示用户确认是否覆盖已有文件。
  • -p:保留源文件的权限、所有者和时间戳信息。
1.8 mv —— 移动或重命名文件/目录

mv(move)下令既可以用于移动文件或目录,也可以用于重命名文件或目录。
  1. $ mv file1.txt file2.txt  # 重命名 file1.txt 为 file2.txt
  2. $ mv file1.txt /path/to/destination/  # 移动文件到指定目录
复制代码
如果目的文件或目录已经存在,mv 会覆盖它。可以通过 -i 选项来提示用户确认操作。
1.9 rm —— 删除文件或目录

rm(remove)下令用于删除文件或目录。与 cp 和 mv 类似,rm 也支持递归操作。
  1. $ rm file.txt  # 删除文件 file.txt
  2. $ rm -r directory/  # 递归删除目录及其内容
复制代码
常见选项:


  • -i:删除文件前提示用户确认。
  • -r:递归删除目录及其内容。
二、文件权限与管理

Linux 是一个多用户操作系统,文件和目录的权限管理非常告急。每个文件或目录都有对应的所有者、所属组以及对应的权限。
2.1 chmod —— 修改文件权限

chmod(change mode)下令用于修改文件或目录的权限。权限分为三类:读(r)、写(w)和执行(x)。每个文件的权限可以分别设置为用户、组和其他人。
权限表现的格式如下:


  • rwx:分别表现读(read)、写(write)和执行(execute)。
  • 例如,rwxr-xr-- 表现用户有读、写和执行权限,组有读和执行权限,其他人只有读权限。
  1. $ chmod 755 file.txt  # 设置文件权限为 rwxr-xr-x
复制代码
755 是一种八进制表现法:


  • 7 = rwx(用户权限)
  • 5 = r-x(组权限)
  • 5 = r-x(其他人权限)
2.2 chown 和 chgrp —— 修改文件所有者和组

chown(change owner)用于修改文件的所有者,chgrp(change group)用于修改文件的所属组。
  1. $ sudo chown new_owner file.txt  # 修改文件的所有者为 new_owner
  2. $ sudo chgrp new_group file.txt  # 修改文件的所属组为 new_group
复制代码
三、文件内容查看与编辑

3.1 cat —— 查看文件内容

cat(concatenate)下令用于查看文件内容,尤其是较小的文件。它会直接将文件的内容输出到终端。
  1. $ cat file.txt  # 查看文件内容
复制代码
3.2 more 和 less —— 分页查看文件内容

当文件内容较长时,more 和 less 下令可以帮助用户分页查看文件内容。它们不会一次性输出所有内容,而是按页展示,用户可以通过翻页查看。
  1. $ more file.txt  # 分页查看文件内容
  2. $ less file.txt  # 更加灵活的分页查看方式
复制代码
less 下令比 more 更加灵活,支持上下滚动。
3.3 head 和 tail —— 查看文件开头和结尾

head 和 tail 下令分别用于查看文件的前几行和后几行内容。
  1. $ head -n 10 file.txt  # 查看文件的前 10 行
  2. $ tail -n 10 file.txt  # 查看文件的最后 10 行
复制代码
tail 常常与 -f 选项结合使用,用于及时监控文件内容的变革,例如查看日志文件。
  1. $ tail -f /var/log/syslog  # 实时查看日志文件内容
复制代码
四、查找文件和目录

4.1 find —— 搜索文件和目录

find 下令用于在指定目录下递归搜索文件或目录。它支持根据名称、大小、时间等条件进行搜索。
  1. $ find /path/to/search -name "file.txt"  # 按名称搜索文件
  2. $ find /path/to/search -size +10M  # 搜索大于 10MB 的文件
复制代码
4.2 `locate

` —— 快速查找文件
locate 下令基于预构建的数据库来快速查找文件,它比 find 更快,但查找结果可能不是最新的。
  1. $ locate file.txt  # 快速查找文件
复制代码
4.3 grep —— 搜索文件内容

grep(global regular expression print)下令用于在文件中搜索指定的文本模式。它支持正则表达式,可以用于高效的文本匹配。
  1. $ grep "search_text" file.txt  # 搜索文件中包含 search_text 的行
  2. $ grep -r "search_text" /path/to/search  # 递归搜索目录中的文件内容
复制代码
五、总结

Linux 文件与目录操作是系统管理和开发的基础技能。通过熟练掌握这些下令,用户可以高效地管理文件系统,执行文件创建、复制、移动、删除等操作。Linux 提供了丰富的选项和工具来处理各种文件管理使命,理解并应用这些下令可以极大地提拔在 Linux 环境下的工作服从。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

罪恶克星

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表