*Linux Command [#vec08857]
RIGHT:更新日 &lastmod();
**Linux Command [#y7061778]
***メモリーやCPUの情報の表示 [#j14b0837]
以下の例は、10秒間隔に3回表示
$ vmstat 10 3
procs memory swap io system cpu
r b w swpd free buff cache si so bi bo in cs us sy id
0 0 0 2044 74828 118972 459404 0 0 1 1 1 0 1 0 2
0 0 0 2044 74828 118972 459404 0 0 0 2 235 27 0 0 100
0 0 0 2044 74828 118972 459404 0 0 0 0 133 21 0 0 100
''topコマンドについて''
実行中
P:CPU使用率でソート
A:実時間でソート
N:PIDによる(数字での)ソート
?:Help表示
***dig(domain information groper) [#g1550e12]
ドメイン情報の表示
dig @server domain query-type
server:利用するネームサーバ
domain:情報を知りたいドメイン名
query-type:知りたい情報のタイプ
query-type例
A: ネットワークアドレス (省略時)
NS: ネームサーバ
MX: メールサーバの情報
SOA: SOA 情報
ANY: 知っているすべての情報
$ dig @ns.mie-chukyo-u.ac.jp mie-chukyo-u.ac.jp mx
; <<>> DiG 8.3 <<>> @ns.mie-chukyo-u.ac.jp mie-chukyo-u.ac.jp mx
; (1 server found)
;; res options: init recurs defnam dnsrch
;; got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3
;; QUERY SECTION:
;; mie-chukyo-u.ac.jp, type = MX, class = IN
;; ANSWER SECTION:
mie-chukyo-u.ac.jp. 1D IN MX 10 mail.mie-chukyo-u.ac.jp.
;; AUTHORITY SECTION:
mie-chukyo-u.ac.jp. 1D IN NS ns01.mctv.ne.jp.
mie-chukyo-u.ac.jp. 1D IN NS ns.mie-chukyo-u.ac.jp.
;; ADDITIONAL SECTION:
mail.mie-chukyo-u.ac.jp. 1D IN A 192.244.75.5
ns.mie-chukyo-u.ac.jp. 1D IN A 192.244.75.1
ns01.mctv.ne.jp. 5h27m1s IN A 61.122.216.211
;; Total query time: 5 msec
;; FROM: uso5003.matsusaka-u.ac.jp to SERVER: ns.mie-chukyo-u.ac.jp 192.244.75.1
;; WHEN: Fri Nov 10 06:41:53 2006
;; MSG SIZE sent: 36 rcvd: 149
***各ディレクトリごとの使用容量表示 [#lcea9ee7]
カレントディレクトにあるファイル、ディレクトリの容量
$ du -m -s * メガバイト表示
1 105
1 About
2 Bisicom
1 GNUstep
88 OpenOffice
カレント全体の容量表示
$ du -m -s .
398 .
***chattr(Change Attribute)は ext2 ファイルシステム上にあるファイル属性 を 変更するコマンド [#b6844af6]
★log を操作不能にする(immutableビットを立てる)
# chattr +i log
# lsattr log
----i--- log
★rootでも削除できなくなる
# rm log
rm: remove write-protected file `log'? y
rm: cannot unlink `log': Operation not permitted
★immutableビットを落とす
# chattr -i log
# lsattr log
-------- log
#) rm log
rm: remove `log'? y
***現在のコネクションポートを表示 [#if8aafa9]
$ netstat -n --inet
稼働中のインターネット接続 (w/oサーバー)
Proto 受信-Q 送信-Q 内部アドレス 外部アドレス 状態
tcp 0 0 1xx.244.xxx.253:4040 1xx.xxx.xxx.xxx:1693 ESTABLISHED
tcp 0 0 1xx.244.xxx.253:80 2x9.xxx.252.xxx:7658 TIME_WAIT
tcp 0 0 1xx.244.xxx.253:80 2x9.xxx.252.xxx:7659 TIME_WAIT
tcp 0 0 1xx.244.xxx.253:22 2x9.xxx.252.xxx:7640 ESTABLISHED
または netstat -n --inet6
***特定のポートのプロセス番号を表示 [#v505d047]
Vineは別途インストールの必要あり。RedHat9はインストールされている。
# /usr/sbin/lsof -i:22
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
sshd 1115 root 3u IPv4 1634 TCP *:ssh (LISTEN)
sshd 1676 root 4u IPv4 21375 TCP 192.168.10.214:ssh->192.168.10. 24:1155 (ESTABLISHED)
sshd 1678 okada 4u IPv4 21375 TCP 192.168.10.214:ssh->192.168.10. 24:1155 (ESTABLISHED)
***HDDの検査 [#rf1af7e6]
# /sbin/badblocks -w -v /dev/hda1
(ただし-wは書き込み試験のため、hda1はできない。
/dev/hda1 is mounted; it's not safe to run badblocks!)
-vは詳細に表示
***lsコマンドのオプションの一部 [#t667aa1e]
-S, --sort=size:ファイル・サイズ順にソートする
-X, --sort=extension:拡張子でソートして表示する
-I, --ignore pattern:patternにマッチするファイルは表示しない
-i, --inode:ファイル名の左にインデックス番号を表示する
--full-time:タイムスタンプを曜日,月,日付,時間,年すべて表示する
-h:容量を適当な単位で表示する
-R, --recursive:ディレクトリ内容を再帰的に表示する(ディレクトリ内をすべて表示)
-N, --literal:エスケープ・コードが含まれていても変換せずに表示する
-B, --ignore-backups:ファイルの最後にチルダ(~)が付いているファイルを除外して表示する
***日本語のsjisのファイル名の表示 [#g3330c7e]
$ ls --show-control-chars -l | nkf -e
-rw-r--r-- 1 okada staff 147 May 8 2003 文書2.txt
-rw-r--r-- 1 okada staff 110 May 8 2003 文書3.txt
-rw-r--r-- 1 okada staff 376 May 8 2003 文書1.txt
***rpm/SHA1/MD5でCheckSumの表示 [#c9a2b46d]
・pgpcheckを行わないチェック
$ rpm --checksig --nogpg sylpheed-1.0.3-0vl1.2.i386.rpm
^^^^^Redhat,Vineではこのスペル(--nopgpもあるかも?)
sylpheed-1.0.3-0vl1.2.i386.rpm: md5 OK
・SHA1 checksumの表示
$ sha1sum sylpheed-1.0.3-0vl1.2.i386.rpm
8ca7a840d70b2ca9de252a82797e87788ccff201 sylpheed-1.0.3-0vl1.2.i386.rpm
・MD5 checksumの表示
$ md5sum sylpheed-1.0.3-0vl1.2.i386.rpm
f492694eff6ce7632534f7790cd4ef97 sylpheed-1.0.3-0vl1.2.i386.rpm
***rpmでインストール済のファイルから、元のrpmパッケージを表示 [#r49c4c49]
$ rpm -qf /usr/bin/texi2html
tetex-2.0.2-0vl14
***rpmでインストール済のバージョン表示 [#t1811b04]
$ rpm -qa | grep libxml
libxml-1.8.16-0vl1
libxml-devel-1.8.16-0vl1
$ rpm -q -i libxml-1.8.16-0vl1
Name : libxml Relocations: (not relocateable)
Version : 1.8.16 Vendor: Project Vine
Release : 0vl1 Build Date: 2001年11月25日 02時13分43秒
Install date: 2003年12月06日 22時16分58秒 Build Host: grover
Group : System Environment/Libraries Source RPM: libxml-1.8.16-0vl1.src.
rpm
Size : 1500058 License: LGPL
Packager : MATSUBAYASHI 'Shaolin' Kohji
URL : http://www.gnome.org
Summary : XMLライブラリ
Description :
libxmlパッケージは XMLファイルを操作するためのXMLライブラリを備
えています. XML (eXtensible Markup Language)は、
ウェブ経由でデータを交換するための構造化された形式です。
または
$ rpm -qa -i | less
Name : bind-utils Relocations: (not relocateable)
Version : 8.3.1 Vendor: Project Vine
Release : 0vl3 Build Date: 2003年12月01日 22時31分12秒
Install date: 2003年12月04日 14時16分56秒 Build Host: fool.graco.c.u-tokyo.ac.jp
Group : Applications/System Source RPM: bind-8.3.1-0vl3.src.rpm
Size : 1987827 License: distributable
Packager : NISHIMURA Daisuke
URL : http://www.isc.org/bind.html
Summary : DNS ネームサーバに問い合わせをするユーティリティ
Description :
Bind-utils contains a collection of utilities for querying DNS (Domain
Name Service) name servers to find out information about Internet hosts.
These tools will provide you with the IP addresses for given host names,
as well as other information about registered domains and network
addresses.
You should install bind-utils if you need to get information from DNS name
servers.
***rpmでパッケージのインストールファイルの表示 [#od74b048]
$ rpm2cpio zlib-devel-1.1.4-0vl3.i386.rpm | cpio -i --list
./usr/include/zconf.h
./usr/include/zlib.h
./usr/include/zutil.h
./usr/lib/libz.a
./usr/lib/libz.so
./usr/share/doc/zlib-devel-1.1.4
./usr/share/doc/zlib-devel-1.1.4/ChangeLog
./usr/share/doc/zlib-devel-1.1.4/algorithm.txt
./usr/share/man/man3/zlib.3.gz
309 blocks
***rpmでインストール済のパッケージの場所の表示 [#eafd7d80]
$ rpm -qa | grep libxml
libxml-1.8.16-0vl1
libxml-devel-1.8.16-0vl1
$ rpm -q -l libxml-1.8.16-0vl1
/usr/doc/libxml-1.8.16
/usr/doc/libxml-1.8.16/AUTHORS
/usr/doc/libxml-1.8.16/COPYING
/usr/doc/libxml-1.8.16/COPYING.LIB
/usr/doc/libxml-1.8.16/ChangeLog
/usr/doc/libxml-1.8.16/NEWS
/usr/doc/libxml-1.8.16/README
/usr/doc/libxml-1.8.16/TODO
/usr/doc/libxml-1.8.16/html
/usr/doc/libxml-1.8.16/html/book1.html
/usr/doc/libxml-1.8.16/html/gnome-xml-debugxml.html
/usr/doc/libxml-1.8.16/html/gnome-xml-encoding.html
/usr/doc/libxml-1.8.16/html/gnome-xml-entities.html
/usr/doc/libxml-1.8.16/html/gnome-xml-error.html
/usr/doc/libxml-1.8.16/html/gnome-xml-htmlparser.html
/usr/doc/libxml-1.8.16/html/gnome-xml-htmltree.html
/usr/doc/libxml-1.8.16/html/gnome-xml-nanoftp.html
/usr/doc/libxml-1.8.16/html/gnome-xml-nanohttp.html
/usr/doc/libxml-1.8.16/html/gnome-xml-parser.html
/usr/doc/libxml-1.8.16/html/gnome-xml-parserinternals.html
/usr/doc/libxml-1.8.16/html/gnome-xml-sax.html
/usr/doc/libxml-1.8.16/html/gnome-xml-tree.html
/usr/doc/libxml-1.8.16/html/gnome-xml-valid.html
/usr/doc/libxml-1.8.16/html/gnome-xml-xml-error.html
/usr/doc/libxml-1.8.16/html/gnome-xml-xmlio.html
/usr/doc/libxml-1.8.16/html/gnome-xml-xmlmemory.html
/usr/doc/libxml-1.8.16/html/gnome-xml-xpath.html
/usr/doc/libxml-1.8.16/html/index.sgml
/usr/doc/libxml-1.8.16/html/libxml-lib.html
/usr/doc/libxml-1.8.16/html/libxml-notes.html
/usr/lib/libxml.so.1
/usr/lib/libxml.so.1.8.16
***touchでタイムスタンプを変更 [#wf226d7f]
$ touch -a file1.txt ←最終参照日時を現在の日時に変更
$ touch -r file1.txt -m file2.txt ←更新日時をfile1.txtと同じに変更
$ touch -d "2 February 2002 10:00am" file1.txt ←更新・最終参照日時を2002年2月2日の午前10時に変更
-a:最終参照日時を変更する
-m:更新日時を変更する
aオプションやmオプションを指定しない場合は、更新日時・最終参照日時のすべてが設定される。
-r:指定したファイルと同じ日時にする
-d:ファイルの日時を指定した時刻に設定する
rオプションやdオプションで時刻を指定しない場合は、現在の時刻が設定される。
***cpコマンド [#vc02b9ab]
cpで属性を変えずにまた、リンクも継承してコピーする。
cp -af * /xxx/yyy/
注)このとき、カレントディレクトリにある.ファイル(.abc,.yyy等)はコピー
されない。
[manより]
-a, --archive
コ ピー先で、できる限り元のファイルの構成と属性を保
持する (ディレクトリ構造体は保存しない) 。 -dpR と
同じ。
-d, --no-dereference
シ ンボリックリンクをコピーする場合、シンボリックリ
ンクが指しているファイルをコピーするのではなく、 シ
ン ボリックリンクとしてコピーする。また、コピー元で
のハードリンクはコピー先でもハードリンクとして保 持
される。
-f, --force
既存のコピー先ファイルを削除してからコピーする。
-R, --recursive
ディレクトリでないものを保持しながら、ディレクト リ
を 再 帰 的にコピーする 。スペシャルファイルの内容を
コピーするのでなく、スペシャルファイルをその特性を
保持したままコピー
***フォアグランのコマンドをバックグランドにして実行 [#s0581b14]
$ (Command)
^z <---ctrl+zを入力
[1]+ Stopped (Command)
$ bg
$ ps x <---確認
19025 pts/0 D 0:00 (Command)
$ % <---フォアグランドに戻す
***HDDを復旧不可能のようにランダムデータを書き削除する [#t974df14]
knoppixで起動し、以下のコマンド等を実行する
方法1. # shred -n 2 -v -z /dev/hda
乱数 → 乱数 → 0x00 という3回の上書きが行われます.
-n:回数
-v:進捗状況のメッセージを表示する。
-z:shred を実行した後、NUL で上書きする.
方法2.# dd if=/dev/nul of=/dev/hda bs=512 count=1
bs:一度に指定したバイトのブロックを読み書きする.
count:入力から出力へ指定したブロックをコピーする
***HDDのパラメータ表示・変更・ベンチ [#nfeb1da0]
パラメータ表示
# /sbin/hdparm /dev/hda
/dev/hda:
multcount = 16 (on)
IO_support = 0 (default 16-bit)
unmaskirq = 0 (off)
using_dma = 1 (on)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 8 (on)
geometry = 9964/255/63, sectors = 81964302336, start = 0
# /sbin/hdparm -i /dev/hda
/dev/hda:
Model=Maxtor 6Y080M0, FwRev=YAR51HW0, SerialNo=Y2507PHC
Config={ Fixed }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=DualPortCache, BuffSize=7936kB, MaxMultSect=16, MultSect=16
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=160086528
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 *udma2
AdvancedPM=yes: disabled (255) WriteCache=enabled
Drive conforms to: (null):
* signifies the current active mode
設定変更
# /sbin/hdparm -d1 /dev/hda (-d1:DMA ON -d0:DMA OFF)
# /sbin/hdparm -c1 /dev/hda (-c1:I/O 32bit -c0:I/O 16bit)
ベンチマーク
# /sbin/hdparm -ft /dev/hda
/dev/hda:
Timing buffered disk reads: 160 MB in 3.00 seconds = 53.33 MB/sec
***バイナリからテキストを抽出 [#k16134eb]
$ strings /bin/cat
/lib/ld-linux.so.2
__gmon_start__
(略)
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
memory exhausted
***稼動時間の表示 [#x021579a]
$ uptime
午前09時32分 稼働 38日間, 20時06分, 1 ユーザ, 負荷平均率: 0.06, 0.33, 0.18
ただし、497日でオーバーフォローするようで0日になる。
10msカウントで、32Bit なので 2^32/(24*60*60/0.01[10ms])=497,1.....
***psコマンド [#x524238f]
プロセスのユーザを表示
$ /bin/ps -aef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 13:05 ? 00:00:04 init [3]
root 2 1 0 13:05 ? 00:00:00 [keventd]
root 3 1 0 13:05 ? 00:00:00 [kapmd]
root 4 1 0 13:05 ? 00:00:00 [ksoftirqd_CPU0]
root 5 1 0 13:05 ? 00:00:01 [kswapd]
(略)
***grep 階層検索 [#ze5dd742]
$ grep -r JE2ISM *
test/work3/work4/ghi:JE2ISM
test/work3/def:JE2ISM
test/abc.txt:JE2ISM
***タイムゾーンの設定 [#p833f57e]
/etc/localtimeファイルの内容で決まる。
Ex) Asia/Tokyo -> TZif
この内容は/usr/share/zoneinfoディレクトリにあり上記の内容は
/usr/share/zoneinfo/Asia/Tokyoの内容のコピー
よって/etc/localtimeのリンクを/usr/share/zoneinfo/Asia/Tokyo
にしてもOK
--------------------------------------------------------------------------------
RIGHT:[[元ページ:https://wwwism.dyndns.org/hp/linux/command.htm]]