トップ 差分 一覧 Farm ソース 検索 ヘルプ PDF RSS ログイン

道具としてのLinux CUI/Emacs/Vi入門


LinuxのCUIとか,Emacsとかviとかを道具として使うために.

なぜCUIか

"処理の自動化が簡単"だから.単なる繰り返し処理のために手をたくさん動かすのは無駄

LinuxのCUIで楽々データ管理

 まずはじめに

パスワードを変更する

passwd

入力中のパスワードは表示されないので注意.●とか*も表示されません.

smbpasswd
たぶんypc0700ではやらなくていいはず!!

キー操作に慣れよう(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でのページのコピーなど)

Let's use 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超簡単入門

 基本

起動と終了
入力モードと編集モード
カーソル移動
編集のあれこれ
ファイルの保存

シェルスクリプト入門

 コマンドの羅列としてのスクリプト

制御構文をつかってみる

実行権限をつけて実行

 プログラミング言語としてのシェルスクリプト

FizzBuzz