パスの概要について
パスは、ディレクトリやファイルの住所情報みたいなもので、ディレクトリの階層の区切りを「/
」で表現しています。
-
絶対パス
- ルートディレクトリ 「
/
」 から始まるパス - 「
..
」は親ディレクトリを表す。
- ルートディレクトリ 「
-
相対パス
- カレントディレクトリから始まるパス
- 「
.
」はカレントディレクトリを表す。
cd
コマンド
ディレクトリの移動 語源 : change directory
# 構文
$ cd(オプション)(ディレクトリ名)
ディレクトリの指定
ディレクトリ | 意味 | 指定方法 |
---|---|---|
カレントディレクトリ | 現在自分がいるディレクトリ | 「 . 」 |
親ディレクトリ | 1つ上の階層のディレクトリ | 「 .. 」 |
ホームディレクトリ | 「 /home/ユーザー名 」 ディレクトリ | 「 ~ 」、cd |
ルートディレクトリ | 「 / 」ディレクトリ | 「 / 」 |
pwd
コマンド
カレントディレクトリの表示 語源 : print name of working directory
# 構文
pwd(オプション)
# カレントディレクトリが taddy の場合
$ pwd
# 出力結果
$ /home/taddy
ls
コマンド
ファイルやディレクトリの一覧表示 語源 : list
# 構文
$ ls(オプション)(ディレクトリ・ファイル名)
# ルートディレクトリの一覧を表示する場合
$ ls /
# 複数ディレクトリの一覧を表示する場合
$ ls / /home
-l
オプション
ファイルの詳細情報を表示
# devディレクトリの一覧表示した場合
$ ls -l
# 出力結果
drwxr-xr-x 2 taddy taddy 6 8月 6 11:57 dev
# d = ファイルタイプ / rwxr-xr-x = ファイルモード / 2 = リンク数 / taddy = 所有者 / taddy = 所有グループ
# 6 = サイズ / 8月 6 11:57 = タイムスタンプ / dev = ファイル名・ディレクトリ名
-a
オプション
隠しファイルも含めた全ファイルの表示(.
で始まるファイルを隠しファイルと言い、通常は表示されません)
$ ls -a
# 出力結果
. .bash_history .bashrc desktop
-F
オプション
ファイル種別を表示するオプション
$ ls -F
# 出力結果
bin@ dev/ home/ lib64@
# 「 / 」 = ディレクトリ 「 @ 」 = シンボリックリンク 「 * 」 = 実行可能ファイル 記号なし = 通常ファイル
ディレクトリ名の指定がない場合、カレントディレクトリの一覧を表示します。
パス名展開
複数のファイルを一度に指定することができます。
記号 | 意味 |
---|---|
* | 任意の文字列 |
? | 任意の1文字 |
# 拡張子が html のファイルの一覧表示する場合
$ ls *.html
# z から始まり4文字で終わるファイルの表示する場合
$ ls /bin/z???
# 出力結果
/bin/zcat /bin/zcmp /bin/znew
mkdir
コマンド
ディレクトリの作成 語源 : make directory
# 構文
$ mkdir(オプション)(作成するディレクトリ名)
# codeディレクトリを作成する場合
$ mkdir code
# 複数のディレクトリを一度に作成する場合
$ mkdir -p test/2021/11
# -p オプションを付与することで、3つのディレクトリ「test, 2021, 11」を作成
ディレクトリの作成と同時に、作成したディレクトリへ移動
$_
・・・直前のコマンド引数を取得
# ホームディレクトリで作成した場合
~ $ mkdir code && cd $_
# 出力結果
code $
複数のディレクトリを作成する場合(ファイルも可)
$ mkdir {ディレクトリ名1,ディレクトリ名2}
カンマの後にスペースを入れるとエラーになるので注意!
touch
コマンド
空のファイルを作成 語源:touch
# 構文
$ touch(ファイル名)
# 複数のファイル作成する場合
$ touch foo.html bar.html
rm
コマンド
ファイル・ディレクトリの削除 語源:remove
# 構文
$ rm(オプション)(削除するファイル名)
# foo.html と bar.htmlファイルを削除する場合
$ rm foo.html bar.html
# ファイルが格納されているディレクトリを削除する場合
$ rm -rf <ディレクトリ名>
実行すると、ゴミ箱に行くことなく本当に削除されるので使用する際は注意!
-r
オプション
ディレクトリも合わせて削除 語源 : reclusion
$ rm -r(ディレクトリ名)
-f
オプション
ファイル削除時に警告文を表示させない
$ rm -f(ファイル名)
-i
オプション
ファイルの削除前にファイル内を確認できる
$ rm -i(ファイル名)
mv
コマンド
ファイルの移動・ファイル名の変更 語源 : move
# 構文
$ mv(オプション)(移動元)(移動先)
# ファイル名を file から file1 に変更する場合
$ mv file file1
# file1 を code ディレクトリ直下に移動する場合
$ mv file1 code/
rmdir
コマンド
空ディレクトリの削除 語源 : remove directory
空でないディレクトリを削除するとエラーになるので注意!
# 構文
$ rmdir(ディレクトリ名)
# code ディレクトリを削除する場合
$ rmdir code
man
コマンド
コマンドのマニュアルを表示 語源 : manual
help オプションよりも詳しく調べたい時に使用します。
# 構文
$ man(調べたいコマンド名)
# lsコマンドのマニュアルを表示する場合
$ man ls
-k
オプション
キーワードから検索することができる
# 「キーワード」がコマンドに含まれている一覧を表示する場合
$ man -k キーワード
cat
コマンド
ファイルの中身を表示 語源 : concatenate
# 構文
$ cat(オプション)(ファイル名)
# etc ディレクトリ直下の hosts ファイルを表示する場合
$ cat /etc/hosts
# 複数ファイルをまとめて表示する場合
$ cat /etc/hostname /etc/hosts
# 出力結果
local.localdomain # /etc/hostname の内容
127.0.0.1 localhost ... # /etc/hosts の内容
::1 localhost6 ... # /etc/hosts の内容
-n
オプション
行番号の表示
$ cat -n /etc/hosts
# 出力結果
1 127.0.0.1 localhost ...
2 ::1 localhost6 ...
cp
コマンド
ファイル・ディレクトリのコピー 語源 : copy
# ファイルのコピー
$ cp(コピー元)(新規ファイル名)
# ファイルをディレクトリ内にコピー
$ cp(コピー元ファイル名)(コピー先ディレクトリ名)
コピー先のファイルが既に存在すると上書きするので注意!
【 cpコマンドでよく使うオプション 】
# 上書きする前に確認する(コピー元のディレクトリにファイルが存在する場合、ファイルも合わせてコピーされる)
$ cp -i <コピー元ファイル名> <コピー先ファイル名>
# ディレクトリのコピー(-rオプションを付けないとディレクトリをコピーすることができない)
$ cp -r <コピー元ディレクトリ名> <新規ディレクトリ名>
# 更新日付(ステータス)を保ったまま、ファイルをコピー
$ cp -p <コピー元ファイル名> <コピー先ファイル名>
ln
コマンド
リンクを張るコマンド 語源 : link
-
リンクを張るとは
- ファイルに別名を付けることを「リンクを張る」という
-
ハードリンク
- 1つのファイルの実体に複数の名前を付ける機能
- 元のファイルを削除しても消えない
- 全てのハードリンクがなくなった時に削除される
-
シンボリックリンク
-
リンク先のパス名が書かれた特殊ファイルでリンク先がファイルの実体
-
ファイルの実体を削除、または移動するとファイルを参照できなくなる
-
リンクの使い方
- 長いパスを省略したいとき
- 複数バージョンを共存させて最新を区別したいとき
# ハードリンクを張る
$ ln <リンク元ファイル名> <リンク名>
# シンボリックリンクを張る
$ ln -s <リンク元ファイル名> <リンク名>
find
コマンド
ファイルの検索 語源 : find
# 構文
$ find <検索開始ディレクトリ> <検索条件> <アクション>
$ find . -name README.md -print # -print は省略可
# 出力結果
./wordpress/ ... /README.md
# ワイルドカードの使用(使用する場合は、「 ` 」もしくは「 " 」 で囲うこと)
$ find . -name '*.html' -print
【 findコマンドでよく使うオプション 】
-name
ファイル名を指定してファイルを検索(ファイル名の大文字小文字を区別)
$ find . -name README.md
-iname
ファイル名を指定してファイルを検索(ファイル名の大文字小文字を区別しない)
$ find . -iname readme.md
-type
ファイル名の種類で検索
# -type f は通常検索
$ find . -type f -print
# -type l はシンボリックリンク
$ find . -type l -print
# -type d はディレクトリ
$ find . -type d -print
-a
複数の条件を指定(-a は省略可)
# images というディレクトリ名のパスを検索する場合
$ find . -type d -a -name images -print
less
コマンド
ファイルの中身をスクロール表示するコマンド 語源 : less - opposite of more
# 構文
$ less(オプション)(ファイル名)
長いファイルの中身を確認したい時に使用します。
コマンド | 内容 | コマンド | 内容 |
---|---|---|---|
スペースキー, f | 一画面下にスクロール | /<文字列> | 下方向に向かって検索 |
b | 一画面上にスクロール | ?<文字列> | 上方向に向かって検索 |
j | 一行下にスクロール | n | 次の検索結果に移動 |
k | 一行上にスクロー | N | 前の検索結果に移動 |
q | lessコマンドを終了 |
##参考教材