技術者になりたい何か

技術者になりたい何かの覚書的な何かです

Linuxコマンドを学んでいこう(入門)

コマンドとは

端末から使用する小さいプログラム。
Windows環境に置いてコマンドプロンプトから使用するあれこれと似たようなものと思っておけばよい。
デフォルトで入っているものもあれば、インストールすることで使用できるものもある。
Linux環境においてはGUIログイン出来ない環境で操作するのに必須となる。
GUI環境が整っている環境でも、「コマンド打った方が早いじゃんねー」ということもままある。
GUI⇒グラフィカルインターフェイス。マウス操作でいろいろやる環境。
CUI⇒キャラクターインターフェイス。真っ黒な画面でコマンドによって操作する環境。

コマンドの基本的な使用法

sshログインしたとき、または端末を立ち上げた状態から使用する。
ちなみに端末の$ は一般ユーザー権限の状態、# は管理者権限状態である。

基本書式

 

$ コマンド [オプション] [引数]

コマンドオプションは多々あり、共通のものやそのコマンド独自のオプションがあるが、
基本的な書式は上記のとおり。(一部例外あり)

具体例

$ ls -la /var/log

 

・lsコマンド(ディレクトリ内のファイルとフォルダを表示する)

・-la コマンドオプションには-ないし--を付けて使用するのが基本。
 この場合は-laで、ファイルの詳細表示(l)、隠しファイルも表示(a)というオプションを渡している。
・/var/log この例の場合の引数。/var/logというディレクトリを指定している。
 これによって/var/log以下のファイル・フォルダを表示してね、という命令になる。

⇒上記纏めると、/var/logというディレクトリ内のファイルとフォルダを詳細に、隠しファイル・フォルダも含めて表示してね、
という命令を下していることになる。

ちなみに、lsのみしか打たなかった場合はカレントディレクトリ(現在自分がいるディレクトリ)にあるフォルダとファイルを表示する。
コマンドオプションと引数は必須ではないので、使いながら覚えていこう。

※一般ユーザー⇒権限が限られているユーザー。
若干違うがwindowsでいうデフォルトユーザのようなものと考えるとなじみやすいかもしれない。
※管理者(root)⇒何でもできる最強のユーザー。Windows端末でいうところのAdminと近い。
なお、Linux環境におけるrootは本当に最強で、システムファイル全削除なんて言うこともできてしまうため、
この状態での操作には細心の注意を払うべきである。

絶対パス相対パス

 

コマンド自体とは直接関係ないが、必須となる前提知識。
Linuxシステムは/を頂点としたツリー構造を取っている。
通常、一般ユーザーとしてログインした際、カレントディレクトリはそのユーザーの/homeディレクトリになる。
(通常では/home/username)
カレントディレクトリを起点として、一つ上、一つ下のディレクトリを指定するのが相対パスである。

相対パス

カレントディレクトリから見たディレクトリまたはファイル。
/home/tminから相対パスを使用するときは、先頭に/を付けない。

 

$ pwd
/home/tmin
$ ls public/
404.html dispatch.fcgi.example help images plugin_assets themes
500.html favicon.ico htaccess.fcgi.example javascripts stylesheets

これはカレントディレクトリ内にあるpublicというディレクトリの中身を表示したことになる。

絶対パス

上で述べたシステムファイルの頂点となる/から指定するのが絶対パスである。
絶対パスの使用法は先頭に/を付けるだけ。
では、上記と同じディレクトリを絶対パスで指定してみよう。

$ pwd
/home/tmin
$ ls /home/tmin/public
404.html dispatch.fcgi.example help images plugin_assets themes
500.html favicon.ico htaccess.fcgi.example javascripts stylesheets

これは、/から始めて/home/tmin/public以下のファイル・フォルダを表示することになる。

 

ちなみに


カレントディレクトリは.
一つ上のディレクトリは..
で表記することがある。

$ ls .
20141111 app files number.txt test1.txt デスクトップ
20150122 config hpssacli-2.10.14.0-5.0.0.vib number2.txt tmp ドキュメント
CONTRIBUTING.md config.ru iplist output.txt vendor ビデオ
Gemfile db iplook.ksh plugins zabicom 音楽
Gemfile.lock db_redmine2.dump lib poodle.sh サマリ.txt 画像
README.rdoc doc log public ダウンロード 公開
Rakefile extra make-sizisyo.sh red.tar テンプレート


カレントディレクトリをls。ただlsした時と同じ。

 

 $ ls ..

tmin lost+found 

 

 

カレントディレクトリより一つ上の階層をls。この場合は/home/tminの一つ上、つまり/home以下をlsしている。
$ ls /homeと同じ結果である。