为了启动 vim、git、ssh 等,我通常从命令行进行大量工作。但是,我发现 Finder 的柱状视图更适合浏览我的文件。不幸的是,我想对文件做的所有事情都不太自然。
两全其美呢?是否有任何流行的命令行程序/命令偏离了可敬的标准cd并ls用于在终端中导航和浏览文件?我相信人们一定尝试过将文件可视化、打开文件夹等的有趣方法。
我想基本上持续更新目录的文件列表,类似于 tail 处理-f文件上的标志的方式。
有什么合理的方法可以做到这一点吗?
# cat /proc/version
Linux version 2.6.18-308.8.2.el5.028stab101.1 (root@rhel5-build-x64) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-46)) #1 SMP Sun Jun 24 20:25:35 MSD 2012
# ls -l /proc/version
-r--r--r-- 1 root root 0 Aug 22 10:07 /proc/version
Run Code Online (Sandbox Code Playgroud)
文件大小报告为 0,但它有内容。这是如何运作的?
是不是因为/proc是某种虚拟文件系统?
哪个命令可以显示文件的确切大小/proc?
如何仅使用一个ls命令来显示/dev目录中的所有符号链接?
我知道ls -l,仅此而已。
以下是规范: 查找 /tmp/test 修改时间后 / modified 中的所有文件,从搜索中排除 /proc 和 /sys,并打印文件的完整路径以及人类可读的大小。这是我到目前为止所拥有的:
find / \( -path /proc -o -path /sys \) -prune -o -newer /tmp/test -exec ls -lh {} \; | less
Run Code Online (Sandbox Code Playgroud)
问题是未打印完整路径。不幸的是,ls 不支持打印完整路径!我发现的所有显示如何打印完整路径的解决方案都建议使用 find。:|
有任何想法吗?谢谢!
我使用访客会话帐户登录 Ubuntu,但ls即使使用sudo.

但为什么?有任何想法吗?
我试图显示以字母开头的隐藏文件b。
我试过了:
ls b
ls b*
Run Code Online (Sandbox Code Playgroud)
和许多其他选项,但找不到解决方案。我怎样才能做到这一点?
我想列出当前路径中和下方的所有目录和子目录。由于我只想显示目录,我想出了以下命令:
find -type d -exec ls -d1 {} \; | cut -c 3-
Run Code Online (Sandbox Code Playgroud)
例如,这会打印出来
webphone
music
finance
finance/banking
finance/realestate
finance/trading
finance/other
finance/moneylending
finance/insurance
webradio
webtv
Run Code Online (Sandbox Code Playgroud)
我现在遇到的问题是,该目录finance已列出。finance不包含任何文件,只包含您在上面看到的子目录。我想要实现的是以下输出:
webphone
music
finance/banking
finance/realestate
finance/trading
finance/other
finance/moneylending
finance/insurance
webradio
webtv
Run Code Online (Sandbox Code Playgroud)
在此列表finance中未列出目录。因此,我需要您提供有关如何过滤不包含文件(仅包含子目录)的目录的建议。
我只是调用了这个命令ls -l | tail +3。首先,ls -s 生成 3 行,第一行添加管道条,然后在单独的行上打印每个文件名。它是如何做到的?这没有意义。
另外,我认为尾部文件名显示最后 10 行。+ (和减去)如何影响这个等式?
头也一样?它是如何工作的?
这发生在 cygwin (CYGWIN_NT-5.1 MYPC 1.7.5(0.225/5/3) 2010-04-12 19:07 i686 Cygwin)
第一个命令,ls *.py什么都不显示
$ ls *.py
ls: cannot access *.py: No such file or directory
Run Code Online (Sandbox Code Playgroud)
第一个命令, ls *.py在同一位置运行,显示以下内容
$ ls *py
LICENSE.txt _cpchecker.pyc _cperror.pyc _cpserver.py _cptree.pyc favicon.ico
__init__.py _cpconfig.py _cplogging.py _cpserver.pyc _cpwsgi.py lib
__init__.pyc _cpconfig.pyc _cplogging.pyc _cpthreadinglocal.py _cpwsgi.pyc process
_cpcgifs.py _cpdispatch.py _cpmodpy.py _cptools.py _cpwsgi_server.py scaffold
_cpcgifs.pyc _cpdispatch.pyc _cprequest.py _cptools.pyc _cpwsgi_server.pyc wsgiserver
_cpchecker.py _cperror.py _cprequest.pyc _cptree.py cherryd
Run Code Online (Sandbox Code Playgroud)
这些是子目录cherrypy中的文件
我没有ls以任何方式别名(运行/usr/bin/ls给出相同的结果)
那么问题来了,为什么会有差异呢?我不希望ls在没有-R标志的情况下递归运行