别名目录减去一个文件

时间:2019-04-01 15:14:00

标签: command-line alias

我想为包含许多文件的目录创建别名。如果打开别名目录,我想查看除一个以外的所有文件。随着时间的推移,新文件将添加到该目录中,我希望所有内容都使用别名,但永久不使用别名的文件除外。

是否可以设置此目录而无需每次目录中的文件更改时都运行脚本?

例如:myDir包含fileA,fileB和fileC。

我希望myAliasedDir包含fileA和fileB,但不包含fileC。

1 个答案:

答案 0 :(得分:0)

您能摆脱符号链接吗?

假设您的外壳是bash:

$ shopt -s extglob

$ mkdir dir1 dir2
$ cd dir1
$ touch file{1..3}
$ ls -l
total 0
-rw-r--r-- 1 jackman jackman 0 Apr  1 12:40 file1
-rw-r--r-- 1 jackman jackman 0 Apr  1 12:40 file2
-rw-r--r-- 1 jackman jackman 0 Apr  1 12:40 file3

$ cd ../dir2
$ for f in ../dir1/!(file2); do ln -s "$f"; done
$ ls -l
total 8
lrwxrwxrwx 1 jackman jackman 13 Apr  1 12:41 file1 -> ../dir1/file1
lrwxrwxrwx 1 jackman jackman 13 Apr  1 12:41 file3 -> ../dir1/file3