Linux工作台文件操作命令全流程解析

全文目录

    • [1 确认当前工作路径](#1 确认当前工作路径)
    • [2 导航与目录管理](#2 导航与目录管理)
      • [2.1 关键命令](#2.1 关键命令)
      • [2.2 逻辑衔接](#2.2 逻辑衔接)
    • [3 文件基础操作](#3 文件基础操作)
      • [3.1 创建 → 备份 → 重命名 → 清理](#3.1 创建 → 备份 → 重命名 → 清理)
      • [3.2 文件查看和编辑](#3.2 文件查看和编辑)
      • [3.3 文件链接](#3.3 文件链接)
      • [3.4 文件diff](#3.4 文件diff)
    • [4 文件权限与所有权管理](#4 文件权限与所有权管理)
    • [5 文件打包与归档](#5 文件打包与归档)
    • [6 参考文献](#6 参考文献)

写在前面

shell是一种命令解释器,它提供了用户和操作系统之间的交互接口。shell是面向命令行的,

而 X Window 则是图形界面。你在命令行输入命令,shell进行解释,然后送往操作系统执行。

shell可以执行 Linux 的系统内部命令,也可以执行应用程序。

本文从用户登陆到工作台之后实际对文件的访问流程来阐述,通过实际场景串联命令‌,展现从文件操作的完整流程,帮助读者理解命令间的逻辑关联。


1 确认当前工作路径

用户初登工作台,默认的工作路径为家目录(/home/username),如下

bash 复制代码
# 确认当前目录
pwd  # 输出:/home/username,定位当前目录,用户明确操作位置

# 查看当前目录内容,列出文件或目录下的文件名
ls -l  # 详细列表(文件类型、权限、大小等)
  • 语法说明: ls -atFlgR name
bash 复制代码
ls    # 列出目前目录下的文件名
ls -a # 列出包括以 .开始的隐藏文件的所有文件名
ls -t # 依照文件最后修改时间的顺序列出文件名
ls -F # 列出当前目录下的文件名及其类型。以/结尾表示为目录名,以*结尾表示为可执行文件,以@结尾表示为符号连接
ls -l  # 列出目录下所有文件的权限、所有者、文件大小、修改时间及名称
ls -lg # 同上,并显示出文件的所有者工作组名
ls -R  # 显示出目录下以及其所有子目录的文件名

2 导航与目录管理

2.1 关键命令

bash 复制代码
# 切换至工作目录(假设为项目目录)
cd ~/projects

# 创建新目录(用于存放临时文件)
mkdir temp_files

# 确认目录结构
tree -L 2  # 显示2级目录树(需安装 tree 工具)
  • 语法说明:cd name
bash 复制代码
name:目录名、路径或目录缩写
cd  # 改变目录位置至用户登录时的工作目录
cd  dir  # 改变目录位置至d i r目录下
cd  user # 改变目录位置至用户的工作目录
cd  ~ 	 # 返回家目录
cd  ..   # 改变目录位置至当前目录的父目录(上一级目录)
cd  ../user    # 改变目录位置至相对路径 user 的目录下
cd  /root/etc  # 改变目录位置至绝对路径的目录位置下
  • 语法说明: mkdir 目录名
bash 复制代码
mkdir tmp            # 建立一新目录 tmp
mkdir [-mp] 目录名称  # 建立一个新目录
rmdir 目录名称        # 删除一个空目录(仅能删除空的目录)

2.2 逻辑衔接

  • 创建目录后进行操作,避免文件散落混乱,体现规范性。

3 文件基础操作

3.1 创建 → 备份 → 重命名 → 清理

  • 场景模拟:创建 → 备份 → 重命名 → 清理,展现文件的完整生命周期管理
bash 复制代码
# 1. 创建空文件(准备编辑)
touch report.txt

# 2. 复制文件到备份目录(保留原文件)
cp report.txt temp_files/report_backup.txt -v  # -v 显示操作详情

# 3. 重命名文件(更清晰的命名)
mv report.txt sales_report_2023.txt

# 4. 删除临时目录中的旧备份(清理冗余)
rm temp_files/old_backup/*.txt -i  # -i 交互式确认删除
  • 语法说明:touch name # name:文件名或目录名
bash 复制代码
touch report.txt  #新建一个空文件
  • 语法说明: cp -r 源地址 目的地址
bash 复制代码
cp file1 file2       # 将文件 file1 复制成 file2
cp file1 dir1        # 将文件 file1 复制到目录 dir1 下,文件名仍为 file1
cp /tmp/file1 .      # 将目录 /tmp 下的文件 file1 复制到当前目录下,文件名仍为 file1
cp /tmp/file1 file2  # 将目录 /tmp 下的文件 file1 复制到当前目录下,文件名为file2
cp -r dir1 dir2      # 复制整个目录
  • 语法:mv 源地址 目的地址
bash 复制代码
mv file1 file2 # 将文件 file1 更名为 file2
mv file1 dir1  # 将文件 file1 移到目录 dir1 下,文件名仍为 file1
mv dir1 dir2   # 将目录 dir1 更名为 dir2
  • 语法说明: rm 文件名
bash 复制代码
rm a.txt  # 删除文件a.txt
rm -r a/  # 删除目录a及文件
rm file?  # 删除文件名中有五个字符且前四个字符为 file 的所有文件
rm f*     # 删除文件名中以 f 为字首的所有文件
rm [-fir] 档案或目录  # 移除档案或目录
  • 语法: rmdir 目录名 或 rm 目录名
bash 复制代码
rmdir dir1  # 删除目录 dir1,但 dir1 下必须没有文件存在,否则无法删除
rm -r dir1  # 删除目录 dir1 及其子目录下所有文件,有文件也可以删

3.2 文件查看和编辑

  • 场景模拟:日志分析与数据提取
bash 复制代码
# 1. 查看文件全部内容(短文件)
cat sales_report_2023.txt

# 2. 分页查看长日志(支持翻页搜索)
less system.log

# 3. 提取关键错误信息(过滤日志)
grep -i "error" system.log --color=auto

# 4. 查看文件尾部实时更新(监控日志)
tail -f system.log

详细文件查看命令可前往查看博文,《Linux日志处理命令完全解构》 和 《 全面理解Linux 系统日志:核心文件与查看方法》进行详细的了解和学习。

  • 文件编辑
bash 复制代码
nano draft.txt    # 使用nano简易编辑器
vim notes.md      # 使用vim高效编辑(`:wq`保存退出)

提示:初学者可从nano入手,逐步学习vim快捷键。

3.3 文件链接

同一文件,可拥有一个以上的名称,也就是把一个文件进行链接。

  • 硬连接
bash 复制代码
语法说明:ln 老文件名 新文件名
ln source.txt hard_link.txt   # 将文件 source.txt 链接至文件 hard_link.txt 

核心作用‌
1 、多路径访问‌ :允许一个文件通过多个路径名访问,删除任一硬链接不影响其他链接对文件数据的访问。

2、防误删保护‌ :通过创建重要文件的硬链接,即使原始路径被删除,仍可通过其他硬链接访问数据。
3、节省磁盘空间‌ :所有硬链接共享同一 inode 和数据块,不额外占用存储空间。

适用场景‌:

1、需要备份关键文件但避免重复存储。

2、同一文件需在不同目录下高频访问(如日志文件共享)。

  • 软链接
bash 复制代码
语法说明:ln -s  老文件名 新文件名
ln -s file3 file4   # 将文件 file4 链接至文件file3

核心作用‌:
‌1、跨文件系统引用‌ :可指向不同磁盘或分区的文件/目录。
‌2、快捷访问‌ :类似 Windows 快捷方式,简化长路径操作(如 /usr/local/bin 下创建常用脚本的软链接)。
‌3、动态路径映射‌ :通过修改软链接指向快速切换配置文件版本或环境(如开发/生产环境配置切换)。
4‌、节省空间与提升可移植性‌ :避免重复存储大文件,且路径变更后仅需更新软链接指向。

适用场景‌:

1、目录引用(硬链接无法直接链接目录)。

2、动态库版本管理(如 libpython.solibpython3.9.so)。

3.4 文件diff

有时我们会遇到对比文件的不同diff的情况

  • 语法说明:diff [-r] name1 name2 # name1 name2:可同时为文件名或目录名
bash 复制代码
diff file1 file2 比较文件 file1 与 file2 内各行的不同之处
diff -r dir1 dir2 比较目录 dir1 与 dir2 内各文件的不同之处

4 文件权限与所有权管理

  • ‌场景模拟:协作与安全控制
bash 复制代码
# 1. 修改文件权限(禁止组用户写入)
chmod g-w sales2025.txt

# 2. 更改文件所有者(移交管理权)
sudo chown newowner:sales2025.txt

# 3. 设置目录权限(递归生效)
chmod -R 750 tempfiles/  # 所有者:rwx,组:r-x,其他:无权限
  • 语法说明:chmod [-R] mode name # 改变文件或目录的读、写、执行权限
bash 复制代码
name :文件名或目录名。
mode: 3个8位数字或rwx的组合
r - read (读)、w - write (写)、x - execute (执行)
u - user (当前用户)、g - group(组)、o - other(其他用户) 

chmod  755  dir1  # 对于目录dir1,设定成任何使用者皆有读取及执行的权利,但只有所有者可做修改
chmod  700  file1 # 对于文件file1,设定只有所有者可以读、写和执行的权利
chmod  u+x  file2 # 对于文件file2,增加当前用户可以执行的权利
chmod  g+x  file3 # 对于文件file3,增加工作组使用者可执行的权利
chmod  o-r  file4 # 对于文件file4,删除其他使用者可读取的权利
  • 语法说明:chown [-R] 用户名 name # 改变文件或目录的所有权 ,name:文件名或目录名
bash 复制代码
chown user file1   # 将文件 file1 改为用户 user 所有
chown -R user dir1 # 将目录 dir1 及其子目录下面的所有文件改为用户 user 所有
  • 语法说明:chgrp [-R] 工作组名 name # 改变文件或目录工作组所有权,name:文件名或目录名
bash 复制代码
groups  # 检查自己所属的工作组名称
chgrp lsi file1    # 将文件 file1 的工作组所有权改为 lsi 所有
chgrp -R im dir1   # 将目录dir1 及其子目录下面的所有文件,改为 im 工作组所有
  • 安全提示

使用 sudo 需谨慎 ,避免过度授权
chmod 777 是危险操作,应明确业务需求

5 文件打包与归档

  • 场景模拟:数据备份与传输
bash 复制代码
# 1. 打包项目目录(保留权限和子目录)
tar -czvf project_backup.tar.gz ~/projects

# 2. 解压到新目录(校验文件完整性)
tar -xzvf project_backup.tar.gz -C /backup/

# 3. 快速压缩单个文件(节省空间)
gzip sales_report_2023.txt  # 生成 .gz 文件

6 参考文献

文献1文献2文献3


写在最后

文章整体从文件操作场景入手,带读者进行了文件操作的全流程解析说明,将其中用到的linux命令进行了详细的分析,如有任何问题,请您评论指正,希望对您有所帮助,觉得有用,也欢迎点赞和收藏。我们共同努力,一起进步!


相关推荐
大树889 小时前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠9 小时前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质9 小时前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush49 小时前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行52010 小时前
Linux 11 动态监控指令top
linux
Inhand陈工10 小时前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智11 小时前
ARP代理--工作原理
运维·网络·arp·arp代理
不会C语言的男孩11 小时前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言
shushangyun_11 小时前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
古城小栈11 小时前
Unix 与 Linux 异同小叙
linux·服务器·unix