【嵌入式之shell命令】文件查看命令和硬链接、软链接的区别

文件查看命令

cat命令

cat <filename>:从前往后输出文件内容

zdj@zdj-virtual-machine:/mnt/hgfs/share/study/Level3/Day4$ cat file
hello
world
1111
2222
3333
4444
5555
6666
7777
8888
9999
0000
aaaa
bbbb
cccc
dddd
eeee
ffff
gggg
hhhh
iiii
jjjj
llll

tac命令 

tac<filename>:从后往前输出文件内容

zdj@zdj-virtual-machine:/mnt/hgfs/share/study/Level3/Day4$ tac file
llll
jjjj
iiii
hhhh
gggg
ffff
eeee
dddd
cccc
bbbb
aaaa
0000
9999
8888
7777
6666
5555
4444
3333
2222
1111
world
hello

more命令

more<filename>:分页显示 ,按enter键向前显示,而且只能向前,不能向后显示

zdj@zdj-virtual-machine:/mnt/hgfs/share/study/Level3/Day4$ more file
hello
world
1111
2222
3333
4444
5555
6666
7777
8888
9999
--More--(48%)

less命令

 less<filename>:可以通过上下键或者(j和k键)上下翻动,不必读整个文件,加载速度比more命令更快。

zdj@zdj-virtual-machine:/mnt/hgfs/share/study/Level3/Day4$ less file
9999
0000
aaaa
bbbb
cccc
dddd
eeee
ffff
gggg
hhhh
iiii
jjjj
llll
(END)

head命令

head<filename>:显示前面几行内容(默认是前10行)

zdj@zdj-virtual-machine:/mnt/hgfs/share/study/Level3/Day4$ head file
hello
world
1111
2222
3333
4444
5555
6666
7777
8888

硬链接和软链接 

硬链接

硬链接是利用Linux中为每个文件分配的物理编号——inode建立链接。因此,硬链接不能跨越文件系统。

用命令ls -i filename查看inode号,文件名前面的数字就是inode号:

zdj@zdj-virtual-machine:/mnt/hgfs/share/study/Level3/Day4$ ls -i file
181 file

 ln命令

ln filename filename_hard:给文件filename创建硬链接filename_hard

zdj@zdj-virtual-machine:~/Desktop$ ls
file  vmware-tools-distrib
zdj@zdj-virtual-machine:~/Desktop$ ls -i file
789545 file
zdj@zdj-virtual-machine:~/Desktop$ ln file file_hard
zdj@zdj-virtual-machine:~/Desktop$ ls
file  file_hard  vmware-tools-distrib
zdj@zdj-virtual-machine:~/Desktop$ ls -i file_hard
789545 file_hard

文件filename和硬链接文件filename_hard的inode号一样。

软链接(符号链接)

软链接(符号链接)是利用文件的路径名建立链接,类似于Windows系统上的快捷方式。通常建立软链接使用绝对路径而不是相对路径,以最大限度增加可移植性。

ln -s 命令

ln -s filename filename_soft:给文件filename创建硬链接filename_soft

zdj@zdj-virtual-machine:~/Desktop$ ls
file  file_hard  vmware-tools-distrib
zdj@zdj-virtual-machine:~/Desktop$ ls -i file
789545 file
zdj@zdj-virtual-machine:~/Desktop$ ln -s file file_soft
zdj@zdj-virtual-machine:~/Desktop$ ls -i file_soft
792077 file_soft
zdj@zdj-virtual-machine:~/Desktop$ ls
file  file_hard  file_soft  vmware-tools-distrib

文件filename和硬链接文件filename_soft的inode号不一样。 

注意

在编译VMware下的Linux系统对从Windows中共享过来的文件进行硬链接编译时,会遇到:

zdj@zdj-virtual-machine:/mnt/hgfs/share/study/Level3/Day4$ ln file file_hard
ln: failed to create hard link 'file_hard' => 'file': Operation not permitted

进行软连接编译时,会遇到:

zdj@zdj-virtual-machine:/mnt/hgfs/share/study/Level3/Day4$ ln -s file file_soft
ln: failed to create symbolic link 'file_soft': Operation not supported

有个解决办法就是,在VMWare下的Linux中,建立Samba服务,然后创建新samba用户和文件夹,在windows中就可以访问到该文件夹了。然后在Linux中,从共享目录拷贝到你所要共享的samba目录中,这样,也可以实现我们所要的文件共享。此时再去编译这些代码就可以了。

最简单的办法就是不在文件共享环境中建立一些硬链接或软链接。

硬链接和软连接的区别 

  • 如果是修改硬链接的目标文件名,链接依然有效;
  • 如果修改软链接的目标文件名, 则链接将断开,目标文件名再改回来,则链接恢复;
  • 对一个已存在的链接文件执行移动或删除操作,有可能导致链接的断开。  
  • 假如删除目标文件后,重新创建一个同名文件,软链接将恢复,硬链接不再有效,因为文件的inode已经改变。

  • 11
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个嵌入式新手的成长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值