$ ls -ltr /{,usr/}bin/l*|tail -4
-r-xr-xr-x 1 root bin 31544 Dec 20 2017 /usr/bin/login
-r-xr-xr-x 1 root bin 31544 Dec 20 2017 /bin/login
lrwxrwxrwx 1 root root 15 Aug 28 2018 /usr/bin/libpng-config -> libpng12-config
lrwxrwxrwx 1 root root 15 Aug 28 2018 /bin/libpng-config -> libpng12-config
l
これは、in/usr/bin
およびディレクトリ文字で/bin
始まるすべての実行可能ファイルの名前を提供します。
位置を変えてプレイすると,
理解できない結果が出ます。たとえば、以下のスクリーンショットを参照してください。
$ ls -ltr /{,usr,/}bin/l*|tail -4
/usrbin/l*: No such file or directory
-r-xr-xr-x 1 root bin 31544 Dec 20 2017 /bin/login
-r-xr-xr-x 1 root bin 31544 Dec 20 2017 //bin/login
lrwxrwxrwx 1 root root 15 Aug 28 2018 /bin/libpng-config -> libpng12-config
lrwxrwxrwx 1 root root 15 Aug 28 2018 //bin/libpng-config -> libpng12-config
上記と同じですが、リストの順序が変更されていませんusr
。
$ ls -ltr /{usr,/}bin/l*|tail -4
/usrbin/l*: No such file or directory
-rwxr-xr-x 1 root other 2286 Jun 15 2017 //bin/libpng14-config
-r-xr-xr-x 1 root bin 28608 Oct 20 2017 //bin/ldaplist
-r-xr-xr-x 1 root bin 31544 Dec 20 2017 //bin/login
lrwxrwxrwx 1 root root 15 Aug 28 2018 //bin/libpng-config -> libpng12-config
これは/ binにのみ存在するファイルで、各/
エントリには追加のプレフィックスがあります。
どの魅力を発散しているか説明してください,
。
答え1
中かっこはコンマ間のすべての文字列に置き換えられるため、予想されるものとは異なり、yourX{,a,b}Y
に拡張されます。XY XaY XbY
/{usr,/}bin/l
/usrbin/l* /bin/l*
/usr/bin/l*
/{,usr/}bin/l* #-> /[]bin/l* /[usr/]bin/l*
/{,usr,/}bin/l* #-> /[]bin/l* /[usr]bin/l* /[/]bin/l*
/{usr,/}bin/l* #-> /[usr]bin/l* /[/]bin/l*