基本
ファイル操作
ユーザー・権限
基本
cat /proc/cpuinfo
cat /proc/meminfo
vmstat
top
個々のメモリ使用確認 jstat例
/usr/local/jdk1.6.0_45/bin/jps
/usr/local/jdk1.6.0_45/bin/jstat -gc `pidof java`
/usr/local/jdk1.6.0_45/bin/jstat -gcutil `pidof java` 1000
/usr/local/jdk1.6.0_45/bin/jmap -dump:format=b,file=heap.bin <pid>
ディストリビューション
uname -a
cat /etc/redhat-release
cat /etc/fedora-release
cat /etc/debian_version
cat /etc/turbolinux-release
cat /etc/issue
...
ディスク
df -h
du -h ?max-depth 1
quota
GPU
nvcc -V
$CUDA_ROOT/nvcc -V
cat /proc/driver/nvidia/version
nvidia-smi -l
netstat
-t TCPポートを表示する
-u UDPポートを表示する
-a すべての有効なポートを表示する
-n 一切の名前解決を行なわない
netstat -antu
netstat -a | egrep 'Proto|LISTEN'
iptables
iptables -A INPUT -p .... とか
service iptables save
iptables-save > ファイル名
iptables-restore < ファイル名
ps aux
ps aux | grep ***
ps alxw | grep *** 実体の場所
chkconfig --list
chkconfig hoge on
chkconfig hoge off
alternatives --config java
lsof [オプション] [ファイル名]
-n:名前解決を行わない
-i:ポートとプロセスを表示する
-c:指定したコマンドが開いているファイルを表示する
lsof -i:8080
runlevel
/etc/init.d/inittab
# コマンドの出力を file へ上書きする
command >file
# コマンドの出力を file へ追記する
command >>file
# ファイル内容をコマンドへ渡す
command <file
パイプ [ | ]
command1 | command2
command1 | command2 | command3
command1 | command2 | … | commandN
→ コマンドの実行結果を、他のコマンドへ引き渡したい場合はパイプを使用する。
ファイル操作
ファイル検索
find / -name httpd.conf
find / -user apache
ファイル総数
find ディレクトリ名 -type f | wc -l
find ./ -type f | wc -l
ls -UR1 | wc -l
ディレクトリ総数
find ディレクトリ名 -type d | wc -l
find ./ -type d | wc -l
ファイル・ディレクトリ総数
find ディレクトリ名 -name \* | wc -l
find ./ -name \* | wc -l
ls -1UR | wc -l
更新日付で並び替え
find DIR -type f | xargs ls --full-time | sort -k6,7
ディレクトリサイズ
du
du target-dir
du -s target-dir
「-m」でMバイト、「-k」でKバイト、「-b」でバイト単位でサイズを表示する。
子ディレクトリのみ表示
du -h | grep "\.\/[^/]*$"
ファイルのタイムスタンプを更新(空ファイル作成)
touch [-acm] [-d 時刻] [-r ファイル] [-t mmddHHMM[[CC]YY][.SS]
touch file5
touch -t 120304051995 file5
touch -r file5 /tmp/*
ファイル削除
rm [-dfirvR] [--directory] [--force] [--interactive] [--recursive] [--help] [--verbose] name...
-d, --directory ディレクトリごと削除できる。スーパーユーザーのみ使用が可能
-f, --force 警告メッセージを表示しない
-i, --interactive ファイルを削除してよいかを問い合わせる
-r, -R, --recursive ディレクトリ内を再帰的に削除する
-v, --verbose ファイルを削除する前にファイル名を表示する
--help rmコマンドの使用法を表示する
name 削除するファイルやディレクトリを指定する。ワイルド・カードを使用できる
カレント・ディレクトリ内の拡張子がtxtのファイルを削除する
$ rm *.txt
temp-dirディレクトリを内部のファイルごと削除する
$ rm -rf temp-dir
ファイル名変更
mv test.txt hoge-document.txt
mv hoge-dir/ fuga-dir/
シンボリックリンク作成
ln -s /usr/local/bin bin
コピー
cp file1 file2
cp -r dir1 dir2 //dir2の中にdir1がコピーされる
cp -a dir1 dir2 //dir2の中にdir1がコピーされる(タイムスタンプを保つ)
ソート
address-fileを大文字小文字関係なくソートする
$ sort -f address-file
拡張子がlstのファイルを逆順にソートして result.lstに書き込む
$ sort -r *.lst > result.lst
zip -r directory.zip target-dir
zip -r backup.zip ./htdocs/
tar
gz圧縮
tar -zcvf xxxx.tar.gz directory
gz解凍
tar -zxvf xxxx.tar.gz
xz解凍
tar Jxfv xxx.tar.xz
arc_dirディレクトリ内のファイルを,書庫ファイル(arch.tar)にする
$ tar cvf arch.tar arc_dir
書庫ファイルを展開する
$ tar xvf arch.tar
gzip方式で圧縮した書庫ファイルを作成する
$ tar zcvf arch.tar.gz arc_dir
bzip2方式で圧縮された書庫ファイルを展開する
$ tar jxvf arch.tar.bz2
既にある書庫にファイル(add_file)を追加する
$ tar rf arch.tar add_file
書庫ファイルの内容を一覧する
$ tar tf arch.tar
ホーム・ディレクトリ以下の内容をフロッピ・ディスクにバックアップする
$ tar cvf /dev/fd0 ~/
書庫ファイルからreadme.txtファイルのみを削除する
$ tar vf arch.tar --delete readme.txt
grep パターン ファイル > 出力ファイル(必要なら)
grep "sboterm" *.xml > out
grep -Eri 'ghrl' file_constants/species/
grep -Ehrni 'ghrl' file_constants/species/
grep -ria 'hoge' ./ (バイナリも見るときは -a)
sed
sed -e 's/検索パターン/置換パターン/g' 対象ファイル > 出力ファイル(必要なら)
sed -e 's/^.*sboTerm="//g' out > outout
sort
sort foo.txt
sort -n foo.txt 数字としてソート
sort -k2 foo.txt スペース区切りの2番目でソート
sort -nk2 foo.txt スペース区切りの2番目を数字としてソート
sort -k2,2n -k1,1 foo.txt 2番目を最初に、次に1番目でソート
sort -k2,2n -k1,1nr foo.txt 逆順
uniq
重複削除
uniq hoge.txt
find
find . -type f | xargs grep -l 'GGTATCACAATCCCT'
split -行数 <ファイル名> <分割後ファイルのプレフィックス>
# 1000行ごとにhoge.txtを分割, hige-aa.txt, hige-ab.txt…
split -1000 hoge.txt hige-
結合
hoge1とhoge2を結合してhogeに出力する
$ cat hoge1 hoge2 > hoge
ユーザー・権限
cat /etc/passwd
ユーザー追加
useraddコマンド
useradd のデフォルト確認
useradd -D
追加
useradd hogehoge
確認
id -a hogehoge
パスワード設定
passwd [username]
ユーザー削除
userdel -r hogehoge
グル―プ確認
cat /etc/group
自分のグループ確認
id
グル―プにログイン
newgrp グループ名
新規グループ
sudo groupadd grp1
グループにユーザー追加
gpasswd -a usr1 grp1
usermod -G grp1 usr1 # ← 危険?
グループ削除
groupdel grp1
グループからユーザー削除
gpasswd -d usr1 grp1
chown -R user1 /home/sample/user1
chgrp -R grp1 /home/sample/user1
chown -R user1:grp1 /home/sample/user1
chown user1 *
chgrp grp1 *
chmod 755 filename
chmod [-R] [ugoa][+-=][rwxst] *
/etc/sudoers
visudo あるいは sudo visudo
root ALL=(ALL) ALL
root ALL = (ALL) ALL
root ユーザは、すべてのホストから すべてのユーザに変身でき、すべてのコマンドを実行できる。
foo ALL=(root) /etc/init.d/httpd,/sbin/shutdown
foo ユーザは、すべてのホストから rootに変身でき、/etc/init.d/httpd と /sbin/shutdown のコマンドを実行できる。
apache ALL=(bar) NOPASSWD: /home/bar/bin/*
apache ユーザは、すべてのホストから barにパスワード無で変身でき、/home/bar/bin/以下 のコマンドを実行できる。
グループに対する指定(%)
%wheel ALL=(ALL) ALL
パスワード要求しない設定(NOPASSWD:)
%wheel ALL=(ALL) NOPASSWD: ALL
最終更新:2021年06月03日 10:14