Yuki's Tech Blog

仕事で得た知見や勉強した技術を書きます。

【もう絶対に忘れない Linux コマンド【Linux 100本ノック+名前の由来+丁寧な解説で、長期記憶に焼き付けろ!】セクション2: ファイルとディレクトリで知らなかったことをざっくりまとめてみた

目次

pwdコマンド

pwdコマンドを実行することで、 現在作業しているディレクトリ(カレントディレクトリ)を表示させることができます。 CLIディレクトリやファイルを指定する場合、パスと呼ばれる指定方法を使用します。pwdはプリントワーキングディレクトリの略です。

[ec2-user@ip-10-0-10-10 ~]$ pwd
/home/ec2-user

(※)カレントディレクトリをワーキングディレクトリと呼ぶこともあります。

Linuxにおけるパスとは何か

Linuxにおけるパスとは、 「/usr/bin」のような、あるファイルやディレクトリにたどり着くまでの経路のことです。

ホームディレクトリとは

ホームディレクトリとは、 ユーザがログインした際のカレントディレクトリのことです。 このディレクトリでは、ユーザが自由にファイルやサブディレクトリを作成、保存できます。~で表現されます。

lsコマンド

lsコマンドは、リストの略です。lsコマンドを実行することで、カレントディレクトリ配下のディレクトリやファイルを一覧表示させることができます。

[ec2-user@ip-10-0-10-10 ~]$ ls
latest-ja.tar.gz  wordpress

lsコマンドの後ろにパスを指定することもできます。

[ec2-user@ip-10-0-10-10 rails]$ ls
rails-practice
[ec2-user@ip-10-0-10-10 rails]$ ls ./rails-practice
sample.rb

Linuxにおける絶対パス相対パスの違い

Linuxにおけるパスには、絶対パス相対パスの2種類があります。絶対パスはルートディレクトリ(/)を起点にしたパスです。絶対パスを書くときはまずはルートディレクトリ(/)を書きます。相対パスはカレントディレクトリを起点にしたパスです。 相対パス表記はカレントディレクトリを基点としているので、パスの左側には必ず(./)が書かれます。

(注) 相対パスの ./は省略可能です。 ./user/binをuser/binと書いても問題ありません。また、ルートディレクトリ(/)とは、最上位のディレクトリのことです。

cdコマンド

cdコマンドは、チェンジディレクトリの略です。cdコマンドを実行することで、カレントディレクトリを指定したパスのディレクトリに変更します。cdコマンドに指定するパスは絶対パスでも相対パスでも大丈夫です。

[ec2-user@ip-10-0-10-10 ~]$ cd /var/www
[ec2-user@ip-10-0-10-10 www]$ ls
cgi-bin  html

以上のLinuxコマンドを使うことで、ルートディレクトリにはいろいろなディレクトリが格納されていることがわかります。

[ec2-user@ip-10-0-10-10 www]$ cd /
[ec2-user@ip-10-0-10-10 /]$ pwd
/
[ec2-user@ip-10-0-10-10 /]$ ls
bin  boot  dev  etc  home  lib  lib64  local  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[ec2-user@ip-10-0-10-10 /]$ 

ディレクトリごとにディレクトリの役割が決まっています。例えばdevディレクトリにはデバイスファイルと呼ばれるファイルを格納します。etcディレクトリには設定ファイルを入れるディクトリです。

(※)余談ですが、man hierというコマンドを実行すると、それぞれのディレクトリがどんな役割のディレクトリなのかを確認できます。

ホームディレクトリに移動する2つの方法

ホームディレクトリに移動するためには、cd ~ または、パスを指定しないで cd を実行すれば、移動できます。

一つ前のカレントディレクトリに移動する

一つ前のカレントディレクトリに移動するためには、cd - を実行します。意外と便利です。

[ec2-user@ip-10-0-10-10 ~]$ cd /var/www
[ec2-user@ip-10-0-10-10 www]$ ls
cgi-bin  html
[ec2-user@ip-10-0-10-10 www]$ cd cgi-bin/
[ec2-user@ip-10-0-10-10 cgi-bin]$ ls
[ec2-user@ip-10-0-10-10 cgi-bin]$ cd -
/var/www
[ec2-user@ip-10-0-10-10 www]$ 

参考記事

もう絶対に忘れない Linux コマンド【Linux 100本ノック+名前の由来+丁寧な解説で、長期記憶に焼き付けろ!】 | Udemy

カレントディレクトリ - Wikipedia

ホームディレクトリ - Wikipedia