LPIC コマンドまわりについて
環境変数
主な環境変数
環境変数 | 説明 |
---|---|
PATH | コマンドやプログラムを検索するディレクトリリスト |
PWD | カレントディレクトリ |
HOSTNAME | ホスト名 |
USER | 現在のユーザー |
LANG | ロケール |
HOME | カレントユーザのホームディレクトリ |
LOGNAME | ログインシェルのユーザ名 |
PS1 | プロンプトの表示文字列 |
PS2 | 複数行にわたる入力時のプロンプト |
HISTSIZE | コマンド履歴の最大値 |
HISTFILE | コマンド履歴を格納するファイル |
HISTFILESIZE | コマンド履歴を格納するファイル |
HISTFILESIZE | HISTFILEに保存する履歴数 |
TER | 端末の種類 (e.g. bash, zsh) |
export
あたりは理解しているつもりなので割愛
unset
は変数の削除を行う。変数名のには$
がつかないのに注意。
$ unset variable
コマンド
複数コマンドの実行制御
コマンド | 説明 |
---|---|
コマンド1;コマンド2 | コマンド1に続いてコマンド2を実行 |
コマンド&&コマンド2 | コマンド1正常終了時のみコマンド2を実行 |
コマンド1|| コマンド2 | コマンド1が正常終了しなかった場合にコマンド2を実行 |
(コマンド1;コマンド2) | ひとかたまりのコマンドグループとして実行 |
{コマンド1;コマンド2} | 現在のシェル内でコマンドを実行 |
履歴
$ history
(省略)
994 ls
995 tumx a
996 tmux a
997 cler
998 clear
999 history
$!994
ls
bin config dev hadoop-1.1.2 hadoop-1.1.2-1.i386.rpm hadoop-1.1.2.tar.gz local-lib-1.008010 local-lib-1.008010.tar.gz perl5 scripts
manコマンド
$ man -avim #すべてのセクション
# makewhatis # whatis データベースの作成
# man -f vim # 完全一致検索 whatisコマンドで代替可能
vim (1) - Vi IMproved, a programmers text editor
vim [ex] (1) - Vi IMproved, a programmers text editor
vim [rvi] (1) - Vi IMproved, a programmers text editor
vim [rview] (1) - Vi IMproved, a programmers text editor
vim [vi] (1) - Vi IMproved, a programmers text editor
vim [view] (1) - Vi IMproved, a programmers text editor
# man -k vim # 部分一致検索 apropos コマンドで代替可能
vim (1) - Vi IMproved, a programmers text editor
vimdiff (1) - edit two, three or four versions of a file with Vim and show differences
vim [ex] (1) - Vi IMproved, a programmers text editor
vim [rvi] (1) - Vi IMproved, a programmers text editor
vim [rview] (1) - Vi IMproved, a programmers text editor
vimtutor (1) - the Vim tutor
vim [vi] (1) - Vi IMproved, a programmers text editor
vim [view] (1) - Vi IMproved, a programmers text editor
# man -w vim
/usr/share/man/man1/vim.1.gz
manコマンドのセクション
1 コマンド (ls、cat、kterm など)
2 システムコール (C言語の関数。open、fork など)
3 ライブラリ関数 (C言語の関数。printf、fopen、Tck/Tk、Xlib などの関数群)
4 デバイス・デバイスドライバ
5 ファイルフォーマット (uuencodeなどのファイル形式、hostsなどの書式)
6 ゲーム
7 その他 (環境変数の説明、groff の書式など)
8 システム管理 (各種デーモン、sendmail、mount*など)
9 新しく追加されたマニュアル(Tkなど?)
UNIXの部屋 コマンド検索:man (*BSD/Linux)
lsコマンド
-t
オプションでで日付順に表示
# ls -lt
total 82348
-rw-r--r--. 1 root root 84248501 Jun 4 13:01 jdk-7u21-linux-i586.rpm
-rw-r--r--. 1 root root 5632 May 23 02:46 perl.xls
drwxr-xr-x. 2 root root 4096 Apr 7 18:49 app
drwxr-xr-x. 2 root root 4096 Apr 4 17:46 bin
drwxr-xr-x. 3 root root 4096 Apr 4 17:44 perl5
-rw-------. 1 root root 1196 Apr 4 17:03 anaconda-ks.cfg
-rw-r--r--. 1 root root 9169 Apr 4 17:03 install.log
ls -lA (.から始まる名前のファイルも表示 ./, ../を非表示)
total 82408
-rw-------. 1 root root 1196 Apr 4 17:03 anaconda-ks.cfg
drwxr-xr-x. 2 root root 4096 Apr 7 18:49 app
-rw-------. 1 root root 10896 Jun 5 06:20 .bash_history
-rw-r--r--. 1 root root 18 May 20 2009 .bash_logout
-rw-r--r--. 1 root root 222 Apr 4 17:45 .bash_profile
-rw-r--r--. 1 root root 222 Apr 4 18:07 .bashrc
drwxr-xr-x. 2 root root 4096 Apr 4 17:46 bin
drwxr-xr-x. 5 root root 4096 May 24 02:53 .cpan
drwxr-xr-x. 4 root root 4096 May 24 02:54 .cpanm
-rw-r--r--. 1 root root 100 Sep 23 2004 .cshrc
(以下略)
# ls -ld /root/ ( ディレクトリ情報)
dr-xr-x---. 9 root root 4096 Jun 4 13:01 /root/
cpコマンド
# cp -f text.txt /home/hoge/. (確認なしの上書き)
# cp -i .vimrc /home/kisho/. (確認ありの上書き)
cp: overwrite `/home/kisho/./.vimrc'?
その他のcpコマンドオプション
* -p
: コピー元のファイル属性を保持
* -r,-R
: 再帰的コピー
* -d
:シンボリックリンクをシンボリックリンクとしてコピー
* -a
: -dpR
とおなじ
mv,rm,rmdir
コマンドは割愛
mkdirコマンド
-m
オプションでアクセス権を指定できる。
touchコマンド。タイムスタンプを変更する。
# ls -l .vimrc
-rw-r--r--. 1 root root 802 Apr 7 14:34 .vimrc
# touch -t 201306061200 .vimrc
# ls -l .vimrc
-rw-r--r--. 1 root root 802 Jun 6 2013 .vimrc
その他のtouchコマンドオプション
-m
:修正日時のみ変更-a
:アクセス日時のみ変更
fileコマンド。ファイルの種別を表示する。
# file *
anaconda-ks.cfg: ASCII English text
app: directory
bin: directory
epel-release-6-8.noarch.rpm: RPM v3.0 bin noarch epel-release-6-8
install.log: ASCII text
install.log.syslog: ASCII text
jdk-7u21-linux-i586.rpm: RPM v3.0 bin i386/x86_64 jdk-1.7.0_21-fcs
perl5: directory
perl.xls: CDF V2 Document, No summary info
rpmforge-release-0.5.2-2.el6.rf.i686.rpm: RPM v3.0 bin i386/x86_64 rpmforge-release-0.5.2-2.el6.rf
パイプ
teeコマンドはファイルに実行結果を保存しつつ画面上にも表示してくれる。-a
オプションで追記。
# ls -l | tee ls.log
total 82348
-rw-------. 1 root root 1196 Apr 4 17:03 anaconda-ks.cfg
drwxr-xr-x. 2 root root 4096 Apr 7 18:49 app
drwxr-xr-x. 2 root root 4096 Apr 4 17:46 bin
-rw-r--r--. 1 root root 14540 Nov 6 2012 epel-release-6-8.noarch.rpm
-rw-r--r--. 1 root root 9169 Apr 4 17:03 install.log
-rw-r--r--. 1 root root 3091 Apr 4 17:02 install.log.syslog
-rw-r--r--. 1 root root 84248501 Jun 4 13:01 jdk-7u21-linux-i586.rpm
drwxr-xr-x. 3 root root 4096 Apr 4 17:44 perl5
-rw-r--r--. 1 root root 5632 May 23 02:46 perl.xls
-rw-r--r--. 1 root root 12732 Nov 13 2010 rpmforge-release-0.5.2-2.el6.rf.i686.rpm
# cat ls.log
total 82348
-rw-------. 1 root root 1196 Apr 4 17:03 anaconda-ks.cfg
drwxr-xr-x. 2 root root 4096 Apr 7 18:49 app
drwxr-xr-x. 2 root root 4096 Apr 4 17:46 bin
-rw-r--r--. 1 root root 14540 Nov 6 2012 epel-release-6-8.noarch.rpm
-rw-r--r--. 1 root root 9169 Apr 4 17:03 install.log
-rw-r--r--. 1 root root 3091 Apr 4 17:02 install.log.syslog
-rw-r--r--. 1 root root 84248501 Jun 4 13:01 jdk-7u21-linux-i586.rpm
drwxr-xr-x. 3 root root 4096 Apr 4 17:44 perl5
-rw-r--r--. 1 root root 5632 May 23 02:46 perl.xls
-rw-r--r--. 1 root root 12732 Nov 13 2010 rpmforge-release-0.5.2-2.el6.rf.i686.rpm
リダイレクト
この辺りも理解をしているつもりなので割愛