1. バックスラッシュ \
\ls .
上のように入力すると、aliasの適用されてない状態のコマンドを実行できる。
\ls .
上のように入力すると、aliasの適用されてない状態のコマンドを実行できる。
idコマンドなどが使える。以下は出力例
> id USER uid=1001(USER) gid=1001(USER) groups=1001(USER),4(GROUP_1)
UID,GID,所属グループの確認に使える。
マシン状態の確認に。
vmstat -aを使って、freeとinactの合計を見たほうが空きメモリの判定としてはよいかもしれない。よく使うプロセス管理コマンド。
ps auxwなどすると詳細に。fオプションでプロセスツリーの確認が可能。psなどで調べる。まずは、kill TERM [PID]で。必殺はkill KILL [PID]で。以下、検索例。
# 全ディレクトリでindex.htmlという名前のファイル
find / -name index.html -print
# カレントディレクトリ配下で拡張子がhtmlのファイル
find . -name '*.html' -print
# カレントディレクトリ配下でファイルサイズが100kb以上
find . -type f -size +100k -print
# カレントディレクトリ配下で名前がindex.htmlかindex2.html
find . \( -name index.html -o -name index2.html \) -print
# カレントディレクトリ配下で3分以内に更新されたファイル
find . -mmin -3 -type f -print
# カレントディレクトリ配下で3日以上アクセスされていないファイルをリストアップ
find . -atime +3 -type f -print;
参考:
-type d ディレクトリのみを検索対象にする -type f ファイルのみを検索対象にする -mtime / -mmin 最後に修正された時間をもとにする -atime / -amin 最後にアクセスされた時刻をもとにする -ctime / -cmin 最後に属性が変更された時刻をもとにする
ネットワーク状況の確認をする(Linux)。--inetでIP関連の情報だけを指定できる。
まずは、ルーティング情報を参照。
netstat -r
次にLISTENしているポートの確認(サービス状況の確認)をする。
netstat --inet -l
これだとポート番号とかがわかりにくいので、-nオプションもつけるとわかりやすい。
netstat --inet -ln
なお、ネットワークカードの状態などは、ifconfigで参照できる。
さらに下位の情報であるARP(IPアドレスとMACアドレスの対応)の確認にはarpが利用できる。
# 現在のARPテーブルを表示 arp -a # ARPテーブルからエントリを削除 arp -d 192.168.1.10 # ARPテーブルへエントリを追加 (MACアドレスは':'区切りで渡す) arp -s 192.168.1.100 00:00:00:00:00:00
リゾルバの設定(/etc/resolv.conf)の設定がうまくいっているか確認。
ホスト名からIPアドレスを求める(正引き)、または、IPアドレスからホスト名を求める(逆引き)ことができる。
# 正引き host [ホスト名] nslookup [ホスト名] dig [ホスト名] # 逆引き host [IPアドレス] nslookup [IPアドレス] dig -x [IPアドレス]
パケット解析ができる。以下の場合、logfile にリダイレクトでダンプ。
tcpdump > logfile
書式は、Time Source:ip.port > Destination:ip.port : ....というふうになっている。以下は実例のサンプル。(IPアドレス/ホストの箇所だけぼかしてあります)
13:52:43.885750 [SOURCE_IP].1292 > [DESTINATION_IP].telnet: S 1793236573:1793236573(0) win 29364 <mss 1460,nop,wscale 1,nop,nop,timestamp 0 0,nop,nop,sackOK> (DF)
ユーザのシェルを変更する。利用できるシェルは、chsh -lするか、/etc/shellsをみる。
chsh -s /bin/tcsh
大雑把なメモ。オプションの中身はmanで確認可能。
圧縮 lha c file.lzh Target 解凍 lha x file.lzh
圧縮 zip file.zip Target 解凍 unzip file.zip
圧縮 gzip Target > file.gz 解凍 gunzip file.gz
圧縮 bzip2 Target 解凍 bzip2 -d file.bz2
圧縮 tar cvf file.tar Target 解凍 tar xvf file.tar
圧縮 tar czvf file.tar.gz Target 解凍 tar xzvf file.tar.gz
圧縮 tar cjvf file.tar.gz Target 解凍 tar xjvf file.tar.gz
解凍 cabextract file.cab
暗号化の目的なら、gpgの利用も検討のこと。
zip -e hoge.zip hoge.txt Enter password: [パスワード入力] Verify password: [パスワード再入力]
コマンドのオプションから直接パスワードを指定する場合は、
zip -P [パスワード] -e hoge.zip hoge.txt
とすることもできる。ただし、シェルのコマンド履歴などに注意する。
通常のunzipと、パスワードを指定する以外は変わらない。
unzip hoge.zip Enter password: [パスワード入力]
unzip -P [パスワード] hoge.zip
zcatのようなことをしたい場合は、以下の例のようにunzipに-pオプション(STDOUTへ出力)をつけて実行する。
unzip -p hoge.zip | less Enter password: [パスワード入力]
> gpg -c secure.txt [Enter PassPhrase] > ls secure.txt secure.txt.gpg
> gpg secure.txt.gpg [Enter PassPhrase]
復号結果を標準出力に欲しい場合は、
> gpg -d secure.txt.gpg
特定のログファイルの更新状況を監視するなら、
tail -f /var/log/messages
として閲覧可能。
おそらく、使う可能性のないコマンド。いや、おもしろいのだけど。
あまり解説されてないので、以下に手順をメモしておく。
まず、相手(foo)の端末名を確認する。
ps -u foo 18235 pts/0 00:00:00 tcsh
ここで、pts/0 となっているのが端末名。
メッセージを送出する。Ctrl+D で終了できる。
write foo pts/0
日本語を扱う方法は不明。そもそも、相手の作業の妨害以外の用途を知らない。
なお、このメッセージを受け取りたくない場合は、以下のコマンドを使う。
mesg n
これを.cshrcなどシェルの設定ファイルに書いておくと、常時メッセージ拒否状態にできる。
ちなみに、rootだとwallコマンドでログインしてる端末全体にメッセージを送出できる。