1. ホーム
  2. linux

[解決済み] Linuxで、すでに存在し、何らかの方法で保護されているファイルを空にする(「truncate」)にはどうすればよいですか?

2022-10-03 04:33:18

質問

私のサーバーに error.log というファイルがあり、頻繁に切り捨てる必要があります。私はこのファイルに対してrwの権限を持っています。vi でファイルを開き、すべての内容を削除し、保存すると、(明らかに)うまくいきます。しかし、私は以下のことを試みます。

cat /dev/null > error.log

メッセージが表示される

File already exists.

明らかに、ファイルの偶発的な上書きを防ぐために、サーバー上で行われる何らかの設定があります。どなたか、1 つのコマンドでファイルを切り捨てる方法を教えていただけませんか。

どのように解決するのですか?

あなたは noclobber オプションが設定されています。 エラーはcshからのようなので、そうするのでしょう。

cat /dev/null >! file

もし私が間違っていて、bashを使っているのなら、そうすべきです。

cat /dev/null >| file

をbashで短縮することもできます。

>| file