中易网

linux中好像which命令出了问题,查不到文件

答案:5  悬赏:0  
解决时间 2021-01-16 02:57
  • 提问者网友:我的未来我做主
  • 2021-01-15 18:38
linux中好像which命令出了问题,查不到文件
最佳答案
  • 二级知识专家网友:不如潦草
  • 2021-01-15 19:17
先确认使用which的账号,如果是非root账号的话,可能是没权限使用which的,可以切换到root或者在which命令前加上sudo。

查找文件的话,还可以使用find命令,使用方法是:
find /opt -name abc*
这个命令是查找/opt目录下,名字带abc的文件
全部回答
  • 1楼网友:像个废品
  • 2021-01-15 23:33
which 命令目测只适用于在bin里面有执行程序的查找,
一般用apt-get或者yum安装的which大都能够找到
查找文件还是用find吧
  • 2楼网友:低血压的长颈鹿
  • 2021-01-15 22:29
这个问题要必要深究么
which指令会在环境变量$PATH设置的目录里查找符合条件的文件
  • 3楼网友:千杯敬自由
  • 2021-01-15 21:24
which只搜索你的环境变量PATH声明过的路径,如果你找的东西不在PATH声明路径里,自然找不到。如果一定要找到,请修改环境变量,或者使用find命令
格式不是find / | grep '文件名'
而是find / -name 你要找的文件全名
  • 4楼网友:鸠书
  • 2021-01-15 20:36
如果你想查找任意文件,可以
find / | grep '文件名'
追问:我的意思是我的which命令不知道怎么搞的就不能用了,什么文件都找不到。高手指点
追答:通常which是用来查找命令文件位置的,譬如你可以执行ls命令,然后想知道这个命令在哪里,这时可以
which ls
至于搜索文件,可以直接像楼下说的使用find的-name参数,也可以像我说的使用grep从搜索结果中抓取。-name参数支持*、.的模糊搜索,grep则可以将所有相关文件都抓出来。
find /中的/表示搜索根目录及其下所有子目录,如果你要搜索特定目录,譬如
find /usr/local
就是搜索/usr/local文件夹及其下所有子目录。
要注意的是,如果有目录权限不够,find命令会报一堆权限不够的错,我一般在root下搜索。如果你使用ubuntu的话,可以sudo。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息