Linux
基本的に本篇の記述はCentOS 5.5に基づく
ファイルシステム
※青い文字:ディレクトリ
Ubuntu関連
★ショートカット
Ctrl + Win + D Desktop
Ctrl + Alt + ←→↑↓ Work spaceを切り替え
Winを押し続く ショートカット一覧
★市販のDVDを見る
1 Synapticから、「ubuntu-restricted-extras」で検索してインストール
2 sudo /usr/share/doc/libdvdread4/install-css.sh
★FirefoxでFlashをインストールする方法
1:http://get.adobe.com/jp/flashplayer にアクセスし、Linux用.tar.gzファイルをダウンロード
2:コマンド実行
tar zxvf xxx.tar.gz
sudo cp libflashplayer.so /usr/lib/firefox-addons/plugins/
★Firefox upgrade
sudo add-apt-repository ppa:mozillateam/firefox-stable
sudo apt-get update
sudo apt-get upgrade
★Nautilus
Ctrl + l ファイルパスを指定
★デバイスのドライバ
変更
sudo rmmod <old>
sudo depmod -a
sudo modprobe <new>
sudo update-initramfs -u
確認(network cardの場合)
ls /lib/modules/3.8.0-35-generic/kernel/drivers/net/ethernet/realtek <new>.koが存在か
sudo lshw -C network
sudo lspci
sudo lsmod | grep <new>
ifconfig eth0が存在か ifconfig eth0 down/up
設定
sudo vi /etc/modprobe.d/blacklist.conf blacklist <old>を追加
★UbuntuからWinodws7とリモート接続
Unbuntu側
Remminaリモートデスクトップクライアント
Winodws7側
スタート
→ コンピュータ
→ プロパティ(右クリック)
→ リモートの設定
→ リモートデスクトップ
→ 2番目の許可設定をチェックする
I /Oについて
stdin 0 0<file
wall < /etc/motd
stdout 1 1>file 1>>file
ls -l /tmp > tmp.log 結果を保存
cat > tmp.txt 一時ファイル(Ctrl+D)作成
cat >> tmp.txt 追加
stderr 2 2>file 2>>file
cp -R /usr ./backup/usr.bak 2> ./bak.error
cat > test.txt 複数行を入力 (Ctrl + d はquit)
> test.txt ファイル作成・ファイル内容削除
< test.txt sed -n '50,60p' 50-60行を取得
★サンプル解析
<コマンド> 1> /dev/null 2>&1
1> /dev/null stdout(1)の場合に/dev/nullへ
2>&1 stderr(2)の場合に1と同じ
&>/dev/null
<コマンド> 1> aaa 2> aaa
stdoutもstderrも直接にaaaへ書き込む
aaaファイルを2回開くため、stdoutとstderr内容がお互いに上書き
FD1,FD2二つ競争パイプが存在
<コマンド> 1> aaa 2>&1
stdoutは直接にaaaへ書き込む、stderrはパイプによりaaaへ書き込む
aaaファイルを1回開く
FD1一つパイプが存在、効率よく
nohup bin/standalone.sh >/dev/null 2>log & エラー情報のみ
nohup bin/standalone.sh >/dev/null 2>&1 & 情報不要
コマンド連結について
〇パイプ
ls -l /etc | grep init | wc -l
〇; 順序に実行
pwd;ll;date
〇&&
<コマンド1> && <コマンド2>
コマンド1の実行が成功した場合にコマンド2は実行
〇||
<コマンド1> || <コマンド2>
コマンド1の実行が失敗した場合にコマンド2は実行
例:
・単一行の書き方
cd a/b/c || mkdir -p a/b/c && tar -xvf ~/test.tar -C a/b/c
・複数行の書き方
cd a/b/c || \
> mkdir -p a/b/c && \
> tar -xvf ~/test.tar -C a/b/c
★ローカル変数を定義する方法(括弧外に使えない)
cd a/b/c/ || mkdir -p a/b/c && \
> VAR=$PWD; cd ~; tar -xvf test.tar -C $VAR \
> | echo $VAR
〇Sub Shell
( cd a/b/c/ || mkdir -p a/b/c && \
> VAR=$PWD; cd ~; tar -xvf test.tar -C $VAR ) \
> | echo $VAR
※必要:(後のスペース、)前のスペース
〇Current Shell
{ cd a/b/c/ || mkdir -p a/b/c && \
> VAR=$PWD; cd ~; tar -xvf test.tar -C $VAR; } \
> | echo $VAR
※必要:{後のスペース、}前のスペースと最後コマンド後の;
Historyについて
$ mv aaa.c bbb.c
$ ln -s !$ !:1 = ln -s bbb.c aaa.c
※!:1は直前のコマンドの1番目引数
※$は直前のコマンドの最後引数
環境変数について
〇方法1
/etc/profileを修正 すべてユーザ、永久
source /etc/profile 修正後すぐ有効
〇方法2
~/.bash_profileを修正 単一ユーザ、永久
source .bash_profile 修正後すぐ有効
〇方法3 Current Shell、一時
export VAR="aaa" 定義 env | grep VARで確認
VAR="aaa" 定義 set | grep VARで確認
echo $VAR
VAR="bbb" 変更
echo $VAR
unset VAR 削除
readonly VAR 変更・削除できない
※P.S.
export sh系シェル
setenv csh系シェル
set Windows
★変数の出力
VAR="test/*"
echo $VAR 出力:test/a test/b
echo ${VAR} 出力:test/a test/b
echo ${VAR}a 出力:test/a
echo ${VAR}e 出力:test/*e
echo "$VAR" 出力:test/*
echo {$VAR} 出力:{test/*}
echo "${VAR}a" 出力:test/*a
★bashrcと.bash_profile
順序
/etc/profile ( ~/.bash_profile | ~/.bash_login | ~/.profile ) ~/.bashrc
.bashrc:登録時、bash実行時
.bash_profile:登録時 ≒.bash_login
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
コマンドラインのショートカット
tab 補完
Ctrl + C 停止
Ctrl + D ≒exit
Ctrl + l クリア
!! 前回のコマンドを再実行
Ctrl + a カーソルを行頭へ移動
Ctrl + e カーソルを行末へ移動
Ctrl + u カーソルから行頭まで削除
Ctrl + k カーソルから行末まで削除
Ctrl + d 文字を削除
Ctrl + w 入力行を左へ単語単位で削除
Ctrl + y Ctrl+u,Ctrl+d,Ctrl+wで削除した単語をペスト
Ctrl + z Backendへ
fg Frontendへ
Here Documents
cat << EOF
Line 1
Line2
EOF