Linux

如何使用 sudo 檢查文件是否存在?

  • February 28, 2022

我想檢查一個文件是否存在

[ -f /path/to/file/ ]

但是,我以普通使用者身份執行此命令,並且該文件歸 root 所有。我如何使用 sudo 來完成此操作。

sudo [ -f /path/to/file/ ] 不起作用。

您所描述的應該可以正常工作 - 只要您使用絕對路徑,並且-f(“File exists and is a regular file”) 確實是您想要執行的測試。

/我看到您在問題中發布的內容有尾隨-您正在測試目錄嗎?那應該是-d,或者簡單地說-e(“存在具有該名稱的東西 - 無論類型如何”)

另請注意,除非沿途某些內容不可讀test[)應該能夠告訴您是否存在由 root 擁有的文件(例如[ -f /root/.ssh/known_hosts ],可能會失敗,因為 /root/.ssh 目錄不存在(或至少不應該’t be ) 普通使用者可讀。 [ -f /etc/crontab ]應該成功)。

引用自:https://serverfault.com/questions/280726