製作一個bash腳本,我在想方設法找出我的符號鏈接指向的內容。現在,我正在這樣做,但這隻適用於我的符號鏈接在當前目錄中。有沒有辦法找出我的符號鏈接指向的是什麼,如果它在另一個目錄中?如何找出我的符號鏈接指向什麼?
ls -l "symlink" | cut -d'>' -f2
製作一個bash腳本,我在想方設法找出我的符號鏈接指向的內容。現在,我正在這樣做,但這隻適用於我的符號鏈接在當前目錄中。有沒有辦法找出我的符號鏈接指向的是什麼,如果它在另一個目錄中?如何找出我的符號鏈接指向什麼?
ls -l "symlink" | cut -d'>' -f2
如果你有readlink(1)
實用工具(GNU的coreutils的一部分),這你想要做什麼。否則,你有點兒小溪,我不知道任何簡單的便攜式等效物。
在一個BSD工具鏈,我是這樣做的:
stat -f %Y <filename>
例如:
% ln -sf /bsd ~/blah
% stat -f %Y ~/blah
/bsd
在一個GNU工具鏈它也不是那麼容易,你可以使用類似:
$ stat -c %N /usr/bin/firefox
`/usr/bin/firefox' -> `../lib/firefox-3.6.12/firefox.sh'
然後,使用awk/cut和sed來提取和刪除垃圾報價。
或者更復雜的解決方案是使用ls -al
和awk/cut來提取所需的列。