1、 链接命令
在liunx中链接一般分为两种,分别是硬链接(hard link)和软链接(symbolic link),他们之间有相同的地方(比如 占用内存小)也有不同的地方(链接的方式不同)。
硬链接(Hard Link):A—B,假设B是A的硬链接,那么它们两个指向同一个文件,可以允许有多个路径,一般都一些重要的文件都采用这种链接,防止误删。
特点:
- 1.以文件副本的形式存在,但不占用实际空间。
- 2.不允许给目录创建硬链接。
- 3.硬链接只有在同一个文件系统中才能创建。
- 4.源文件删除,链接不失效。
软链接(Symbolic Link):类似于Windows操作系统中的快捷方式,删除源文件就失效。
- 1.以路径的形式存在,类似于Windows操作系统中的快捷方式
- 2.软链接可以 跨文件系统 。
- 3.软链接可以对一个不存在的文件名进行链接。
- 4.软链接可以对目录进行链接。
- 5.源文件删除,链接失效。
语法
ln [参数][源文件或目录][目标文件或目录]
参数:
- -s 软链接(符号链接)
- -f 强制执行
- -d 允许超级用户制作目录的硬链接
- -i 交互模式,文件存在则提示用户是否覆盖
- -n 把符号链接视为一般目录
- -b 删除,覆盖以前建立的链接
- -v 显示详细的处理过程
案例
1.创建/home/itbestboy/test01/hello.java的链接(硬链接)/home/itbestboy/test02/helloTwo.java 。
[root@root itbestboy]
[root@root test01]
hello.java
[root@root itbestboy]
[root@root test02]
[root@root itbestboy]
[root@root itbestboy]
[root@root test02]
total 4
-rw-r--r-- 2 root root 1214 Jul 27 13:18 helloTwo.java
[root@root test02]
[root@root test01]
rm: remove regular file ‘hello.java’? y
[root@root test01]
[root@root itbestboy]
[root@root test02]
helloTwo.java
[root@root test02]
hello everyone!!!!!
HELLOW JAVA PYTHON
HELLO
GOOGL
2.创建/home/itbestboy/test01/helloTwo.java的链接(软链接)/home/itbestboy/test02/hello01.java 。
[root@root itbestboy]
[root@root itbestboy]
[root@root test02]
total 4
lrwxrwxrwx 1 root root 20 Jul 27 14:11 hello01.java -> test01/helloTwo.java
注:
- 软连接前面用
l 表示,并且权限为777,即所属主和所属组拥有所有权限,也就是说软连接都为lrwxrwxrwx - 硬链接前面用
- 表示,即文件,权限不确定。 - 软连接有一个箭头表示,
--> ,指向链接的源文件。 - 硬链接除了文件名不一样之外,其他的信息一样,类似于cp,但是有和cp不一样,他可以动态更新内容,即源文件的内容更新后,目的文件的内容也随之变化。
2、文件目录解压缩
2.1 压缩解压缩格式为.zip
可以将文件或目录压缩解压缩成.zip格式
zip:将文件或目录压缩成.zip格式
语法
zip [参数] [压缩后的名字] [被压缩的文件或目录]
其中被压缩的名字一般为××××.zip
命令所在路径
/usr/bin/zip
参数:
案例
将/home/itbestboy/test02目录下的helloTwo.java压缩成hello.zip
[root@root /]# zip hellow.zip /home/itbestboy/test02/helloTwo.java
adding: home/itbestboy/test02/helloTwo.java (deflated 51%)
[root@root /]# ls
9000 bin boot dev etc hellow.zip home lib lib64 lost+found media mnt opt patch proc root run sbin srv sys test01 tmp usr var www
[root@root /]#
将/home/itbestboy/目录下的test02目录压缩成test02.zip
[root@root itbestboy]
adding: test02/ (stored 0%)
adding: test02/helloTwo.java (deflated 51%)
[root@root itbestboy]
apache-tomcat-9.0.48 apache-tomcat-9.0.48.tar.gz hello.java jdk-8u221-linux-x64.rpm test01 test02 test02.zip
unzip:将格式为.zip的压缩文件解压缩
语法
unzip [参数] [压缩文件]
命令所在路径
/usr/bin/unzip
参数:
案例
将上面压缩的文件解压
[root@root /]
Archive: hellow.zip
testing: home/itbestboy/test02/helloTwo.java OK
将上面压缩的目录解压
[root@root itbestboy]
Archive: test02.zip
replace test02/helloTwo.java? [y]es, [n]o, [A]ll, [N]one, [r]ename: r
new name: test03
inflating: test03
[root@root itbestboy]
apache-tomcat-9.0.48 apache-tomcat-9.0.48.tar.gz hello.java jdk-8u221-linux-x64.rpm test01 test02 test02.zip test03
[root@root itbestboy]
**注:**可以看出在压缩和解压缩之后源文件和源目录还存在。
2.2 压缩解压缩格式为.bz2
可以将文件压缩解压缩成.bz格式,并且bzip2采用新的压缩演算法,压缩效果比传统的LZ77/LZ78压缩演算法好。而且在不加参数时会删除原始的文件 。
bzip2:将文件压缩成.bz2格式
语法
bzip2 [参数] [压缩等级] [压缩的文件]
命令所在路径
/usr/bin/bzip2
参数:
- -k 保留原始文件
- -d 执行解压缩
- -z 强制执行压缩
案例
将/home/itbestboy/test02目录下的helloTwo.java压缩
[root@root itbestboy]
[root@root test02]
helloTwo.java.bz2
[root@root test02]
[root@root test02]
helloTwo.java helloTwo.java.bz2
bunzip2:将格式为.bz2格式的文件解压缩
语法
bunzip2 [参数] [压缩文件]
功能与bzip2 -d效果相同
命令所在路径
/usr/bin/bunzip2
参数:
-
-f 解压缩时,覆盖源文件。 -
***-*k ** 保留压缩文件
案例
将上面压缩的文件解压
[root@root test02]
[root@root test02]
helloTwo.java
[root@root test02]
[root@root test02]
helloTwo.java helloTwo.java.bz2
在不加参数时可以看出在压缩和解压缩之后源文件不存在。
当加上参数 k 时,压缩和解压缩之后源文件存在。
2.3 压缩解压缩格式为.gz
可以将文件压缩解压缩成.gz格式,压缩和解压缩后不保留源文件
gzip:将文件压缩成.gz格式
语法
gzip [参数] [被压缩的源文件]
命令所在路径:
/bin/gzip
参数:
- -d 解开压缩文件。
- -f 强行压缩文件。
- -l 列出压缩文件的相关信息。
- -v 显示指令执行过程。
案例
将/home/itbestboy/test02目录下的helloTwo.java压缩
[root@root test02]
[root@root test02]
helloTwo.java.gz
[root@root test02]
[root@root test02]
helloTwo.java
gunzip:将.gz格式的压缩文件解压
语法
gunzip [参数] [压缩文件]
命令所在路径:
/bin/gunzip
参数:
案例
将上面压缩的文件解压缩
[root@root test02]
[root@root test02]
helloTwo.java
[root@root test02]
[root@root test02]
helloTwo.java
可以看出在压缩和解压缩之后源文件不存在。
2.4 压缩解压缩格式为.tar.gz
将文件或目录压缩成.tar.gz格式。又叫做备份
tar:将文件或目录压缩成.tar.gz格式:
语法
tar [参数] [压缩后的名字] [需要压缩的文件或目录]
命令路径
/bin/tar
参数:
- -z 打包同时压缩。
- -c 打包
- -v 显示详细信息
- -f 指定文件名
案例
将/home/itbestboy/test02目录下的helloTwo.java压缩成hello.tar.gz
[root@root test02]
helloTwo.java
[root@root test02]
hello.tar.gz helloTwo.java
tar:将.tar.gz格式的压缩文件解压
语法
tar [参数] [压缩的文件或目录]
命令路径
/bin/tar
参数:
- -z 解压缩。
- -x 解包
- -v 显示详细信息
- -f 指定解压文件
案例
将上面压缩的文件解压缩
[root@root test02]
helloTwo.java
[root@root test02]
hello.tar.gz helloTwo.java
[root@root test02]
可以看出在压缩和解压缩之后源文件存在。
总结
命令 | 解释 | 路径 | 应用于文件 | 应用于目录 | 是否保留源文件或目录 |
---|
zip | 压缩 | /usr/bin/zip | Y | Y | Y | unzip | 解压缩 | /usr/bin/unzip | Y | Y | Y | bzip2 | 压缩 | /usr/bin/bzip2 | Y | N | N | bunzip2 | 解压缩 | /usr/bin/bunzip2 | Y | N | N | gzip | 压缩 | /bin/gzip | Y | N | 不加参数 k ,不保留 加参数k ,保留 | gunzip | 解压缩 | /bin/gunzip | Y | N | 不加参数k ,不保留 加参数k ,保留 | tar(c) | 压缩 | /bin/tar | Y | Y | Y | tar(x) | 解压缩 | /bin/tar | Y | Y | Y |
Linux基本命令之文件命令02:------------------------------------------------------------------------《加载完成》--------------------------------------------------------
|