shell[I] command基本
shell(殻)ってのは,operating systemの中心(kernel: 核)の外側にあって,keyboardの入力を受け取って,kernelへ渡して,スクリーンへいい感じで出力するという機能を受け持ちます.shellにはいくつもの派生があります.ubuntuとかはbashをdefaultで使っていますが,fish, zshってのが今の流行です.
shellに命令(command)を投げてやり取りするため,command line interface(cli)やcharacter user interface(cui)と呼ばれます.
commandは
command [objects]
あるいは
command [options] [ojbects]
というのが基本形です.[]は省略可能を意味します.optionsは -
記号の後ろに文字(short option)で打つか,--
の後ろにフル記述(long option)で打つかの2種類があります.
man man
を確かめてください.manのmanualが表示されます.NAME, SYNOPISI, OPTIONなんかが表示されます.終わるのはq(uit)です.
shell[II] directory,file関連
まずはdirectory(フォルダーといった方がわかりやすいかも)関連の命令です.ファイルを整理するための電話帳(directory)といった意図です.
![]() |
---|
Fig. ディレクトリー構造と絶対パス,相対パス. |
mkdir ディレクトリ名 | ディレクトリ作成 |
touch ファイル名 | ファイル作成 |
pwd | 絶対パスの表示 |
cd ディレクトリ名 | ディレクトリ変更 |
cd .. | 直前にいたディレクトリへ移動 |
ls | ディレクトリ内のファイル一覧 |
cp コピー元 コピー先 | ファイルなどコピーする |
rm ファイル(ディレクトリ)名 | 削除する |
mv 移動元 移動先 | ファイル等の移動,名前変更 |
etc…
emacs
emacsは高性能なeditorの一つです.
一連の流れを記すと,
- emacs REDAME.org
- なんかの編集操作
- c-x c-s (save)
- c-x c-c (quit) or c-z(stop)
(quit:編集終了.stop:一時中断.fgで再開できる.)よく使う操作.
- c-p, n, b, f, a, e # 移動
- c-d, k # 削除
![]() |
---|
Fig. emacs key bindチートシート; keybind文字には,命令の意味があります. |
shell[III] process関連
process関連の操作として用意されているコマンドは
- ps, top # process status,
- fg, bg # fore, back ground
- kill -9 PID # process id
なんかです.
emacs でc-zでstopしてbashに戻ってきても,psあるいはtopするとemacsが動いていることが確認できます.これは,emacsがbgにいて,fgすると操作がbashからemacsに渡されることを意味します.emacsを使っていて,気づかぬ間にたくさんのemacsが立ち上がってしまっていることがあります.そうすると,折角の編集結果が失われることがあります.気がついたらkill でそのprocessを消すようにしてください.
git
gitはLinuxの生みの親のLinus Torvalsが開発したバックアップソフトです.情報共有にも使え,その統合サービスを提供しているのがgithubです.最初に必要な設定は以下のとおりです.
git config --global core.editor emacs
# vi とかcodeでもOKgit config --global user.name "FIRST_NAME LAST_NAME"
git config --global user.email "MY_NAME@example.com"
githubにあるrepositoryをlocalに移すには,
- git clone GITHUB_REPOSITORY
- cd REPOSITORY
- git remote -v
とします.
![]() |
---|
Fig. gitコマンドによるバックアップ.ここでは赤枠の中だけを利用. |
基本の作業は
- git pull origin main
- 編集
- githubに掲載
- git add -A
- git commit -m 'first commit' # messageをつける,あるいは-m以降を省略してeditorへ.
- git pull origin main # 他の人がpushして最新になってない可能性が高いので..
- git push origin main # 自分のをpush. ここでもたつくとhintが出るので,再度pull
- source ~/Desktop/grad_members_20f/members/mm-cell/post_org/shell_emacs.org