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