09 其他命令

其他命令

目标

  • 查找文件
    • find
  • 软链接
    • ln
  • 打包和压缩
    • tar
  • 软件安装
    • apt-get

01.查找文件

  • find命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件
序号 命令 作用
01 find [路径] -name "*.py" 查找指定路径下扩展名是.py的文件,包括子目录
  • 如果省略路径,表示在当前文件夹下查找,文件夹中的所有符合的均会被搜索出来,包括子文件夹里面的内容
  • 之前学习的通配符,在使用find命令时同时可用

*表示任意字符

演练目标

  1. 搜索桌面目录下,文件名包含1的文件
find Desktop/ -name "*1*"
  1. 搜索桌面目录下,所有以.txt为扩展名的文件
find -name "*.txt"
  1. 搜索桌面目录下,以数字1开头的文件
find -name "1*"

02.软链接

序号 命令 作用
01 ln -s 被链接的源文件 链接文件 建立文件的软链接,用通俗的方式讲类似于windows下的快捷方式

注意:

  1. 没有-s选项建立的是一个硬链接文件
    • 两个文件占用相同大小的硬盘空间,工作中几乎不会建立文件的硬链接
  2. 源文件要使用绝对路径,不能使用相对路径,这样可以方便移动链接文件后,仍然能够正常使用

演练目标

  1. 将桌面目录下的01.py移动到demo/b/c目录下

  2. 在桌面目录下新建01.py的软链接FirstPython

    • 分别使用相对路径和绝对路径建立FirstPython的软链接
  3. FirstPython移动到 demo目录下,对比使用相对路径和绝对路径的区别

演练操作

#移动文件夹
python@ubuntu:~/Desktop$  01.py demo/b/c

#创建相对软链接
python@ubuntu:~/Desktop$ ln -s demo/b/c/01.py 01_xiangdui

#创建绝对软链接
python@ubuntu:~/Desktop$ ln -s /home/python/Desktop/demo/b/c/01.py 01_juedui

ls-l命令进行查看

09 其他命令

将两个文件都移入demo文件夹

python@ubuntu:~/Desktop$ mv 01* demo

tree命令与ls -l命令查看

09 其他命令

09 其他命令

原因解析:因为demo文件下没有demo文件夹在使用相对路径时,就会报错

硬链接(知道)

  • 在使用ln创建链接时,如果没有-s选项,会创建一个硬链接,而不是软链接

硬链接演练

  1. ~/Desktop/demo目录下建立~/Desktop/demo/b/c/01.py的硬链接01_hard

  2. 使用ls -l查看文件的硬链接数(硬链接--有多少种方式可以访问文件或者目录)

  3. 删除~/Desktop/demo/b/c/01.py ,并且使用tree 来确认 demo目录下的三个链接文件

硬链接操作

python@ubuntu:~/Desktop/demo$ ln /home/python/Desktop/demo/b/c/01.py 01_hard

tree以及ls-l命令查看demo文件的结构

09 其他命令

09 其他命令

发现01_hard的硬链接数为2

并且可以用cat命令查看文件内容:

09 其他命令

01.py文件删除,以后观察三个文件的变化

09 其他命令

09 其他命令

此时,软链接方式创建的两个文件均不能正常访问,但硬链接方式创建的文件可以正常访问,但此时的硬链接数变成1

文件软硬链接的示意图

09 其他命令

在Linux中,文件名文件数据是分开存储的

  • 提示:
    • 在Linux中,只有文件的硬链接数==0才会被删除
    • 使用ls-l可以查看一个文件的硬链接的数量
    • 在日常工作中,几乎不会建立文件的硬链接,知道即可

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选项必须放在最后,其他选项顺序可以随意

打包解包演练

  1. 删除桌面下的所有内容
  2. 在桌面下新建三个空白文件01.py02.py03.py
  3. 将这三个文件打一个 py.tar的包
  4. 新建tar目录,并且将 py.tar移动到tar目录下
  5. 解包 py.tar

打包解包演练操作

清空桌面所有的文件

python@ubuntu:~/Desktop$ rm -r *

创建三个.py文件

python@ubuntu:~/Desktop$ touch 01.py
python@ubuntu:~/Desktop$ touch 02.py
python@ubuntu:~/Desktop$ touch 03.py

打包

python@ubuntu:~/Desktop$ tar -cvf py.tar 01.py 02.py 03.py
01.py
02.py
03.py

#使用ls-l命令查看
python@ubuntu:~/Desktop$ ls -lh
总用量 12K
-rw-rw-r-- 1 python python   0 1月  10 11:44 01.py
-rw-rw-r-- 1 python python   0 1月  10 11:44 02.py
-rw-rw-r-- 1 python python   0 1月  10 11:44 03.py
-rw-rw-r-- 1 python python 10K 1月  10 11:44 py.tar

创建tar文件夹,并将打包后的文件移动到tar文件夹中,并解包

#创建tar文件夹
python@ubuntu:~/Desktop$ mkdir tar

#将打包后的文件移动到tar文件夹中
python@ubuntu:~/Desktop$ mv py.tar tar

#打开tar文件夹并解包
python@ubuntu:~/Desktop$ cd tar
python@ubuntu:~/Desktop/tar$ tar -xvf py.tar
01.py
02.py
03.py

#查看解包后的文件夹内容
python@ubuntu:~/Desktop/tar$ ls -l
总用量 12
-rw-rw-r-- 1 python python     0 1月  10 11:44 01.py
-rw-rw-r-- 1 python python     0 1月  10 11:44 02.py
-rw-rw-r-- 1 python python     0 1月  10 11:44 03.py
-rw-rw-r-- 1 python python 10240 1月  10 11:44 py.tar

3.2 压缩/解压缩

1)gzip

  • targzip命令结合使用可以实现文件的打包和压缩
    • 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 目标路径
选项 含义
-C 解压缩到指定目录,注意:要解压缩的目录必须存在

2) bzip2(two)

  • tarbzip2命令结合使用可以实现文件的打包和压缩(用法和gzip一样)

    • tar只负责打包文件,但不压缩

    • bzip2压缩tar打包后的文件,其扩展名一般用XXX.tar.bz2

  • tar命令中有一个选项-j可以调用bzip2,从而可以方便的实现压缩和解压缩的功能

#压缩文件
tar -jcvf 打包文件.tar.bz2 被压缩的文件/路径..

#解压缩文件
tar -jxvf 打包文件.tar.bz2

#解压缩文件到指定路径
tar -jxvf 打包文件.tar.bz2 -C 目标路径

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中安装软件,更加快速,可以通过设置镜像源,选择一个访问网速更快的服务器,来提供软件下载╱安装服务
  • 提示:更换服务器之后,需要一个相对比较长时间的更新过程,需要耐心等待。更新完成后,再安装软件都会从新设置的服务器下载软件了

所谓镜像源,就是所有服务器的内容是相同的(镜像),但是根据所在位置不同,国内服务器通常速度会更快一些!

09 其他命令

09 其他命令

上一篇:09运算符重载


下一篇:小杨初学Java的笔记09