• Linux下如何查找可执行文件


    Linux下的可执行文件

    Linux下如何查找可执行文件,作为一个Linux小菜刚刚有了这个问题,

    在windows中,可以通过后缀名判断是否是可执行文件,比如.exe,.bat等是可执行文件,但是在Linux下呢?

    Linux下不能简单根据文件后缀判断是否可执行。

    linux下判断一个文件是否可执行,关键看是否有可执行权限,比如:

    在终端中输入:ls -l ,会列出类似于下的列表:

    -rwxrwxr-x 1 bingyue bingyue 48141 Jul 17 02:50 redis-trib.rb*
    -rw-rw-r-- 1 bingyue bingyue 2163 Aug 5 23:34 release.c
    drwxrwxr-x 2 bingyue bingyue 4096 Jul 22 20:03 Documents

      以下面输出为例,下划线区域说明了文件的权限,包括可读、可写、可执行等等。

    【-】【rwx】【rwx】【r-x】 1 bingyue bingyue 2324109 Aug 5 23:35 redis-cli*

    10个字符确定不同用户能对文件干什么:
    第一个字符代表文件(-)、目录(d),链接(l)
    其余字符每3个一组(rwx),读(r)、写(w)、执行(x),分别说明文件所有者(User)、文件所有者所在的用户组其他用户(Group)、其他组用户(Others)对该文件拥有的权限。

    第一组rwx:文件所有者的权限 是读、写和执行
    第二组rwx:与文件所有者同一组的用户的权限是读、写和执行
    第三组r-x:不与文件所有者同组的其他用户的权限是读和执行,不能写

    另外有部分文件也可以通过后缀名判断,比如redhat中,凡是.rpm格式的都能在redhat中执行,debian中.deb格式的在debianlinux中能直接执行。

    如何查找可执行文件

    使用
    ls -F|grep "*"

    Ubuntu下也可以使用

    ll | grep "*"
    ll不是linux下一个基本的命令,可以认为是ls -l的一个别名。

    ls -F可以把文件按照类型归类,并且在末尾加上/ *等符号标识。
    -F, --classify append indicator (one of */=>@|) to entries,
    -F和--classify选项可以对列表查看文件添加后缀。普通文件不添加后缀,对可执行文件添加*号,为目录添加/号,为符号链接添加@号。
    | 管道输出,grep "*" 从中挑出以"*"结尾的行并输出。

    类似的,
    使用ls -F|grep "/" 可以查找目录
    使用ls -F|grep "@" 可以查找软连接

    另外,使用ls -color 可以标识出可执行文件:

    实例输出:

     

  • 相关阅读:
    BZOJ3048: [Usaco2013 Jan]Cow Lineup
    BZOJ1605: [Usaco2008 Open]Crisis on the Farm 牧场危机
    BZOJ3887: [Usaco2015 Jan]Grass Cownoisseur
    BZOJ5055: 膜法师
    BZOJ2037: [Sdoi2008]Sue的小球
    BZOJ1722: [Usaco2006 Mar] Milk Team Select 产奶比赛
    Uva 11054 Wine trading in Gergovia
    poj 2549 Sumsets
    Uva 1326 Jurassic Remains
    Uva 10755 Garbage Heap
  • 原文地址:https://www.cnblogs.com/binyue/p/4707948.html
Copyright © 2020-2023  润新知