Linuxコマンドの使い方 - Linux command usage -
基本的なLinuxコマンドの使い方を掲載しています。一般ユーザーで実行できるコマンドは「$」、管理者権限が必要なコマンドは「#」で示します(例外あり)。ディストリビューション依存のコマンドはCentOS 7での実行を想定しています。
基本コマンド
| コマンド | 説明 |
| $ | cd | ホームディレクトリに移動する。 |
| $ | cd /tmp | /tmpディレクトリに移動する。 |
| $ | cd - | 直前のカレントディレクトリに移動する。 |
| $ | cd .. | 1つ上のディレクトリに移動する。 |
| $ | pwd | カレントディレクトリを表示する。 |
| $ | man passwd | passwdコマンドのマニュアルを表示する。 |
| $ | man 5 passwd | /etc/passwdファイルのマニュアルを表示する。 |
| $ | apropos ext3 | マニュアルの1行説明に「ext3」が含まれるマニュアル一覧を表示する。 |
| $ | exit | ログアウトする。シェルを終了する。 |
| $ | date | 現在の日時を表示する。 |
| $ | su | rootユーザーになる(環境は元のまま)。終了はexit。 |
| $ | su - | rootユーザーになる(環境はrootでのログインと同じ)。 |
| $ | su - smile | smileユーザーになる(環境はsmileでのログインと同じ)。 |
| $ | sudo /sbin/shutdown -r now | 許可されたユーザーが管理者権限でshutdownコマンドを実行する。 |
| $ | sudo -s | 許可されたユーザーがrootユーザーになる(環境は元のまま)。 |
| $ | sudo -i | 許可されたユーザーがrootユーザーになる(環境はrootでのログインと同じ)。 |
| $ | whatis passwd | マニュアルのタイトルがpasswdであるマニュアル一覧を表示する。 |
| $ | whereis passwd | passwdコマンドの実行ファイルとマニュアルのパスを表示する。 |
ファイル・ディレクトリ操作コマンド
| コマンド | 説明 |
| $ | cp httpd.conf httpd.conf.org | httpd.confファイルをhttpd.conf.orgファイルとしてコピーする。 |
| $ | cp *.txt backup | 拡張子が「.txt」のファイルをbackupディレクトリにコピーする。 |
| $ | cp -r /pub/data . | /pub/dataディレクトリをカレントディレクトリにコピーする。 |
| $ | ls | カレントディレクトリ内のファイル一覧を表示する。 |
| $ | ls -l /tmp | /tmpディレクトリのファイル一覧を詳細に表示する。 |
| $ | ls -A $HOME | 「.」で始まる隠しファイルも含めてホームディレクトリ内のファイルを表示する。 |
| $ | mv before.txt after.txt | before.txtファイルをafter.txtファイルにリネームする。 |
| $ | mv datafile /tmp | datafileファイルを/tmpディレクトリ以下に移動する。 |
| $ | mkdir temp | tempディレクトリを作成する。 |
| $ | mkdir -p dir/sub1 | dirディレクトリを作成し、その中にsub1ディレクトリを作成する。 |
| $ | mkdir -m 701 public_html | パーミッション701でpublic_htmlファイルを作成する。 |
| $ | ln data data.hd | dataファイルのハードリンクをdata.hdとして作成する。 |
| $ | ln -s sampledir otherdir | sampledirディレクトリのシンボリックリンクであるotherdirディレクトリを作成する。 |
| $ | cat /etc/hosts | /etc/hostsファイルの内容を表示する。 |
| $ | less /etc/services | /etc/servicesファイルをページビューワーで開く。 |
| $ | locate nginx | 「nginx」という名前が含まれるファイルをファイル名データベースから検索する。 |
| $ | chmod 644 sample | sampleファイルのパーミッションを644に設定する。 |
| $ | chmod a+x sample | sampleファイルに実行権を追加する。 |
| $ | chmod -R o-w sampledir | sampledirディレクトリ以下のパーミッションから、その他ユーザーの書き込み権限を削除する。 |
| # | chown apache sample.html | sample.htmlファイルの所有者をapacheにする。 |
| # | chown apache:apache sample.html | sample.htmlファイルの所有者をapacheに、所有グループをapacheにする。 |
| # | chown -R apache html | htmlディレクトリ以下の所有者をapache、所有グループをapacheにする。 |
| # | chgrp apache sample.html | sample.htmlファイルの所有グループをapacheにする。 |
| $ | file sample | sampleファイルの種別を表示する。 |
| $ | find -name "*.txt" | カレントディレクトリ以下から拡張子が「.txt」のファイルを検索する。 |
| $ | find -name "*.txt" -mtime +30 | 上記に加え、最終更新日が30日以上前である条件で検索する。 |
| $ | find /tmp -type f -user happy -exec rm {} \; | /tmpディレクトリ内のファイルで所有者がhappyのものを削除する。 |
| $ | touch sample | サイズが0のsampleファイルを作成する。ファイルが存在すればタイムスタンプを更新する。 |
| $ | touch -t 201601312345 sample | sampleファイルのタイムスタンプを2016年1月31日23時45分にする。 |
プロセス・ジョブ管理コマンド
| コマンド | 説明 |
| $ | jobs | 実行中のジョブを表示する。 |
| $ | jobs -l | 実行中のジョブをPIDとともに表示する。 |
| $ | fg %1 | ジョブID1番のジョブをフォアグラウンドで実行する。 |
| $ | bg %1 | ジョブID1番のジョブをバックグラウンドで実行する。 |
| $ | kill 20000 | PIDが20000のプロセスを終了する。 |
| $ | kill -9 20000 | PIDが20000のプロセスを強制終了する。 |
| $ | kill -l | シグナルを一覧表示する。 |
| $ | killall vim | vimプロセスをすべて終了する。 |
| # | killall -HUP named | namedプロセスに設定ファイルを再読込させる。 |
| $ | nice -n 10 du -s /pub/* | 優先度を下げてduコマンドを実行する。 |
| $ | pgrep ssh | プロセス名にsshが含まれるプロセスのPIDを表示する。 |
| $ | pgrep -l ssh | プロセス名にsshが含まれるプロセスのPIDとプロセス名を表示する。 |
| $ | pgrep -t pts/1 | 仮想端末pts/1から起動しているプロセスを表示する。 |
| $ | ps aux | システム上のすべてのプロセスを表示する。 |
| $ | pstree -p | プロセスをツリー状に表示する(PIDも表示する)。 |
| $ | top | プロセスとシステム状況をモニタする。 |
ファイル圧縮展開コマンド
| コマンド | 説明 |
| $ | gzip sample | sampleファイルをgzipで圧縮する。 |
| $ | gunzip sample.gz | sample.gzファイルを解凍する。 |
| $ | bzip2 sample | sampleファイルをbzip2で圧縮する。 |
| $ | bunzip2 sample.bz2 | sample.bz2ファイルを解凍する。 |
| $ | xz sample | sampleファイルをxz(7zip)で圧縮する。 |
| $ | xz -d sample.xz | sample.xzファイルを解凍する。 |
| $ | zip sample.zip sample | sampleファイルをzipで圧縮する。 |
| $ | unzip sample.zip | sample.zipファイルを解凍する。 |
| $ | tar czvf home.tar.gz /home | /homeディレクトリの圧縮アーカイブhome.tar.gzを作成する。 |
| $ | tar xzvf home.tar.gz | 圧縮アーカイブhome.tar.gzを展開する。 |
| $ | tar cjvf home.tar.bz2 /home | /homeディレクトリの圧縮アーカイブhome.tar.bz2を作成する。 |
| $ | tar xjvf home.tar.bz2 | 圧縮アーカイブhome.tar.bz2を展開する。 |
| $ | tar cJvf home.tar.xz /home | /homeディレクトリの圧縮アーカイブhome.tar.xzを作成する。 |
| $ | tar xJvf home.tar.xz | 圧縮アーカイブhome.tar.xzを展開する。 |
テキスト処理コマンド
| コマンド | 説明 |
| $ | grep httpd /etc/services | /etc/servicesファイルの中から「httpd」という文字列が含まれる行を抜き出して表示する。 |
| $ | head -5 Makefile | Makefileファイルの先頭5行を表示する。 |
| $ | tail -20 messages | messagesファイルの末尾20行を表示する。 |
| # | tail -f /var/log/messages | /var/log/messagesファイルの末尾を表示し続ける。 |
| $ | head /etc/passwd | /etc/passwdファイルの先頭10行を表示する。 |
| $ | head -20 /etc/passwd | /etc/passwdファイルの先頭20行を表示する。 |
| $ | tail /etc/passwd | /etc/passwdファイルの末尾10行を表示する。 |
| $ | tail -20 /etc/passwd | /etc/passwdファイルの末尾20行を表示する。 |
| # | tail /var/log/messages | /var/log/messagesファイルの末尾を表示し続ける。(ログ監視) |
| $ | rpm -qa | sort | インストール済みパッケージ名をソートして表示する。 |
| $ | iconv -f sjis -t utf8 sample.txt | ShiftJISで書かれたsample.txtファイルをUTF-8に変換して出力する。 |
| $ | lpr /etc/resolv.conf | /etc/resolv.confを印刷する。 |
| $ | wc sample | sampleファイルのバイト数、単語数、行数を表示する。 |
| $ | rpm -qa | wc -l | インストール済みパッケージの数を数える。 |
bashコマンド
| コマンド | 説明 |
| $ | alias | 設定済みのエイリアスを表示する。 |
| $ | alias ll='ls -l' | 「ls -l」のエイリアス「ll」を設定する。 |
| $ | unalias ll | エイリアス「ll」を削除する。 |
| $ | echo $PATH | 変数PATHの内容を表示する。 |
| $ | echo "1" > /proc/sys/net/ipv4/ip_forward | /proc/sys/net/ipv4/ip_forwardに「1」を書き込む。 |
| $ | export PATH | 変数PATHを環境変数にする。 |
| $ | export LANG=C | 変数LANGに値「C」を設定して環境変数にする。 |
| $ | export PATH=$PATH:/opt/bin | 変数PATHに「/opt/bin」を追加して環境変数にする。 |
| $ | printenv | 環境変数をすべて表示する。 |
| $ | set | シェル変数と環境変数を表示する。 |
| $ | type echo | echoが外部コマンドか組み込みコマンドか、エイリアスか関数かを調べる。 |
| $ | history | コマンド履歴を表示する。 |
| $ | history -c | コマンド履歴を削除する。 |
| $ | ps aux > ps.log | psコマンドの実行結果をps.logに保存する。 |
| $ | ps aux >> ps.log | psコマンドの実行結果をps.logに追記する。 |
| $ | ps aux | tee ps.log | psコマンドの実行結果をps.logに保存するとともに画面上に表示する。 |
ネットワークコマンド
| コマンド | 説明 |
| $ | telnet host.example.com | host.example.comにtelnetで接続する。 |
| $ | telnet host.example.com 80 | host.example.comの80番ポートに接続する。 |
| $ | ssh host.example.com | host.example.comにSSHで接続する。 |
| $ | ssh reika@host.example.com | host.example.comにreikaユーザーとしてSSHで接続する。 |
| $ | ssh -p 10022 host.example.com | host.example.comの10022番ポートにSSHで接続する。 |
| $ | ssh-keygen -t dsa | SSHの鍵ペアをDSAで作成する。 |
| $ | ssh-keygen -p | SSHのパスフレーズを変更する。 |
| $ | ssh-keygen -l -t dsa | DSA鍵のフィンガープリントを表示する。 |
| $ | lftp host.example.com | host.example.comにFTPで接続する。 |
| $ | mail happy@example.com | happy@example.com宛のメールを作成する。 |
| $ | df -h | mail -s diskuse admin@example.com | dfコマンドの実行結果を、admin@example.com宛にタイトル「diskuse」でメール送信する。 |
| $ | scp sample host.example.com: | sampleファイルをhost.example.comのホームディレクトリ内にリモートコピーする。 |
| $ | scp happy@host.example.com:/tmp/sample . | happyユーザーとしてhost.example.comに接続し、/tmp/sampleファイルをローカルディレクトリにリモートコピーする。 |
| $ | ssh-agent bash | ssh-agentでbashを利用する。 |
| $ | ssh-add | ssh-agentで利用する秘密鍵のパスフレーズを入力する。 |
| $ | wget http://www.example.com/sample | http://www.example.com/sampleファイルをダウンロードする。 |
| $ | wget -r http://www.example.com/main | http://www.example.com/mainディレクトリ以下をダウンロードする。 |
ネットワーク管理コマンド
| コマンド | 説明 |
| $ | dig www.example.com | www.example.comのIPアドレスをDNSサーバに問い合せる。 |
| $ | dig -x 192.168.1.30 | 192.168.1.30に対応するホスト名をDNSサーバに問い合せる。 |
| $ | dig example.com mx | example.comドメインのメールサーバ(MXレコード)を調べる。 |
| $ | host www.example.com | www.example.comのIPアドレスをDNSサーバに問い合せる。 |
| $ | host 192.168.1.30 | 192.168.1.30に対応するホスト名をDNSサーバに問い合せる。 |
| $ | host -t mx example.com | example.comドメインのメールサーバ(MXレコード)を調べる。 |
| $ | ip addr show | IPアドレスなどネットワークインターフェースの情報を表示する。 |
| # | ip addr add 192.168.1.30/24 dev eth1 | ネットワークインターフェースeth1に192.168.1.30/24を割り当てる。 |
| # | ip link set eth1 up | ネットワークインターフェースeth1を有効にする。 |
| # | ip link set eth1 down | ネットワークインターフェースeth1を無効にする。 |
| $ | ss -at | 開いているTCPポートを表示する。 |
| $ | ss -atun | 開いているTCP/UDPポートを、名前解決せず表示する。 |
| # | ss -atp | 開いているTCPポートとプロセス名を表示する。 |
| # | ntpdate pool.ntp.org | NTPを使ってシステムクロックを正確に合わせる。 |
| # | ntpq -p | NTPの問い合せ状況を確認する。 |
| $ | ping host.example.com | host.example.comの疎通確認をする。終了はCtrl+C。 |
| $ | ping -c 4 host.example.com | host.example.comの疎通確認をする。ICMPパケットを4回送ったら終了する。 |
| $ | ip route show | ルーティングテーブルを表示する。 |
| # | ip route add default via 192.168.11.1 | ルーティングテーブルにデフォルトゲートウェイを追加する。 |
| # | traceroute host.example.com | host.example.comまでに通過するルータを表示する。 |
| # | iptables -L | パケットフィルタリングの設定を表示する(IPv4)。 |
| # | ip6tables -L | パケットフィルタリングの設定を表示する(IPv6)。 |
システム管理コマンド
| コマンド | 説明 |
| $ | at 23:15 | 23時15分に実行するジョブを予約する。 |
| $ | at 4:30 tomorrow | 明日の4時半に実行するジョブを予約する。 |
| $ | crontab -e | スケジュールを登録する。 |
| $ | crontab -l | 登録済みのスケジュールを表示する。 |
| $ | crontab -r | 登録済みのスケジュールをすべて削除する。 |
| $ | systemctl list-unit-files --type=service | サービスの自動起動設定を表示する。 |
| # | systemctl enable httpd | システム起動時にhttpdサービスを自動的に起動する。 |
| # | systemctl disable httpd | システム起動時にhttpdサービスを自動的に起動しないようにする。 |
| # | systemctl start httpd | httpdサービス(Apache)を起動する。 |
| # | systemctl restart httpd | httpdサービス(Apache)を再起動する。 |
| # | systemctl is-active httpd | httpdサービス(Apache)の状態を確認する。 |
| # | systemctl stop httpd | httpdサービス(Apache)を終了する。 |
| # | date 012308302016 | システムクロックを2016年1月23日8時30分にセットする。 |
| $ | lsmod | ロードされているカーネルモジュールを表示する。 |
| # | lsof /var/log/messages | /var/log/messagesファイルを開いているプロセスを表示する。 |
| # | lsof -c rsyslogd | rsyslogdプロセスが開いているファイルを表示する。 |
| # | lsof -i:631 | 631番ポートを開いているプロセスを表示する。 |
| $ | modinfo sr_mod | sr_modカーネルモジュールの情報を表示する。 |
| # | modprobe sr_mod | sr_modモジュールをロードする。 |
| # | modprobe -r sr_mod | sr_modモジュールをアンロードする。 |
| # | shutdown -r now | ただちにシステムを再起動する。 |
| # | shutdown -h +10 | 10分後にシステムをシャットダウンする。 |
| # | shutdown -r 23:00 | 23時にシステムを再起動する。 |
| # | shutdown -c | シャットダウンの予定をキャンセルする。 |
| $ | uname -a | システム情報を表示する。 |
| # | updatedb | locateコマンド用のファイル名データベースを更新する。 |
| $ | hostname | ホスト名を表示する。 |
| $ | lspci | PCIデバイスの情報を表示する。 |
| $ | lsusb | USBデバイスの情報を表示する。 |
| $ | dmesg | カーネルの出力メッセージを表示する。(起動メッセージなど) |
| $ | ldd /bin/zsh | /bin/zshの実行に必要な共有ライブラリを表示する。 |
| $ | free -m | メモリの使用状況をMバイト単位で表示する。 |
| # | hwclock --show | ハードウェアクロックを表示する。 |
| # | hwclock --systohc | システムクロックをハードウェアクロックに書き込む。 |
| # | hwclock --hctosys | ハードウェアクロックをシステムクロックに書き込む。 |
ユーザー管理コマンド
| コマンド | 説明 |
| $ | id | 自分のUID、プライマリグループ、所属グループを表示する。 |
| $ | id madoka | madokaユーザーのUID、プライマリグループ、所属グループを表示する。 |
| $ | groups | 所属しているグループを表示する。 |
| $ | last | 過去のログイン・ログアウト履歴を表示する。 |
| $ | last sayaka | sayakaユーザーのログイン・ログアウト履歴を表示する。 |
| # | lastlog | ユーザーごとの最終ログイン日時を一覧表示する。 |
| # | lastlog -t 7 | 最近7日以内の最終ログイン日時を表示する。 |
| $ | users | ログイン中のユーザーを表示する。 |
| # | useradd yayoi | yayoiユーザーを追加する。 |
| # | useradd -s /sbin/nologin apache | ログイン不可のユーザーapacheを作成する。 |
| # | userdel joker | jokerユーザーを削除する。 |
| # | userdel -r joker | jokerユーザーをホームディレクトリごと削除する。 |
| # | groupadd develop | developグループを追加する。 |
| # | groupdel develop | developグループを削除する。 |
| $ | passwd | 自身のパスワードを変更する。 |
| # | passwd akane | akaneユーザーのパスワードを設定する。 |
| # | chage reika | reikaユーザーのパスワード期限などを変更する。 |
| # | visudo | sudoコマンドを扱えるユーザーを管理する。 |
| $ | w | ログイン中のユーザーとユーザーが実行しているコマンドを表示する。 |
| $ | who | 現在ログインしているユーザーを表示する。 |
ファイルシステム管理コマンド
| コマンド | 説明 |
| $ | df | ファイルシステムごとのディスク使用量を表示する。 |
| $ | df -H | 見やすい単位で表示する(1G=1000MiB) |
| $ | df -h | 見やすい単位で表示する(1G=1024MB) |
| $ | df -i | 容量ではなくiノードの使用状況を表示する。 |
| $ | du -c $HOME | ホームディレクトリ以下の各ディレクトリの容量および合計を表示する。 |
| $ | du -m ~/src | ~/srcディレクトリ内のファイルし容量をMB単位で表示する。 |
| # | du -s /* | /ディレクトリ直下の各ディレクトリのファイル使用量を表示する。 |
| # | eject | デフォルトの光学ドライブをイジェクトする。 |
| # | eject /media/cdrom | /media/cdromをイジェクトする。 |
| # | eject -t | 光学ドライブのトレイを収納する。 |
| # | fsck -y /dev/sda1 | /dev/sda1のファイルシステムをチェックし、自動的に修復する。 |
| # | mke2fs -t ext4 /dev/sda5 | /dev/sda5にext4ファイルシステムを作成する。 |
| $ | mount | マウントされているファイルシステムを表示する。 |
| # | mount /dev/sda5 /home | /dev/sda5を/homeディレクトリとしてマウントする。 |
| # | mount -o loop cdrom.iso /mnt/cdrom | cdrom.isoイメージファイルを/mnt/cdromにマウントする。 |
| # | umount /media/cdrom | /media/cdromをアンマウントする。 |
パッケージ管理コマンド
| コマンド | 説明 |
| $ | rpm -qa | インストール済みの全パッケージ名を表示する。 |
| $ | rpm -q httpd | httpdパッケージがインストールされているか確認する。 |
| $ | rpm -qi httpd | httpdパッケージの情報を表示する。 |
| $ | rpm -ql httpd | httpdパッケージからインストールされたファイルを表示する。 |
| $ | rpm -qlp httpd-2.4.6-45.el7.centos.x86_64.rpm | httpdパッケージからインストールされるファイルを表示する。 |
| $ | rpm -qc httpd | httpdパッケージからインストールされた設定ファイルを表示する。 |
| $ | rpm -qd httpd | httpdパッケージからインストールされたドキュメントを表示する。 |
| # | rpm -ivh httpd-2.4.6-45.el7.centos.x86_64.rpm | httpdパッケージをインストールする。 |
| # | rpm -Fvh httpd-2.4.6-45.el7.centos.x86_64.rpm | httpdパッケージをアップデートする。 |
| # | rpm -e httpd | httpdパッケージをアンインストールする。 |
| $ | yum info nginx | nginxパッケージの情報を表示する。 |
| $ | yum search nginx | パッケージ名に「nginx」が含まれるパッケージをリポジトリから検索する。 |
| # | yum check-update | アップデート可能なパッケージをリストアップする。 |
| # | yum update | すべてのパッケージをアップデートする。 |
| # | yum update httpd | httpdパッケージをアップデートする。 |
| # | yum install httpd | httpdパッケージをインストールする。 |
| # | yum remove httpd | httpdパッケージをアンインストールする。 |
| $ | yum list | リポジトリ上のすべてのパッケージをリスト表示する。 |
| $ | yum grouplist | パッケージグループをリスト表示する。 |
| # | yum groupinstall "GNOME Desktop Environment" | 「GNOME Desktop Environment」パッケージグループをインストールする。 |
| $ | yumdownloader httpd | httpdパッケージをダウンロードする。 |
2016/12/31 ©Yoshikazu Nakajima ver.1.02