单个目录中是否存在最大数量的inode?
我有一个超过200万个文件的目录,无法获取该ls命令对该目录.所以现在我想知道我是否超过了Linux中的inode限制.在2 ^ 64数字限制之前是否有限制?
我正在学习unix/linux类,我们还没有学习变量或函数.我们刚刚学习了一些基本的实用程序,如标志和管道,输出和附加到文件.在实验室作业中,他希望我们找到最大的文件并将它们复制到目录中.
我可以获得5个最大的文件,但我不知道如何在一个命令中将它们传递给cp
ls -SF | grep -v / | head -5 | cp ? Directory
Run Code Online (Sandbox Code Playgroud) 我以为我理解*nix管道直到现在......我有一个可执行文件studio,其中的符号链接到我的安装,Android Studio我假设我可以获得链接到的位置
which studio | ls -l
Run Code Online (Sandbox Code Playgroud)
但这不起作用.它给我的东西等同于刚刚ls -l在当前目录中运行.
如果我跑which studio,我得到/home/me/bin/studio.如果我运行,ls -l /home/me/bin/studio我得到预期的输出显示符号链接位置.
那么为什么管道版本不起作用呢?什么没有我对管道的了解?
我必须编写一个脚本来查找目录中的所有可执行文件.所以我尝试了几种方法来实现它,它们确实有效.但我想知道是否有更好的方法可以做到这一点.
所以这是我的第一个方法:
ls -Fla | grep \*$
Run Code Online (Sandbox Code Playgroud)
这很好用,因为-F标志为我工作并为每个可执行文件添加一个星号,但是假设我不喜欢星号.
所以这是第二种方法:
ls -la | grep -E ^-.{2}x
Run Code Online (Sandbox Code Playgroud)
这也很好,我想要一个破折号作为第一个字符,然后我对接下来的两个字符不感兴趣,第四个字符必须是x.
但是要求中存在一些含糊之处,因为我不知道是否必须检查用户,组或其他可执行权限.这样可行:
ls -la | grep -E ^-.{2}x\|^-.{5}x\|^-.{8}x
Run Code Online (Sandbox Code Playgroud)
所以我测试第四,第七和第十个字符是x.
现在我真正的问题是,有一个更好的解决方案使用ls和grep与正则表达式说:
我想只grep那些文件,在一行的十个第一个字符中至少有一个x ls -la
我知道它会输出"长"版本,但每个部分的含义是什么?
在我的Mac上,当我输入时
ls -l /Users
Run Code Online (Sandbox Code Playgroud)
我明白了
total 0
drwxr-xr-x+ 33 MaxHarris staff 1122 Jul 1 14:06 MaxHarris
drwxrwxrwt 8 root wheel 272 May 20 13:26 Shared
drwxr-xr-x+ 14 admin staff 476 May 17 11:25 admin
drwxr-xr-x+ 44 hugger staff 1496 Mar 17 21:13 hugger
Run Code Online (Sandbox Code Playgroud)
我知道第一行是权限,虽然我不知道订单是什么.如果可以解释那将是很好的.然后是什么数字呢?
基本上,这些事情中的每一个意味着什么?为什么用户名有时写两次并且与其他时间不匹配?
我有很多包含数据的子目录,我想要一个简短的列表,列出我所拥有的作业(子目录).我对以下命令不满意.
$ ls H2*
H2a:
energy.dat overlap.dat
norm.dat zdip.dat ...
(much more)
H2b:
energy.dat overlap.dat
norm.dat zdip.dat ...
(much more)
Run Code Online (Sandbox Code Playgroud)
这种不必要的混乱破坏了通配符的目的(限制输出).如何将输出限制在一个深度?我想看看以下输出
H2a/ H2b/ H2z/
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助,尼克
当我ls在bash中执行时,我总是看到太多*.pyc文件.有没有办法隐藏这些文件?
如果我做
$ ls -l --color=always
Run Code Online (Sandbox Code Playgroud)
我得到了一个目录中的文件列表,为不同的文件类型等提供了一些很好的着色.
现在,我希望能够管理ls直通的彩色输出grep来过滤掉一些我不需要的文件.关键是我仍然想在grep过滤器后保留着色.
$ ls -l --color=always | grep -E some_regex
Run Code Online (Sandbox Code Playgroud)
^ grep后我失去了色彩
编辑:我正在使用无头服务器Ubuntu 8.10,Bash 3.2.39,几乎是一个没有花哨配置的股票安装
我是linux的新手.我在linux中有一个目录,大约有250,000个文件,我需要找到与模式匹配的文件数.
我尝试使用以下命令:
ls -1 20061101-20131101_kh5x7tte9n_2010_* | wc -l
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:
-bash: /bin/ls: Argument list too long
0
Run Code Online (Sandbox Code Playgroud)
请帮忙.提前致谢