「Linux標準教科書」の第3章は「基本的なコマンド」です。
この章には、以下の内容が書かれています。
- ファイルとディレクトリの基本的な考え方
- ファイルに関するコマンド
- Linuxを利用するうえで必要な基本的なコマンド
これらを、私なりにまとめて紹介します。
「Linux標準教科書」は、アンケートに答えれば無料で手に入りますし、amazonで300円で手に入ります。
この記事を読んでいる方はLinuxに興味があったり、Linuxの普段使いからのステップアップを考えていたりしている方だと思いますので、ぜひ「Linux標準教科書」を手に入れて、補助的に私の記事を利用していただけると幸いです。
「Linux標準教科書」がどんなものかや、入手方法などは以下の記事で紹介していますので、そちらもご覧ください。
ファイルとディレクトリの基本的な考え方
コンピュータは、情報(データ)を処理するものです。
この情報(データ)の1つの「まとまり」をファイルといいます。
みなさんがパソコンで使うエクセルやワードのbookや画像、動画、音楽のひとつひとつのことをファイルといいます。
そして、複数のファイルを内容や用途などで分けてまとめて入れたりするのがディレクトリで、Windowsでいうところのフォルダです。
ディレクトリはその中にさらにディレクトリを作成することができ、分けてまとめたものを、もっと細かく分けてまとめることができます。
ファイルとディレクトリのザックリとした説明は以上ですが、もう少し覚えておくことがありますので、以下で紹介します。
ドットファイル
ファイルには先ほど説明したようなエクセルやワードのbookや画像、動画、音楽のような私達がよく触る「一般的なファイル」と、普段は見えないように設定されている「隠しファイル」というものがあります。
隠しファイルは、ソフトウェアの設定ファイルのような、誤って消してしまったり、変更してしまうとソフトウェアが正常に動かなくなってしまうようなファイルに設定されています。
Linuxではこの「隠しファイル」のファイル名の前に”.”ドットが付けられているので、「ドットファイル」といいます。
ディレクトリを扱うときの表現
Windowsでは「フォルダを開く」と表現しますが、Linuxでは(Linuxでコマンド入力する時は)「今いるディレクトリ」とか「ディレクトリに移動する」と表現します。
Linuxでターミナル(端末)を起動すると、どこかしらのディレクトリを開いた状態になっています。
ちなみに、パソコンを起動してすぐにターミナル(端末)を起動すると、/homeディレクトリ内の自分がログインしたIDのディレクトリを開いた状態でターミナルが起動します。
これを、「ディレクトリの中でターミナルを開く」と表現します。
ですから、Linuxのファイルマネージャーで、あるディレクトリを開いて名前欄の何もないところで右クリックして表示されるメニューには、「ここでターミナルを開く」という項目が表示されます。
ディレクトリの呼び方
Linuxでは、ディレクトリの位置によって呼び方が以下のように違い、ファイルやディレクトリの操作のときは以下の()内の記号で表します。
- カレントディレクトリ(.):今いるディレクトリのこと(ドットで表す)
- 親ディレクトリ(..):今いるディレクトリより1階層上のディレクトリのこと
- ホームディレクトリ(~):ユーザの作業開始(ログイン直後の)位置のディレクトリのこと
- ルートディレクトリ(/):最上位階層のディレクトリのこと
パス名とパス
先ほどの「ディレクトリの呼び方」で紹介した記号は、パス名を入力するのに使います。
パス名とは、ファイルの場所を示す名前のことで、パスは、目的のファイルまでの経路のことをいいます。
そして、パス名はファイル名やディレクトリ名を/(スラッシュ)で区切ります。
ちなみに、ファイル名やディレクトリ名と/の間には半角スペースは入りません。
/で始まる場合は、「ルートディレクトリの中の」という意味になります。
「ルートディレクトリの中の」homeディレクトリの中にあるDesktopディレクトリは、以下の通り入力します。
/home/Desktop
カレントディレクトリ内のファイルのは、スラッシュ無しで入力可能ですが、ちゃんと入力したい場合は、./ファイル名と入力します。
ルートディレクトリにいる場合のhomeディレクトリを入力する場合は、以下の2つの入力方法になります。
home
./home
親ディレクトリにある別のディレクトリの中のファイルを指定する場合は、../ファイル名と入力します。
fooディレクトリにbarディレクトリとbazディレクトリがあり、カレントディレクトリがbarの場合、bazディレクトリ内のtest.htmlファイルを指定したい場合は、以下の通り入力します。
../baz/test.html
2つ上のディレクトリ(親ディレクトリの親ディレクトリ)にあるディレクトリの中のファイルを指定する場合は、../..ファイル名と入力します。
なお、先頭がスラッシュで始まるパス(ルートディレクトリからたどった経路)を「絶対パス」、スラッシュ以外で始まるパス(カレントディレクトリからたどった経路)を「相対パス」といいます。
コマンドとは
コマンドとは命令のことで、このコマンドを入力してパソコンを操作するのが、Linuxの基本的な操作となります。
また、コマンドと似た用語でコマンドラインというものがあります。
これは、CLI(Command-line Interface)がもともとの表記で、文字だけでパソコンを操作する方式のことをいいます。
ようするに、コマンドラインにコマンドを入力してパソコンを操作するわけです。
では、コマンドはどのように入力するのでしょうか。
コマンドはターミナル(端末)を起動して、その中に入力します。
コマンドの基本的な書式は以下の通り。
コマンドとオプションとファイル名やディレクトリ名の間には半角スペースがひとつ入ります。
オプションはコマンドの動作に機能を追加するもので、基本的に”-“(ハイフン)を前に付けて指定します。(ハイフンを必要としないコマンドもあります。)
もちろん、オプションなしでもコマンドは動作します。
オプションは複数を並べていっぺんに設定することも可能ですが、コマンドによってオプションに並べる順序が決まっているものもあります。
例としては、仮に-aと-lというオプションを一緒に設定したい場合の入力方法は、並べる順序が決まっていないコマンドの場合、以下のパターンで入力が可能です。
-la
-al
-l -a
-a -l
ファイル名やディレクトリ名には、これから操作使用としているファイルやディレクトリの名前が入ります。
これらを入力してEnterキーを押せば、コマンドが実行されます。
なお、コマンドの左側にある「$}は、ターミナル(端末)のコマンドを入力する場所を示す記号で、「$」の直後からコマンドを入力します。
ワイルドカードとは
ワイルドカードというものをコマンド内で使うと、文字数や拡張子、名前の一部だけしか分からなくても、ファイルやディレクトリを探すことができます。
よく使われるワイルドカードは以下の2つ。
*(任意の0文字以上の文字列)
?(任意の1文字)
ディレクトリの中に何が入っているか確認するlsコマンドを例にすると、
$ ls *.conf(カレントディレクトリ内の文字列の最後に.confが付く名前のファイルを表示)
$ ls ???.conf(カレントディレクトリ内の3文字+.confという名前のファイルを表示)
$ ls hosts.(カレントディレクトリ内のhosts.+文字列(何文字でも可)の名前のファイルを表示)
$ ls hosts.????(カレントディレクトリ内のhosts.+4文字の名前のファイルを表示)
$ ls hosts.???w(カレントディレクトリ内のhosts.+3文字+wの付く名前のファイルを表示)
という風に使います。
ファイルに関するコマンドと基本的なコマンド
ここからは、一気にコマンドを紹介します。
長いですが、第3章に書かれているコマンドを「用途」「コマンドの書式」「コマンドの解説」の順でひとつづつ書いています。
他のサイトや本を見ると、「コマンドの書式」が最初に書かれていることが多いですが、その書き方だと私は分かりづらかったので、このような順番にしました。
コマンドを探す時って、「〜をしたいけど、コマンド何だっけ?」と考えると思うのですが、みなさんは違うのでしょうか?
そんな思いを形にしてみました。
ディレクトリの名称(カレントディレクトリ)
.
今いるディレクトリのこと
ディレクトリの名称(親ディレクトリ)
..
今いるディレクトリより1階層上のディレクトリのこと
ディレクトリの名称(ホームディレクトリ)
~
ユーザの作業開始(ログイン直後の)位置のディレクトリのこと
ディレクトリの名称(ルートディレクトリ)
/
最上位階層のディレクトリのこと
カレントディレクトリの名前を見る
$ pwb
今、どこのディレクトリにいるかが表示される
カレントディレクトリの中身を見る
$ ls
ファイルやディレクトリの名前だけ表示される
カレントディレクトリの中身を見る(ドットファイルも表示)
$ ls -a
ドットファイル(隠しファイル)も含めて表示する
カレントディレクトリの中身を見る(詳細表示)
$ ls -l
「-rw-rw-r– 1 admin admin 11月20 01:08 foo.txt」という表示で一覧が表示される
表示されている内容は、左側から「パーミッション」「リンク数」「所有者 所有グループ」「最終更新日時」「ファイル名」
特定のディレクトリの中身を見る
$ ls ディレクトリ名
ディレクトリ名が絶対パスか相対パスで入力すること
隣のディレクトリ内のディレクトリを見たい場合は、親ディレクトリを起点に入力する
例)../Music/MusicMain
特定のディレクトリの中身を見る(ドットファイルも表示)
$ ls -a ディレクトリ名
特定のディレクトリの中身を見る(詳細表示)
$ ls -l ディレクトリ名
特定のディレクトリの中身を見る(更新時刻順にソート(並び替えて)表示)
$ ls -lt ディレクトリ名
特定のディレクトリの中身を見る(更新時刻の逆順にソート表示)
$ ls -lr ディレクトリ名
ワイルドカード
*
任意の文字列
ワイルドカード
?
任意の1文字(3文字の場合は???と入力)
カレントディレクトリの中身を見る(ワイルドカードを使って表示)
$ ls *.conf
文字列の最後に.confg付く名前のファイルを表示
カレントディレクトリの中身を見る(ワイルドカードを使って表示)
$ ls ???.conf
3文字+.confという名前のファイルを表示
カレントディレクトリの中身を見る(ワイルドカードを使って表示)
$ ls hosts.*
hosts.+文字列(何文字でも可)の名前のファイルを表示
カレントディレクトリの中身を見る(ワイルドカードを使って表示)
$ ls hosts.????
hosts.+4文字の名前のファイルを表示
カレントディレクトリの中身を見る(ワイルドカードを使って表示)
$ ls hosts.???w
hosts.+3文字+wの付く名前のファイルを表示
ファイルをコピーする(別の名前で)
$ cp -i 元のファイル名 コピー後のファイル別名
オプション-iを入れると、処理を行っていいかの確認メッセージが表示される(無くてもよい)
ファイルをコピーする(別のディレクトリの中に)
$ cp -i 元のファイル名 コピーを入れるディレクトリの名前
オプション-iを入れると、処理を行っていいかの確認メッセージが表示される(無くてもよい)
ファイルをコピーする(元ファイルの情報も含めて別名で)
$ cp -ip 元のファイル名 コピー後のファイル別名
オプション-iを入れると、処理を行っていいかの確認メッセージが表示される(無くてもよい)
オプション-pを入れると、ファイルの情報(所有者・属性・更新日時など)もコピーされる
ファイルを上書きする
$ cp -i 元のファイル名 上書きするファイルの名前
オプション-iを入れると、処理を行っていいかの確認メッセージが表示される(無くてもよい)
上書きするファイルがすでに存在している場合に上書きされる(無いと別名でコピーが作成される
ディレクトリをコピーする(ディレクトリの中にあるものも含めて)
$ cp -ir 元のディレクトリ名 コピー後のディレクトリの別名
オプション-iを入れると、処理を行っていいかの確認メッセージが表示される(無くてもよい)
cpコマンドは基本的にファイルのコピーだが、オプション-rを付けるとディレクトリをコピーできる
ファイルを移動する(ファイルを別のディレクトリに移動する)
$ mv -i 移動したいファイル名 移動先のディレクトリ名
オプション-iを入れると、処理を行っていいかの確認メッセージが表示される(無くてもよい)
ファイル名を変更する
$ mv -i 変更前のファイル名 変更後のファイル名
オプション-iを入れると、処理を行っていいかの確認メッセージが表示される(無くてもよい)
ディレクトリ名を変更する
$ mv -i 変更前のディレクトリ名 変更後のディレクトリ名
オプション-iを入れると、処理を行っていいかの確認メッセージが表示される(無くてもよい)
ファイルを削除する
$ rm -i ファイル名
オプション-iを入れると、処理を行っていいかの確認メッセージが表示される(無くてもよい)
rmコマンドは、基本的にはディレクトリの削除はできない
ファイルを削除する(強制的に)
$ rm -f ファイル名
ファイルによって削除に確認を要求される場合があるが、それを無視して削除できるようにする
ディレクトリを削除する(rmコマンドで)
rm -r ディレクトリ名
rmコマンドは、基本的にはディレクトリの削除はできないが、-rオプションを付けると可能になる
ディレクトリを移動する
$ cd 移動先のディレクトリ名
ディレクトリを作成する
$ mkdir ディレクトリ名
指定した名前でディレクトリが作成される
ディレクトリを作成する(ディレクトリAの中にB、Bの中にCを作成)
$ mkdir -p ディレクトリ名A/ディレクトリ名B/ディレクトリ名C
ディレクトリを削除する(中に何も無い場合)
$ rmdir ディレクトリ名
ディレクトリの中に何も無いときに削除が可能
ディレクトリを削除する(中に何か入っている場合それごと)
$ rmdir -r ディレクトリ名
ファイルの中身を見る
$ cat ファイル名
ファイルの中身を一気に最後まで表示するため、内容が長いと表示が流れて前の方が見えなくなる
ファイルの中身を見る(行番号を付けて表示する)
$ cat -n ファイル名
ファイルの中身を一気に最後まで表示するため、内容が長いと表示が流れて前の方が見えなくなる
ファイルの中身を見る(長い文面を1画面づつ表示する)
$ more ファイル名
“スペースキー:次のページに進む、b:ひとつ前の画面にもどる、f:次の画面に進む、
/単語:単語を検索(nで検索結果をジャンプする)、qでmoreコマンド終了
一番下まで到達すると、自動でmoreコマンドが終了する”
ファイルの中身を見る(長い文面を1画面づつ表示する)
$ less ファイル名
スペースキー:次のページに進む、b:ひとつ前の画面にもどる、f:次の画面に進む、
↑:前の行に進む、↓:次の行に進む、/単語:単語を検索(nで検索結果をジャンプする)、
qでmoreコマンド終了、一番下まで到達すると、自動でmoreコマンドが終了する
ファイルを探す(カレントディレクトリ内で)
$ find ファイル名
ディレクトリを探す(カレントディレクトリ内で)
$ find ディレクトリ名
ファイルを探す(他のディレクトリ内で)
$ find 探すディレクトリのパス -name ファイル名
探すファイル名にワイルドカードを使う場合は、ワイルドカードの直前に\を入れるか、もしくは””で囲む
ディレクトリを探す(他のディレクトリ内で)
$ find 探すディレクトリのパス -name ディレクトリ名
探すディレクトリ名にワイルドカードを使う場合は、ワイルドカードの直前に\を入れるか、もしくは””で囲む
コマンドを探す(コマンド本体がどのディレクトリにあるか)
$ which コマンド名
コマンドがあるディレクトリのパスが表示される
管理者権限が必要なコマンドは、確認できない
コマンドのヘルプを表示する(主に使い方を調べる場合)
$ コマンド名 –help
コマンドで使用できるオプションなどを調べることができる
–helpで表示されない場合、manコマンドを使うとマニュアルが見られる
コマンドのオンライヘルプを表示する(マニュアルを表示)
$ man コマンド名
コマンドのマニュアルを見ることができる
lessコマンドと同じ方法でスクロールや終了ができる
まとめ
今回は、「Linux標準教科書」の第3章の「基本的なコマンド」を紹介しました。
- ファイルとディレクトリの基本的な考え方
- ファイルに関するコマンド
- Linuxを利用するうえで必要な基本的なコマンド
を、私なりにまとめてみましたが、参考になりましたでしょうか?
「Linux標準教科書」は、アンケートに答えれば無料で手に入りますし、amazonで300円で手に入ります。
この記事を読んでいる方はLinuxに興味があったり、Linuxの普段使いからのステップアップを考えていたりしている方だと思いますので、ぜひ「Linux標準教科書」を手に入れて、補助的に私の記事を利用していただけると幸いです。
「Linux標準教科書」がどんなものかや、入手方法などは以下の記事で紹介していますので、そちらもご覧ください。