比较 Cygwin:
$ ls -1 -N /cygdrive/c
$Recycle.Bin
cygwin64
Documents and Settings
pagefile.sys
PerfLogs
Program Files
Program Files (x86)
ProgramData
Recovery
System Volume Information
Users
Windows
使用命令提示符:
> dir /A:-S C:
2018-12-08 10:14 AM <DIR> cygwin64
2009-07-13 09:20 PM <DIR> PerfLogs
2018-12-15 06:05 PM <DIR> Program Files
2018-12-15 05:21 PM <DIR> Program Files (x86)
2018-10-31 06:07 PM <DIR> ProgramData
2018-11-18 01:10 AM <DIR> Users
2018-11-09 08:18 AM <DIR> Windows
可以看出,命令提示符有一种方法可以排除系统项。Cygwin 有办法做到这一点吗?也许用ls
或find
?
答案1
而不是ls
cygwin 已经有了lsattr
以此目的
lsattr — 列出文件属性
描述
该
lsattr
程序允许列出文件属性,即 DOS 属性、文件稀疏性、FS 级别加密和压缩状态,以及目录的区分大小写设置。
$ lsattr /cygdrive/c -hs--------- /cygdrive/c/$Recycle.Bin ------------ /cygdrive/c/cygwin64 lsattr:尝试打开 /cygdrive/c/pagefile.sys 时设备或资源繁忙 ------------ /cygdrive/c/PerfLogs r----------- /cygdrive/c/Program Files r----------- /cygdrive/c/Program Files (x86) -h-------n-- /cygdrive/c/ProgramData ------------ /cygdrive/c/Python27 -hs------n-- /cygdrive/c/Recovery -hs--------- /cygdrive/c/系统卷信息 r----------- /cygdrive/c/用户 ------------ /cygdrive/c/Windows
如果你需要对具有或不具有特定属性的文件执行某些操作,那么只需使用第一个字段进行过滤. 例如对具有系统属性的项目进行操作:
$ for d in $(2>/dev/null lsattr /cygdrive/c | grep -P '^..s' | cut -d' ' -f2); \ 回显“$d”;完成 /cygdrive/c/$Recycle.Bin /cygdrive/c/恢复 /cygdrive/c/系统
您还可以使用它--long
来获取长属性
$ lsattr --long /cygdrive/c /cygdrive/c/$Recycle.Bin 隐藏,系统 /cygdrive/c/cygwin64 --- lsattr:尝试打开 /cygdrive/c/pagefile.sys 时设备或资源繁忙 /cygdrive/c/PerfLogs --- /cygdrive/c/Program Files 只读 /cygdrive/c/Program Files (x86) 只读 /cygdrive/c/ProgramData 隐藏,未编入索引 /cygdrive/c/Python27 --- /cygdrive/c/Recovery 隐藏,系统,未索引 /cygdrive/c/System 卷信息隐藏,系统 /cygdrive/c/Users 只读 /cygdrive/c/Windows ---
请注意,Linux 本身也有一个类似名称的程序,但用于列出文件及其扩展属性
/snap$ lsattr --------------e----- ./core20 --------------e----- ./README --------------e----- ./docker --------------e----- ./bin --------------e----- ./auto-cpufreq --------------e----- ./lxd --------------e----- ./ccls --------------e----- ./snapd --------------e----- ./核心 --------------e----- ./core18 /快照$ ll 共 48 drwxr-xr-x 11 root root 4096 3月 7 21:53 ./ drwxr-xr-x 20 root root 4096 3月 16 15:55 ../ -r--r--r-- 1 root root 548 二月 2 00:29 自述文件 drwxr-xr-x 4 root root 4096 3月15日 03:46 auto-cpufreq/ drwxr-xr-x 2 root root 4096 3月17日 20:53 bin/ drwxr-xr-x 3 root root 4096 2月 23 09:19 ccls/ drwxr-xr-x 4 root root 4096 3月23日 11:36 核心/ drwxr-xr-x 4 root root 4096 二月 23 05:19 core18/ drwxr-xr-x 3 root root 4096 3月 7 21:52 core20/ drwxr-xr-x 3 root root 4096 2月22日 18:57 docker/ drwxr-xr-x 4 root root 4096 3月 17 20:53 lxd/ drwxr-xr-x 4 root root 4096 3月24日 04:17 snapd/
答案2
作为一种解决方法,我正在使用该fd
工具:
C:\> fd -d 1
PerfLogs
Program Files
Program Files (x86)
Users
Windows
cygwin64