コマンドラインの基本¶
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.
ディレクトリを作成¶
あなたディレクトリに書き込み権限があります。ファイルやディレクトリを作成できます。次に、コマンドラインテスト用のディレクトリを作成します。
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 再帰的
number: owner (u)
number: group (g)
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 - 名前でファイルを検索
次のステップ¶
ここまでで、重要なコマンドとその利用方法について学習してきました。コマンドラインがいかにパワフルか理解できたでしょう。