はじめに
Linuxコマンドは数が多く、オプションも豊富にあるため、何をどれだけ覚えれば良いか分からないという人も多いのではないでしょうか。そこで本記事では、基本的なLinuxコマンドに焦点を当て、それぞれのコマンドの用途と基本的な使い方についてまとめてみました。
本記事では以下のコマンドを取り上げています。どれもよく使うコマンドばかりです。まずはこれらの簡単なコマンドを使って、Linuxコマンドに体を慣らしていきましょう。
- cd
- pwd
- ls
- mkdir
- rmdir
- cat
- less
- tail
- touch
- rm
- mv
- cp
- ln
- find
- chmod
- chown
- ps
- kill
1. cd
cd コマンドは "Change Directory" の略で、ディレクトリを変更するために使用されます。
cd ディレクトリのパス
例:
cd Documents
2. pwd
pwd コマンドは "Print Working Directory" の略で、カレントディレクトリのパスを表示します。
pwd
3. ls
ls コマンドは "List" の略で、ディレクトリ内のファイルとディレクトリの一覧を表示します。
ls オプション ディレクトリのパス
例:
ls -l /home/user
オプション
- 詳細な情報の表示:
ls -l
ファイルやディレクトリの詳細な情報(パーミッション、所有者、サイズなど)を表示します。
- 隠しファイルも表示:
ls -a
隠しファイルも含めて全てのファイルやディレクトリを表示します。
- サイズ順に表示:
ls -S
ファイルサイズの大きい順に表示します。
4. mkdir
mkdir コマンドは "Make Directory" の略で、新しいディレクトリを作成します。
mkdir ディレクトリの名前
例:
mkdir Documents
オプション
- 親ディレクトリも作成:
mkdir -p path/to/new/directory
必要に応じて親ディレクトリも作成しながら、指定したディレクトリを作成します。
5. rmdir
rmdir コマンドは "Remove Directory" の略で、空のディレクトリを削除します。空でないディレクトリを削除しようとするとエラーになります。
rmdir ディレクトリの名前
例:
rmdir Documents
6. cat
cat コマンドは "Concatenate" の略で、ファイルの内容を表示します。
cat ファイルの名前
例:
cat file.txt
オプション
- 行番号の表示:
cat -n file.txt
各行に行番号を付けてファイルの内容を表示します。
- 逆順で表示:
tac file.txt
ファイルの内容を逆順で表示します。
7. less
less コマンドは、ファイルの内容を閲覧するためのページャーです。通常、大きなファイルを開くときに有用です。
less ファイルの名前
例:
less largefile.txt
オプション
- 行番号の表示:
less -N ファイルの名前
各行の行番号を表示します。
- 検索:
/検索語: 検索語を入力して Enter キーを押すと、次の一致する箇所に移動します。
?検索語: 後ろ向きに検索します。
- ファイル内検索のハイライト:
less -p 検索語 ファイルの名前
検索語がハイライト表示されます。
8. tail
tail コマンドは、ファイルの終わり部分を標準出力します。オプションをつけない場合、末尾から10行を出力します。
tail オプション ファイルの名前
例:
tail -n 10 logfile.txt
オプション
- リアルタイムでの表示:
tail -f ファイルの名前
ファイルの末尾をリアルタイムで表示し、新しい内容が追加されるたびに更新します。
- 行数の指定:
tail -n 行数 ファイルの名前
指定した行数の内容を表示します。
- バイト数の指定:
tail -c バイト数 ファイルの名前
指定したバイト数の内容を表示します。
- 複数ファイルの同時表示:
tail ファイル1 ファイル2
複数のファイルを同時に表示します。
9. touch
touch コマンドは、ファイルのタイムスタンプを更新したり、空のファイルを作成したりします。
touch ファイルの名前
例:
touch newfile.txt
オプション
- 指定した日時にタイムスタンプを更新:
touch -t タイムスタンプ ファイルの名前
指定した日時にタイムスタンプを更新します。
10. rm
rm コマンドは、ファイルやディレクトリを削除します。
rm オプション ファイルまたはディレクトリの名前
例:
rm file.txt
オプション
- ディレクトリの削除:
rm -r ディレクトリの名前
ディレクトリを再帰的に削除します。
- 確認プロンプトの表示:
rm -i ファイルの名前
ファイルを削除する前に確認プロンプトを表示します。
強制的な削除:
rm -f ファイルの名前
ファイルを確認せずに強制的に削除します。
11. mv
mv コマンドは、ファイルやディレクトリを移動させたり、名前を変更したりします。
mv オプション ソース ディレクトリまたはファイルの名前
例:
mv file.txt /path/to/destination/
オプション
- 上書き確認:
mv -i ソース ディレクトリまたはファイルの名前
移動先に同名のファイルが存在する場合に確認プロンプトを表示します。
12. cp
cp コマンドは、ファイルやディレクトリをコピーします。
cp オプション ソース ディレクトリまたはファイルの名前
例:
cp file.txt /path/to/destination/
オプション
- ディレクトリのコピー:
cp -r ディレクトリの名前 コピー先のディレクトリ
ディレクトリを再帰的にコピーします。
- 進捗表示:
cp -v ソース ディレクトリまたはファイルの名前
コピーの進捗を表示します。
- 上書き確認:
cp -i ソース ディレクトリまたはファイルの名前
コピー先に同名のファイルが存在する場合に確認プロンプトを表示します。
13. ln
ln コマンドは、リンク(ハードリンクやシンボリックリンク)を作成します。
ln オプション ソース リンクの名前
例:
ln file.txt link.txt
ハードリンクとシンボリックリンク
- ハードリンク:
ln ソース ハードリンクの名前
同じiノード(データの実体を指す情報)を共有するハードリンクを作成します。オリジナルが変更されても、リンクも影響を受けます。
- シンボリックリンク:
ln -s ソース シンボリックリンクの名前
ソースへのパスを持つ新しいファイルを作成し、それを指すシンボリックリンクを作成します。
14. find
find コマンドは、ファイルやディレクトリを検索し、見つかったものに対してアクションを実行します。
find 検索先 -オプション 検索条件 アクション
例:
find /home/user -name "*.txt" -print
オプション
- 名前で検索:
find 検索先 -name "検索条件"
ファイルやディレクトリの名前で検索します。
- タイプで検索:
find 検索先 -type ファイルの種類
指定した種類のファイルを検索します。
- 検索条件の否定:
find 検索先 ! -条件
指定した条件に一致しないものを検索します。
- アクション:
find 検索先 -exec コマンド {} \;
検索結果に対して指定したコマンドを実行します。
15. chmod
chmod コマンドは、ファイルやディレクトリのパーミッション(権限)を変更します。
chmod オプション パーミッション ファイルまたはディレクトリの名前
例:
chmod 755 script.sh
基本的な使用法
- 数値による指定:
chmod 数値 ファイルまたはディレクトリの名前
数値でパーミッションを指定します。
- 記号による指定:
chmod 記号 パーミッション ファイルまたはディレクトリの名前
記号を使用してパーミッションを指定します。
オプション
- 再帰的な変更:
chmod -R パーミッション ディレクトリの名前
ディレクトリ内のすべてのファイルとサブディレクトリのパーミッションを再帰的に変更します。
- 特定のユーザーに対する変更:
chmod ユーザー=パーミッション ファイルまたはディレクトリの名前
特定のユーザーに対してパーミッションを変更します。
16. chown
chown コマンドは、ファイルやディレクトリの所有者を変更します。
chown オプション 新しい所有者:新しいグループ ファイルまたはディレクトリの名前
例:
chown user:group file.txt
オプション
- 再帰的な変更:
chown -R 新しい所有者:新しいグループ ディレクトリの名前
ディレクトリ内のすべてのファイルとサブディレクトリの所有者とグループを再帰的に変更します。
17. ps
ps コマンドは、実行中のプロセスの情報を表示します。
ps オプション
例:
ps aux
オプション
- 全てのプロセスの表示:
ps aux
すべてのユーザーの実行中のプロセスを表示します。
- ツリー表示:
ps f
プロセスのツリー形式で表示します。
18. kill
kill コマンドは、プロセスにシグナルを送信してプロセスを終了させます。
kill シグナル プロセスID
例:
kill -9 1234
オプション
- 強制終了:
kill -9 プロセスID
プロセスを強制的に終了します。
- シグナルの指定:
kill -シグナル プロセスID
特定のシグナルを使用してプロセスを終了します。