07_查找、软链接、打包压缩、软件安装
- 查找文件:find
- 软链接ln
- 打包和压缩tar
- 软件安装apt-get
01. 查找文件
- find命令功能非常强大,通常用来在 特定的目录下 搜索 符合条件的文件
| 序号 | 命令 | 作用 | 
|---|---|---|
| 01 | find [路径] -name "*.py" | 查找指定路径下扩展名是 .py的文件,包括子目录 | 
- 如果省略路径,表示在当前文件夹下查找
- 之前学习的通配符,在使用 find命令时同时可用
演练目标
- 搜索桌面目录下,文件名包含 1的文件
find -name "*1*"
- 搜索桌面目录下,所有以 .txt为扩展名的文件
find -name "*.txt"
- 搜索桌面目录下,以数字 1开头的文件
find -name "1*"
02. 软链接
| 序号 | 命令 | 作用 | 
|---|---|---|
| 01 | ln -s 被链接的源文件 链接文件 | 建立文件的软链接,用通俗的方式讲类似于 Windows 下的快捷方式 | 
- 注意:如果没有 -s选项建立的是一个硬链接文件- 两个文件占用相同大小的硬盘空间,工作中几乎不会建立文件的硬链接
 
- 源文件要使用绝对路径,不能使用相对路径,这样可以方便移动链接文件后,仍然能够正常使用
# 相对路径
ln -s demo/b/c/01.py fast_link01
#绝对路径
ln -s /home/python/Desktop/demo/b/c/01.py fast_link02

然后将 创建好的软链接移动到 /demo 下
 mv fast* demo/

红色的相对路径创建的链接是不能正常使用的。
硬链接
- 在使用 ln创建链接时,如果没有-s选项,会创建一个 硬链接,而不是软链接
硬链接演练
- \1. 在 ~/Desktop/demo目录下建立~/Desktop/demo/b/c/01.py的硬链接hard_link
- \2. 使用 ls -l查看文件的硬链接数(硬链接——有多少种方式可以访问文件或者目录)

- \3. 删除 ~/Desktop/demo/b/c/01.py,并且使用tree来确认demo目录下的三个链接文件啊
刚才创建错位置了,我把刚刚创建好的硬链接移动到demo下

然后,删除 /Desktop/demo/b/c/01.py

只有 硬链接还可以使用,且硬链接数由原来的2 变为了1,其他的两个软链接已经不能使用了
因为,硬链接直接指向的是文件本身的数据,软链接指向的是文件名,如下:
文件软硬链接的示意图

在 Linux 中,文件名 和 文件的数据 是分开存储的
- 提示:
- 在 Linux 中,只有文件的 硬链接数 == 0才会被删除
- 使用 ls -l可以查看一个文件的硬链接的数量
- 在日常工作中,几乎不会建立文件的硬链接,知道即可
 
- 在 Linux 中,只有文件的 
03. 打包压缩
- 打包压缩 是日常工作中备份文件的一种方式
- 在不同操作系统中,常用的打包压缩方式是不同的
- Windows常用- rar
- Mac常用- zip
- Linux常用- tar.gz
 
3.1 打包 / 解包
- tar是 Linux 中最常用的 备份工具,此命令可以 把一系列文件 打包到 一个大文件中,也可以把一个 打包的大文件恢复成一系列文件
- tar的命令格式如下:
# 打包文件
tar -cvf 打包文件.tar 被打包的文件/路径...
# 解包文件
tar -xvf 打包文件.tar
- tar选项说明
| 选项 | 含义 | 
|---|---|
| c | 生成档案文件,创建打包文件 | 
| x | 解开档案文件 | 
| v | 列出归档解档的详细过程,显示进度 | 
| f | 指定档案文件名称,f 后面一定是 .tar 文件,所以必须放选项最后 | 
注意:
f选项必须放在最后,其他选项顺序可以随意
打包解包操作:
- 删除桌面下的所有内容
rm -r *
- 在桌面下新建三个空白文件 01.py、02.py、03.py
touch 01.py
touch 02.py
touch 03.py
- 将这三个文件打一个 py.tar的包
python@ubuntu:~/Desktop$ tar -cvf py.tar 01.py 02.py 03.py 
01.py
02.py
03.py
python@ubuntu:~/Desktop$ ls -l
总用量 12
-rw-rw-r-- 1 python python     0 11月 24 18:39 01.py
-rw-rw-r-- 1 python python     0 11月 24 18:39 02.py
-rw-rw-r-- 1 python python     0 11月 24 18:39 03.py
-rw-rw-r-- 1 python python 10240 11月 24 18:40 py.tar
- 新建 tar目录,并且将py.tar移动到tar目录下
python@ubuntu:~/Desktop$ mkdir tar
python@ubuntu:~/Desktop$ mv py.tar tar
python@ubuntu:~/Desktop$ tree
.
├── 01.py
├── 02.py
├── 03.py
└── tar
    └── py.tar
- 解包 py.tar
python@ubuntu:~/Desktop$ cd tar
python@ubuntu:~/Desktop/tar$ ls
py.tar
python@ubuntu:~/Desktop/tar$ tar -xvf py.tar 
01.py
02.py
03.py
python@ubuntu:~/Desktop/tar$ ls -lh
总用量 12K
-rw-rw-r-- 1 python python   0 11月 24 18:39 01.py
-rw-rw-r-- 1 python python   0 11月 24 18:39 02.py
-rw-rw-r-- 1 python python   0 11月 24 18:39 03.py
-rw-rw-r-- 1 python python 10K 11月 24 18:40 py.tar
3.2 压缩/解压缩
1) gzip
- 
tar 与 gzip 命令可以结合使用实现文件的打包和压缩,tar 只负责打包,不压缩,gzip压缩 tar打包后的文件,文件名称一般为 xxx.tar.gz ,linux中,最常见的压缩文件格式就是 xxx.tar.gz 
- 
在 tar命令中有一个选项 -z 可以调用gzip,从而可以方便的实现压缩和解压缩的功能
- 
命令格式如下: 
# 压缩文件
tar -zcvf 打包文件.tar.gz 被压缩的文件/路径...
# 解压缩文件
tar -zxvf 打包文件.tar.gz
# 解压缩到指定路径
tar -zxvf 打包文件.tar.gz -C 目标路径
python@ubuntu:~/Desktop$ ls # 3个待压缩的文件
01.py  02.py  03.py  tar
python@ubuntu:~/Desktop$ tar -zcvf py.tar.gz *.py #执行压缩命令
01.py
02.py
03.py
python@ubuntu:~/Desktop$ ls -l #查看压缩后的结果
总用量 8
-rw-rw-r-- 1 python python    0 11月 24 18:39 01.py
-rw-rw-r-- 1 python python    0 11月 24 18:39 02.py
-rw-rw-r-- 1 python python    0 11月 24 18:39 03.py
-rw-rw-r-- 1 python python  139 11月 24 19:18 py.tar.gz #这是压缩后的文件
drwxrwxr-x 2 python python 4096 11月 24 18:44 tar
python@ubuntu:~/Desktop$ mkdir gz
python@ubuntu:~/Desktop$ mv py.tar.gz gz #移动到gz文件夹下
python@ubuntu:~/Desktop$ tree # 看一下目录结构
.
├── 01.py
├── 02.py
├── 03.py
├── gz
│   └── py.tar.gz
└── tar
    ├── 01.py
    ├── 02.py
    ├── 03.py
    └── py.tar
2 directories, 8 files
python@ubuntu:~/Desktop$ cd gz #进入gz文件夹
python@ubuntu:~/Desktop/gz$ tar -zxvf py.tar.gz  #执行解压
01.py
02.py
03.py
python@ubuntu:~/Desktop/gz$ ls -ls #查看解压结果
总用量 4
0 -rw-rw-r-- 1 python python   0 11月 24 18:39 01.py
0 -rw-rw-r-- 1 python python   0 11月 24 18:39 02.py
0 -rw-rw-r-- 1 python python   0 11月 24 18:39 03.py
4 -rw-rw-r-- 1 python python 139 11月 24 19:18 py.tar.gz
| 选项 | 含义 | 
|---|---|
| -C | 解压缩到指定目录,注意:要解压缩的目录必须存在 | 
2) bzip2(two)
- tar与- bzip2命令结合可以使用实现文件 打包和压缩(用法和- gzip一样)- tar只负责打包文件,但不压缩,
- 用 bzip2压缩tar打包后的文件,其扩展名一般用xxx.tar.bz2
 
- 在 tar命令中有一个选项 -j 可以调用bzip2,从而可以方便的实现压缩和解压缩的功能
- 命令格式如下:
# 压缩文件
tar -jcvf 打包文件.tar.bz2 被压缩的文件/路径...
# 解压缩文件
tar -jxvf 打包文件.tar.bz2
04. 软件安装
4.1 通过 apt 安装/卸载软件
- apt 是 Advanced Packaging Tool,是 Linux 下的一款安装包管理工具
- 可以在终端中方便的 安装/卸载/更新软件包
# 1. 安装软件
$ sudo apt install 软件包
# 2. 卸载软件
$ sudo apt remove 软件名
# 3. 更新已安装的包
$ sudo apt upgrade 
安装演练
# 一个小火车提示
$ sudo apt install sl
# 一个比较漂亮的查看当前进程排名的软件
$ sudo apt install htop
4.2 配置软件源
- 如果希望在 ubuntu中安装软件,更加快速,可以通过设置镜像源,选择一个访问网速更快的服务器,来提供软件下载/安装服务
- 提示:更换服务器之后,需要一个相对比较长时间的更新过程,需要耐心等待。更新完成后,再安装软件都会从新设置的服务器下载软件了
所谓镜像源,就是所有服务器的内容是相同的(镜像),但是根据所在位置不同,国内服务器通常速度会更快一些!


 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号