道具としてのLinux CUI/Emacs/Vi入門
LinuxのCUIとか,Emacsとかviとかを道具として使うために.
なぜCUIか
"処理の自動化が簡単"だから.単なる繰り返し処理のために手をたくさん動かすのは無駄
LinuxのCUIで楽々データ管理
まずはじめに
パスワードを変更する
- passwd
入力中のパスワードは表示されないので注意.●とか*も表示されません.
- smbpasswd
キー操作に慣れよう(bash編)
- "C-"はコントロールキーを押しながら,という意味.
- ちなみに,レジストリをいじってコントロールキーは"a"の左に設定するのがおすすめ.
参考: CTRLとCAPSの替え方
- %より後が入力するコマンド.
- #以下はコメント.入力しなくていい
ショートカット | 動作 |
---|---|
C-a | 行頭へ |
C-f | 右へ |
C-b | 左へ |
C-e | 行末へ |
C-p | ヒストリを一つ上にたどる |
C-r | ヒストリからコマンドを検索する |
ファイル操作
- ファイルの作成(touch)
% touch hoge
- ファイル情報の表示(ls)
% ls # ディレクトリのファイル一覧 % ls -l # 詳細なディレクトリのファイル一覧 % ls -a # 隠しファイルも表示する % ls -l # 詳細なディレクトリのファイル一覧
- ファイルの中身の表示(cat, more, less, lv)
% cat ファイル名 # ファイルの中身をがーっと表示する % more ファイル名 # ページャでファイルを開く.行ったり来たりしながらみれる % less ファイル名 # moreより高機能なページャ % lv ファイル名 # lessより高機能なページャ
- ファイルのコピー(cp)
% cp hoge fefe # hogeをfefeにコピー
- ファイルの名前の変更(mv)
% mv hoge gaso # hogeをgasoに名前を変更
- ファイルの削除(rm)
% rm gaso # gasoを削除
- ディレクトリの作成(mkdir)
% mkdir tmp # tmpという名前のディレクトリを作成
- ディレクトリへの移動(cd)
% cd tmp # tmpという名前のディレクトリへ移動 % cd .. # 一つ上のディレクトリへ移動.".."は上のディレクトリ,"."は今いるディレクトリを指す. % cd / # でルートディレクトリへ移動.Unixではルートディレクトリは唯一. % cd $HOME/tmp # 環境変数$HOMEには自分のディレクトリが格納されている
- 自分のいるディレクトリの表示(pwd)
% pwd
- ディレクトリ間でファイルをコピー,移動
% cp ../fefe . # 一つ上のディレクトリのファイルfefeを,.(今いる場所)にコピーする % cp ../fefe ./nore # 一つ上のディレクトリのファイルfefeを,.(今いる場所)にnoreという名前でコピーする % mv nore ../ # noreというファイルを一つ上のディレクトリへ移動する.
- ディレクトリをまるっとコピー(cp-r)
% cp -r /home/miyo/test . # /home/miyo/test以下をまるっと.(今いる場所)にコピーする
- アーカイブの作成(tar zcvf)
%tar zcvf test.tar.gz test # test以下のファイルをtest.tar.gzという名前でまとめる
- ディレクトリをファイルごと削除(rm -rf)
%rm -rf test # コピーしてきたディレクトリを丸っと削除
- アーカイブの展開(tar zxvf)
%tar zxvf test.tar.gz # test.tar.gzを今いるディレクトリに解凍する
リダイレクト、パイプでコマンド間連携をしよう
- 標準入力からファイルへの書き出し(cat > hoge)
- 標準出力のファイルへの書き出し(ls > hoge)
- 標準出力のページャーへの引き渡し(ls | lv)
便利なコマンドを使いこなそう
ファイルの検索
- ファイル名をキーワードで検索(locate)
- パターンを使ってファイルの検索.実行(find)
電卓
- expr
- bc
CUIの有効活用でやりたいことを簡潔に
sedとechoの素敵な関係
コマンドの実行結果をコマンドライン中に埋め込む
- ファイル名の一括置換
- ファイルの一括アーカイブ
操作を記録する
- history
- script
シェルの制御構文を使ってみる
繰り返し処理
- forループ
- whileループ
条件分岐
- if文
ステップアップを目指すために
- man
- info
- UNIXスーパーテキスト
screen
端末エミュレータを便利に使おう
準備
% ln -s /usr/local/skel/dot.screenrc ~/.screenrc
起動
% screen -dR
新しいscreenのページを開く
% C-z c
次のscreenのページに移動する
% C-z p
←→
% C-z n
screenをデタッチする(また後で)
% C-z d
詳しい使い方(screenでのページのコピーなど)
Emacs
基本
- C-とM-になれる
- カーソルキーは使わない
- 起動と終了
準備
% cd $HOME % ln -s /usr/local/skel/emacs/dot.emacs.el .emacs.el
ファイル操作
- ファイルを新規に作成する
- ファイルに書き出す
- 新しいファイルを開く
- バッファの移動
- 検索、置換
- コピー、ペースト
漢字コードのあれこれ
- 開いているファイルの漢字コードを変更して表示する(ファイルの漢字コードは変更しない)
C-x C-m C-r [漢字コード]
たとえば,euc-jpで開きたい場合.
C-x C-m C-r euc-jp
- 漢字コードを変更する
C-x C-m C-f [漢字コード]
たとえば,euc-jpに変更したい場合
C-x C-m C-f euc-jp
Emacs Lisp簡単入門
道具としてのEmacs
- 四則演算をやってみよう
- キーマクロ
Emacs Lipsでプログラミング
よく使うキー操作の関数を調べてみよう
たくさん関数を実行してみよう(progn)
変数の定義
FizzBuzz
Vi超簡単入門
基本
- 起動と終了
- 入力モードと編集モード
- カーソル移動
- 編集のあれこれ
- ファイルの保存