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

    路径问题

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

    相对路径:相对父目录

    .为当前路径

    ..为上级路径即父路径

  • 相关阅读:
    经典面试题sql基础篇-50常用的sql语句(有部分错误)
    Java中类方法与实例方法的区别
    认识区块链,认知区块链— —数据上链
    Excel中RATE函数的Java实现
    Excel中PMT函数的Java实现
    xtrabackup 全量备份、恢复数据
    程序员成长过程中不可忽略的几本书
    基于SpringBoot的WEB API项目的安全设计
    基于SpringCloud的Microservices架构实战案例-在线API管理
    他山之石,可以攻玉:从别人的项目中汲取经验
  • 原文地址:https://www.cnblogs.com/FrancisDrakeK/p/9310368.html
Copyright © 2011-2022 走看看