标签: ls

尽管文件是只读的,但 Vi 可以写入文件

以下示例显示如何创建仅具有读取权限的文件。正如我们所见,当我尝试使用 echo 命令写入该文件时,我得到了Permission denied.

但是为什么,在我们使用 vi 的情况下,我们没有得到Permission denied?从这里可以看出,即使文件是只读的,我们也可以写入文件。

这里发生了什么?这是一个vi错误吗?

[admin@madona-machine1 ~]$ touch test-file
[admin@madona-machine1 ~]$ ls -ltr
total 0
-rw-r--r-- 1 admin admin 0 Apr 13 07:32 test-file
[admin@madona-machine1 ~]$ chmod -w  test-file
[admin@madona-machine1 ~]$ ls -ltr
total 0
-r--r--r-- 1 admin admin 0 Apr 13 07:32 test-file
[admin@madona-machine1 ~]$ echo try_to_write > test-file
-bash: test-file: Permission denied
[admin@madona-machine1 ~]$ vi test-file

I am good singer,

 ~
 ~
 ~
 ~
 ~
 ~
 ~                                                
   "test-file" …
Run Code Online (Sandbox Code Playgroud)

linux vi ls chmod

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

Ubuntu 的 ls 可以显示 unicode 字符,但是 tree 不能,即使使用 tree --charset unicode

Ubuntu 10.04ls可以显示 unicode 字符,但tree不能显示,即使使用tree --charset unicodeutf8。有没有办法解决。 echo可以解释转义字符,除非cat list.txt | echo -e不起作用(list.txt来自 tree > list.txt

更新:tree -H www.somewhere.com可以输出unicode(应该是UTF-8)但现在看来这是唯一的方法——作为一个网页。

$ ls -R
.:
list2.txt  list.txt  ????????????????.txt  ??

./??:
??2.txt  ??.txt

$ tree --charset unicode
.
|-- list2.txt
|-- list.txt
|-- \344\271\205\346\234\252\345\234\250\351\201\212\350\241\214\345\240\264\345\220\210\351\234\262\351\235\242\347\232\204\345\211\215\347\270\275\347\265\261\346\235\216\347\231\273\350\274\235.txt
`-- \351\201\212\350\241\214
    |-- \345\244\247\345\256\2662.txt
    `-- \345\244\247\345\256\266.txt

1 directory, 5 files

$ tree --charset utf8
.
??? list2.txt
??? list.txt
??? \344\271\205\346\234\252\345\234\250\351\201\212\350\241\214\345\240\264\345\220\210\351\234\262\351\235\242\347\232\204\345\211\215\347\270\275\347\265\261\346\235\216\347\231\273\350\274\235.txt
??? \351\201\212\350\241\214
    ??? \345\244\247\345\256\2662.txt …
Run Code Online (Sandbox Code Playgroud)

bash unicode ls tree ubuntu

11
推荐指数
1
解决办法
4765
查看次数

ls | | | rm -- 如何格式化这个命令?

我正在尝试删除某个目录中的一堆文件(在 Mac OS X 上使用终端)

ls | grep \([1-9]\) | xargs rm
Run Code Online (Sandbox Code Playgroud)

应该可以解决问题,但事实并非如此。我正在尝试删除文件名中括号中带有一位数字的任何文件(从网络下载的重复项),但最终会执行以下操作:

> rm: 520syllabus2010: No such file or
> directory rm: (3).pdf: No such file or
> directory
Run Code Online (Sandbox Code Playgroud)

因为它没有正确解释空间。应删除“520syllabus2010 (3).pdf”

这样做的正确方法是什么?

谢谢,杰夫

grep ls rm

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

Linux: ls -l 只打印问号:

我在使用 ls -l 列出某个目录时遇到问题:

$ ls -l ./directory
-????????? ? ? ? ?            ? file001.txt
-????????? ? ? ? ?            ? file002.txt
Run Code Online (Sandbox Code Playgroud)

只是 ls 效果很好:

$ ls ./directory
file001.txt file002.txt
Run Code Online (Sandbox Code Playgroud)

怎么了?

linux ls coreutils

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

OS X ls 手册页中“rw-”文件模式中的第三个符号是什么意思?

我无法理解ls有关具有rw-模式的文件的手册。这是报价:

  1. 如果r文件可读;如果?,则不可读。

  2. 如果w,文件是可写的;如果?,则不可写。

  3. 以下第一个适用:

    S     如果在所有者权限中,则该文件不可执行并设置了 set-user-ID 模式。如果在组权限中,则该文件不可执行并设置了 set-group-ID 模式。

    s     如果在所有者权限中,则该文件是可执行的并且设置了 set-user-ID 模式。如果在组权限中,则该文件是可执行的,并且设置了 setgroup-ID 模式。

    x     该文件是可执行的或目录是可搜索的。

    ?     该文件既不是可读、可写、可执行的,也不是 set-user-ID 或 set-group-ID 模式,也不是粘性的。

特别是,它似乎以粗体相互矛盾的两个部分:根据第一个,因为模式开头r,该文件是可读的,但是根据最后一个,该文件是可读的。但是,显然,情况并非如此。

那么,关于文件“既不可读也不可写......”的第三部分是什么意思?


参考书目

  • apple.com 似乎是上面引用的文字的来源。  是手册页(对于 OS X 10.9 版,标题为“BSD 通用命令手册”),是引用它的讨论页。
  • ss64.com也有一份 OS Xls手册页。
  • tuhs.org有 4.4 BSD 手册页。当心:它wwoorrdd用于粗体和_w_o_r_d下划线。
  • freebsd.org有 FreeBSD 10.1 手册页,日期为 2013 年 …

documentation ls file-permissions macos

11
推荐指数
2
解决办法
1063
查看次数

如何查找当前目录下的所有软链接(符号链接)?

问题与 .shell 脚本有关bash

如何使用脚本检查当前目录中的哪些文件是软链接?

如果我使用了错误的术语,当我说soft links 时,我指的是使用ln -s.

我唯一能想到的是ls -la作为一个表达式进行评估,并解析它的结果,但这显然不是最好的解决方案。

bash symbolic-link ls ln shell-script

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

ls 版本号排序 Mac OS X

ls -v在 Mac OS X 中是否有等效的版本号排序?

在 Mac OS X 中,ls -v不进行版本号排序,但 Finder 似乎可以。

ls sorting version macos

10
推荐指数
1
解决办法
2646
查看次数

在 Mac 上的 in ls -l 权限后的@ 是什么?

可能重复:
ls -la 符号……最后一个符号是什么意思?

考虑 OS X 10.5.8 上 ls -l 的以下输出

drwxr-xr-x   3 user  staff    102 Aug 26 20:21 downloads
drwxrwxrwx@ 10 user  staff    340 Aug 26 20:12 images
Run Code Online (Sandbox Code Playgroud)

谁能告诉我权限部分末尾的@ 代表什么,以及如何禁用/启用它。我想这与目录列表权限有关,因为当我在 Apache 中运行 PHP 脚本需要访问没有设置 @ 位的文件夹时,它不会列出目录内容。

谢谢!

mac ls chmod macos

9
推荐指数
0
解决办法
8866
查看次数

如何递归显示文件内容?

我总是必须在打印的作业报告中提交源代码。我必须将我的课程代码复制并粘贴到文档中,我发现这是一项烦人的任务。

我想解决这个“复制和粘贴”问题。因此,我是这样做的cat,但它仅适用于当前目录。我希望它可以递归显示文件内容。

ls -R *.java | xargs cat >> all_course.txt
Run Code Online (Sandbox Code Playgroud)

linux unix bash ls cat

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

如何将 GNU 与 gunzip 并行使用

我有一个目录.gz,我想与 GNU 并行并行扩展每个存档。但是我没有取得任何成就。

我试过

parallel 'gunzip {}' ::: `ls *.gz`
parallel gunzip `ls *.gz`
Run Code Online (Sandbox Code Playgroud)

没有结果,bash 告诉我:

/bin/bash: archive1.gz: command not found
...
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

谢谢

bash ls gunzip gnu-parallel

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