Linux基本コマンド
はじめに
このページではLinux基本コマンドについて記述します。
基本的なLinuxコマンド
Linuxのターミナルでよく使われるコマンドをまとめました。ファイルやディレクトリの操作、システム情報の確認、ネットワーク操作など、日常的な作業に役立つコマンドを幅広く紹介します。
1. ファイルとディレクトリの操作
ls
コマンド
ディレクトリ内のファイルとディレクトリを表示します。
ls # 現在のディレクトリ内の内容を表示
ls -l # 詳細情報を表示 (long format)
ls -a # 隠しファイルも含めてすべてのファイルを表示
ls -lh # ファイルサイズを人間に読みやすい形式で表示
cd
コマンド
ディレクトリを移動します。
cd /path/to/directory # 指定したディレクトリに移動
cd .. # 親ディレクトリに移動
cd ~ # ホームディレクトリに移動
cd - # 前のディレクトリに戻る
mkdir
コマンド
新しいディレクトリを作成します。
mkdir new_directory # 'new_directory'という名前の新しいディレクトリを作成
mkdir -p /path/to/new_directory # 親ディレクトリが存在しない場合でも再帰的に作成
rm
コマンド
ファイルまたはディレクトリを削除します。
rm filename # ファイルを削除
rm -r directoryname # ディレクトリとその中のすべてのファイルを再帰的に削除
rm -f filename # 確認なしでファイルを強制削除
rm -rf directoryname # ディレクトリを強制的かつ再帰的に削除
cp
コマンド
ファイルやディレクトリをコピーします。
cp source_file destination_file # ファイルをコピー
cp -r source_directory destination_dir # ディレクトリを再帰的にコピー
cp -i source_file destination_file # コピーする際に上書きの確認をする
mv
コマンド
ファイルやディレクトリを移動または名前を変更します。
mv old_name new_name # ファイルまたはディレクトリの名前を変更
mv /path/to/file /new/path/to/file # ファイルを移動
mv -i old_name new_name # 名前の変更や移動の際に確認を求める
scp
コマンド
リモートマシン間でファイルを安全にコピーします(SSHを使用)。
scp source_file user@remote_host:/path/to/destination # リモートマシンにファイルをコピー
scp user@remote_host:/path/to/source_file /local/destination # リモートマシンからファイルをコピー
scp -r source_directory user@remote_host:/path/to/destination # ディレクトリを再帰的にコピー
2. ファイル内容の表示と編集
cat
コマンド
ファイルの内容を標準出力に表示します。
cat filename # ファイルの内容を標準出力に表示
less
コマンド
大きなファイルをページングして表示します。ファイルの内容を上下にスクロールして閲覧できます。
less filename # ファイルをページ単位で表示
head
コマンド
ファイルの最初の数行を表示します。
head filename # デフォルトで最初の10行を表示
head -n 5 filename # 最初の5行を表示
tail
コマンド
ファイルの最後の数行を表示します。
tail filename # デフォルトで最後の10行を表示
tail -n 5 filename # 最後の5行を表示
tail -f filename # ファイルの最後の部分をリアルタイムで表示(ログファイルの監視などに使用)
grep
コマンド
ファイル内の特定の文字列を検索して表示します。
grep "search_string" filename # 'filename'内の'search_string'を検索して表示
grep -i "search_string" filename # 大文字小文字を区別せずに'search_string'を検索
grep -r "search_string" /path/to/directory # 指定ディレクトリ内のすべてのファイルから検索
grep -n "search_string" filename # 検索結果の行番号を表示
grep -v "search_string" filename # 検索結果を除いた内容を表示
nano
コマンド
ターミナルベースのテキストエディタです。簡単なテキスト編集に使います。
nano filename # ファイルをnanoで開く
vi
コマンド
より高度なターミナルベースのテキストエディタです。慣れると非常に強力です。
vi filename # ファイルをviで開く
3. 標準入出力関連のコマンド
標準入出力と標準エラーの基本
標準入出力およびエラー出力は、以下のデバイス番号で管理されます。
- 標準入力(stdin): 0
- 標準出力(stdout): 1
- 標準エラー(stderr): 2
リダイレクトやパイプを活用することで、これらを効率的に操作できます。
>
, >>
)
出力リダイレクト (コマンドの実行結果をファイルに出力します。
-
>
: ファイルに出力(既存の内容を上書き) -
>>
: ファイルに出力(既存の内容に追記)
echo "Hello, World!" > output.txt
echo "追加の行" >> output.txt
エラー出力リダイレクト
標準エラー出力をリダイレクトします。
-
2>
: エラーをファイルに出力(上書き) -
2>>
: エラーをファイルに出力(追記)
ls non_existing_file 2> error.log
ls non_existing_file 2>> error.log
標準出力と標準エラーの同時リダイレクト
標準出力と標準エラーを同じファイルにリダイレクトする場合、&>
を使用します。
ls valid_file non_existing_file &> combined.log
or
ls valid_file non_existing_file &> combined.log 2>&1
標準エラーを次のコマンドの入力にする方法
標準出力と標準エラーを同じファイルにリダイレクトする場合、|&1
を使用します。
ls non_existing_file |&1 grep error
or
ls non_existing_file 2>&1 | grep error
<
)
入力リダイレクト (ファイルの内容を標準入力として使用します。
cat < input.txt
|
)
パイプ (コマンドの標準出力を次のコマンドの標準入力として渡します。
ls | grep "example"
tee
コマンド
標準出力をファイルに保存しつつ、次のコマンドに渡します。
ls | tee output.txt | grep "example"
オプションとして、-a
を付けることで追記モードになります。
ls | tee -a output.txt
/dev/null
不要な出力を破棄する場合に使用します。
ls non_existing_file 2> /dev/null
4. ネットワーク関連のコマンド
ping
コマンド
ネットワーク接続をテストし、ターゲットへの応答時間を測定します。
ping google.com # google.comに対してpingを送信
curl
コマンド
URLからデータを取得するためのコマンドです。APIのテストなどでよく使用します。
curl http://example.com # 指定したURLのコンテンツを表示
curl -O http://example.com/file.zip # 指定したURLのファイルをダウンロード
wget
コマンド
ウェブサーバーからファイルをダウンロードします。
wget http://example.com/file.zip # 指定したURLのファイルをダウンロード
wget -c http://example.com/file.zip # ダウンロードを再開する
netstat
コマンド
ネットワーク接続、ルーティングテーブル、インターフェイス統計を表示します。
netstat -an # すべてのネットワーク接続を表示
ifconfig
コマンド
ネットワークインターフェイスの設定を表示または変更します。
ifconfig # ネットワークインターフェイスの情報を表示
ssh
コマンド
リモートマシンに安全にログインします。
ssh user@remote_host # リモートマシンにSSHで接続
ssh -p 2222 user@remote_host # ポート2222でSSH接続
4. プロセスとシステム情報の管理
ps
コマンド
現在のプロセス情報を表示します。
ps aux # すべてのユーザーのプロセスを表示
kill
コマンド
プロセスを終了します。
kill PID # 指定したPIDのプロセスを終了
kill -9 PID # プロセスを強制終了
top
コマンド
システムのリアルタイムのプロセス情報を表示します。
top # 実行中のプロセスをリアルタイムで表示
htop
コマンド
top
の改良版で、より使いやすいインターフェースを提供します。
htop # 実行中のプロセスをリアルタイムで表示
df
コマンド
ディスクの空き容量を表示します。
df -h # 人間が読みやすい形式でディスクの空き容量を表示
du
コマンド
ディレクトリの使用容量を表示します。
du -h /path/to/directory # ディレクトリの使用容量を表示
du -sh /path/to/directory # 指定したディレクトリの合計サイズを表示
5. パーミッションと所有権の管理
chmod
コマンド
ファイルやディレクトリのパーミッションを変更します。
chmod 755 filename # 'filename'
のパーミッションを755に設定
chmod -R 644 directory # ディレクトリ内のすべてのファイルを644に設定
chown
コマンド
ファイルやディレクトリの所有者を変更します。
chown user:group filename # 'filename'の所有者を'user'、グループを'group'に変更
chown -R user:group directory # ディレクトリとその中のファイルの所有者を再帰的に変更
Discussion