アットウィキロゴ

Linuxコマンド

基本

+ ...

ファイル操作

+ ...

ユーザー・権限

+ ...



基本


メモリ・CPU確認
メモリ・CPU
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
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