IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux学习笔记三 -> 正文阅读

[系统运维]Linux学习笔记三

其他命令

一、查找文件

find [路径] -name "*.py"     //表示查找指定路径下扩展名是.py的文件,包括它的子目录
                            //选项-name表示指定文件名称的条件

注意:如果省略了路径选项,表示在当前文件夹下进行查找;find命令可以配合通配符一块使用。

例1.搜索当前文件夹下文件名包含 “1” 的文件
          find  -name "*1*"

例2.搜索当前文件夹下以 “.txt” 结尾的文件
          find -name "*.txt"

例3.搜索搜索当前文件夹下以 “1” 开头的文件
          find -name "1*"

二、软链接

理解:可以类比于Windows 下的快捷方式,Linux中可以建立文件的软链接,通过软链接快速访问它指向的文件。

ln  -s  链接文件的完整路径  链接名

需要注意的是,-s选项不可以省略,如果没有这个选项,建立出来的就是硬链接而不是软链接。如果建立的是硬链接,则两个文件占用的是一样大小的硬盘空间,所以一般不使用硬链接。

同时,完整路径使用的一般是绝对路径,在链接的文件移动完之后,软链接仍然可以正常使用。具体以一个例子来体现:

例3、
1:将桌面文件下的 "01.py" 文件移动到 "demo/b/c" 文件下
     mv /home/python/Desktop/01.py /home/python/Desktop/demo/b/c  //我这里使用的是绝对路径

2:在桌面目录下新建 "01.py" 的软链接 "FirstPython"   //事先已经切换到了桌面目录
     ln -s demo/b/c/01.py 01_xiangdui                          //相对路径建立软链接
     ln -s /home/python/Desktop/demo/b/c/01.py 01_xiangdui     //绝对路径建立软链接

3:将 "FirstPython" 链接文件移动到 "demo" 目录下,比较相对路径和绝对路径的区别
     mv 01* demo                                               //通配符

配合下面的图片进行理解:

?

这个是相对路径建立软链接,使用这个命令会将建立好的软链接存放于当前目录下(即桌面),据绝对路径亦是如此,可以发现,用ls -l命令查看软链接时,指向的是图中绿色路径所下的文件,使用cat命令查看这个软链接就可以访问 "01.py"的文件内容。

再来看绝对路径建立的软链接:

?

?和相对路径同理,目前还看不出什么区别,此时再用tree命令查看一下桌面文件夹下的目录结构:

?可以看到,两个建立好的软链接目前存放于桌面下,通过cat命令都可以访问链接文件的内容。如果将这两个软链接一起移动到demo文件下的时候,再用tree看一下桌面问价的目录结构:

?可以看到这个时候用相对路径建立的软链接就出现了问题,链接名变红,后面所指向的路径也变色,表示不再可以使用了。这是因为demo的子目录里面没有demo目录,所以会出问题。同理使用cat命令也不能查看这个软链接指向文件的内容。

三、硬链接

在创建软链接的时候不用选项-s就会产生硬链接。

例4、
1.在~/Desktop/demo目录下建立~/Desktop/demo/b/c/01.py的硬链接
   ln /home/python/Desktop/b/c/01.py 01_hard     //由于事先切换到了桌面文件下的demo目录,所以建 
                                                   立的硬链接就在demo目录下保存着

2.使用ls -l命令查看文件的硬链接数
3.现在删除~/Desktop/demo/b/c/01.py,此时使用tree命令查看demo目录下的三个链接(相对、绝对和硬链接),看有啥区别
  
   rm ~/Desktop/demo/b/c/01.py                  //用的也是绝对路径

可以看到创建的硬链接保存在了demo目录下。

再来看:

?

此时硬链接的硬链接数是2。如果此时删除了01.py文件,用tree命令看一下目录结构:

?

?可以看到,软链接已经失效了,而硬链接却还能使用。这是因为Linux中文件和文件名是分开存放的,通过文件名可以访问到文件信息,可以理解为文件名是一个指针,是一个地址,通过这个文件名可以找到对应的文件,进而访问文件信息,而软链接文件中存放的是链接到源文件的完整路径,通过这个完整路径,可以访问到这个链接文件的文件数据,具体流程如下:

软链接文件名---->链接文件数据(完整路径)--->文件名--->文件数据。如果删除了文件名,自然而然地,中间环节少了某一项,所以软链接失效。硬链接则不同,硬链接可以理解为文件的另外一个文件名,通过这个文件名照样可以访问到文件数据,具体流程如下:

文件名------------------->文件数据<---------------------硬链接。

少了一个文件名,通过硬链接照样可以访问到文件数据。只有把一个文件的所有硬链接全部删除,这个文件数据才会真正从磁盘上消失。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-11-10 12:49:03  更:2021-11-10 12:51:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 22:30:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码