标签: ls

如何在运行 ls 时过滤具有特定权限或属性的文件?

例如,如果我只想要g+s运行时具有权限的文件,ls我该怎么做?

linux ls find

4
推荐指数
1
解决办法
4577
查看次数

bash 脚本中的 ls 命令显示“没有这样的文件或目录”

以下是我正在运行的脚本

#$1 - Argument
declare IPATH="sample/"
declare F=$IPATH$1
echo $F
ls $F
Run Code Online (Sandbox Code Playgroud)

输入是 ./script.sh "Fil*"

回声输出是 -

sample/Fil*
Run Code Online (Sandbox Code Playgroud)

当我运行命令时,ls sample/Fil*我得到了所需的输出 - 名称以 FIL 开头且位于示例文件夹中的文件列表,如下所示 -

sample/File  sample/File1  sample/File2
Run Code Online (Sandbox Code Playgroud)

但是脚本会引发以下异常。我究竟做错了什么?

ls: sample/Fil*: No such file or directory ls: $IPATH: No such file or directory
Run Code Online (Sandbox Code Playgroud)

linux bash command-line ls

4
推荐指数
1
解决办法
2万
查看次数

是否可以使用 ls、tail 和 mv 移动最后修改的文件?

我想使用 bash 命令从目录中移动最后 3 个修改过的文件。但是,我注意到我可以通过find以下方式使用:

find . -type f -mtime -0.5 -print -exec mv {} /home/user/Desktop \;
Run Code Online (Sandbox Code Playgroud)

但我还没有想出如何对ls -tr | tail -n 3. 例如,这不起作用:

ls -tr | tail -n 3 -exec mv {} /home/user/Desktop             
tail: invalid option -- 'e'
Run Code Online (Sandbox Code Playgroud)

我更喜欢使用第二个选项的唯一原因是为了指定多个文件而不是大概时间。是否有可能使它lstail

谢谢!

linux ls find

4
推荐指数
1
解决办法
5250
查看次数

为什么 ls 不显示组名?

当我使用 时ls -l,它不会在列表中显示组名称。只有用户名。

aj@host:/media/storage$ ll
total 724
drwxrwxrwx 10 root       4096 Sep 17 18:23 .
drwxr-xr-x  3 root       4096 Jun 16 14:18 ..
drwxrwxr-x  5 aj         4096 Aug  8 01:22 blessed-data
drwxrwxr-x  4 git        4096 Jul 21 15:27 git-repos
drwx------  2 root      16384 Jun 16 14:33 lost+found
drwxrwsr-x  2 analyst    4096 Sep 17 18:23 projects
Run Code Online (Sandbox Code Playgroud)

为什么不ls -l显示组名,而只显示用户名?

我正在运行 Ubuntu 14.04 LTS(可信赖)。

linux ls ubuntu

4
推荐指数
1
解决办法
9396
查看次数

为什么 ls 命令在其参数前需要破折号,而对于 tar 命令,破折号是可选的?

我是 Ubuntu 的新手,我正在努力理解命令行。

当我想查看 tar 文件的内容时,我使用:

tar tf tarfile.tar

但是当我想查看所有文件的列表时,如果我使用:

ls 一个文件名

它说:

ls: 无法访问 a: 没有那个文件或目录

这是为什么?

为什么一个命令需要减号“-”,而另一个命令不需要?

linux arguments ls tar

4
推荐指数
1
解决办法
352
查看次数

使用通配符递归运行`ls`

我正在尝试使用以下命令查找特定文件类型的所有项目文件:

ls -ltR *.mb
Run Code Online (Sandbox Code Playgroud)

我知道在几个文件夹中有我想要的文件,但我没有得到任何结果。我做错了什么?

linux bash ls wildcards

4
推荐指数
1
解决办法
4753
查看次数

Unix、Linux、Mac、Windows、Ubuntu 上是否有列出文件/目录结构的工具?

我想知道是否有一个工具可以列出文件/目录(即对文件夹和文件结构进行快照),如下所示:

audio
  mp3
    song1.mp3
    some other song.mp3
  audio books
    7 habits.mp3
video
  samples
    up.mov
    cars.mov
Run Code Online (Sandbox Code Playgroud)

换句话说,在树结构中。

Unix 命令ls -Rls -lR可以做类似的事情,除了它不会以树结构缩进列出

mac unix file-management ls ubuntu

3
推荐指数
1
解决办法
1341
查看次数

如何递归列出带有时间戳和完整路径的所有文件?

我想递归地列出给定目录中的所有文件,及其完整路径和时间戳。像这样的东西:

10:30 Dec 10 2010 /tmp/mydir/myfile
Run Code Online (Sandbox Code Playgroud)

我试过:

find . -type f -exec ls -la {} \;
Run Code Online (Sandbox Code Playgroud)

但这并没有给我完整的路径。

linux ls

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

如何删除文件的@/扩展元数据?

我知道@中的

-rwxrwxrwx@ 1 me  staff     0 16 Mai 10:55 myLog.txt
Run Code Online (Sandbox Code Playgroud)

意味着附加了一些扩展的元数据。

美好的。我不感兴趣。

我需要知道如何删除它?

我在一些 php 脚本的开发阶段一次又一次地得到这个。我的日志文件一次又一次被 @ 阻塞,我的脚本无法再写入日志文件。到目前为止我唯一的解决方案:删除文件并重新创建它并重新修改文件的权限,这当然很糟糕。

也许你能告诉我是什么原因造成的?这似乎完全是随机的。我可以停用此阻止@

编辑和解决方案:

感谢评论,我现在发现以下命令删除了“@”

xattr -d com.macromates.caret filename
Run Code Online (Sandbox Code Playgroud)

下一个命令阻止 Textmate 再次添加它(在运行命令之前关闭 Textmate)。

defaults write com.macromates.textmate OakDocumentDisableFSMetaData 1
Run Code Online (Sandbox Code Playgroud)

来源和更多信息在这里

ls file-permissions macos

3
推荐指数
1
解决办法
4778
查看次数

OSX Snow Leopard 上的 ls -l 中的第一个字符(数字)是什么意思?

我已经包含了来自 OSX 10.6.7 的 ls -lasF 输出的缩略样本 - ls 的手册页没有讨论此输出中显示的每行的第一个数字 (0,8,16,32,48,80,376) . (/etc 链接到 OSX 上的这个目录)

mimac:~ frank$ ls -lasF /private/etc
total 1000
   0 drwxr-xr-x  22 root   wheel    4216 May 20 13:41 ./
   0 drwxr-xr-x@  6 root   wheel     204 Dec 15  2009 ../
   8 -rw-r--r--   1 root   wheel      85 Apr 11 23:59 .BroadbandTuner-saved-settings
   0 -rw-r--r--   1 root   wheel     753 Jul 16  2009 6to4.conf
   8 -rw-------   1 root   wheel      24 Apr 14 04:08 AFP.conf
   0 -rw-r--r--   1 root   wheel       0 Dec …
Run Code Online (Sandbox Code Playgroud)

terminal ls osx-snow-leopard

3
推荐指数
1
解决办法
406
查看次数