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命令进行了详细的分析,如有任何问题,请您评论指正,希望对您有所帮助,觉得有用,也欢迎点赞和收藏。我们共同努力,一起进步!


相关推荐
herinspace1 小时前
管家婆易指开单如何设置零售开单
运维·服务器·数据库·软件工程·sass·零售
IT阳晨。2 小时前
【嵌入式Linux】基于ARM-Linux的zero2平台的智慧楼宇管理系统项目
linux·arm开发
_清风来叙2 小时前
【Linux】Linux内核模块开发
linux·arm开发
于齐龙2 小时前
pip 常用命令及配置
linux·python·pip
让子弹飞022 小时前
24.Linux中RTC的驱动实验_csdn
linux·ubuntu·stm32mp157·驱动的分离和分层·rtc时间
Johny_Zhao2 小时前
在Ubuntu Server上安装Checkmk监控系统
linux·人工智能·网络安全·信息安全·云计算·shell·yum源·系统运维·checkmk
努力学习的小廉3 小时前
深度理解linux系统—— 进程优先级
linux·运维·服务器
浅安的邂逅3 小时前
Linux进程7-signal信号处理方式验证、可重入函数举例、信号集函数验证、信号集阻塞验证
linux·c语言·vim·进程通信·gcc
胖大和尚4 小时前
Linux C++ xercesc xml 怎么判断路径下有没有对应的节点
xml·linux·c++
花酒锄作田4 小时前
个人对Debian桌面系统的简单使用分享
linux