2008年02月22日 10:25 by AzureStone

いつもお世話になります。

覚えておきたいコマンドをみんなで出し合ってみたいと思います。
あーこれこんな時につかえるんだーとかあったらうれしい感じですかね。

よく使われるコマンドでもオプションを付けてこのように使う!とかでもいいです。
また、コマンド一覧がのっているこの本で勉強している!という方もその本をお薦め願いたいと思います。

例1
# tail -f /var/log/hogehogelog
用途:ログファイルをリアルタイムに監視する
何かのサービスを正常に動かしたいときによく使います。

例2
# traceroute [IPアドレス]
用途:グーグルまでのネットワークの経路をトレースする。
ネットワークがうまく繋がらない場合の原因分けに使う。


宜しくお願いします。パイプつかったり正規表現もありです。

1: 口コミさん : 2008-02-22 11:11
# locate ファイル名
ファイル探しはこれ。
コマンドも探せる。
updatedbもセットで覚えるといいっすね。

# grep 文字列
文字列検索、つか抜き出しってほうが正しいのかな?
これを使いこなせると世界が変わる。
正規表現も一緒に覚えると幸せですね。
# cat aliases | grep xxx@xxx.co.jp
↑エイリアスからアドレスがあるか見る。実はアカウントのみかも。
つか普段はlessで開いて検索してるなwwww
# grep xxx@xxx.co.jp maillog.[1-9]
↑これはよく使う。ただmaillogを抜かすという致命的な欠陥がある。
だれかスマートに解決策をwww
ちなみに自分はいつも個別でやっとります。
# locate メールアカウント
どこにスプールがあるかよくわからないときによく使いましたw

個人的にはlocate,grepは神コマンドですなw
2: 口コミさん : 2008-02-22 11:40
自分が重宝してて、他人があまり使ってるのをみないとこだと、cutコマンドですね。
cut -d , -f 2 <ファイル>
とかすると、カンマで区切ったときの2つ目のフィールドだけ抜き出せます. awkでもできますが、1つのフィールドを抜くのだけが目的なら、こっちの方が楽.
さらに、
|sort | uniq -c
とかにつなげれば、そのフィールドが同じものの件数を数えるので、たとえばアクセスログからIPアドレスごとに件数をカウントする、なんてことが標準コマンドとパイプだけでできます。こーいうのがUNIXのいいところ、だと思う.

あとは、Linuxならscreenが標準で使えることが多いので便利.
3: 口コミさん : 2008-02-22 18:41
べたで申し訳ないですが find もシステム管理の強力な友なので。

find /foo/bar -type f -name "*.log" -print0 | xargs -0 -i cp {} .

などとして特定のファイルをカレントにコピーなんてしばしば使いますよね。
時間指定したり -prune -o buzz として特定のディレクトリを検索対象から外したりもよく使います。
find は単なる検索ツールに留まらない強力なツールです。

#sedも大好きなツールだけどそのうち誰かが書いてくれるだろう。


>Q(ケイだょ)さん
grepって [対象ファイル] の部分にも正規表現使えましたっけ。
もし使えるなら maillog(.*)? とでもすれば maillog にもその後ろになにか付いてもマッチするでしょうけどその部分で正規表現が使えるかどうか知らない&実験してないので悪しからず。
というか単に grep "hoge" maillog* でワイルドカード指定でダメなんでしょうか。

細かい検索したければ私なら特に何も考えずに "大好きな" findと組み合わせてやっちゃうだろうな :-)
4: 口コミさん : 2008-02-23 08:12
早速検索コマンドでてきましたね。
ディレクトリ以下を再帰的に検索するものとして-Rもよく使いますね。
何か面白いOR使えるORすごいコマンド知ってる人教えてください。
5: 花抹茶 : 2008-02-23 08:43
シェルのfor文も覚えておくと便利。
たとえばBMPファイルをPNGに一括変換
for i in *.bmp; do convert $i ${i/bmp/png}; done
この手の処理はコマンドならではという感じがしますね。

パイプと while read もよく使うかな。
ps ax | grep ほげほげ | while read pid x; do kill $pid; done
6: 口コミさん : 2008-02-23 09:14
# sudo rm -rdf /

全てを無に帰す。。。
7: 口コミさん : 2008-02-27 09:20
#LANG C

このコマンドは結構強烈というか、LINUXに、BSD系にibx(IBMのUNIX)でも使ってた。文字化けたら試してみるといいよ。
文字化けしたらこれっしょ。awkでも変換できたきがするけど、それはまた今度。
#echo $LANG
で根本的に文字コードを解決するのが一番かも。

#printenv
でいろいろ調べてたらこんな便利なコマンドあるんですねw
これで環境変数全部出したほうがいいですな。
rootでやらないとLANGは出ないかもしれない。
管理者権限あるユーザーでも表示するのかな?
このへんはいまいちわからん。。。
8: 口コミさん : 2008-02-27 09:22
記述ミス
ibx じゃなくて aixでした。
9: 口コミさん : 2008-03-09 10:31
自宅サーバ for Linux トピックに本日から参加しています。
よろしくお願いします。
ちょうど今の作業で使っているツールたち。

ctrl + alt + F[123456]キー
コンソールを切り替えられます。複数の作業を平行して行うときに便利。
上で出てきてる「tail -F」出力専用コンソールも設定できます。

script
作業記録をとるときに重宝します。
10: 口コミさん : 2008-03-09 10:38
#sdiff -w [横幅サイズ] [比較元1] [比較元2]

diffだけでは分かりづらい比較を横並びにして見易くしてくれます。
最近仕事場で覚えてとてつもなく神コマンドだったので、ご紹介。
11: 口コミさん : 2008-03-09 10:43
du -s * | sort -n
なんてやって、大きいサイズのディレクトリを探したりします。表示はブロックサイズなので、あたりが付いたら
du -sh *
とやり、人間が読みやすいサイズで表示します。

あとは、includeファイル群から目的の関数を探すときに、
find . -name "*.h" -print -exec grep "hogehoge" {} \;
なんてします。"hogehoge"部分に探したい関数名を入れます。
12: 口コミさん : 2008-03-09 12:08
深いディレクトリを一発で作成
$ mkdir -p a/b/c

ファイルを行方向に単純に結合する
$ paste file1 file2

任意の標準入力を外部プログラムの引数にして連続実行
$ cat /etc/resolv.conf | awk '{print $2}' | xargs -i host '{}'

ぱっと思いついたもの。当方bashです
13: 花抹茶 : 2008-03-13 03:54
☆どこのディレクトリが容量を食ってるのか調べたい。

こんなときは du コマンド。
 du -hx --max-depth 1 /
とするとわかりやすい。

sortと組み合わせて使用量の多い順に表示。
 du -x --max-depth 1 / | sort -nr

オプションの意味。
-h
 それぞれのサイズに、例えばメガバイトなら M のようなサイズ文字を付加する。

-x
 引き数で指定されたファイルと同じディバイス上のみで使用量を集計する。
 特にルート(/)について調べる場合、 /procとか邪魔なので。

--max-depth N
 階層のルートから深さレベルが最大 N までにある各ディレクトリの用量の
 合計を表示する。

# 出力例
18M /etc
1.0K /tmp
0 /sys
4.0K /var
3.3M /bin
3.2M /root
0 /dev
4.0K /home
1.0K /srv
0 /proc
1.0K /mnt
53M /lib
3.0K /media
12K /lost+found
1.0K /opt
4.0K /usr
6.5M /boot
3.7M /sbin
1.0K /initrd
1.0K /selinux
87M /
14: 丸眞正宗 : 2008-03-17 21:16
花抹茶さんの13に感謝!ついでにこちらも一つ紹介。

一般ユーザから root に、パスワード入力なしで su するコマンド。
$ sudo su -

[下準備]
1) root で visudo コマンドを実行し、以下の行の先頭の # を取っておく
# %wheel ALL=(ALL) NOPASSWD: ALL

2) wheel グループに、上記 sudo su - を実行させたいユーザを追加

※セキュリティ的には問題あるので使用にはご注意下さい
15: 口コミさん : 2008-03-18 09:33
$ watch
これはインストールされているかは、ディストリビューションによるのかもしれないですが便利。
引数にコマンドつければ、その内容が定期的に実行される。
"-n 1" とかを第一引数につければ、第二引数につけたコマンドを一秒毎に実行してくれたり。
何かと便利です。
自分は、psコマンドやnetstatをリアルタイムで見たいときに使います。
ちなみに、自分はCentOS使っています。

あとは、
$ unset LANG
文字化けしてるときに。
16: 口コミさん : 2008-03-18 09:39
ls -h とかの

-h は人間が見やすいからヒューマンとかで覚えると忘れない。
17: 口コミさん : 2008-03-18 23:11
このトピが出来て以来自分も何かネタがないかなぁと考えていたら一つ思い付きました。

ログファイルを最新記録から見たいという時に使えるのがtacコマンドです。

# tail /var/log/hogehoge

の出力よりも

# tac /var/log/hogehoge | head

の出力の方が見やすいって事も往々にしてあるかと。
18: 口コミさん : 2008-03-19 02:08
64bit/32bitなどの複数のLinuxを使うようになって、fileコマンドを多用するようになりました。

$ file ファイル名

(ps3Linuxの例)
ファイル名: ELF 64-bit MSB executable, cisco 7500, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
19: 口コミさん : 2008-03-19 02:19
いらなくなったPCへ

rm -rf /
20: 口コミさん : 2008-03-19 05:48
今のところでないのだけど、

cut

は、割と使うかなぁ〜。
まぁ、cut単体じゃなくて、grepと組み合わせて使うことが多いですけど。

たとえば、apacheのログから、ユニークなアクセス元のリストが欲しい時などは

cut -d " " -f 1 /var/log/apache2/access.log | sort | uniq > hogehoge.txt

という感じ。
21: 口コミさん : 2008-03-20 06:47
反面教師を1つ。
rm -rf .*
ってやっちゃだめ。

なぜか確かめたいなら、
ls -alR .*
ってやってみて。
22: 口コミさん : 2008-03-20 06:47
ベタですが…。



man

# 質問する前に。
23: 口コミさん : 2008-03-20 18:43
大変なものがぬけていた。

ping

例 ping yahoo.co.jp

人によってはこれだけで仕事ができるからなwwwww
24: 口コミさん : 2008-03-20 20:59
ちなみに、ネタばらしですが、
rm -rf .[^.]+
ならOK。
25: 口コミさん : 2008-03-20 21:58
netstat -tupl
lsof -Pi

出てないようなので(・ω・)
26: 口コミさん : 2008-03-21 04:39
英辞郎から辞書引きするスクリプト。wgetとかw3mとかの使い方の一つとして、どうぞ。

#!/bin/sh
WORD=`echo "$*" | nkf -Sw`
URL="http://eow.alc.co.jp/${WORD}/UTF-8/"
echo "$URL"
wget -q --referer='http://eow.alc.co.jp/' -O - "$URL" |\
sed -ne '/id="resultList"/,/<\/table>/p' |\
w3m -dump -T text/html

27: 口コミさん : 2008-03-25 06:05
はてなBからですが、とても使いやすいページが

http://cb.vu/unixtoolbox.xhtml

スレッド一覧

043:はじめまして 043:SELinuxのポリシーの修正についてです。 急成長中のベンチャー企業で働いてみたいとおもいませんか?! 065:冷却方法 067:サーバーダウン→504エラー 玄人箱に関して 052:DNSサーバーは僕が憎いに違いない ■ 単発質問コーナー 基本すぎてすみません・・・。 079:NICドライバのインストールまたは認識について 069:初めまして PHPスクリプトでメールが送信できません。 061:linux os のアンインストール方法 063:linux os アンインストール 方法(再度no付け) 056: ドメインとホスト名について。 055:mod_layoutで動的フッターを挿入 044:イントラで2つのサイト 031:パティションどうきっています? 019:mixiのようなサイトを作れる方募集!! 014:500人、超えないかなぁ〜 066:サーバーに適したマザーボード dd dumpを使ってのバックアップ、restoreについて。 012:初心者におすすめのLinuxは? 077:よろしくです 078: Web サイトが携帯電話から見られない 062:webmaster だけがメールを受け付けない 057:ご質問〜windows領域削除方法〜 053:安いサーバ情報・・・。 037:データベース認証について 029:Apacheに異常アクセスログ 017:おすすめのUPSは? 009:お勧めの無料DDNSサービスは? 002:White Box Enterprise Linux 3.0について 0023:初心者です、よろしくお願い致します。ubuntu ☆教えて☆Linuxをマスターしたい CentOS 5 i386インストール時のトラブル こんなlogがでてるんですが・・・ 初心者です。 MySQLのアップグレードについて xdm/KDE ログオフ時にスクリプトを走らせたい 086:webツール(便利ツール等) 072:AMD VS Intel とりあえずDBサーバを自鯖にしてみたいのですが 060:Squidの設定-&gt;DNSエラー 041:【Linux】apacheで複数サイト作成したいのですが・・・ 022:LINUXのDistribution 023:初心者ですみません。。。Fedora Core3 013:vsftpdのchroot設定について 001:DynamicDNS様、様々〜笑 【愛知、常駐プログラマ募集】 064 : vsftpdで外付けHDDを公開する方法を教えてください。 038:sambaで共有できません・・・ knoppixでサーバーを構築しました。 010:お勧めの書籍は? 028:自作か購入か… 064:CPU使用率が高いきが・・・ 054:マシンが一台しかなくてもお金がなくても・・・。 032:(;´Д`)え、かなり増えてきている… 025:ipnuts の新バージョンでました。 【求人】港区でのお仕事です【時給1700円以上】 007:おすすめ固定IP 1、ダイレクトEメールを送りたい ソフトウェアレイドについて。 053: 譲ります 085:覚えておきたいコマンド 070:ファイルをアップしても0kbになる 068:精神対策(堕ちない自鯖) アクセスが無いけどトラフィックがある 自鯖が止まる理由 034:pop3が利用できません 059:500 Can&#039;t connect to www.google.co.jp:80 (Bad hostname &#039;www.google.co.jp&#039;) 048:サブドメイン転送処理の賢い方法 045:sambaが見えません。 040:はじめまして 030:Linuxの情報入手、勉強方法 011:CentOS5.7で自宅サーバで外部公開に失敗します。 Postfix メールサーバー 自宅サーバ 必見!あのDCDが来日!! 001:自宅の様子を写真をw 080: DMZの構築方法 profixでバーチャルサーバ 081:Xウィンドウが起動しない(GNOME) 075:サブドメインとIPアドレス ローカル接続のDB 韓国固定IP , 韓国からのDNSが 必要なら 連絡ください。 はじめまして! 質問 Perl cpan2rpmのインストール/使用方法 新品のサーバが¥14,800から( ・_・;) サーバーにメッセージ多発 ルーセント・グローバル、Linuxガジェット開発を促進へ 自宅サーバ公開方法 084:OSは64bitか32bitか 071:サーバ用の部品 066:自鯖が止まる理由改 047:ディレクトリによって使われるphp.iniを変える的な動作をしたい 035:RAID 033:アクセスログ検索スクリプトってないですか? 026:CGIファイルの関連づけ 016:結構前からあった、自鯖ML 004:(;´Д`)え、微妙に増えてきている… 【愛知、常駐プログラマ募集】 httpサーバを作りたい。サーバマシンがネットワークにつながらない問題 066:CentOSでの仮想化について教えてください〜  067:サーバーを1週間ダウンさせてしまいました。 015:使用ディストリビューション 073:おすすめルータ 076:ダイナミックDNS下で2台のホスト名にアクセスする方法 067:回線対策(落ちない自鯖) メールサーバーコミュを立ち上げました ディレクトリの破損!? perlバスについて質問 056:biglobeから中継サーバについて 042:Bフレッツ(or ADSL)マルチセッションでセカンダリDNS 018:X端末エミュレータ 005:自鯖でも、お手軽安く使える独自ドメイン Yahoo画面、あざむきかた知ってる方、ご連絡お待ちします。 064: 帯域制限のないプロバイダ 質問です。 OPENsshのセキュリティーについて 082:外付けHDD増設の手法と機器 074:おすすめOS 他人のADSLモデムに!! 039:Apacheの設定 050:メール受信をスイッチにしてPHPを起動させるサイト 036:割り当てるグローバルIPについて 008:White Box Enterprise Linux ML 正式版稼働報告! グリー携帯無限認証 どなたかご自宅で教えていただけませんか 003:哲学?持論? ネットワークインストールについて 083:Squidの設定について 011:よろしくおねがいします。 058:Sambaで転送したファイルが表示されない 051:SPAMフィルターの構築について [bsfilter&#043;MeCab] 049:今までのトピックのサマリー 046:ドメインのname serverの変更 029:TCPIPの勉強 027:Yahoo!BBの場合の設定について 020:DICEの質問 006:ClientOSにLinuxを使用し始める。

サイト内検索