zoukankan      html  css  js  c++  java
  • 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

    路径问题

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

    相对路径:相对父目录

    .为当前路径

    ..为上级路径即父路径

  • 相关阅读:
    布局重用 include merge ViewStub
    AS 常用插件 MD
    AS 2.0新功能 Instant Run
    AS .ignore插件 忽略文件
    AS Gradle构建工具与Android plugin插件【大全】
    如何开通www国际域名个人网站
    倒计时实现方案总结 Timer Handler
    AS 进行单元测试
    RxJava 设计理念 观察者模式 Observable lambdas MD
    retrofit okhttp RxJava bk Gson Lambda 综合示例【配置】
  • 原文地址:https://www.cnblogs.com/FrancisDrakeK/p/9310368.html
Copyright © 2011-2022 走看看