[Linux] 命令行管理文件

目录

FHS

文件路径导航

ls命令

tree命令

stat命令

touch命令

命令行管理文件

mkdir命令

cp命令

mv命令

rm和rmdir命令

软链接

硬链接

软连接硬链接区别

shell扩展匹配文件


FHS

FHS采用树形结构组织文件,定义了系统中每个区域的用途、所需要的最小构成的文件和目录,同时还给出了例外处理与矛盾处理。

FHS定义了两层规范:

  • 定义了/下面的各个目录应该要放什么文件数据。例如/etc应该要放置设置文件,/bin与/sbin则应该要放置可执行文件等等。

  • 针对/usr及/var这两个目录的子目录来定义。例如/var/log放置系统登录文件、/usr/share放置共享数据等等。

文件路径导航

  • 显示当前工作目录
pwd

  • 切换路径
cd

  • 切换到上一次所在目录
cd -

  • 切换到家目录
cd
#或
cd ~

  • 上一级目录

  • ..表示

  • 在变量定义文件的路径时,尽量使用绝对路径

ls命令

  • -1:以单列格式展示

  • -R:递归查看子目录中文件

  • -l:长列表格式查看文件详细信息

  • ls命令默认按文件名先后顺序正向排序,使用-r选项可以反向排序,-t按时间排序

  • -d:只查看对象本身

tree命令

安装tree工具

yum install -y tree

使用tree

tree /etc/yum

  • 控制查看深度
tree -L 2 /home

stat命令

查看文件的元数据属性

stat /etc/fstab

touch命令

如果文件不存在,则创建文件。当使用-c选项时,如果文件不存在,则不会创建文件。

其余选项可通过touch --help查看

命令行管理文件

mkdir命令

创建目录。用-p选项可以创建多层目录

cp命令

  • 复制单个文件到目标位置

  • 复制并重命名
cp /etc/hosts ./hosts-1

注意:

  1. 若当前目录下有同名文件,不会提示,直接覆盖。

  2. 复制多个文件时,目标只能是目录

  • -r:复制目录

  1. 复制多个目录,目标必须是已经存在的目录

  2. 当前目录下有同名目录,则将源目录放到相同目录下面,而不是覆盖当前目录

mv命令

  • 移动单个文件
mv hosts-1 ../lab1

移动多个文件,目标位置只能是目录

  • 重命名
mv hosts hosts-new

  • 移动单个或多个目录
#移动单个
mv etc ../lab1#移动多个
mv home/ yum/ yum-1/ ../lab1

rm和rmdir命令

  • 删除文件
rm hosts-new

-f选项可直接删除

  • rmdir可删除空目录,但无法删除非空目录

-r选项可递归删除目录,-fr:递归强制删除目录

软链接

  • 软链接: 类似于windows中快捷方式,也是一种文件;用于存放源文件的路径(位置+名字),应用最多.

查看链接文件

 ll /etc/rc.local
 lrwxrwxrwx. 1 root root 13 Mar  7  2024 /etc/rc.local -> rc.d/rc.local
 
 rc.d/rc.local的位置在/etc/rc.d/rc.local 可以打开/etc/rc.local文件查看到
  • ln(link)创建软连接或硬链接,默认创建硬链接.

  • 创建软连接 :ln -s 源文件 软链接文件

 #准备新的环境 new目录
 mkdir -p /dir0/new
 cd /dir0/new/
 #创建源文件
 touch test.txt
 [root@boot new]# ll
 total 0
 -rw-r--r--. 1 root root 0 Nov 17 14:01 test.txt
 #创建软连接
 [root@boot new]# ln -s test.txt stest.txt
 [root@boot new]# ll
 total 0
 lrwxrwxrwx. 1 root root 8 Nov 17 14:06 stext.txt -> test.txt#可以发现软连接指向源文件
 -rw-r--r--. 1 root root 0 Nov 17 14:01 test.txt
 #从源文件位置写入内容
 [root@boot new]# echo 'aaa' >> test.txt 
 [root@boot new]# cat stext.txt 
 aaa
 [root@boot new]# cat test.txt 
 aaa
 #从软连接位置写入内容
 [root@boot new]# echo 'bbb' >> stext.txt 
 [root@boot new]# cat stext.txt 
 aaa
 bbb
 [root@boot new]# cat test.txt 
 aaa
 bbb
 #建议使用绝对路径创建软连接
 #创建绝对路径的软连接
 ln -s /dir0/new/test.txt   stest.txt
 #因为这样链接文件即使移动后能被找到,可以移动stest.txt试试

如果源文件被删除或改名或移动走,软连接会如何? 答:会红色闪烁

硬链接

  • 硬链接: 在同一个分区中,不同的文件的inode号码相同了,这些文件互为硬链接,很少使用.

硬链接

 #创建新的实验文件ytest.txt
 [root@boot new]# touch ytest.txt
 #给新文件创建硬链接
 [root@boot new]# ln ytest.txt ytest.txt_head
 [root@boot new]# ll
 #可以发现硬链接并没有显示l,我们可以发现ytest.txt与ytest.txt_head硬链接数量变为2了
 total 4
 -rw-r--r--. 1 root root 8 Nov 17 14:07 test.txt
 -rw-r--r--. 2 root root 0 Nov 17 14:18 ytest.txt
 -rw-r--r--. 2 root root 0 Nov 17 14:18 ytest.txt_head
 #可以通过ll -i 查看,发现两个文件inode是相同的
 [root@boot new]# ll -i
 total 4
 13662 -rw-r--r--. 1 root root 8 Nov 17 14:07 test.txt
 13664 -rw-r--r--. 2 root root 0 Nov 17 14:18 ytest.txt
 13664 -rw-r--r--. 2 root root 0 Nov 17 14:18 ytest.txt_head
 #再通过两个文件中分别加入内容是与软链接的效果一致的

软连接硬链接区别

  • 解释

  • 软连接(符号链接) softlink/symlink,类似于windows快捷方式,存放源文件的位置。

  • 硬链接: 同一个分区中inode号码相同的文件,互为硬链接。

  • 创建

  • 软连接通过ln -s创建

  • 硬链接通过ln创建。

  • 特点

  • 软链接是比较常用的,可以给文件,目录创建。

  • 硬链接只能给文件创建,不能跨分区,无法给目录创建硬链接,较少使用。

shell扩展匹配文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/diannao/86442.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自动化过程中,如何定位一闪而过的toast?

MutationObserver实战:动态捕获页面Toast消息的终极解决方案 一、代码全景解析 const observer new MutationObserver((mutations) > {// 回调函数主体... });observer.observe(document.body, {childList: true,subtree: true });核心组件解析 组件作用重要…

基于 Three.js 的数字雨波纹效果技术解析

文章目录 一、基础环境搭建与 Three.js 引入​二、场景与相机设置​三、后期处理:光晕效果的实现​四、纹理创建:定制雨滴、波纹和水花外观​五、粒子系统:模拟雨滴下落与交互​1,雨滴粒子系统​2,波纹与水花系统​六、动画循环与交互响应​本文将深入剖析一段实现该效果的…

联想拯救者R9000P 网卡 Realtek 8852CE Ubuntu/Mint linux 系统睡眠后,无线网卡失效

联想拯救者R9000P 网卡型号 Realtek PCle GbE Family Controller Realtek 8852CE WiFi 6E PCI-E NIC 系统版本 Ubuntu 24.04 / mint 22.1 问题现象 rtw89_8852ce,Link is Down,xtal si not ready,mac init fail,xtal si not …

Java详解LeetCode 热题 100(26):LeetCode 142. 环形链表 II(Linked List Cycle II)详解

文章目录 1. 题目描述1.1 链表节点定义 2. 理解题目2.1 问题可视化2.2 核心挑战 3. 解法一:HashSet 标记访问法3.1 算法思路3.2 Java代码实现3.3 详细执行过程演示3.4 执行结果示例3.5 复杂度分析3.6 优缺点分析 4. 解法二:Floyd 快慢指针法(…

安宝特科技丨Pixee Medical产品获FDA认证 AR技术赋能骨科手术智能化

法国医疗科技企业Pixee Medical宣布,其研发的智能骨科手术导航系统 Knee NexSight 解决方案正式通过美国食品药品监督管理局(FDA)510(k)认证,标志着增强现实(AR)技术在医疗领域的商业化应用迈出关键一步。 …

操作系统的概念,功能和目标

小懒来了! 操作系统学习正式开始,day1是小懒O! Using blogs to organize and understand knowledge is a good way, lets learn, operating systems Chapter 1,Lets look at it (一)预备知识 一.什么是接口 1.假设我…

STM32使用水位传感器

1.1 介绍: 水位传感器专为水深检测而设计,可广泛用于感应降雨,水位,甚至液体泄漏。当将水位传感器放入水中时,水位没过铜线越多模拟值越大,读取水深传感器模块的模拟值,在串口打印出来&#xf…

Spring事务传播机制有哪些?

导语: Spring事务传播机制是后端面试中的必考知识点,特别容易出现在“项目细节挖掘”阶段。面试官通过它来判断你是否真正理解事务控制的本质与异常传播机制。本文将从实战与源码角度出发,全面剖析Spring事务传播机制,帮助你答得有…

相机Camera日志实例分析之一:相机Camx【前置慢动作分辨率切换720P、1080P录制】单帧流程日志详解

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 1、打…

OpenHarmony标准系统-HDF框架之I2C驱动开发

文章目录 引言I2C基础知识概念和特性协议,四种信号组合 I2C调试手段硬件软件 HDF框架下的I2C设备驱动案例描述驱动Dispatch驱动读写 总结 引言 I2C基础知识 概念和特性 集成电路总线,由串网12C(1C、12C、Inter-Integrated Circuit BUS)行数据线SDA和串…

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…

数据库优化实战分享:高频场景下的性能调优技巧与案例解析

在实际开发与生产运维中,数据库的性能瓶颈往往是影响系统响应速度和用户体验的关键因素。尤其是在高并发访问、海量数据处理、复杂查询逻辑等高频场景下,数据库优化不仅仅是“锦上添花”,更是“雪中送炭”。本篇博文将结合实际项目经验&#…

Python importlib 动态加载

文章目录 1. importlib 库 概述2. 导入模块(import_module())2.1. 导入已安装的模块2.2. 导入子模块2.3 通过字符串变量导入模块 3. 重新加载模块(reload())4. 检查模块是否存在(find_spec())5. 获取模块路…

(1-6-4) Java IO流实现文件的读取与写入

目录 0.前述概要 1. File类 1.1 概述 1.2 File的重要方法 1.3 java.io 1.3.1 四种抽象类 1.3.2 流 1.3.3 其他常用 I/O 流 2. 字节输入流(InputSteam) 2.1 关系类图 2.2 应用实现 3. 字节输出流(OutputStream) 3.1 …

【Proteus仿真】【32单片机-A010】步进电机控制系统设计

目录 一、主要功能 二、使用步骤 三、硬件资源 四、软件设计 五、实验现象 联系作者 一、主要功能 1、LCD显示当前挡位、方向等; 2、按键控制步进电机挡位、方向等。 二、使用步骤 系统运行后,LCD1602显示当前挡位、方向; 通过按键…

DeepSeek-R1-0528-Qwen3-8B为底座微调领域大模型准备:制作领域专用数据集

前言 想要微调领域大模型,数据的准备是必不可少的。然而微调大模型需要的数据极多,这样花费很多人力和准备。有没有方便又高效的方法?一下子就可以准备大量的领域专用数据集呢? 制作领域专用数据集 这里制作的数据集格式为使用的aphaca格式的 1.启动vllm服务 python -m…

WEB3全栈开发——面试专业技能点P6后端框架 / 微服务设计

一、Express Express是国内大部分公司重点问的。我在本文最后,单独讲解了Express框架。 概念介绍 Express 是基于 Node.js 平台的极简、灵活且广泛使用的 Web 应用框架。它提供了一系列强大的功能,用于构建单页、多页及混合型的 Web 应用程序和 API 服…

游戏开发中的CI/CD优化案例:知名游戏公司Gearbox使用TeamCity简化CI/CD流程

案例背景 关于Gearbox: Gearbox 是一家美国电子游戏公司,总部位于德克萨斯州弗里斯科,靠近达拉斯。Gearbox 成立于1999年,推出过多款史上最具代表性的视频游戏,包括《半衰期》、《战火兄弟连》以及《无主之地》。 团队…

视觉slam--三维刚体运动

线性代数 外积与矩阵乘法的等价性 欧拉角的奇异性--万向死锁 现象 第二个轴旋转度,会导致第三个旋转轴和恶原始坐标轴的第一个旋转轴重合,导致第一次旋转与第三次旋转都使用了同一个轴进行旋转,也就是本质上旋转三次,但是只在两个…

内窥镜检查中基于提示的息肉分割|文献速递-深度学习医疗AI最新文献

Title 题目 Prompt-based polyp segmentation during endoscopy 内窥镜检查中基于提示的息肉分割 01 文献速递介绍 以下是对这段英文内容的中文翻译: ### 胃肠道癌症的发病率呈上升趋势,且有年轻化倾向(Bray等人,2018&#x…