目次
- 目次
- シェルとは
- echoコマンドとは
- プロンプトとコマンドラインの違い
- historyコマンド
- lsコマンドのよく使うオプション
- ロングオプションとショートオプション
- オプションを複数指定する
- 参考記事
シェルとは
シェルとは、 ユーザーが入力したコマンドを解釈して、それを実行するためのソフトウェアのことです。 ソフトウェアということは何らかのプログラムが書かれた一つのファイルです。シェル自体にキーボードやディスプレイは備わっていません。シェルへの入力や結果の出力を表示するためにターミナルエミュレータ(ターミナル)というソフトウェアが使われます。ターミナルエミュレータは入出力装置です。実際のコマンドの実行はシェルが行なっています。
(※)厳密にいうと、シェルはコマンドに対応したファイルを探しているだけです。コマンドの実行はLinuxカーネルが行います。また、多くの場合、ターミナルと呼ばれるものはターミナルエミュレータを指します。
echoコマンドとは
echoコマンドとは、指定した文字列を出力してくれるコマンドのことです。echoは日本語で反響や木霊(こだま)という意味です。
[ec2-user@ip-10-0-10-10 www]$ echo hello world
hello world
[ec2-user@ip-10-0-10-10 www]$
また以下のコマンドを実行することで、現在動いているシェルを表示させることができます。bashというシェルが動いていることが分かります。デフォルトで起動するシェルをログインシェルと呼びます。
[ec2-user@ip-10-0-10-10 www]$ echo $SHELL /bin/bash [ec2-user@ip-10-0-10-10 www]$
(※)$から始まる変数をシェル変数と呼びます。
プロンプトとコマンドラインの違い
プロンプトとは、[ec2-user@ip-10-0-10-10 www]$
の部分です。コマンドラインとはプロンプトの右側のコマンド入力部分のことです。プロンプトは促すという意味です。
[ec2-user@ip-10-0-10-10 www]$ ls cgi-bin html [ec2-user@ip-10-0-10-10 www]$
historyコマンド
historyコマンドで過去に実行したコマンドの一覧を取得できます。それぞれのコマンドには番号が振られていて、!番号
でそのコマンドを実行できます。
[ec2-user@ip-10-0-10-10 www]$ history // 省略 [ec2-user@ip-10-0-10-10 www]$ !78 ls cgi-bin html [ec2-user@ip-10-0-10-10 www]$
lsコマンドのよく使うオプション
Fオプション
F(ラージエフ)オプションを使うことで、ファイル種別を表示してくれます。ファイルなのかディレクトリなのかを判断することができます。ディレクトリには後ろにスラッシュがついていて、シンボリックリンクには@がついています(シンボリックリンクはファイルの一種です)。普通のファイルには何もついていません。このFはclassify(分類する)のfです。
[ec2-user@ip-10-0-10-10 ~]$ ls -F /
bin@ boot/ dev/ etc/ home/ lib@ lib64@ local/ media/ mnt/ opt/ proc/ root/ run/ sbin@ srv/ sys/ tmp/ usr/ var/
aオプション
aオプションは隠しファイルも込みで全て表示します。 .から始まるファイルのことを隠しファイルと呼びます。ファイル名の先頭に.をつけると隠しファイルになります。 aはオールの略です。
[ec2-user@ip-10-0-10-10 wordpress]$ ls -a / . .. .autorelabel bin boot dev etc home lib lib64 local media mnt opt proc root run sbin srv sys tmp usr var
lオプション
lオプションはロングの略です。長く表示するので、ファイルやディレクトリのより詳細な情報を表示します。
[ec2-user@ip-10-0-10-10 /]$ ls -l total 16 lrwxrwxrwx 1 root root 7 Oct 12 18:54 bin -> usr/bin dr-xr-xr-x 4 root root 4096 Nov 5 09:44 boot drwxr-xr-x 15 root root 2900 Nov 11 07:54 dev drwxr-xr-x 86 root root 8192 Nov 6 17:32 etc drwxr-xr-x 3 root root 22 Nov 5 08:10 home lrwxrwxrwx 1 root root 7 Oct 12 18:54 lib -> usr/lib lrwxrwxrwx 1 root root 9 Oct 12 18:54 lib64 -> usr/lib64 drwxr-xr-x 2 root root 6 Oct 12 18:53 local drwxr-xr-x 2 root root 6 Apr 9 2019 media drwxr-xr-x 2 root root 6 Apr 9 2019 mnt drwxr-xr-x 4 root root 27 Oct 12 18:57 opt dr-xr-xr-x 166 root root 0 Nov 11 07:54 proc dr-xr-x--- 3 root root 119 Nov 7 14:20 root drwxr-xr-x 30 root root 1000 Nov 11 07:58 run lrwxrwxrwx 1 root root 8 Oct 12 18:54 sbin -> usr/sbin drwxr-xr-x 2 root root 6 Apr 9 2019 srv dr-xr-xr-x 13 root root 0 Nov 11 07:54 sys drwxrwxrwt 10 root root 328 Nov 11 09:39 tmp drwxr-xr-x 13 root root 155 Oct 12 18:54 usr drwxr-xr-x 20 root root 280 Nov 5 09:47 var
ロングオプションとショートオプション
オプションには大きく分けて2種類のオプションがあります。ロングオプションとショートオプションです。ショートオプションはハイフンと何らかの一文字からなる短いオプションです。ロングオプションはハイフン2つと英単語からなる長いオプションです。ショートオプションもロングオプションも同じ挙動になります。コマンドによってはどちらかしか用意されていない場合もあります。コマンドにどんなオプションが用意されているかを知りたい場合、以下のマニュアルコマンドを実行します。
man コマンド名
(※)オプションの中には引数を取るオプションもあります。
ls -w30
オプションを複数指定する
オプションを複数指定する場合、スペースを上けて指定するか、英字1文字を連続させて指定します。後者の方が記述量が少ないのでおすすめです。
[ec2-user@ip-10-0-10-10 /]$ ls -a -l or [ec2-user@ip-10-0-10-10 /]$ ls -al
参考記事
もう絶対に忘れない Linux コマンド【Linux 100本ノック+名前の由来+丁寧な解説で、長期記憶に焼き付けろ!】 | Udemy