Bash
從符號連結文件夾中辨識符號連結
假設我在控制台中的子文件夾中,即符號連結(軟)文件夾的子文件夾(或孫子文件夾等)。
從子文件夾中,如果我什麼都不做,則
ls -la
表明所有文件都在符號連結文件夾中。我怎麼會知道呢?目前,我必須去父文件夾才能知道這一點。
但這意味著通過測試錯誤查找,測試文件夾的所有層次結構,直到到達父級(連結)。
基於@ajgringo619
這解決了它:
# includes complete left path alias ll2='if [[ $(diff <(ls "$PWD" | sed "s|.*|$(ls -d "$PWD/")&|g") <(ls -d "$(pwd -P)/"*) | wc -l) == "0" ]]; then ls -l; else paste -d " -> " <(ls "$PWD" | sed "s|.*|$(ls -d "$PWD/")&|g") /dev/null /dev/null /dev/null <(ls -d "$(pwd -P)/"*); fi' # or alias ls2='if [[ $(diff <(ls "$PWD" | sed "s|.*|$(ls -d "$PWD/")&|g") <(ls -d "$(pwd -P)/"*) | wc -l) == "0" ]]; then ls -l; else paste -d " -> " <(ls "$PWD") /dev/null /dev/null /dev/null <(ls -d "$(pwd -P)/"*); fi'
我添加
$(pwd -P)
到我的 bash 提示符中;這給出了真正的文件夾名稱而不是符號連結的名稱。ls
我知道沒有命令開關可以給你你想要的。但至少更改提示將為您提供目前所在的確切位置。