当我用它来查看目录中是否有特定文件时,通过管道ls传送到grep不起作用
casper@fooserver:/home/log$ ls -ltr | grep *FOO-VOL2*
Run Code Online (Sandbox Code Playgroud)
但是当我使用ls文件通配符时,我得到结果:
casper@fooserver:/home/log$ ls -ltr *FOO-VOL2*
-rw-rw-rw- 1 casper casper 11489 Sep 24 18:00 FOO-VOL2.20140924.log.gz
-rw-rw-rw- 1 casper casper 11885 Sep 25 18:00 FOO-VOL2.20140925.log.gz
-rw-rw-rw- 1 casper casper 0 Sep 26 08:00 FOO-VOL2.sessiondump.log
-rw-rw-rw- 1 casper casper 60906 Sep 26 18:00 FOO-VOL2.20140926.log
-rw-rw-rw- 1 casper casper 58503 Sep 29 09:00 FOO-VOL2.20140929.log
-rw-rw-rw- 1 casper casper 8259128 Sep 29 09:00 FOO-VOL2.sys.log
Run Code Online (Sandbox Code Playgroud)
有什么区别 - grep 到管道应该可以工作。
在不显示所有子目录的情况下,我无法获得任何命令来列出目录中所有文件和文件夹及其总大小。例如我有一个目录
ls /home/kayan/data/
data-1 data-2 test.txt readme.txt
Run Code Online (Sandbox Code Playgroud)
这里 data-1 和 data-2 是两个文件夹,有很多子文件夹和文件。它们的实际大小是 123G 和 115G。
当我使用“du”命令时,它会列出所有子目录并花费太多时间。当我使用“ll”时,它没有显示包含子文件夹的文件夹的实际大小。我想要的是:
data-1 123G
data-2 115G
test.txt 12K
readme.txt 14K
Run Code Online (Sandbox Code Playgroud) 我一直在尝试将 macvim 安装到 7.4 的更高版本。我终于让它工作了,但现在我得到了错误
ls: No such file or directory
Run Code Online (Sandbox Code Playgroud)
在查找目录时。我可以使用命令临时修复它
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Run Code Online (Sandbox Code Playgroud)
但是,一旦我退出终端窗口,问题就会回来。我如何永久解决这个问题。
我尝试使用以下内容bash来访问文件夹的内容;
test_dir="/some_dir/dir_test"
ssh -t -t user@remote-host "
if [ -d '$test_dir' ]; then
sudo chown -R user:admin '$test_dir'
echo '$test_dir'/*
if [ '$(ls -A $test_dir)' ]; then
sudo rm -rf '$test_dir'/*
echo '$test_dir'/*
fi"
Run Code Online (Sandbox Code Playgroud)
该脚本尝试检查是否/some_dir/dir_test为空,如果不是,则删除该文件夹中的所有文件;但我收到以下错误;
ls: cannot access '/some_dir/dir_test': No such file or directory
/some_dir/dir_test
drwxr-xr-x. 3 sys admin 16 Sep 23 15:03 dir_test
Run Code Online (Sandbox Code Playgroud)
不过,我ssh可以remote-host和ls -A /some_dir/dir_test。
我想知道如何解决它。
ls | ruby -ne 'BEGIN{a= []}; a << File.size($_.chomp).to_i; END{puts a.sum}'
Run Code Online (Sandbox Code Playgroud)
上面的代码获取每个文件的文件大小,将其放入一个数组中,并打印总和。
返回的值与:
du -ach
Run Code Online (Sandbox Code Playgroud)
并且这两个值与通过以下方式显示的总计非常不同:
ls -al
Run Code Online (Sandbox Code Playgroud)
没有隐藏文件。
苹果系统
如何在Perl中获取文件的最后修改日期?
我能够获取最后修改过的文件,但是我需要使用Perl从目录中获取相同日期的文件.我有解决方案在Stack Overflow问题中获取最后一个修改过的文件如何在Perl中找到/剪切ls -lrt输出中的文件名.
但是如何获取ls -lrt最新日期而不是时间的输出?
我有一个文件名
atxt
我正在运行此命令
ls*.txt
理想情况下它应该匹配.使用'a'和*为零字符,但它返回的文件如
a.txt,b.txt
为什么这里是ls治疗.作为字面点,比正则表达式的任何字符都要好.
我试图用一个管道与cd和ls这样的:
ls -l | cd /home/user/someDir
Run Code Online (Sandbox Code Playgroud)
但没有任何反应.
我试过了:
cd /home/user/someDir | ls -l
Run Code Online (Sandbox Code Playgroud)
似乎该cd命令ls -l在当前目录下工作时不执行任何操作.
我正在尝试打开的目录是有效的.
这是为什么?用cd/ 管道命令是否可能ls?使用管道时其他命令没有任何问题.
以前从未使用过 Linux,并试图了解两者之间的区别
ls
Run Code Online (Sandbox Code Playgroud)
和
ls /
Run Code Online (Sandbox Code Playgroud)
“ls /”获取我的所有目录(以及更多,但不是 .files - 隐藏文件),正如我们可以在这个广泛的命令列表中看到的那样。
关于ls?