Rubyと筋肉とギターとわたし

筋トレが仕事です

【Linuxコマンド】特定のファイルを削除する

f:id:rdwbocungelt5:20180919135208j:plain

どうもってぃです。

サーバー移行している時に不要なファイルが大量に出てきたので全検索削除を行いました。

そんときのメモがこちら。

ディレクトリ配下該当ファイル全削除

$ find . -name '.htaccess' | xargs rm -f

apacheからnginxへ移行するときに不要になる.htaccessファイルがどのディレクトリにもあったので、上記のコマンドで削除しました。

くっそ邪魔な.DS_Store

$ find . -name '.DS_Store' | xargs rm -f

これでおk。

lsとgrepを使う

今いるディレクトリの.txtファイルを全て削除したい場合

$ ls | grep .txt | xargs rm

ディレクトリ配下全ての.txtを削除したい場合

$ find . | grep .txt | xargs rm -f

今回サーバー移行で大量にあったのががファイル名に入っているもの。

エンジニアでなければ前のファイルはバックアップを取らずにという文字列を頭につけてそのまま残しておくみたい。

いと愚かなり。

$ find . | grep 旧 | xargs rm -f

いらないものは削除しましょう。

終わりに

find . -name 'ファイル名'find . | grep hogeも、どれもそうですが、削除する前に一度検索かけて、該当するものが出てきているか確認してから削除しましょう。

いきなり削除してしまって、ああ削除したらいけんやったのにぃ〜となっても知りませんよ。

くれぐれも、気をつけてくださいね。

番外編

nginxのプロセスを全て削除したい場合

$ ps aux | grep [n]ginx | awk '{ print "kill -9", $2 }'