ターミナルでよく使うコマンド


1. カレントディレクトリの絶対パスを表示する

pwd

2. 作業ディレクトリを移動する

cd   [移動先パス]

ホームディレクトリに戻るときは cd  のみ
1階層上のディレクトリに移る    cd ../
そのほか 移動先パスは絶対パスや相対パスを使うことができる

3. ディレクトリ内のファイルやフォルダを表示する

ls [オプション]

主なオプション  -a  隠しファイルも表示する
                -l  パーミッションやサイズなど詳細を表示する
                -r  更新日時順に並べる

4. ファイルのコピー

cp  [-ir] コピー元ファイル コピー先ファイル名

オプション -iは 既存のファイルに上書きするとき確認メッセージが表示される。 -r はディレクトリごとコピーするとき使う。

例 
(1)ファイル abc.c を efg.c という名前でこぴーする
  cp  -i abc.c   efg.c

(2) /opt/sample.c をカレントディレクトリに名前を変えずにコピーする
   cp  -i  /opt/sample.c  .     ( ピリオド .  は、カレントディレクトリの意味です)

(3) カレントディレクトリにあるtmp1というディレクトリをtmp2というディレクトリ名でコピーする
   cp   -ir  tmp1   tmp2


5. ファイルの移動、名前の変更

mv   元のファイル 移動先ファイル名

mvは元のファイルが移動するので気をつけてください。元のファイルと移動先ファイルが同じなら、移動先ファイルは消えてしまいます。
mv はファイルだけでなく ディレクトリもオプションなしで移動できます(移動されてしまいます)

例 
(1) sample.pyというファイルを カレントディレクトリ下のpublic_htmlというディレクトリに名前を変えずに移動させる
    mv sample.py   public_html/

(2) sample.pyというファイルを カレントディレクトリ下のpublic_htmlというディレクトリにsample.cgiと いう名前で移動させる
    mv sample.py   public_html/sample.cgi

6. ファイルの削除

rm    [ -ir]  ファイル 

rm コマンドで削除したものは、もとに戻りません。(ゴミ箱が無いので)とっても危険なコマンドなので消すときは

例 
(1) 拡張子が.bak のファイルを全て消す

   rm  -i  *.bak
(2) tmpというディレクトリを消す
   rm -ir  tmp

7. コマンドのマニュアルを見る

an  コマンド名 
抜けるときは q

 コマンド名  --help  でも表示されます。内容はmanより簡潔に表示されます。


8. 以前実行したコマンドの履歴を利用する


history

今まで実行した悪事?が、バレます。もう一度したいときは、ビックリマークのあと(左端の)履歴番号をうつと実行できて便利です。

! 番号

または↑矢印キーを押すと前のコマンドが出てききてます。


9. エディタ vim  (vim)  の使い方


10. c言語のプログラムのコンパイル & リンク

(例)

 (1)  ソースファイル file.c  を コンパイルして 実行形式のファイル file にする例

  gcc   file.c   -o  file

    動作確認は  ./file

(2)  ソースファイル file1.c  file2.c   file3.c  をコンパイルして実行形式の1つのファイルにする

  gcc  file1.c  file2.c   file3.c   -o file    (ただし、3つのファイルのどれか一つにmain関数が必要)



11.アクセス権限(パーミッション)を変更する

chmod [オプション] ファイル名

 例 job.shというファイルのパーミッションを変更する
 (1) ls  -l で詳細を表示させる。
ls -l
drwxrwxr-x 2 karappi karappi 4096  4月  2 21:40 folder
-rwxr-xr-x 1 karappi karappi   20  4月  2 21:19 job.sh

 d:ディレクトリ r:読み取り可能 w:書き込み  x:実行
 
dir
オーナー グループ 他 人
d
r w
x
r
w
x
r
w
x
-
-
-
-
-
-
-
-
-
-

上のls -lコマンドの実行例では folder のパーミッションが

drwxrwxr-x
なのでディレクトリであることがわかる。またこのfolder内でオーナーと グループに所属しているものは読み書きと実行ができるが、他人はwがoffなので書き込みができないことがわかる。
またjob.shは、グループと他人のwがoffになっているので書き込み更新ができないが、読み込みや実行はできる。オーナー は全部できる。
このオーナー、グループ、他人のr,w,xを3bitづつのフラグと考えて --xなら1, -w-なら2,-wxなら3,r--なら4,r-xなら5,rw-なら6,rwxなら7という値を使ってchmodでパーミッションを設定する
例えばjob.shをオーナーはrwxで読み書き実行すべて可能なら111なので7, グループはrw-で読み書きのみ可能で実行不可なら6,他人はr--で読み込みのみ可能なら4を設定したい場合、
   chmod 764 job.sh  を実行する


12. 実行中のプロセスを表示する , プロセスを停止させる


ps [オプション]

  主なオプション a  端末を持つ全てのプロセスを表示する
         x  端末を持たない全てのプロセスを表示する      


ps で停止させたいプロセス番号を調べて

kill  プロセスid

  もし停止できないときは -9 というオプションを入れるとより強力に停止できます。



ターミナルコマンド番外編