コマンドラインの基本

OSGeoLiveやUbuntuなどのGNU/Linuxオペレーティングシステムを使用している場合は、コマンドラインでの操作方法を知っておくことをお勧めします。

心配しないでください。学習することは難しくありません。そして、それが楽しくてとても強力であることがわかるでしょう。

このクイックスタートでは、いくつかの基本的なコマンドについて学習します。

次のコマンドは、ターミナルエミュレータウィンドウから実行します。

アプリケーション メニューの システムツール から、ターミナルエミュレータ (現在は QTerminal )を起動します。これにより、Unixシェルのコマンドプロンプトが表示されます。

ここはどこですか?

pwd は現在の場所のパスを表示します。

pwd
/home/user

ちなみに

すべてのコマンドには、ヘルプを求めたり、それらの使用方法や追加オプションについての情報を得たりできるコマンドオプションがあります。

pwd --help
pwd: pwd [-LP]
  Print the name of the current working directory.

  Options:
    -L        print the value of $PWD if it names the current working
              directory
    -P        print the physical directory, without any symbolic links

  By default, `pwd' behaves as if `-L' were specified.

  Exit Status:
  Returns 0 unless an invalid option is given or the current directory cannot be read.

ファイルシステム内での操作方法

まず、Linuxのファイルシステムがどのように構成されているかを知っておく必要があります。ファイルシステムは樹木(ツリー)状に構成されています。ルートディレクトリと呼ばれる / で始まります。すべてのファイルとディレクトリは、ルートディレクトリ( / )の下にあります。

現在のユーザは "user" で、 /home/user にホームディレクトリがあります。ターミナルウィンドウを開くと、ホームディレクトリから開きます(pwdを参照)。

cdコマンドを使用すると、ファイルシステム内を簡単に移動できます。

cd / では、ルートディレクトリに移動します。 cd /home/user は、cd ~ と同じで、ホームディレクトリに移動します。

cd .. はディレクトリを一つ上に移動します。 cd では、現在の場所からユーザのホームディレクトリに移動します。これは /user と同じではありません

ちなみに

入力中にTabキーを使用すれば、パスを自動補完入力します。

ディレクトリを作成

あなたディレクトリに書き込み権限があります。ファイルやディレクトリを作成できます。次に、コマンドラインテスト用のディレクトリを作成します。

cd ~
mkdir demo - creates the directory demo
cd demo

ちなみに

コマンド履歴があります。矢印の上下キーで履歴内を移動できます。

新しいファイルを作成する方法

touch をつかうと、新しい空のファイルを作成します。

cd ~/demo
touch hello.txt

ちなみに

パイプを使用して、コマンドからファイルに情報を渡すことができます。たとえば、コマンド履歴です。history では、コマンドの履歴を表示します。次のコマンドを使用すると、ファイルに保存できます。

history > history.txt

ディレクトリの内容を表示する

ディレクトリの内容について詳しく知りたいです。ls は多くの情報を提供するプログラムです。

  • ls はすべてのファイルとディレクトリをリストします

  • ls -l を使うと、時間、ユーザのアクセス権限などの、ファイル/ディレクトリの詳細なリストを表示します。

  • ls -a は隠しファイルも表示します

  • ls -al 他のオプションとくみあわせることもできます。

  • ls -1 は、ファイル名だけ表示します。

cd ~/demo
ls -l

total 4
-rw-rw-r-- 1 user user   0 Dec 26 16:23 hello.txt
-rw-rw-r-- 1 user user 255 Dec 26 16:24 history.txt

ファイルとディレクトリーのコピー

ファイルを一方の場所から他へコピーすることができます。

ファイルをあたらしいファイルへコピー

cp hello.txt hello_again.txt

ファイルを他のディレクトリにコピー

cp hello.txt /home/user/

ディレクトリ全体をあたらしい場所へコピー (-R 再帰的にたどる)

cp -R /home/user/demo /tmp

sudoとは?

sudo を使って、通常は実行できないコマンドを実行できるようにします。sudo は、コマンドを通常 root ユーザとして知られるスーパーユーザの権限で実行します。 sudo をつかうと、ソフトウエアを導入するとか、サービスの管理をするとか、アクセス権限を変更するとか、いろいろ可能です。次のコマンドは、 sudo の用例です。

検索とプログラムのインストール

プログラムの情報を表示

apt show postgis

プログラムを検索する

apt search postgis

プログラムをインストールする

sudo apt-get install sl

sl プログラムを気にいるとおもいますよ。sl で新しいプログラムを実行してください。apt show sl も参照してください。

サービス

PostgreSQL、TomcatやApache webサーバのように一部のプログラムはサービスとして実行されています。サービスを開始、停止できます。

Apacheサービスを再開できます。

sudo service apache2 restart

sudo service apache2 --help

sudo service apache2 status

ファイルの編集方法

ターミナルでファイルを編集することもできますし、Geanyのような外部プログラムで開くこともできます。

ターミナルウインドウで、 vim エディタ (Vi IMproved)を利用できます。vim はパワフルで、様々な機能があります。

参照

vim でファイルを開く:

vim /home/user/demo/hello.txt
  • i キーをおして、入力モードへ変更する

  • ESC キーで、入力モードからぬける

  • :w は、変更点を保存する

  • :wq は、変更点を保存し、ファイルをとじる

  • :q ファイルを閉じる

  • :q! は、保存することなしに、ファイルを閉じる

ファイル所有者とアクセス権

アクセス権は、 ユーザ または グループ または 他者 がファイルにアクセスできるかどうか、およびどのようなアクセスが与えられるかを定義します。読み込み 書き込み 実行 のアクセス権があります。

ディレクトリまたはファイルには、所有者とグループ定義があります。デフォルトで、ファイルやディレクトリの作成者が所有者になります。しかし、この変更は変更できます。次の章でまなんでいきましょう。

所有者と所有グループを ls -l で見ることができます。

cd /home/user/demo
ls -l
-rw-rw-r-- 1 user user 122 Dec 26 16:11 history.txt
  • 最初の文字が - のときはファイル、 d のときはディレクトリです。

  • user は、所有者とグループで定義されます

アクセス権は、各行の最初に表示されます。

  • r 読み込み

  • w 書き込み

  • x 実行

  • 最初の3文字は、所有者のアクセス権です。

  • つぎの3文字は、グループのアクセス権です

  • 続く3文字は、他者のアクセス権になります。

chown で所有者を変更する

sudo chown -R user:www-data /var/www/html/TBD
  • user:www-data のように前半がユーザで、後半がグループを指定します。

  • -R 再帰的

chmod でアクセス権を変更する

sudo chmod -R 777 /var/www/html/TBD
  • 777 を指定すると、だれでもなんでもできます。

  • -R 再帰的

    1. number: owner (u)

    1. number: group (g)

    1. number: other (o)

  • 4 読み込み

  • 2 書き込み

  • 1 実行

  • 660 - 所有者とグループは、読み書きできますが、他人には一切のアクセス権がありません。

  • 744 - 所有者はすべてのことができ、グループと他人は読み込みのみできます。

あるいは次のように指定できます。

sudo chmod -R u+rwx /var/www/html/TBD
  • u = user

  • g = group

  • o = other

  • a = all

  • +/- right: r = read / w = write / x = execute

試してみること

試してみるコマンドが他にもあります。

  • grep - テキストのなかから、パターンを検索します。

  • history | grep cd

  • rm - ファイルを削除

  • rmdir - 空になったディレクトリを削除

  • mv - 名前変更または移動

  • head - ファイルの冒頭を表示

  • tail - ファイルの末尾を表示

  • find - ディレクトリをたどって、ファイルを検索します

  • locate - 名前でファイルを検索

次のステップは何?

ここまでで、重要なコマンドとその利用方法について学習してきました。コマンドラインがいかにパワフルか理解できたでしょう。