Articles of ls

每次我改变目录的shell脚本来调用ls命令

我想知道是否有任何方法来创build一个脚本,这将在后台运行,每次我在Linux中更改目录(“cd”)时将调用“ls”命令。 我知道,为了在后台添加一个进程,在运行时添加一个“&”。 提前致谢!

使用Awk查找以.c结尾的文件

我正在写一个awk脚本,看起来像这里面: BEGIN{print "Name\t Size\t\t Access"} {if($10~/[1-9].[c]) printf "%-10s %-10s %-5s\n", $10, $6, $1} 这试图find以.c结尾的文件,但是它给了我名字中有.c的文件。 我的输出如下所示: lab1.cpp Lab2.cpp prog1.c prog2.c prog3.c.txt 我必须使用awk命令来查找这些文件。 我该如何解决这个问题呢? prog1.c prog2.c

Linux shell创build后台进程 – ls&不返回提示符,要求Enter按下

我正在学习在Linux(或MacOS)shell中创build后台进程。 大多数命令按预期运行 – 运行命令$<command> &后会返回提示符,例如$top & , $man ls &等。 但是,我有一个命令ls的问题:执行$ls &不立即返回到其他人的提示,但它需要我按回车回来的提示。 我怎样才能解释这一点? 谢谢。

Unix:什么是ls -t的时间分辨率?

我正在使用ls -t来处理文件的时间顺序,其中ls -t表示修改时间。 我的问题是:这个选项有多精确? 秒,毫秒还是纳秒?

为什么`cd ..`反映符号链接遍历,而`ls ..`不是?

ls .. 意思是“列出上司的文件和目录”。 当我在符号链接之后改变目录时, ls ..不遵循符号链接。 它只是显示真正的上层目录。 例如,当目录结构如下时, r ┬ a – b – sub@ └ sub ( sub@是sub@的符号链接) 在cd a/b/sub之后的ls ..命令在r目录中给出文件,就像我在r/sub 。 不是b目录的。 但是cd ..命令带我到b目录。 如何使用ls命令在目录b显示文件?

链接数和ls命令

我正在学习文件链接计数。 只有链接计数达到0时,才能删除文件的内容。 在我的testing过程中,打开目录“/ home / hel / myfile”中的一个文件,并hibernate10(s)。 同时我使用“rm / home / hel / myfile”删除它。 然后我使用命令“ls”并显示没有这样的文件。 但事实上,该文件仍然存在,因为FD没有closures。 如果是这样,“ls”不能显示文件是否真的存在。 我对“ls”感到困惑。 或者我怎么能判断一个文件真的存在? #include <fcntl.h> #include <stdlib.h> int main(void) { int fd; fd = open("/home/hel/myfile", O_RDWR); if (fd < 0) { exit(-1); } sleep(10); // sleep 10(s) close(fd); return 0; }

在ls -Q中没有正确引用换行符

使用ls -Q –quoting-style=shell和–quoting-style=shell ,文件名中的换行符(是的,我知道…)会变成? 。 这是一个错误? 有没有办法如何获得与shell 100%兼容的格式的文件名(如果可能,sh或bash)? 示例(bash): $ touch a$'\n'b $ for s in literal shell shell-always c c-maybe escape locale clocale ; do ls -Q a?b –quoting-style=$s done a?b 'a?b' 'a?b' "a\nb" "a\nb" a\nb 'a\nb' 'a\nb'

CP错误(与ls和grep结合使用) – cp:不能stat

当我使用grep进行ls时,结果是非常需要的:dll的列表,如下所示: $ ls -R | grep "dll$" boost_chrono-vc90-gd-1_47.dll boost_chrono-vc90-mt-gd-1_47.dll boost_chrono-vc90-1_47.dll boost_chrono-vc90-mt-1_47.dll boost_date_time-vc90-gd-1_47.dll boost_date_time-vc90-mt-gd-1_47.dll boost_date_time-vc90-1_47.dll boost_date_time-vc90-mt-1_47.dll boost_filesystem-vc90-gd-1_47.dll boost_filesystem-vc90-mt-gd-1_47.dll boost_filesystem-vc90-1_47.dll … 但是当我试图复制所有这些DLL到目的地说../,我得到错误,没有文件被复制: $ cp `ls -R | grep "dll$"` ../ cp: cannot stat `boost_chrono-vc90-gd-1_47.dll': No such file or directory cp: cannot stat `boost_chrono-vc90-mt-gd-1_47.dll': No such file or directory cp: cannot stat `boost_chrono-vc90-1_47.dll': No such file or directory […]

“ls”在cmd行工作,但不在脚本中的名称空间的目录

我是bash脚本的初学者,我正在编写一个脚本,它具有variables目录名称,谁使用这些variables值来运行简单的bash命令,如“ls”和“cd”。 例如,当目录具有“正常”名称时,它工作得很好 testfolder / FOLDER01 但是,如果目录的名称中有空格和括号,就会发生失败,例如,当您复制子目录并粘贴到包含子目录的相同目录中时,就会发生这种情况。 在这个脚本中可以看到这个问题: [boblacerda@localhost MyScripts]$ cat test.sh #!/bin/bash VARDIR="testfolder/folder01" ls $VARDIR VARDIR="testfolder/folder01\ \(copy\)" ls $VARDIR [boblacerda@localhost MyScripts]$ 这是脚本在debugging模式下的输出: [boblacerda@localhost MyScripts]$ bash -x test.sh + VARDIR=testfolder/folder01 + ls testfolder/folder01 testefile01 testefile02 + VARDIR='testfolder/folder01\ \(copy\)' + ls 'testfolder/folder01\' '\(copy\)' ls: cannot access testfolder/folder01\: No such file or directory ls: cannot access \(copy\): No […]

ls输出特定文件的颜色?

是否可以为特定文件分配ls命令的输出颜色? 我问的原因是,对于git仓库,我希望我跟踪的文件有不同的颜色从未跟踪的。 特别是,我想要输出“git ls-files”,并给这些文件一个特定的颜色(或使名称为粗体或其他)。