相关疑难解决方法(0)

如何让 `ls` 以兆字节显示文件大小?

我需要什么命令让 Linuxls以 MB 为单位显示文件大小?

linux ls

684
推荐指数
2
解决办法
155万
查看次数

如何在 PDF 文件中使用 grep?

有没有办法使用 grep 搜索 PDF 文件,而无需先在 Ubuntu 中转换为文本?

grep search pdf

207
推荐指数
7
解决办法
14万
查看次数

为什么循环查找的输出是不好的做法?

这个问题的灵感来自

为什么使用 shell 循环处理文本被认为是不好的做法?

我看到这些结构

for file in `find . -type f -name ...`; do smth with ${file}; done
Run Code Online (Sandbox Code Playgroud)

for dir in $(find . -type d -name ...); do smth with ${dir}; done
Run Code Online (Sandbox Code Playgroud)

几乎每天都在这里使用,即使有些人花时间对这些帖子发表评论,解释为什么应该避免这种东西......
看到此类帖子的数量(以及有时这些评论被简单地忽略的事实)我想我还不如问一个问题:

为什么循环find的输出是不好的做法,为 返回的每个文件名/路径运行一个或多个命令的正确方法是find什么?

find filenames files for

193
推荐指数
4
解决办法
3万
查看次数

仅列出当前目录中的常规文件(但不列出目录)

我可以ls -ld */用来列出当前目录中的所有目录条目。有没有类似的简单方法来列出当前目录中的所有常规文件?我知道我可以使用 find

find . -maxdepth 1 -type f
Run Code Online (Sandbox Code Playgroud)

或统计

stat -c "%F %n" * | grep "regular file" | cut -d' ' -f 3-
Run Code Online (Sandbox Code Playgroud)

但这些并没有让我觉得过于优雅。有没有一个很好的简短方法来只列出常规文件(我不关心设备、管道等)而不是当前目录的子目录?列出符号链接也是一个加分项,但不是必需的。

ls shell wildcards files

150
推荐指数
5
解决办法
36万
查看次数

如何仅获取在使用 ls 的日期之后创建的文件?

使用该ls命令,是否可以仅显示在特定日期、小时...之后创建的文件?

我问它是因为我有一个包含数千个文件的目录。

我希望看到自昨天以来创建的所有文件。

我使用ls -ltr但我必须等待才能看到所有文件...

有一个DIRECTORY/SINCE=date来自 OpenVMS的等价物?

ls

145
推荐指数
2
解决办法
39万
查看次数

从另一个文件克隆所有权和权限?

是否有命令或标志可以从另一个文件克隆文件的用户/组所有权和权限?使权限和所有权与另一个文件完全相同?

shell permissions files chown

140
推荐指数
4
解决办法
12万
查看次数

如何在 ls -Al 中仅输出文件名(带空格)?

我应该只用这种结构回显文件或目录的名称:

ls -Al | while read string
do
...
done
Run Code Online (Sandbox Code Playgroud)

ls -Al 输出 :

drwxr-xr-x  12 s162103  studs         12 march 28 12:49 personal domain
drwxr-xr-x   2 s162103  studs          3 march 28 22:32 public_html
drwxr-xr-x   7 s162103  studs          8 march 28 13:59 WebApplication1
Run Code Online (Sandbox Code Playgroud)

例如,如果我尝试:

ls -Al | while read string
do
echo "$string" | awk '{print $9}
done
Run Code Online (Sandbox Code Playgroud)

然后只输出没有空格的文件和目录。如果文件或目录有“个人域”之类的空格,则只有“个人”一词。

我需要非常简单的解决方案。也许有比 awk 更好的解决方案。

linux command-line ls

116
推荐指数
4
解决办法
30万
查看次数

在linux中,如何删除除模式*.txt之外的所有文件?

我知道如何删除txt当前目录下的所有文件rm *.txt。有谁知道如何删除当前目录中的所有文件,除了txt文件?

shell bash wildcards

112
推荐指数
5
解决办法
15万
查看次数

如何将不区分大小写的模式与 ls 匹配?

我想列出与某个模式匹配的所有文件,同时忽略大小写。

例如,我运行以下命令:

ls *abc*
Run Code Online (Sandbox Code Playgroud)

我想查看所有将“abc”作为文件名一部分的文件,忽略大小写,例如

-rw-r--r-- 1 mtk mtk 0 Sep 21 08:12 file1abc.txt
-rw-r--r-- 1 mtk mtk 0 Sep 21 08:12 file2ABC.txt
Run Code Online (Sandbox Code Playgroud)

笔记

我已经在手册页中搜索了案例,但找不到任何内容。

ls shell wildcards case-sensitivity

74
推荐指数
4
解决办法
10万
查看次数

如何复制一些但不是所有文件?

因此,在目录上下文中*使用时,您可以将用作所有文件的通配符cp。有没有办法复制除文件之外的所有x文件?

shell bash wildcards

70
推荐指数
5
解决办法
14万
查看次数