Linux不存在哪种文件类型,linux 从入门到跑路-文件类型,路径问题

linux从入门到跑路

文件类型,路径问题

Linux下的文件类型  一切皆文件 everything is file

我对一切皆文件的理解,linux下不存在具体的文件类型或后缀名.exe .db .config,这种后缀可以理解为人为的为了分别文件的类型而设置的,而在linux中系统不考虑文件类型,会直接运行。

举个例子,我们在/app下创建一个内容为 echo ‘hello world’ 的hello.txt文件然后按照windows下的扩展名更改扩展名

看看会发生什么

[root@localhost app]#echo "echo hello world">hello.txt

[root@localhost app]#ls

hello.txt

[root@localhost app]#cat hello.txt

echo hello world

[root@localhost app]#chmod 777 hello.txt

[root@localhost app]#./hello.txt

hello world

我们尝试将txt格式转换为.sh然后运行发现结果一样可能是巧合

[root@localhost app]#mv hello.txt hello.sh

[root@localhost app]#./hello.sh

hello world

我们再尝试将.sh格式转换为.mp3然后运行发现结果一样

这次因为我们都知道MP3是音乐媒体格式按照windows的逻辑肯定会报错

但在linux下运行没有报错或显示内容

[root@localhost app]#mv hello.sh hello.mp3

[root@localhost app]#./hello.mp3

hello world

同样的将MP3转换png也是一样的

[root@localhost app]#mv hello.mp3 hello.png

[root@localhost app]#./hello.png

hello world

我们用大胆的想法去删除它的扩展名

结果发现还是正常的运行了

[root@localhost app]#mv hello.png hello

[root@localhost app]#./hello

hello world

最后我用打错了的方式随意起名

发现也没有任何影响

[root@localhost app]#mv hello hel.fdshfujahjk213sda.sad

[root@localhost app]#./hel.fdshfujahjk213sda.sad

hello world

我们可以得出结论,linux下不存在扩展名,只存在文件名,所谓的扩展名只是

人们为了区分文件而自行加上的字符

• -:普通文件  *

• d: 目录文件  *

• b: 块设备

• c: 字符设备

• l: 符号链接文件  *

• p: 管道文件pipe

• s: 套接字文件sock

路径问题

绝对路径:从根出发一直到目标

相对路径:相对父目录

.为当前路径

..为上级路径即父路径

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值