基本コマンド
ls
– ディレクトリ内容の一覧表示ls -l
: 詳細リスト形式ls -a
: 隠しファイルを含めるls -h
: 人間に読みやすいサイズで表示
cd
– ディレクトリの変更cd ..
: 1つ上のディレクトリに移動cd ~
: ホームディレクトリに移動
pwd
– 現在の作業ディレクトリを表示pwd -P
: シンボリックリンクを除いた物理ディレクトリを表示
cp
– ファイルやディレクトリをコピーcp -r
: ディレクトリを再帰的にコピーcp -i
: 上書きする前に確認cp -v
: コピー中のファイルを表示
mv
– ファイルやディレクトリを移動または名前変更mv -i
: 上書きする前に確認mv -v
: 移動中のファイルを表示
rm
– ファイルやディレクトリを削除rm -r
: ディレクトリとその内容を再帰的に削除rm -i
: 各削除前に確認rm -f
: 確認なしに強制削除
mkdir
– ディレクトリを作成mkdir -p
: 必要に応じて親ディレクトリも作成mkdir -v
: 作成するディレクトリを表示
rmdir
– 空のディレクトリを削除rmdir -p
: 親ディレクトリも削除(空の場合)
touch
– 空のファイルを作成またはファイルのタイムスタンプを更新touch -a
: アクセスタイムのみ変更touch -m
: 変更時間のみ変更
cat
– ファイルの内容を結合して表示cat -n
: 出力行に番号を付けるcat -b
: 空行を除いた行に番号を付ける
ファイル管理
find
– ディレクトリ階層内でファイルを検索find . -name "*.txt"
: 現在のディレクトリとサブディレクトリ内の全ての.txt
ファイルを検索find / -type d -name "folder"
: ルートから始めて “folder” という名前のディレクトリを検索
locate
– 名前でファイルを検索locate file_name
: ファイル名で検索
grep
– パターンを使用してテキストを検索grep -r "pattern" /path/to/dir
: 指定ディレクトリ内を再帰的に検索grep -i
: 大文字小文字を区別しないgrep -v
: 一致しない行を選択
chmod
– ファイルのモードやアクセス許可を変更chmod +x file
: ファイルを実行可能にするchmod -R 755 directory
: 再帰的に許可を変更
chown
– ファイルの所有者とグループを変更chown user:group file
: ファイルの所有者とグループを変更chown -R user:group directory
: 再帰的に所有者とグループを変更
chgrp
– グループ所有権を変更chgrp group file
: ファイルのグループ所有権を変更chgrp -R group directory
: 再帰的にグループ所有権を変更
tar
– ファイルをアーカイブtar -cvf archive.tar file1 file2
: アーカイブを作成tar -xvf archive.tar
: アーカイブを展開tar -tvf archive.tar
: アーカイブの内容を表示
gzip
– ファイルを圧縮gzip file
: ファイルを圧縮gzip -d file.gz
: ファイルを解凍
gunzip
– ファイルを解凍gunzip file.gz
: ファイルを解凍
zip
– ファイルをパッケージ化して圧縮zip archive.zip file1 file2
: ZIPアーカイブを作成zip -r archive.zip directory
: ディレクトリを再帰的に圧縮
テキスト処理
awk
– パターンスキャンと処理言語awk '{print $1}' file
: ファイルの最初の列を表示awk -F":" '{print $1}' /etc/passwd
: “:” をフィールドセパレータとして使用
sed
– ストリームエディタsed 's/old/new/g' file
: ‘old’ を ‘new’ にすべて置き換えsed -n 'p' file
: 一致する行のみを表示
sort
– テキストファイルの行をソートsort file
: ファイルの行をソートsort -r file
: 行を逆順にソートsort -n file
: 数値順にソート
uniq
– 重複行を報告または削除uniq file
: 重複行を削除uniq -c file
: 重複行の出現回数を表示
cut
– 各行からセクションを削除cut -d":" -f1 /etc/passwd
: デリミタ “:” で区切り、最初のフィールドを表示cut -c1-5 file
: 各行の最初の5文字を切り取る
paste
– ファイルの行を結合paste file1 file2
: 対応する行を結合paste -d, file1 file2
: カンマをデリミタとして使用
tr
– 文字を変換または削除tr 'a-z' 'A-Z' < file
: 小文字を大文字に変換tr -d 'aeiou' < file
: 母音を削除
diff
– ファイルを行ごとに比較diff file1 file2
: 2つのファイルを比較diff -u file1 file2
: 統一された差分フォーマット
patch
– 元のファイルに差分を適用patch < diff_file
: パッチを適用patch -p1 < diff_file
: 最小のプレフィックスを削除
wc
– 各ファイルの行数、単語数、バイト数を表示wc file
: 行数、単語数、バイト数を表示wc -l file
: 行数を表示wc -w file
: 単語数を表示
システム情報
uname
– システム情報を表示uname -a
: すべてのシステム情報を表示uname -r
: カーネルリリースを表示
top
– タスクマネージャを表示top -u user
: 特定ユーザーのタスクを表示top -p pid
: 特定プロセスのタスクを表示
htop
– インタラクティブプロセスビューアhtop
: htopを起動htop -u user
: 特定ユーザーのプロセスを表示
df
– ファイルシステムのディスク使用量を報告df -h
: 人間に読みやすい形式で表示df -T
: ファイルシステムの種類を表示
du
– ファイルスペースの使用量を推定du -h
: 人間に読みやすい形式で表示du -s
: 各引数の合計を表示
free
– システムの空きメモリと使用済みメモリを表示free -h
: 人間に読みやすい形式で表示free -m
: メガバイト単位で表示
uptime
– システムの稼働時間を表示uptime
: システムの稼働時間を表示
hostname
– システムのホスト名を表示または設定hostname
: ホスト名を表示hostname new_hostname
: 新しいホスト名を設定
who
– ログインしているユーザーを表示who -a
: 利用可能なすべての情報を表示
w
– ログインしているユーザーとその活動を表示w
: ログインしているユーザーとその活動を表示
ネットワーキング
ping
– ネットワークホストにICMP ECHO_REQUESTを送信ping -c 4 host
: 4つのパケットを送信して停止ping -i 0.5 host
: パケット間の間隔を設定
ifconfig
– ネットワークインターフェースの設定ifconfig
: すべてのインターフェースを表示ifconfig interface down
: インターフェースを停止
netstat
– ネットワーク接続、ルーティングテーブル、インターフェース統計を表示netstat -a
: すべてのソケットを表示netstat -r
: ルーティングテーブルを表示
curl
– データをサーバー間で転送curl -O URL
: URLからファイルをダウンロードcurl -I URL
: URLからヘッダーを取得
wget
– 非対話型ネットワークダウンローダーwget URL
: URLからファイルをダウンロードwget -c URL
: 部分ダウンロードを継続
ssh
– OpenSSH SSHクライアントssh user@host
: ユーザーとしてホストに接続ssh -p port user@host
: ポートを指定して接続
scp
– セキュアコピー(リモートファイルコピー)scp file user@host:/path
: ファイルをリモートホストにコピーscp -r directory user@host:/path
: ディレクトリをリモートホストにコピー
ftp
– ファイル転送プロトコルクライアントftp host
: FTPホストに接続ftp -n
: 自動ログインを無効にする
telnet
– TELNETプロトコルのユーザーインターフェースtelnet host port
: 指定ポートでホストに接続telnet host
: デフォルトポートでホストに接続
nc
– Netcat、ネットワークの万能ツールnc -l port
: ポートを監視nc host port
: 指定ポートでホストに接続
システム監視
ps
– 現在のプロセスのスナップショットを報告ps aux
: すべてのプロセスを表示ps -ef
: フルフォーマットリスト
kill
– プロセスにシグナルを送信kill -9 pid
: 強制的にプロセスを終了kill -SIGTERM pid
: プロセスを正常終了
pkill
– 名前やその他の属性に基づいてプロセスにシグナルを送信pkill -9 process_name
: 名前でプロセスを強制終了pkill -u user
: ユーザー所有のプロセスを終了
xkill
– Xリソースでクライアントを終了xkill
: 対話型クライアント終了
dmesg
– カーネルリングバッファを表示または制御dmesg | grep keyword
: 出力でキーワードを検索dmesg -c
: リングバッファをクリア
iostat
– CPUおよびI/O統計を報告iostat -c
: CPU使用率を報告iostat -d
: デバイス使用率を報告
vmstat
– 仮想メモリ統計を報告vmstat 1 5
: 1秒ごとに5回サンプル
lsof
– 開いているファイルを一覧表示lsof -i
: 開いているネットワーク接続を表示lsof +D /path
: ディレクトリ内の開いているファイルを表示
strace
– システムコールとシグナルをトレースstrace -p pid
: 実行中のプロセスにアタッチstrace -o output.txt command
: トレースをファイルに書き込む
sar
– システム活動情報を収集、報告、または保存sar -u 1
: 1秒ごとにCPU使用率を表示sar -r
: メモリ使用量を表示
パッケージ管理(ディストリビューションによる)
apt-get
– APTパッケージ管理ユーティリティ(Debian系)apt-get update
: パッケージリストを更新apt-get install package
: パッケージをインストール
yum
– パッケージマネージャー(RPM系)yum update
: すべてのパッケージを更新yum install package
: パッケージをインストール
dnf
– パッケージマネージャー(yumの後継)dnf update
: すべてのパッケージを更新dnf install package
: パッケージをインストール
pacman
– パッケージマネージャーユーティリティ(Arch Linux)pacman -Syu
: パッケージを同期および更新pacman -S package
: パッケージをインストール
rpm
– RPMパッケージマネージャーrpm -i package.rpm
: パッケージをインストールrpm -e package
: パッケージを削除
dpkg
– Debianパッケージマネージャーdpkg -i package.deb
: パッケージをインストールdpkg -r package
: パッケージを削除
snap
– Snapパッケージマネージャーsnap install package
: Snapパッケージをインストールsnap remove package
: Snapパッケージを削除
flatpak
– サンドボックス化されたデスクトップアプリケーションの構築、配布、実行システムflatpak install package
: Flatpakパッケージをインストールflatpak remove package
: Flatpakパッケージを削除
brew
– Homebrewパッケージマネージャー(macOS/Linux)brew install package
: パッケージをインストールbrew update
: Homebrewとすべてのパッケージを更新
port
– MacPortsパッケージマネージャーport install package
: パッケージをインストールport upgrade outdated
: 古くなったパッケージを更新
ディスク使用量と管理
fdisk
– Linux用のパーティションテーブル操作ツールfdisk -l
: すべてのパーティションを一覧表示fdisk /dev/sdX
: 特定のディスクのパーティションを変更
mkfs
– Linuxファイルシステムを構築mkfs -t ext4 /dev/sdX1
: ext4ファイルシステムを作成
fsck
– ファイルシステムの一貫性チェックおよび修復fsck /dev/sdX1
: ファイルシステムをチェックおよび修復
mount
– ファイルシステムをマウントmount /dev/sdX1 /mnt
: ファイルシステムをマウントmount -t type device dir
: 特定のタイプでマウント
umount
– ファイルシステムをアンマウントumount /mnt
: ファイルシステムをアンマウント
lsblk
– ブロックデバイスに関する情報を表示lsblk -f
: ファイルシステムを表示
blkid
– ブロックデバイスの属性を検索/表示blkid /dev/sdX1
: 特定デバイスの属性を表示
df
– ファイルシステムのディスク使用量を報告df -h
: 人間に読みやすい形式で表示df -i
: インデックスノードの使用量を表示
du
– ファイルスペースの使用量を推定du -h
: 人間に読みやすい形式で表示du -s
: 各引数の合計を表示
parted
– パーティション操作プログラムparted /dev/sdX
: 特定のディスク用にpartedを起動parted /dev/sdX print
: パーティションテーブルを表示
ユーザーと権限
adduser
– システムにユーザーを追加adduser username
: 新しいユーザーを追加adduser username group
: ユーザーをグループに追加
deluser
– システムからユーザーを削除deluser username
: ユーザーを削除deluser username group
: ユーザーをグループから削除
usermod
– ユーザーアカウントを変更usermod -aG group username
: ユーザーをグループに追加usermod -l new_username old_username
: ユーザー名を変更
passwd
– ユーザーパスワードを変更passwd username
: ユーザーのパスワードを変更
groupadd
– システムにグループを追加groupadd groupname
: 新しいグループを作成
groupdel
– システムからグループを削除groupdel groupname
: グループを削除
groups
– グループメンバーシップを表示groups username
: ユーザーのグループを表示
chown
– ファイルの所有者とグループを変更chown user:group file
: ファイルの所有者とグループを変更chown -R user:group directory
: 再帰的に所有者とグループを変更
chmod
– ファイルアクセス権限を変更chmod +x file
: ファイルを実行可能にするchmod -R 755 directory
: 再帰的に権限を変更
su
– ユーザー識別を変更su -
: ルートユーザーに切り替えsu - username
: 別のユーザーに切り替え
その他
alias
– コマンドのエイリアスを作成alias ll='ls -la'
:ls -la
のエイリアスを作成
unalias
– エイリアスを削除unalias ll
: エイリアスll
を削除
env
– 環境を表示または変更された環境でプログラムを実行env
: すべての環境変数を表示env VAR=value command
: コマンドのために変数を設定
export
– 環境変数を設定export VAR=value
: 変数をエクスポート
source
– 現在のシェルでファイルからコマンドを実行source filename
: ファイルからコマンドを実行
echo
– テキスト行を表示echo "text"
: テキストを画面に表示echo $VAR
: 変数の値を表示
date
– システムの日付と時間を表示または設定date
: 現在の日付と時間を表示date +%Y-%m-%d
: 特定の形式で日付を表示
cal
– カレンダーを表示cal
: 現在の月のカレンダーを表示cal year
: 特定の年のカレンダーを表示
time
– プログラムの実行時間を測定time command
: コマンドの実行時間を測定
sleep
– 指定した時間だけ待機 –sleep 5
: 5秒間待機
コメント