Linuxコマンドのfindいろいろ
linux, PukiWiki, Web, Web全般, サーバー関連 2011年2月26日,
ふらふらとDropWikiのmuninログを見てると
Apacheのログがどんどん増えてた。
Apacheのログを置いてるパーティション(/usr)は20GBしかないので
80GBある/homeに移動させる事にした。
毎日ログローテートしてるので数が数百個もあり、いちいち1個づつmvなんてやってられない。
そんなときはfindコマンドでリストを出してパイプでxargsをつかうと一覧したファイルのみをごっそり移動させる
1 2 3 4 | #ログが置いてあるフォルダに移動 cd /usr/local/apache2/logs/ #カレントディレクトリ以下で30日以上更新のないファイルを移動 find . -mtime +30 | xargs mv --target-directory=/home/backup/logs/ |
いきなりxargsで渡して実行しちゃうと危ないので、まずは
find . -mtime +30
だけを実行して標準出力されるファイルのリストを確認してからxargsにパイプしましょう。
当然 mv –target-directory=/home/backup/logs/ のとこを rm -rf とかにすると削除できる。
findってめっちゃ便利なんだけどどうしても普段はlocateで検索しちゃうのでなかなか使わない…
これ、さらっと使えたらめっさかっこいいやろな~
僕はいまだにコマンドが覚えきれず、
かすかに覚えていても不安で結局検索しちゃいますね。
そんな僕がメモ帳に保存してるfindコマンドのいろいろです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #カレントディレクトリ以下のファイルに書かれてる文字列aaaをbbbに一括で置換 find . -type f | xargs perl -p -i -e "s/aaa/bbb/g" #カレントディレクトリ以下の拡張子がcgi plのファイルに書かれている文字列aaaをbbbに一括置換 find . \( -name "*.cgi" -o -name "*.pl" \) | xargs perl -p -i -e "s/aaa/bbb/g" #拡張子が"txt"であるファイルについて,文字列"Linux"を探す find . -type f -name "*.txt" | xargs grep "Linux" #カレントディレクトリ以下のフォルダだけをすべて775へ変更する(カレントディレクトリを含む) find . -type d -exec chmod 775 {} \; #カレントディレクトリ以下のファイルだけをすべて644へ変更する find . -type f -exec chmod 664 {} \; #カレントディレクトリ以下のcgi pl sh pm phpの拡張子のファイルを一覧 find . \( -name "*.cgi" -o -name "*.pl" -o -name "*.sh" -o -name "*.pm" -o -name "*.php" \) #カレントディレクトリ以下の拡張子がhtml htm js php のファイルに書かれている「sonar」という文字を検索 find . \( -name "*.html" -o -name "*.htm" -o -name "*.js" -o -name "*.php" \) | xargs grep "sonar" #カレントディレクトリ以下の拡張子がcgi pl sh pmのファイルのパーミッションを755に変更 find . \( -name "*.cgi" -o -name "*.pl" -o -name "*.sh" -o -name "*.pm" \) -exec chmod 755 {} \; |
同様の手法で文字コード変換したり、改行コード変換したり、、
findはほんと強力ですね。
僕のメモももっと強力にしていきたいもんです。
9月 21st, 2014 at 7:30 PM
The best thing you could do is only to provide range of demo golf shots along at the golf-club save, as well as the figure out what estimates a very for example like what you may have owned some time ago.
6月 20th, 2015 at 6:41 AM
The high point of Buck’s Pocket State Park is this hike to Point Rock. The trail starts out around a boulder-strewn runoff area that, during periods of rainfall, can have a wild tropical look to it, with heavy moss. Before the trail ascends to Point Rock, a 70-foot waterfall pops out of the boulders and drops into the underground caverns known as the Big Sink. From the top of the point are expansive views of the sandstone cliffs lining surrounding mountains. Trail Surface: Dirt path; some rocky trail.
infrared 6s for sale [url=http://www.epaygen.com/6c4ada-jordan-7-retro-raptor.html]infrared 6s for sale[/url]