如何在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 可以标识出可执行文件:

实例输出:

时间: 2024-08-05 17:14:20

如何在Linux下查找可执行文件的相关文章

如何在Linux下使用命令行嗅探HTTP流量

通常我们在调试Web应用.RESTFUL服务或者排错PAC (proxy auto config) 以及检查是否有恶意访问等会去通过错误日志日志或者嗅探数据包的方式去排错:常见的嗅探数据包软件有tcpdump.wireshark;但是针对HTTP需要对数据包进行过滤,显示格式也更不容易读,Httpry工具就能更方便易读的嗅探HTTP流量 安装httpry 基于Debian(Ubuntu or Linux Mint),基础库并没有httpry包,我们用源码来安装 1 2 3 4 5 $ sudo

Linux教程:如何在Linux下进行C++开发?

Linux是一类Unix计算机操作系统的统称,Linux操作系统的内核的名字也是“Linux”, 在Linux下进行C++开发,需要注意许多问题,比如:减少不必要的编辑动作,减少编辑的时间. Windows下,开发工具多以集成开发环境IDE的形式展现给最终用户.例如,VS2005集成了编辑器,宏汇编ml,C /C++编译器cl,资源编译器rc,调试器,文档生成工具, nmake.它们以集成方式提供给最终用户,对于初学者而言十分方便. 但是,这种商业模式,直接导致用户可定制性差,不利于自动化,集成

linux下查找某个目录下包含某个字符串的文件

有时候要找一些字符串,但是又不知道在哪个文件,只记得一些字符串 那么如何在linux下寻找包含某段文字的文件呢? 强大的find命令可以帮你完成不可能的任务. 比如我只记得我的程序里包含唯一的字符串“SMS_ISSEND”,于是: 查找目录下的所有文件中是否含有某个字符串 find .|xargs grep -ri “SMS_ISSEND” 查找目录下的所有文件中是否含有某个字符串,并且只打印出文件名 find .|xargs grep -ri “SMS_ISSEND” -l

如何在Linux下禁用IPv6

如何在Linux下禁用IPv6 echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6                            禁用IPv6(包括回环接口) echo 1 > /proc/sys/net/ipv6/conf/default/disable_ipv6                     禁用IPv6(默认) vim /etc/sysctl.conf                                    

linux下查找进程及终止进程操作的相关命令

使用linux操作系统,难免遇到一些软件"卡壳"的问题,这时就需要使用linux下强大的kill命令来结束相关进程.这在linux系统下是极其容易的事情,你只需要kill xxx即可,这里xxx代表与此软件运行相关的进程PID号.首先,我们需要使用linux下另外一个命令ps查找与进程相关的PID号:ps aux | grep program_filter_word1)ps a 显示现行终端机下的所有程序,包括其他用户的程序.2)ps -A 显示所有程序.3)ps c 列出程序时,显示

linux 下查找大于100M的文件

命令行如下 find . -type f -size +1000000k Linux系统下查找大文件或目录的技巧 当硬盘空间不够时,我们就很关心哪些目录或文件比较大,看看能否干掉一些了,怎么才能知道呢? #已易读的格式显示指定目录或文件的大小,-s选项指定对于目录不详细显示每个子目录或文件的大小 du -sh [dirname|filename] 如: 当前目录的大小: du -sh . 当前目录下个文件或目录的大小: du -sh * [[email protected] var]# du -

如何在Linux下拷贝一个目录呢

cp -af newadmin/movie/.   uploadfile/mallvideo/ 如何在Linux下拷贝一个目录呢?这好像是再简单不过的问题了. 比如要把/home/usera拷贝到/mnt/temp,首先想到的就是 cp -R /home/usera/* /mnt/temp 但是这样有一个问题,/home/usera下的隐藏文件都不会被拷贝,子目录下的隐藏文件倒是会的. 那如何才是正确的方法呢?有人说用-a选项,有人说用find加管道. 其实没这么复杂,Google了之后,学了一

Linux下查找包含BOM头的文件和清除BOM头命令 2014-08-16 12:30:50

Linux下查找包含BOM头的文件和清除BOM头命令 2014-08-16 12:30:50 分类: 系统运维 查找包含BOM头的文件,命令如下: 点击(此处)折叠或打开 grep -r -I -l $'^\xEF\xBB\xBF' ./ \xef\xbb\xbf是UTF8 BOM的16进制表示 这个命令会把当前目录及所有子目录下的BOM头删除掉. 点击(此处)折叠或打开 find . -type f -exec sed -i 's/\xEF\xBB\xBF//' {} \; 另一种方法: 点击

linux下查找文件

1,find 经常在linux下工作,总要查找一些文件,于是就搜索的学习了一下 find 指定目录 指定条件 指定动作 举例:find . -name "my*" 查找 当前目录下,以my开头的文件或目录 如果查找指定文件 建议,-name 名字 find . -name "my*" -ls 查找文件并显示详细信息 2,locate 据说比find更快 例如 locate 文件名 会在跟目录下,搜索包含文件名的文件或目录 缺点,会找出很多包含的不需要的文件 参考网址