当前位置: 首页 > java >正文

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

全文目录

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


写在前面

shell是一种命令解释器,它提供了用户和操作系统之间的交互接口。shell是面向命令行的,
而 X Window 则是图形界面。你在命令行输入命令,shell进行解释,然后送往操作系统执行。
shell可以执行 Linux 的系统内部命令,也可以执行应用程序。
本文从用户登陆到工作台之后实际对文件的访问流程来阐述,通过实际场景串联命令‌,展现从文件操作的完整流程,帮助读者理解命令间的逻辑关联。


1 确认当前工作路径

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

# 确认当前目录
pwd  # 输出:/home/username,定位当前目录,用户明确操作位置# 查看当前目录内容,列出文件或目录下的文件名
ls -l  # 详细列表(文件类型、权限、大小等)

在这里插入图片描述

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

2 导航与目录管理

2.1 关键命令

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

2.2 逻辑衔接

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

3 文件基础操作

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

  • 场景模拟:创建 → 备份 → 重命名 → 清理,展现文件的完整生命周期管理
# 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:文件名或目录名
touch report.txt  #新建一个空文件
  • 语法说明: cp [-r] 源地址 目的地址
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 源地址 目的地址
mv file1 file2 # 将文件 file1 更名为 file2
mv file1 dir1  # 将文件 file1 移到目录 dir1 下,文件名仍为 file1
mv dir1 dir2   # 将目录 dir1 更名为 dir2
  • 语法说明: rm 文件名
rm a.txt  # 删除文件a.txt
rm -r a/  # 删除目录a及文件
rm file?  # 删除文件名中有五个字符且前四个字符为 file 的所有文件
rm f*     # 删除文件名中以 f 为字首的所有文件
rm [-fir] 档案或目录  # 移除档案或目录
  • 语法: rmdir 目录名 或 rm 目录名
rmdir dir1  # 删除目录 dir1,但 dir1 下必须没有文件存在,否则无法删除
rm -r dir1  # 删除目录 dir1 及其子目录下所有文件,有文件也可以删

3.2 文件查看和编辑

  • 场景模拟:日志分析与数据提取
# 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 系统日志:核心文件与查看方法》进行详细的了解和学习。

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

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

3.3 文件链接

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

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

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

适用场景‌:
1、需要备份关键文件但避免重复存储。
2、同一文件需在不同目录下高频访问(如日志文件共享)。

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

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

适用场景‌:
1、目录引用(硬链接无法直接链接目录)。
2、动态库版本管理(如 libpython.so → libpython3.9.so)。

3.4 文件diff

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

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

4 文件权限与所有权管理

  • ‌场景模拟:协作与安全控制
# 1. 修改文件权限(禁止组用户写入)
chmod g-w sales2025.txt# 2. 更改文件所有者(移交管理权)
sudo chown newowner:sales2025.txt# 3. 设置目录权限(递归生效)
chmod -R 750 tempfiles/  # 所有者:rwx,组:r-x,其他:无权限
  • 语法说明:chmod [-R] mode name # 改变文件或目录的读、写、执行权限
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:文件名或目录名
chown user file1   # 将文件 file1 改为用户 user 所有
chown -R user dir1 # 将目录 dir1 及其子目录下面的所有文件改为用户 user 所有
  • 语法说明:chgrp [-R] 工作组名 name # 改变文件或目录工作组所有权,name:文件名或目录名
groups  # 检查自己所属的工作组名称
chgrp lsi file1    # 将文件 file1 的工作组所有权改为 lsi 所有
chgrp -R im dir1   # 将目录dir1 及其子目录下面的所有文件,改为 im 工作组所有
  • 安全提示

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

5 文件打包与归档

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


http://www.xdnf.cn/news/3577.html

相关文章:

  • mescroll.js 是在 H5端 运行的下拉刷新和上拉加载插件
  • 网络编程——Socket 编程详解(TCP / UDP)
  • C++拷贝构造函数详解
  • 使用 Mermaid 在 Markdown 中绘制图表
  • 数字智慧方案6213丨智慧园区规划方案(63页PPT)(文末有下载方式)
  • AI大模型-解决开发环境配置不足问题
  • 【AIStarter苹果版发布】黑苹果部署教程+跨平台AI应用测试指南
  • HCL(HashiCorp Configuration Language)是一种结构化配置语言
  • 13.多边形的三角剖分 (Triangulation) : Triangulation
  • 我的日记杂文
  • 中小企业MES系统详细设计
  • Rain World 雨世界 [DLC 解锁] [Steam Epic] [Windows SteamOS]
  • 新手SEO优化核心步骤
  • 《筑牢防线:全方位守护移动应用免受逆向侵扰》
  • 【JavaScript-Day 1】从零开始:全面了解 JavaScript 是什么、为什么学以及它与 Java 的区别
  • 【云盘】使用阿里云盘托管项目大文件
  • 销售总监求职简历模板
  • ACGRIME:用于全局优化和特征选择的自适应混沌高斯RIME优化器,附完整版免费代码
  • 65. Java 类和对象 - 创建和使用类与对象:摘要
  • [SoC]AXI总线Performance验证方案
  • 一天学完JDBC!!(万字总结)
  • 机器学习中的学习率及其衰减方法全面解析
  • 值此五一劳动节来临之际,
  • Java 入门:自定义标识符规则解析
  • ECMAScript 2(ES2):标准化的微调与巩固
  • STM32MP157开发板设置静态IP地址
  • stm32 HAI库 SPI(一)原理
  • spring-- 事务失效原因及多线程事务失效解决方案
  • spring中的@PostConstruct注解详解
  • 如何用Python绘制两个圆之间的8条公切线