- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- 授業/C言語基礎/Linuxコマンドの復習 へ行く。
- 1 (2015-09-09 (水) 03:21:09)
- 2 (2015-09-09 (水) 06:09:45)
- 3 (2015-09-09 (水) 09:27:38)
- 4 (2015-09-09 (水) 21:17:50)
- 5 (2015-09-09 (水) 21:17:50)
この授業では、Cプログラムのコンパイルと実行をLinuxサーバー上で行います。
そこで、Linuxについて復習しておきましょう。
やりたいこと、知りたいことがはっきりしている人は、コマンド逆引きレシピからどうぞ。
コマンドの説明がわからない人は、最初から順番に読んでください。
シェル †
シェルは、OSを使うためのインターフェースをユーザーに提供するソフトウェアです。
Linuxにログインすると、シェル・プログラムが自動的に起動します。
総合情報センターのLinuxサーバーでは、最初、cshというシェルが起動するように設定されています。
Linux用のシェル・プログラムには、cshの他に、sh, bash, tcsh, zshなどがあります。
コマンド・プロンプト †
コマンド・プロンプトは、コマンド入力待ちの状態であることを表すために画面に表示される文字です。
総合情報センターのLinuxサーバーのcshでは、コマンド・プロンプトとして luna% と表示されます。
%の他に、$, #, >などがコマンド・プロンプトとして使われます。
以下のコマンド入力例にはコマンド・プロンプトも表示していますが、コマンド・プロンプトはユーザーが入力するものではありません。
ディレクトリー †
コンピューターの中で、ファイルを整理するために作るグループのことをディレクトリーといいます。 Windows, OS X, iOS, Androidなどでは、フォルダーと呼ばれます。
Linuxでは、ディレクトリーの区切りをスラッシュ / で表します。 Windowsでは、フォルダーの区切りをバックスラッシュ \ または円記号 ¥ で表します。
作業ディレクトリー(カレント・ディレクトリー) †
Linuxにログインして作業を行うときに、現在作業を行っているディレクトリーのことを作業ディレクトリーあるいはカレント・ディレクトリーといいます。
作業ディレクトリーの相対パスはドット . で表し、絶対パスは作業ディレクトリーによって異なります。
例1: 作業ディレクトリーにあるhello.cを削除する
luna7% pwd
親ディレクトリー †
親ディレクトリーは、ディレクトリーの階層構造において、作業ディレクトリーの1つ上のディレクトリーです。
親ディレクトリーの相対パスはドット2つ .. で表し、絶対パスは作業ディレクトリーによって異なります。
例1: 作業ディレクトリーを親ディレクトリー(1つ上のディレクトリー)に変更する
luna7% rm ./hello.c
ホーム・ディレクトリー †
Linuxにログインしたときのディレクトリーをホーム・ディレクトリーといいます。
ホーム・ディレクトリーの相対パスはチルダ ~ で表し、絶対パスはユーザーごとに異なります。
例1: 作業ディレクトリーをホーム・ディレクトリーにあるディレクトリーbasic_cに変更する
luna7% cd ..
ルート・ディレクトリー †
ルート・ディレクトリーは、ディレクトリーの階層構造における最上位のディレクトリー、つまり、すべてのファイルやディレクトリーを含むディレクトリーです。
ルート・ディレクトリーの絶対パスはスラッシュ / で表します。
例1: 作業ディレクトリーをルート・ディレクトリーに変更する
luna7% cd ~/basic_c
パス †
ファイルまたはディレクトリーを指定するものをパスといい、絶対パスと相対パスの2種類があります。
絶対パス †
絶対パスは、ルート・ディレクトリーを基準としてファイルまたはディレクトリーを指定するものです。
対象のファイルまたはディレクトリーが同じであれば、作業ディレクトリに関わらず絶対パスは同じになります。
ルート・ディレクトリーを表すスラッシュ / で始まっているパスは絶対パスです。
例1: 作業ディレクトリーを/usr/local/binに変更する
luna7% cd /
相対パス †
相対パスは、作業ディレクトリーを基準としてファイルまたはディレクトリーを指定するものです。
対象のファイルまたはディレクトリーが同じであっても、作業ディレクトリーによって相対パスが異なります。
スラッシュ / で始まっていないパスは相対パスとみなされます。
例1: 作業ディレクトリーにあるディレクトリーbasic_cの中にあるファイルhello.cを削除する
luna7% cd /usr/local/bin
コマンド †
cd (change directory) †
作業ディレクトリーを変更します。
引数として、変更後の作業ディレクトリーを指定します。
引数を指定しない場合は、変更後の作業ディレクトリーがホーム・ディレクトリーになります。
例1: 作業ディレクトリーをbasic_cに変更する
luna7% rm basic_c/hello.c
例2: 作業ディレクトリーを一つ上のディレクトリーに変更する
luna7% cd basic_c
例3: 作業ディレクトリーをホーム・ディレクトリーに変更する
luna7% cd ..
cp (copy) †
指定したファイルまたはディレクトリーを複製します。
第一引数として対象となるファイルまたはディレクトリーの名前、第二引数として複製のファイルまたはディレクトリーの名前指定します。
オプションをつけないときは、ファイルしか複製できません。
Rオプションで、ディレクトリーを中身ごと複製します。
例1: ファイルtest.cを複製してhello.cという名前にする
luna7% cd
例2: ファイルtest.cをディレクトリーbasic_cに複製する(basic_cが存在する場合)
luna7% cp test.c hello.c
例3: ディレクトリーhelloを丸ごとディレクトリーbasic_cに複製する(basic_cが存在する場合)
luna7% cp test.c basic_c
例4: ディレクトリーbasic_cを丸ごと複製してbasic_c_bkupという名前にする(basic_c_bkupが存在しない場合)
luna7% cp -R hello basic_c
exit (exit) †
作業を終了して、シェル・プログラムを終了します。
例1: シェル・プログラムを終了する
luna7% cp -R basic_c basic_c_bkup
ls (list) †
指定したディレクトリーにあるファイルとディレクトリーのリストを表示します。 このときドット . で始まる名前のファイルは隠しファイル(ディレクトリー)として扱われます。
引数として対象となるディレクトリーを指定します。
引数を指定しない場合は、現在の作業ディレクトリーが対象になります。
aオプションで、名前が . で始まる隠しファイル(ディレクトリー)も全て表示します。
lオプションで、詳細を表示します。
Fオプションで、ディレクトリーの名前の後ろにスラッシュ /、実行可能ファイルの名前の後ろにアスタリスク * を表示します。
例1: 現在の作業ディレクトリーにあるファイルとディレクトリーのリストを表示する(.で始まる名前のファイルは表示されない)
luna7% exit
例2: 現在の作業ディレクトリーにあるすべてのファイルとディレクトリーのリストを表示する
luna7% ls
例3: 現在のディレクトリーにあるファイルとディレクトリーのリストを詳細に表示する(.で始まる名前のファイルは表示されない)
luna7% ls -a
例4: 現在のディレクトリーにあるすべてのファイルとディレクトリーのリストを詳細に表示する
luna7% ls -l
例5: basic_cディレクトリーにあるファイルとディレクトリーのリストを表示する(.で始まる名前のファイルは表示されない)
luna7% ls -al
例6: 現在のディレクトリーにあるファイルとディレクトリーのリストをファイルタイプを表す文字を付けて表示する(.で始まる名前のファイルは表示されない)
luna7% ls basic_c
mkdir (make directory) †
ディレクトリーを作成します。
引数として、新しく作成するディレクトリーの名前を指定します。
例1: ディレクトリーbasic_cを新規に作成します。
luna7% ls -F
mv (move) †
ファイルまたはディレクトリーを移動、または名前を変更します。
第一引数として対象となるファイルまたはディレクトリーの名前、第二引数として移動後のディレクトリーまたは変更後の名前を指定します。
第二引数が指定されたディレクトリーが存在する場合、第一引数で指定されたファイルまたはディレクトリーをそのディレクトリーの中に移動します。
第二引数で指定されたディレクトリーが存在しない場合、第一引数で指定されたファイルまたはディレクトリーをその名前に変更します。
例1: ファイルtest.cの名前をhello.cに変更する(hello.cが存在しない場合)
luna7% mkdir basic_c
例2: ファイルtest.cをディレクトリーbasic_cの中に移動する(basic_cが存在する場合)
luna7% mv test.c hello.c
pwd (print working directory) †
現在の作業ディレクトリーの絶対パスを表示します。
例1: 現在の作業ディレクトリーの絶対パスを表示する
luna7% mv hello.c basic_c/
rm (remove) †
指定したファイルまたはディレクトリーを削除します。
オプションをつけないときは、ファイルしか削除できません。
rオプションで、ディレクトリーを中身ごと削除します。
例1: ファイルhello.cを削除する
luna7% pwd
例2: ディレクトリーbasic_cを丸ごと削除する
luna7% rm hello.c
rmdir (remove directory) †
指定した空ディレクトリーを削除します。
指定したディレクトリーの中に(名前がドット . で始まる隠しファイルも含めて)ファイルまたはフォルダーが含まれている場合は、削除できません。
例1: ディレクトリーbasic_cを削除する
luna7% rm -r basic_c
コマンド逆引きレシピ †
- ディレクトリーを作成する mkdir
- ディレクトリーを削除する rmdir
- ファイルを削除する rm
- ファイルまたはディレクトリをコピーする cp
- ファイルまたはディレクトリーを移動する mv
- ファイルまたはディレクトリーの名前を変更する mv
- 作業ディレクトリーを表示する pwd
- 作業ディレクトリーを変更する cd
- 作業ディレクトリーにあるファイルとディレクトリーのリストを表示する ls
- 作業を終了する exit
Tips †
補完 †
コマンドやファイル名を入力している途中でtabキーを押すと、残りの部分を補完してくれます。
ヒストリー †
↑キーを押すと、その前に実行したコマンドが表示されます。
↓キーを押すと、その次に実行したコマンドが表示されます。
ファイルタイプの色 †
総合情報センターのLinuxサーバーのcshでは、lsコマンドでリストを表示したときに、ファイルの種類によって色がつきます。
- 黒: 通常のファイル
- 青: ディレクトリー
- 緑: 実行可能ファイル