はじめに
1年ほど開発案件にブランクがあるため、当時よく利用していたLinuxのコマンド集を自分用メモとして残すことにしました。
Linuxを利用しているエンジニアの方、これからLinuxを利用予定の方々のお力になれば幸いです。
✅ Linux基本コマンド早見表
よく使うLinuxコマンドを整理しました。
初心者の方の知識向上や業務中の確認などご活用いただければ幸いです。
📂 ファイル・ディレクトリ操作系コマンド
コマンド | 用途 | 使い方 | コマンドオプション |
---|---|---|---|
pwd |
現在のディレクトリを表示する | pwd [オプション] |
※ほとんど使わない |
cd |
指定したディレクトリに移動する | cd [ディレクトリ名] |
※ほとんど使わない |
ls |
ファイルやディレクトリを表示する | ls [オプション] [ファイル名] |
-l :詳細表示-a :隠しファイルを表示 |
touch |
ファイルを新規作成・タイムスタンプ更新 | touch [オプション] [ファイル名] |
-a :アクセス時刻更新-d :日時を指定-m :更新時刻変更 |
mkdir |
ディレクトリを作成する | mkdir [オプション] [ディレクトリ名] |
-m :パーミッション設定-p :親も作成 |
chmod |
ファイルのアクセス権限を変更する | chmod [オプション] [モード] [ファイル名] |
-R :ディレクトリを変更 |
rm |
ファイルを削除する | rm [オプション] [ファイル名] |
-f :強制削除-i :確認あり-r :ディレクトリおよびディレクトリ内のファイル削除 |
cp |
ファイルをコピーする | cp [オプション] [コピー元] [コピー先] |
-a :権限等も含めコピー-f :強制上書き |
find |
ファイルを検索する | find [ディレクトリ] [条件] [アクション] |
-empty :空ファイル対象-type :種類指定-size :サイズ指定-mtime :最終更新からの日数 など |
tree |
ディレクトリ構造をツリー形式で表示する | tree [オプション] [ディレクトリ] |
-L [階層数] :表示する階層を指定-a :隠しファイルも表示 |
📝 テキスト閲覧・編集系コマンド
コマンド | 用途 | 使用方法 | 主なオプション |
---|---|---|---|
cat |
ファイルの内容を表示する | cat [オプション] ファイル名 |
-n :行番号を表示-b :空行を除いて番号付け |
tail |
ファイルの末尾を表示する | tail [オプション] ファイル名 |
-n :末尾からの行数指定-f :追記を表示(ログ監視) |
head |
ファイルの先頭を表示する | head [オプション] ファイル名 |
-n :先頭からの行数指定 |
grep |
ファイルから特定の文字列を検索する | grep [オプション] パターン ファイル名 |
-i :大文字小文字を無視-r :再帰検索 |
vi |
Vimテキストエディタを起動する | vi [オプション] ファイル名 |
-R :読み取り専用で開く-b :バイナリモードで開く |
wc |
ファイルの内容を表示する | wc [オプション] ファイル名 |
-l :行数を表示する-w :単語数を表示する-c :バイト数を表示する |
📌 圧縮・解凍コマンド
tar
コマンドを用いることでファイルの圧縮・解凍が可能。
操作内容 | 用途 | 使用方法 |
---|---|---|
圧縮(tar) | ディレクトリをtarアーカイブ化 | tar -cvf [圧縮ファイル名(.tar)] [カレントディレクトリ] |
展開(tar) | tarファイルを展開 | tar -xvf [圧縮ファイル名(.tar)] |
圧縮(tar.gz) | gzip圧縮付きでアーカイブ | tar -czvf [圧縮ファイル名(.tar.gz)] [カレントディレクトリ] |
展開(tar.gz) | gzip圧縮を展開 | tar -xzvf [圧縮ファイル名(.tar.gz)] |
圧縮(tar.xz) | xz圧縮付きでアーカイブ | tar -cJvf [圧縮ファイル名(.tar.xz)] [カレントディレクトリ] |
展開(tar.xz) | xz圧縮を展開 | tar -xJvf [圧縮ファイル名(.tar.xz)] |
Linux ⇔ Windows間のファイル連携の際に圧縮を行ったりするので覚えておくと便利です。
tar
とtar.gz
(gzip)が主に使っていたのでtar.xz
はあんまり覚えなくてもいいかもです。(数回使ったことがある程度です)
容量・使用量確認コマンド
以下のdf
はディスク全体の空き容量の確認、du
はカレントディレクトリのサイズを確認が出来るコマンドです。
コマンド | 用途 | 使用方法 |
---|---|---|
df -h |
ディスク全体の使用状況を表示 | df -h |
du -sh |
カレントディレクトリの合計サイズ | du -sh [カレントディレクトリ] |
この2つのコマンドを組み合わせて、
① まずはdf -h
で全体の空き容量を把握
② 次にdu -sh
で特定のフォルダの容量を調査
といった流れで原因箇所の特定がスムーズになります。
-
df -h
はディスク全体の使用状況をざっくり確認するときに便利 -
du -sh
は特定フォルダのサイズをすぐ知りたいときに便利
開発時にテストデータが圧迫してしまう時や、ログファイルのローテーションの際によく使うコマンドです。
📌 コマンドを忘れた場合に使えるコマンド
コマンドの使い方を忘れてしまった場合はman
コマンドを入力し、コマンドの使用方法を表示する。
※オプション等も表示してくれるため便利
コマンド | 用途 | 使用方法 |
---|---|---|
man |
コマンドの使用方法を表示する | man [コマンド] |
※man
コマンドを閉じる際は、q
キー(quit)を押下する。
🔧 ターミナル操作のショートカットキー
以下にターミナル上でよく使うショートカットキーを載せておきます。
ショートカットキー | 用途 |
---|---|
Ctrl + A | カーソルを行頭に移動 |
Ctrl + E | カーソルを行末に移動 |
Ctrl + R | コマンドの履歴を参照 |
Ctrl + L | 画面クリア |
Ctrl + C | 実行中のコマンドを中断 |
Ctrl + Z | プロセスを一時停止(バックグラウンドへ) |
-
Ctrl + A / Ctrl + E
は長いコマンドを編集するときに便利です。
覚える優先度としては低めです。 -
Ctrl + R
は過去に使ったコマンドを素早く呼び出せるので、同じコマンドを何度も打つ必要がある時に利用します!
よく使うので覚えておくと便利です! -
Ctrl + L
は画面を一瞬でクリアして、作業スペースをスッキリさせたいときに使います。
私は「clear」キーを入力して画面を綺麗にしていたのであんまり使いませんでした。 -
Ctrl + C
は誤って動作が長引いたり、止めたいコマンドがあった際に必ず使います。
絶対覚えましょう。 -
Ctrl + Z
はコマンドを一時停止して、あとで再開したいときに使います。
バックグラウンドで処理したい場合に便利です!
🤦♂️Linuxを使っていて失敗した話
(1)Teratermを終了しようとしてshutdown
コマンドでサーバー自体を閉じてしまった
私の話しではないのですが、「〇〇さんが間違えてサーバーをシャットダウンしちゃいました!!」という話題が上がり、対策防止策と始末書を書く事態になってしまったことがありました。
私もその頃新人だったので、shutdown
コマンドは一生使わないようにしようと封印した記憶があります。
Teratermを終了する際はexit
で抜けましょう。
(2)ファイルを転送する際は、バイナリ形式で
WinSCPなどのファイル転送ソフトを使用する際に「Windows上では普通に使えるのに、Linuxだとファイルが壊れてる」ということがありました。
原因を調べたら、ASCIIモードで転送されてたことが発覚して改行コード等が勝手に変換されており、転送設定を見直したら転送モードが「自動」になっており、モジュールファイルを「.txt」と判断していたようでした。
「バイナリモード」に切り替えて再度サーバーにアップロードしたら正常に動作しました。
(3)Ctrl + C
を連打して時間がかかる処理を止めてしまった
処理に時間かかっており、「あれ?フリーズしてるのか?」って思ってCtrl + C
を連打。
実はバックアップ中で、途中で止めちゃってファイルが一部だけ残った状態に。
Ctrl + C
は便利だけど、「様子見3秒ルール」を自分に課すことにしました。
余談ですが、ターミナルを利用する場合はコピーはAlt + C
であることが多いので
誤ってCtrl + C
でプロセスを終了することがないように注意しましょう。
✅(補足)Linuxディレクトリ構造の概要
Linuxのルート配下ディレクトリ構造を理解しておくと、どの階層で使用するファイルか理解が深まるので補足知識として載せておきます。
ディレクトリ | 用途 |
---|---|
/bin |
ユーザー用の基本的な実行ファイル |
/boot |
OS起動に必要なファイル(カーネルなど) |
/dev |
デバイスファイル(ハードウェア) |
/etc |
設定ファイル(システム全体) |
/home |
各ユーザーのホームディレクトリ |
/lib |
ライブラリファイル |
/media |
外部メディアのマウントポイント |
/sbin |
管理者用のコマンド群 |
/opt |
サードパーティアプリのインストール先 |
/proc |
カーネルやプロセス情報(仮想ファイル) |
/usr |
ユーザー用アプリやライブラリ |
/var |
ログや一時ファイルなど変動データ保存先 |
📖参考にさせていただいたサイト
https://www.sejuku.net/blog/5465
https://www.sejuku.net/blog/51116