文章转载自:Ubuntu的ls命令卡住linux
昨天让某人自行探索设置PATH环境变量,今天告诉我帐号异常,具体表现是bitwise登陆后sftp栏没法显示文件。作一些不懂原理的操做,接着出现本身没法解决的奇怪问题,这是linux新手常见的问题。我打心底里认为应该是环境变量致使,问题应该手到擒来。ubuntu
因而用其帐号密码登陆系统,习惯性的敲了ll
命令,没想到居然卡住了!按ctrl+c
kill掉命令,接着尝试ls
,发现一样卡住。这个现象让我很吃惊,不单单是由于以前没碰到过,更由于其home目录下文件不多,不该该出现卡住的问题。code
好消息是问题缘由找到了:ls
命令有问题,因此sftp不能列出文件。但ls
为何会卡住呢?进程
type ls
查看ls
的具体定义,输出:ls is aliased to
ls -hF --color=tty'。接着看
ls的具体路径:
which ls,结果为
/bin/ls`。二者都没毛病,怎么忽然之间就不干活了?get
尝试执行原生ls
:/bin/ls
,正常显示结果;加上-l
选项:/bin/ls -l
,一样卡死了。根据别名ls
和ll
的具体形式,得出结论为:-F
选项致使命令卡死。-F
用来显示文件的真实身份,因此ls
卡死的缘由应该是某个文件或文件夹损坏了。it
因其一直用gnome桌面环境,以前也出现gnome下显示问题,经过重装软件包并重启解决。此次的现象应该也是某个进程出了问题,用root用户将其进程kill掉估计就能够了:ps aux | grep username | grep -v | awk '{print $2}' | xargs -n1 kill -9
。awk
再次用其帐号密码登陆,问题解决。登录
本次解决问题简单粗暴,想要找到出问题的文件建议用strace
命令。strace
跟踪系统调用,能很快定位到具体出问题的文件。变量