硬链接是通过索引节点进行的链接。在Linux中,多个文件指向同一个索引节点是允许的,像这样的链接就是硬链接。硬链接只能在同一文件系统中的文件之间进行链接,不能对目录进行创建。如果删除硬链接对应的源文件,则硬链接文件仍然存在,而且保存了原有的内容,这样可以起到防止因为误操作而错误删除文件的作用。由于硬链接是有着相同 inode 号仅文件名不同的文件,因此,删除一个硬链接文件并不影响其他有相同 inode 号的文件。
用于镜像数据文件,防止误删
软链接(也叫符号链接)与硬链接不同,文件用户数据块中存放的内容是另一文件的路径名的指向。软链接就是一个普通文件,只是数据块内容有点特殊。软链接可对文件或目录创建。软链接主要应用于以下两个方面:一是方便管理,例如可以把一个复杂路径下的文件链接到一个简单路径下方便用户访问;另一方面就是解决文件系统磁盘空间不足的情况。例如某个文件文件系统空间已经用完了,但是现在必须在该文件系统下创建一个新的目录并存储大量的文件,那么可以把另一个剩余空间较多的文件系统中的目录链接到该文件系统中,这样就可以很好的解决空间不足问题。删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软链接就变成了死链接。
img
无论是硬链接或软链接都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。
> ls -il
total 8
1806727 -rw-r--r-- 2 root root 137 May 6 20:14 one.txt
1806727 -rw-r--r-- 2 root root 137 May 6 20:14 tow.txt
硬连接文件的inode number是一样的.可以看出由于one.txt和tow.txt互为硬链接, 所以他们的inode number相同.
> find / -inum 1806727
查看整个文件系统中有哪些文件是one.txt的硬连接.
> find -type l -exec ls -l {} \;| grep 'rumenz.txt'
// realpath 软连接文件
> realpath /etc/rc.local
/etc/rc.d/rc.local
# grep命令接受管道传参
> cat /etc/passwd | grep root
# echo命令不接受管道传参
> echo "hello rumenz" | echo
# 将标准输入转为命令行参数
> echo "hello rumenz" | xargs echo
hello rumenz
# 空格作为分隔符
$ echo "one two three" | xargs mkdir
# 指定制表符 作为分隔符
$ echo -e "a b c" | xargs -d " " echo
a b c
> echo 'one two three' | xargs -p touch
touch one tow three ?...y
find命令有一个特别的参数-print0,用来指定输出的文件列表以null作为分隔符
> find /path -type f -print0 | xargs -0 rm
> xargs -L 1 find -name
"*.txt"
./1.txt
./rumenz.txt
./2.txt
./3.txt
> echo {0..9} | xargs -n 2 echo
# 将命令行参数传给多个命令
> cat foo.txt
one
two
three
> cat foo.txt | xargs -I {} sh -c 'echo {}; mkdir {}'
one
two
three
> ls
one two three
> cat rumenz.txt
1 2 3 4
5 6
7 8 9
> cat rumenz.txt | xargs
1 2 3 4 5 6 7 8 9
> cat rumenz.txt
1 2 3 4 5 6 7 8 9
> cat rumenz.txt | xargs -n 3
1 2 3
4 5 6
7 8 9
> echo "rumenz:123:rumenz:456:rumenz:789" | xargs -d : -n 2
rumenz 123
rumenz 456
rumenz 789
> find . -type f -name "*.txt" -print | xargs rm -f
> cat rumenz.txt | xargs wget -c
希望本文对你有所帮助~~如果对软件测试、接口测试、自动化测试、性能测试、面试经验交流感兴趣可以私聊我或关注公众号“特斯汀软件测试”。免费领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!技术大牛解惑答疑,同行一起交流。
留言与评论(共有 0 条评论) “” |