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

リダイレクト

この辺りも理解をしているつもりなので割愛