目次
はじめに
よく使われるLinuxコマンドをご紹介します。Linuxを扱うことは多く、あらゆる操作を行えるので、最低限のLinuxコマンドを理解しておく必要があります。今回はコマンドとその簡単な使用例をまとめました。
コマンド一覧
cat
ファイルの中身を表示するコマンド
1 2 |
# test01.txtの中身を表示する。 ~/dev/sample$ cat text01.txt |
cd
指定したディレクトリへ移動するコマンド
- 絶対パスで指定したディレクトリへ移動
1 2 3 |
# sampleディレクトリへ移動する。 ~$ cd /home/user/dev/sample ~/dev/sample$ |
- 相対パスで指定したディレクトリへ移動
1 2 3 |
# 一つ下の階層にあるdevディレクトリへ移動する。 ~$ cd dev ~/dev$ |
chmod
指定したファイルやディレクトリの権限を変更するコマンド
- ファイルの権限変更
1 2 |
# すべてのユーザーにtext01.txtファイルの全権限を付与する。 ~/dev/sample$ chmod 777 text01.txt |
- 「-R」オプションで指定したディレクトリとそのディレクトリ以下のファイルやディレクトリの権限を再帰的に変更
1 2 |
# すべてのユーザーにdir01ディレクトリとdir01ディレクトリ以下のファイルやディレクトリの全権限を付与する。 ~/dev/sample$ chmod -R 777 dir01 |
chown
指定したファイルやディレクトリの所有者情報を変更するコマンド
「chown」コマンドを使えるのはスーパーユーザーのみ。
- ファイルのユーザー所有権の変更
1 2 |
# text01.txtファイルのユーザー所有権をrootに変更する。 ~/dev/sample$ sudo chown root text01.txt |
- ファイルのユーザー所有権、グループ所有権の変更
1 2 |
# text01.txtファイルのユーザー所有権、グループ所有権をrootに変更する。 ~/dev/sample$ sudo chown root:root text01.txt |
- 「-R」オプションで指定したディレクトリとそのディレクトリ以下のファイルやディレクトリの所有権を再帰的に変更
1 2 |
# dir01ディレクトリとdir01ディレクトリ以下のファイルやディレクトリのユーザー所有権をrootに変更する。 ~/dev/sample$ sudo chown -R root dir01 |
cp
ファイルをコピーするコマンド
- ファイルのコピー
1 2 |
# test01.txtをtest02.txtという名前でコピーする。 ~/dev/sample$ cp test01.txt test02.txt |
- 「-r」オプションでディレクトリをコピー
1 2 |
# dir01をdir02という名前でコピーする。 ~/dev/sample$ cp -r dir01 dir02 |
find
対象ファイルを検索するコマンド
- 特定のファイルの検索
1 2 |
# text01.txtファイルを検索する。 ~/dev/sample$ find text01.txt |
- 「-name」オプションでワイルドカードを使用し部分一致検索
1 2 |
# 拡張子がtxtのファイルを検索する。 ~/dev/sample$ find -name "*txt" |
grep
ファイル中の文字列を検索するコマンド
- 文字列を含む行の表示
1 2 |
# text01.txtで文字列「hogehoge」を含む行を表示する。 ~/dev/sample$ grep hogehoge text01.txt |
- 文字列を含む行をAND検索で表示
1 2 |
# text01.txtで文字列「hogehoge」と「hugahuga」を含む行を表示する。 ~/dev/sample$ grep hogehoge text01.txt | grep hugahuga |
history
これまでに実行したコマンドの履歴を表示するコマンド
1 |
$ history |
ln
ファイルやフォルダに対してリンクを作成するコマンド
- 「-s」オプションでシンボリックリンクの作成
1 2 |
# text02.txtにlatestという名前のシンボリックリンクを作成する。 ~/dev/sample$ ln -s test02.txt latest |
ls
ファイルを一覧表示する他、ファイルの詳細情報を表示する際にも使えるコマンド
- ファイルの一覧表示
1 2 3 |
# sampleディレクトリ内のファイルを一覧表示する。 ~/dev/sample$ ls test01.txt test02.txt test03.txt |
- 「-a」オプションで隠しファイルもすべて表示
1 2 3 |
# sampleディレクトリ内のファイルを隠しファイルも含め一覧表示する。 ~/dev/sample$ ls -a . .. .foo.txt text01.txt text02.txt text03.txt |
- 「-l」オプションでファイルの詳細情報を表示
1 2 3 4 5 6 |
# sampleディレクトリ内のファイルの詳細情報を一覧表示する。 ~/dev/sample$ ls -l dir02 total 0 -rwxrwxrwx 1 root root 0 Jun 20 18:30 text01.txt -rwxrwxrwx 1 root root 0 Jun 20 18:30 text02.txt -rwxrwxrwx 1 root root 0 Jun 20 18:30 text03.txt |
man
コマンドの使い方に関するマニュアルを表示するコマンド
1 2 |
# 「ls」コマンドのマニュアルを表示する。 ~/dev/sample$ man ls |
mkdir
新しいディレクトリを作成するコマンド
- ディレクトリの作成
1 2 |
# dir01ディレクトリを作成する。 ~/dev/sample$ mkdir dir01 |
- 「-p」オプションで階層ディレクトリを作成
1 2 |
# parent/childの階層ディレクトリを作成する。 ~/dev/sample$ mkdir -p parent/child |
mv
ファイルの移動や名称変更などを行うコマンド
- ファイルの移動
存在しないディレクトリ名を指定した場合、ファイル名が指定したディレクトリ名に変更されてしまうため注意。
1 2 |
# test01.txtファイルをdir01ディレクトリへ移動させる。 ~/dev/sample$ mv text01.txt dir01 |
- ファイル名の変更
1 2 |
# test01.txtの名称をtest02.txtに変更する。 ~/dev/sample$ mv text01.txt text02.txt |
- ディレクトリの移動
存在しないディレクトリ名を指定した場合、ディレクトリ名が指定したディレクトリ名に変更されてしまうため注意。
1 2 |
# dir01ディレクトリをdir02ディレクトリの中へ移動させる。 ~/dev/sample$ mv dir01 dir02 |
- ディレクトリ名の変更
1 2 |
# dir01の名称をdir02に変更する。 ~/dev/sample$ mv dir01 dir02 |
pwd
現在アクセスしているディレクトリを表示するコマンド
1 2 3 |
# sampleディレクトリへの絶対パスを表示する。 ~/dev/sample$ pwd /home/user/dev/sample |
rm
指定したファイルを削除するコマンド
- ファイルの削除
1 2 |
# test01.txtファイルを削除する。 ~/dev/sample$ rm test01.txt |
- 「-r」オプションでディレクトリを削除
1 2 |
# dir01ディレクトリを削除する。 ~/dev/sample$ rm -r dir01 |
- 「-f」オプションでファイルが存在しない場合でもメッセージを表示せずに実行
1 2 |
# test01.txtファイルを削除する。 ~/dev/sample$ rm -f test01.txt |
tar
複数ファイルを圧縮して一つにまとめる、または圧縮されたファイルの展開を行うコマンド
- 「-f」オプションでアーカイブ名を指定し、「-c」オプションでアーカイブを作成
1 2 |
# text01.txtファイルとtext02.txtファイルを圧縮し、archive.tarアーカイブを作成する。 ~/dev/sample$ tar -cf archive.tar text01.txt text02.txt |
- 「-f」オプションでアーカイブ名を指定し、「-x」オプションでアーカイブを展開
1 2 |
# archive.tarアーカイブを展開する。 ~/dev/sample$ tar -xf archive.tar |
- 「-f」オプションでアーカイブ名を指定し、「-t」オプションでアーカイブファイル内のファイル一覧を表示
1 2 |
# archive.tarアーカイブ内のファイル一覧を表示する。 ~/dev/sample$ tar -tf archive.tar |
touch
ファイルを新規作成、またはタイムスタンプを変更するコマンド
- ファイルの作成
存在しないファイル名の場合のみ、ファイルが作成される。
1 2 |
# test01.txtファイルを作成する。 ~/dev/sample$ touch test01.txt |
- ファイルのタイムスタンプを現在日時に変更
「-c」オプションを使うと、ファイルが存在しなければファイルは作成されないため、タイムスタンプを変更したいときに使用するとよい。
1 2 |
# test01.txtファイルのタイムスタンプを現在時刻に変更する。 ~/dev/sample$ touch -c test01.txt |
which
指定した名前で実行されるコマンドの実行ファイルをフルパスで表示するコマンド
- 指定したコマンド名のフルパスを表示
1 2 3 |
# 「passwd」コマンドの実行ファイルをフルパスで表示する。 ~/dev/sample$ which passwd /usr/bin/passwd |
- 「-a」オプションで指定したコマンドが実行可能なすべてのパスを表示
1 2 3 4 |
# 「ls」コマンドが実行可能なすべてのパスをフルパスで表示する。 ~/dev/sample$ which -a passwd /usr/bin/passwd /bin/passwd |