Linux 中的命令
$ ls -lt --time-style=full-iso
Run Code Online (Sandbox Code Playgroud)
输出
...
-rw-r--r-- 1 mduda mduda 1855 2009-08-26 13:07:55.000000000 +0200 screen-configurations.xml
drwxr-xr-x 2 mduda mduda 4096 2009-08-26 13:07:22.000000000 +0200 Documents
drwxr-xr-x 2 mduda mduda 4096 2009-08-26 13:07:22.000000000 +0200 Music
drwxr-xr-x 2 mduda mduda 4096 2009-08-26 13:07:22.000000000 +0200 Pictures
Run Code Online (Sandbox Code Playgroud) 我最近安装的zsh,现在每当我ls或者ls -l还是ls anything我得到“非法选项”。不知道从哪里开始寻找解决这个问题。
df -h在我的服务器上显示错误的空白空间,其中一个磁盘:
/dev/sda2 450G 393G 34G 93% /
Run Code Online (Sandbox Code Playgroud)
Cpanel 显示它只有 34GB 可用空间,但还有更多。几分钟前,我删除了超过 80GB 的日志文件。所以,我确定它完全错误。
fdisk -l /dev/sda2也显示错误:
Disk /dev/sda2: 498.0 GB, 498098280960 bytes
255 heads, 63 sectors/track, 60557 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sda2 doesn't contain a valid partition table
Run Code Online (Sandbox Code Playgroud)
在不格式化的情况下我能做些什么来解决这个问题?
我用作$HOME/.local前缀来安装一些没有root访问权限的应用程序。里面有一个目录$HOME/.local我不能执行ls命令:
[tuananh@server lib]$ ls
Segmentation fault
[tuananh@server lib]$ cd ..
[tuananh@server .local]$ ls lib
audit libform.a
libncurses.a libopenblas.so.0
...
[tuananh@server .local]$
Run Code Online (Sandbox Code Playgroud)
这可能是什么原因?uname -a对于我的服务器:
Linux server 2.6.32-358.2.1.el6.x86_64 #1 SMP Tue Mar 12 14:18:09 CDT 2013 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
编辑: 的输出LD_TRACE_LOADED_OBJECTS=1 ls。我发现了一些从这个目录加载的库。那么现在我应该怎么做才能找到导致问题的那个?
linux-vdso.so.1 => (0x00007fff831b8000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x0000003d94800000)
librt.so.1 (0x00007fdcde5a3000)
libcap.so.2 => /lib64/libcap.so.2 (0x0000003d95c00000)
libacl.so.1 => /lib64/libacl.so.1 (0x0000003d97c00000)
libc.so.6 (0x00007fdcde1f5000)
libdl.so.2 (0x00007fdcddff1000)
/lib64/ld-linux-x86-64.so.2 (0x0000003d92c00000)
libpthread.so.0 (0x00007fdcdddd3000)
libattr.so.1 => /lib64/libattr.so.1 …Run Code Online (Sandbox Code Playgroud) 对于我系统上的某个目录 DIR ls --color=always,虽然它包含的文件和子目录少于 10 个,但大约需要 8 秒。没有颜色参数,它不需要时间。
为什么ls颜色参数需要这么长时间,我怎样才能找出到底是什么需要这么长时间?可能是挂载了 DIR 中的某个子目录,但是我如何找出哪个是麻烦制造者?
在 Gnu "ls" 的手册中,我看到了这一点:
--author
with -l, print the author of each file
Run Code Online (Sandbox Code Playgroud)
有人知道文件的“作者”在这种情况下是什么意思吗?
这(也许?)不是文件的owner,它已经与-l...一起列出了,或者是吗?也许这指的是与我的(ext4)不同类型的文件系统,在“作者”和“所有者”之间有区别?
在我的机器上,它似乎统一复制了“所有者”列,但我绝对对这个列感到好奇。
也许这只是有史以来最糟糕的“噪音”关键字组合,但我在网上找不到任何相关内容(既不是 /usr/share/{man,info} 也不是 StackExchange 也不是 Google),但“作者”实际上是一个噪音词: -(
我想,如果所有其他方法都失败了,我可以挖掘coreutils来源......
我正在使用 CentOS 7 并尝试列出目录的内容,但不能。当我尝试列出内容时,我得到以下输出:
[entpnerd@myhost ~]$ ls -ali /data/sharedlogs/otherhost/
ls: cannot access /data/sharedlogs/otherhost/vcs: Not a directory
total 12
2361284 drwxr-xr-x 4 root root 4096 Sep 26 14:40 .
2359297 drwxr-xr-x 6 root root 4096 Apr 26 17:41 ..
2362573 drwxr-xr-x 2 root root 4096 Mar 22 2017 tkr
? d????????? ? ? ? ? ? vcs
Run Code Online (Sandbox Code Playgroud)
输出表明我的目录vcs“不是目录”,即使它应该是,因为这是以前记录文件的位置。此外,文件权限位现在都是问号,所有者和(莫名其妙)inode ID 也是问号。
如何让文件系统再次将我的目录识别为目录?
在尝试了我在下面概述的所有内容后,我看到的唯一前进路径是确保备份并运行磁盘fsck(如本论坛建议的那样),或者可能只是格式化整个安装。希望我能找到一个更简单、不那么激烈的解决方案。
我尝试过的一些事情:
sudo: 我试过运行,sudo ls但输出没有区别。rm: 我试着移除vcs把它放回去,但没有运气。我在有sudo …
假设我们有一个默认格式化的 ext3 文件系统,我假设文件夹在磁盘上占用 4K 空间。
但是,当文件夹大于 4K 时,这意味着什么?
这是一个这样的文件夹的图片:http://datanethost.net/stuff/puttysh.png
唯一的文件是一个 .htaccess 文件,它有几个字节。我创建了一个新目录,将 .htaccess 文件移动到新文件夹中并删除了另一个奇怪的文件夹,一切又好了……但我只是觉得很奇怪。
谁能解释一下?
如何列出与 glob 不匹配的文件?
例如,假设我有一个包含数百个文件的目录,其中 97% 的文件扩展名为.png.
我知道我可以列出 PNG 文件:
ls *.png
Run Code Online (Sandbox Code Playgroud)
但是,我如何列出相反的文件,即只列出非 PNG 文件?
在 EC2 中运行的 Ubuntu 13.04 上,sudo除了ls. 以下是一些示例命令来说明问题:
ubuntu at host in ~
$ sudo ls
sudo: command: command not found
ubuntu at host in ~
1 $ sudo which ls
/bin/ls
ubuntu at host in ~
$ sudo /bin/ls
bin dotfiles init npm tmp
ubuntu at host in ~
$ sudo pwd
/home/ubuntu
ubuntu at host in ~
$ sudo which pwd
/bin/pwd
ubuntu at host in ~
$ echo wtf
wtf
Run Code Online (Sandbox Code Playgroud)