Linux リテラシ - 第1回 基本コマンド

Linuxの基礎

ディレクトリ

ファイルを分類、整理するための"箱"です。
Windowsではフォルダと呼ばれます。

CUIとGUI

ユーザに対する情報の表示を文字によって行い、すべての操作をキーボードを用いて行なうインタフェース

ユーザに対する情報の表示にグラフィックを多用し、大半の基礎的な操作をマウスなどで行うインタフェース

ドットファイル

.(ドット)から始まるファイルのことを指します。
ドットファイルは隠しファイルになっていて、通常リスト表示されません。
Linuxでは主にユーザーごとの環境設定に使われています。

大文字と小文字

Linuxでは大文字と小文字を区別します。
lsというコマンドをLSと入力しても認められません。
一部オプションなどに大文字もありますが、マニュアルの通りに入力して下さい。
特に意図のない限り、無用な混乱を避けるためにも小文字を利用しましょう。

ツリー構造

複数のセルにより、階層的な構造を持たせたデータ構造のことです。
Windowsも各パーティションから始まるツリー構造を採用しています。
Linuxでは複数のパーティションの下に/ディレクトリを作成してツリーの基点とします。

ルートディレクトリ

/ディレクトリはすべてのディレクトリの最上階層にあるため、ルートディレクトリと呼ばれます。

ホームディレクトリ

ユーザー個人のデータを置くためのディレクトリで、通常/homeディレクトリ以下にユーザの名前で用意されます。
通常、ログインするとまずホームディレクトリにアクセスされます。

カレントディレクトリ

ユーザが現在作業を行なっているディレクトリ。
また、作業ディレクトリとも呼ばれます。

絶対パスと相対パス

ツリー構造においてファイルの場所を指定する場合、絶対パスと相対パスの2種類の方法があります。

ルートディレクトリを基点にしてファイル名まですべての道のりを書きます。
また、ディレクトリやファイルなどの階層を/で結びます。

カレントディレクトリを基点にしてファイルを指定します。
カレントディレクトリにあるファイルはファイル名だけで指定することができます。

次の文字はパスの指定において特別な意味を持ちます。

.
「そのディレクトリ」を指します。「そのディレクトリ」とはわかりづらい表現ですが、たとえば「/home/./」は「/home/」を、「./」はカレントディレクトリを指します。
..
「そのディレクトリのひとつ上のディレクトリ」を指します。「/home/../」は/home/のひとつ上、すなわちルートディレクトリを、「../」はカレントディレクトリのひとつ上のディレクトリを指しているということになります。
~
ユーザーのホームディレクトリを指します。「~/sample.txt」はホームディレクトリ直下にあるsample.txtのことを表しています。
例(図)

ユーザ:user
ホームディレクトリ: /home/user
カレントディレクトリ: /home/user

                            絶対パス                  相対パス          その他の表記
 /                         /                         ../..
 `-- home                  /home                     ..
     `-- user              /home/user                .                 ~/
        `-- tmp            /home/user/tmp            tmp
            `-- sample.txt /home/user/tmp/sample.txt tmp/sample.txt

ログイン

Linuxを初めて起動する場合、一般ユーザを作っていないのでroot(管理者)でログインします。
login:root
passwd:インストール時に設定したパスワード

一般ユーザを登録(useradd)

[root@localhost root]# useradd ユーザ名

パスワードを設定(passwd)

[root@localhost root]# passwd ユーザ名

アカウント情報は/etc/passwdファイルに保存されます。各アカウントのパスワードは/etc/shadowファイルに暗号化されて保存されます。

一般ユーザの作成とパスワードの設定が終わったらX Windowでrootからログオフして、一般ユーザでログオンします。

基本コマンド

コマンドの構造

CUIでのコマンド入力は以下のような構造をしています。

コマンド (-オプション) (第一引数) (第二引数)

コマンドには自分の期待する効果の命令を入力します。
マニュアルに書いてあるオプションをコマンドから半角スペースを空けて入力することにより、コマンドに機能を付加したり拡張することができます。
コマンドの中にはファイルに対して働きかけるものもあります。
その場合、ファイルの場所(パス)を引数として入力します。この時もコマンド、またはオプションから半角スペースを空けてください。

man (option) [command]

 man                   ...コマンドの使用方法などのマニュアルを表示します。
 (option)
       -k              ...すべてのマニュアルページからキーワードを検索します。
 -セクション番号-
 番号を指定することで、(存在する場合)そのセクションに合ったマニュアルを参照することができます。
  1     ユーザーコマンド
  2     システムコール
  3     関数やライブラリルーチン
  4     特殊ファイル、デバイスドライバ、ハードウェア
  5     設定ファイルをファイル形式
  6     ゲームとデモ
  7     その他(文字セット、ファイルシステムタイプなど)
  8     システム管理用コマンド

ls (option) [dir/file]

 ls            ...LiSt directory contents
                  ファイルやディレクトリの情報を表示します。
 (option)
       -a      ...すべてのファイルを表示します。
       -l      ...ファイルの詳細情報を表示します
                  (ファイル名、ファイルタイプ、パーミッション、ハードリンクの数、オーナー名、グループ名、ファイルサイズ、タイムスタンプ)。
       -R      ...サブディレクトリも再帰的に表示します。
       -F      ...ファイルタイプを表す記号をつけて表示します(ディレクトリ: /  実行可能ファイル : *)

mkdir (option) [dir]

 mkdir         ...MaKe DIRectories
                  ディレクトリdirを作成します。
 (option)
       -m      ...同時にアクセス権も指定します。

cd (option) [dir]

 cd            ...Change the current Directory to dir
                  作業ディレクトリをdirに移します。
                  ディレクトリを指定ない場合、ユーザのホームディレクトリへ移動します。
 (option)
       -      ...直前にいたディレクトリへ戻ります。
       ..      ...一つ上のディレクトリへ移動します。

pwd

 pwd           ...Print name of current/Working Directory
                  現在作業している場所を表示します。

cp (option) [file1/dir1] [file2/dir2]

 cp            ...CoPy files and directories
                  ファイルやディレクトリのコピーします。
 (option)
       -r      ...ディレクトリを再帰的にコピーします。

cat (option) [files]

 cat            ...conCATenate files and print on the standard output
                  ファイルの内容を表示します。
 (option)
       -n      ...行番号を表示します。
       -b      ...空行を無視して行番号を表示します。
       -v      ...非印字文字を特殊な形式で表示します。

head (option) [file]

 head            ...output the first part of files
                  ファイルの先頭を表示します。
 (option)
       -n [num]...num行だけ、先頭から表示します。

tail (option) [file]

 tail            ...output the last part of files
                  ファイルの末尾を表示します。
 (option)
       -n [num]...num行だけ、末尾を表示します。

less (option) [file]

 less            ...opposite of more
                  ファイルの内容を自由に閲覧することができ、主に長いファイルを見るのに用いられます。
 (操作方法)
       方向キー  上下にスクロールします。
       q         lessを終了します。

mv (option) [file1/dir1] [file2/dir2]

 mv            ...MoVe (rename) files
                  ファイルやディレクトリの移動、またファイル名、ディレクトリ名の変更を行います。

rm (option) [file/dir]

 rm            ...ReMove files or directories
                  指定したファイル、ディレクトリを削除します。
 (option)
       -r      ...ディレクトリ内を再帰的に削除します。
       -f      ...警告メッセージを表示しません。
       -i      ...警告メッセージを表示します。
       ※ 警告メッセージ:ファイルを削除していいかを問い合わせるメッセージ。

find (option) [dir] [formula]

 find          ...search for files in a directory hierarchy
                  指定したdirをformulaの条件に従ってファイルを検索します。
 [formula]
       -group  [グループ名]            ...指定したグループ名のファイルを検索します。
       -name   [文字列]                ...指定した文字列のファイル名を検索します。
       -type   [ファイル・タイプ]      ...指定したファイル・タイプを検索します。
                                          ファイル・タイプは、ディレクトリ:"d"、通常ファイル:"f"、シンボリックリンク:"l"
       -user   [ユーザー名]            ...指定したユーザー名のファイルを検索します。

wget (option) [URL]

 wget            ...The non-interactive network downloader
                  ファイルをダウンロードします。
 (option)
       -b      ...バックグランドで実行します。
       -c	...途中まで取得済み(1つのファイルの1部分)を続きからダウンロードします。
       -l [number]	...numberの数だけ指定したURLからリンクを辿ってダウンロードします。

unzip (option) [file]

 unzip            ...list, test and extract compressed files in a ZIP archive
                  zipファイルを解凍します。

tar (option) [file]

 tar            ...The GNU version of the tar archiving utility
                  tarファイルを圧縮、解凍します。
 (option)
       -f	...圧縮、解凍するファイル名を指定します
       -v	...処理状況を表示させます。
       -x	...解凍します。
       -z	...gzipにフィルターする。(tar.gzの形式の場合、使用します。)

課題