為什麼「無法覆蓋現有文件」?

為什麼「無法覆蓋現有文件」?

我嘗試寫入文件date > file,但 Linux 說

「無法覆蓋現有文件」。

我嘗試過chmod 755,但仍然無法寫入文件。我該怎麼辦?

答案1

如果您正在運行 bash,則該noclobber選項已設定。>|如果您想暫時覆蓋此設置,請使用。

答案2

在目前 shell 會話中關閉 noclobber:

set +o noclobber

在目前 shelll 會話中開啟 noclobber:

set -o noclobber

查看所有 bash 設定:

set -o

參考:
https://www.victordodon.com/to-clobber-or-to-noclobber/ https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html

答案3

該檔案可能被設定為不可變chattr。它很少被使用,但它是一種現實的可能性。在這種情況下:

chattr -i [filename]

...應該能夠刪除該屬性。

答案4

  1. 轉到您的主資料夾
  2. Ctrl+H顯示隱藏文件
  3. 檢查是否有任何資料夾被鎖定
  4. 右鍵單擊該資料夾,然後按一下“屬性”。點選“權限”。
  5. 在所有者下,將資料夾存取權限變更為「建立和刪除檔案」。
  6. 點擊“對所附文件應用權限”

如果您看不到任何鎖定的資料夾,請選擇所有資料夾並執行上述操作

相關內容