
我想像這樣取消符號連結:
unlink *
然而它說unlink: extra operand
我只想刪除連結文件,保留原始文件。
答案1
使用“*”您嘗試取消目前位置下的所有檔案和目錄的連結。
unlink 不能處理文件或目錄,它只能處理鏈接,使用 find 命令查找所有鏈接並取消鏈接,如下所示:
find . -type l -exec unlink {} \;
答案2
我會避免使用find … -exec …
.當你需要unlink
或rm
的結果時find
,使用它-delete
選項代替。
find . -maxdepth 1 -type l -delete
此命令將找到當前目錄中的所有符號連結-type l
(不是子目錄中的;您*
不會下降到子目錄,所以我假設這就是您想要的)並刪除它們。預設行為是不遵循符號鏈接,因此原始文件不會受到影響。
答案3
此命令將查找並刪除當前資料夾中的所有符號鏈接,它不會遞歸到子資料夾中,並且會忽略點文件
find . -maxdepth 1 -type l ! -name '.*' -delete