Command-Line
ls 命令上的 – 和 -td 選項是什麼?
您能否解釋一下此
ls
命令上的每個選項的作用:ls -td -- */
?此類命令的結果如下所示:$ ls $ ls -al total 4 drwxr-xr-x 5 root root 68 Jun 4 09:58 . drwxrwxrwt. 13 root root 4096 Jun 4 10:05 .. drwxr-xr-x 5 root root 36 May 31 15:48 05-31-2018 drwxr-xr-x 5 root root 36 Jun 4 09:45 06-04-2018 drwxr-xr-x 2 root root 6 Jun 4 09:56 06-05-2018 -rw-r--r-- 1 root root 0 Jun 4 09:58 test $ ls -td -- */ 06-05-2018/ 06-04-2018/ 05-31-2018/ # To get latest folder created: $ ls -td -- */ | head -n 1 06-05-2018/
我不知道每個選項對
ls
命令的作用。
-td
是兩個選項-t
一起-d
寫的。-t
告訴ls
根據時間對輸出進行排序,並-d
要求將命令行上命名的目錄顯示為它們本身,而不是它們的內容。據我所知,該**
--
**選項沒有明確記錄許多支持它的命令,並且它已成為一種有點晦澀的語法。它在函式中找到它的起源,
getopt
並用於分隔選項的結尾和參數的開頭。您將主要使用該
--
語法來使用看起來像選項的參數。一個很好的例子是嘗試操作以連字元開頭的文件,例如名為
"-rm -rf"
創建它
touch -- '-rm -rf'
ls -la total 0 -rw-r--r-- 1 herman wheel 0 Jun 4 16:46 -rm -rf ls -la * ls: illegal option -- usage: ls [-ABCFGHLOPRSTUWabcdefghiklmnopqrstuwx1] [file ...] ls -la -- * total 0 -rw-r--r-- 1 herman wheel 0 Jun 4 16:46 -rm -rf
和
rm -i * rm: illegal option -- m usage: rm [-f | -i] [-dPRrvW] file ... unlink file
相對
rm -i -- *
對於一般命令行選項的含義,這個非常基本的塊:
幾乎所有 Linux 命令都附帶一個線上手冊,解釋它們的用法和修改其行為的各種選項。可以使用
man
命令訪問手動,即嘗試
man man
對手冊進行解釋。