推奨されます, 2021

エディターズチョイス

知っておくべき40の必須Linuxコマンド

一般的なオペレーティングシステム、特にLinuxのコンテキストでは、「コマンド」という用語は、コマンドラインアプリケーションまたはユーザーシェルに組み込まれた機能のいずれかを意味します。 ただし、エンドユーザーにとっては、この区別はほとんど意味がありません。 どちらも同じように使用されます。 端末エミュレータに単語を入力すると、その結果が出力されます。

この記事の目的は、 すべてのLinuxユーザーが知っておくべき 、または少なくとも知っておくべきテキストベースのインターフェースが恐ろしい場合のコマンドをいくつか列挙することです。 すべての便利なコマンドを一覧表示するのではなく、あまり知られていないユーティリティの一覧でもなく、マニュアルでもありません。 それは日常生活の中で最も有用なアプリケーションの報道を目指しています。

そのように、それは特定のタスクに対応して、いくつかのカテゴリに分けられます。 これは特定のディストリビューションを想定していません、そして記述されているすべてのプログラムがすべてのディストリビューションにデフォルトでインストールされるわけではありませんが、それらのほとんどは存在し、その他はリポジトリにあります。

ファイルシステム管理用のLinuxコマンド

1. ls

デフォルトでは、現在のディレクトリの内容を一覧表示します。 パスを指定すると、その内容が一覧表示されます。 知っておくと便利なオプションは、それぞれ-lと-aです。詳細情報を含む長いリスト形式で、隠し(ドット)ファイルを表示します。

単一のファイルを指定した場合は、その内容を標準出力に出力します。 複数のファイルを指定した場合は、それらが連結され、出力を新しいファイルにリダイレクトできます。 潜在的に有用なのは、行に番号を付ける-nオプションです。

3. cd

現在のディレクトリから指定されたディレクトリに移動できます。 引数なしで呼び出すと、ホームディレクトリに戻ります。 2つのドット(cd ..)で呼び出すと、現在のディレクトリの「上」のディレクトリに戻ります。ダッシュ(cd - )で呼び出すと、現在のディレクトリに対してどこにあるかに関係なく、前のディレクトリに戻ります。

4. pwd

現在のディレクトリを印刷します。 プロンプトにこの情報が含まれていない場合に便利で、コードを実行しているディレクトリへの参照を取得するためにBASHプログラミングで特に役立ちます。

5. mkdir

新しいディレクトリを作成してください。 最も便利なスイッチは-pで、指定された構造全体がまだ存在していなければ作成します。

6.ファイル

ファイルの種類を教えます。 Linuxのファイルはシステムが機能するための拡張子を持つ義務を負っているわけではないので(拡張子を持つことが常に役に立つわけではありません)、時々ユーザーがファイルの種類を知るのが難しいことがあります。

7. cp

ファイルとディレクトリをコピーします。 デフォルトではディレクトリを再帰的にコピーしないので、-rまたは-aを使用することを忘れないでください。 後者は、再帰的なコピーに加えて、モード、所有権、およびタイムスタンプ情報を保持します。

8. mv

ファイルとディレクトリを移動または名前変更します。 基本的に、移動と名前の変更は1つの操作です。名前の変更は、単一のファイルを別の名前で同じ場所に「移動」することです。

9. RM

ファイルとディレクトリを削除します。 あなたがそれなしでクラッタを削除することはできませんので確かに知っておくと便利なコマンドです。 ただし、使用するときは注意してください。 今日ではシステムに何らかのダメージを与えるために実際にそれに取り組まなければならないでしょうが、それでもあなた自身にダメージを与えることができます - rmはあなたが作ったことを知ったときあなたが後でそこからそれらを釣ることができるひどい間違いで、「宿題を食べた」と誰かを納得させることはできません。 ディレクトリを削除するには再帰的な操作が必要なので、もう一度-rスイッチを付けます。

10. ln

ファイル間にハードリンクまたはシンボリックリンクを作成します。 シンボリックリンクやソフトリンクは、Windowsのショートカットのようなもので、特定のファイルにアクセスするための便利な方法を提供します。類推は完全には当てはまりません。シンボリックリンクは何かを指すことができますが、メタデータは機能しません。 ハードリンクを使用することはほとんどありませんが、ファイル名のエイリアスであるシンボリックリンクとは対照的に、それらがファイルのエイリアスであることを知っていても問題ありません。

11. chmod

ユーザー権限を変更します。 これはファイルの表示、書き込み、実行を意味します。 一般ユーザーは、自分が所有するファイルに対する権限を変更することができます。

12. own

ファイルの所有権を変更します。 rootユーザーのみがファイルの所有者を変更できます。 ディレクトリ内のすべてのファイルの所有者を再帰的に変更するには、-Rとともに使用します。

13.見つける

ファイルシステムでファイルまたはディレクトリを検索します。 検索はその検索機能のためだけでなく、一致する(または一致しない、偶数でさえも)ファイルに対して任意のコマンドを実行できるため、Findは非常に用途が広く強力なコマンドです。

14.探す

findとは異なり、locateはupdatedbデータベースでファイル名パターンを検索します。 このデータベースにはファイルシステムのスナップショットが含まれています。 これはロケートを非常に高速にしますが、信頼性も低下させます - 最後のスナップショット以降に何かが変更されたかどうかはわかりません。

15.デュ

ファイルまたはディレクトリのサイズを表示します。 より有用なオプションの中には、報告されたサイズをより人に優しい形式に変換する-h、リスト全体ではなく要約のみを表示する-s、およびディレクトリの再帰の深さを制御する-dがあります。

16. df

ディスク使用量を表示します。 デフォルトの出力で十分です - すべてのファイルシステムを一覧表示し、そのサイズと使用されているスペースと利用可能なスペースの量をレポートします - しかし、-hを付け加えたいと思うかもしれません。

17. dd

マンページに従って、ファイルを変換してコピーします。 まさに最も明確で最も有用な説明ではありませんが、それでもddがすべてです。 あなたはそれにソースと宛先、そしてオプションで他のいくつかのコマンドを与え、そしてそれは一方から他方へコピーします。 その強みは、その柔軟性から来ています - 正確なブロックサイズを教えてくれ、破損したデータをコピーすることができ、そしてデバイスについては気にしていません - ハードドライブを/ dev / zeroから直接ゼロで上書きしたいなら、よろしくお願いします。 ハイブリッドISOイメージからライブUSBスティックを作成するためにもよく使用されます。

18.マウント/アンマウント

このペアはファイルシステムのマウントとマウント解除の面倒を見ます。 これはUSBメモリからISOイメージまでさまざまです。 通常はrootだけがマウント特権を持っています。

テキスト処理用のLinuxコマンド

19.もっと/もっと

これら2つの同様のユーティリティを使用すると、画面いっぱいにまとまったテキストを表示できます。 あるコマンドからの非常に長い出力を想像してください。 たぶん、あなたはファイルでcatを呼び、あなたの端末エミュレータはすべてのテキストをスクロールするのに数秒かかった。 さて、あなたがこれらのうちの1つにそれをパイプするなら、あなたは今あなたの余暇にそれをスクロールすることができます。 少ないほど新しく、より多くのオプションが提供されるため、もっと使用する理由はありません。

頭/尾

別のペア、しかしここで両方の半分には用途があります。 Headはファイルの最初の( "head")行を出力し、tailはファイルの最後の( "tail")行を出力します。 デフォルトの数は10ですが、これは-nオプションで制御できます。 もう1つの便利なスイッチは-fです。これは「follow」の略で、追加された行を継続的に出力します。たとえば、ログファイルを常に開いたり閉じたりするのではなく監視する場合は、「tail -f」を使用できます。 / path / to / logfile」を参照してください。

21. grep

Grepは、すべての優れたUnixツールと同様に、1つのことを行いますが、それはうまくいきます。 テキストからパターンを検索します。 デフォルトでは標準入力を調べますが、検索するファイルを指定できます。 パターンは通常の文字列または正規表現です。 一致する行または一致しない行、およびそれらのコンテキストを出力できます。 必要のない多くの情報を出力するコマンドを実行するたびに、それをgrepにパイプインしてその魔法を実行させてください。

並べ替え

さまざまな基準でテキスト行を並べ替えます。 もっと便利なものの中には、文字列の数値でソートする-nと、出力を反転させる-rがあります。 これが便利になる可能性がある場所の例は、出力をソートすることです。たとえば、サイズに従ってファイルを降順にソートしたい場合は、2つのオプションを組み合わせます。

23.トイレ

コマンドラインワードカウントユーティリティ。 そしてラインカウント。 そしてバイトカウント。 そして文字カウント。

24. diff

行ごとの比較によって2つのファイル間の違いを表示します。 変更された行だけが表示され、cとして変更され、dとして削除され、aとして追加されます。

プロセス管理用のLinuxコマンド

25.殺す/ xkill / pkill / killall

これらすべてがプロセスを「殺す」、すなわちプロセスを終了させるのに役立ちます。 違いは入力として受け入れるものです。 KillはプロセスIDを要求しますが、xkillはウィンドウをクリックして閉じることができます。一方、killallとpkillはプロセスの名前を受け入れますが、オプションが異なり、動作が微妙に異なります。 これらは同じパッケージに属していないことに注意してください、そしてxkillは特にデフォルトでインストールされる可能性が低いです。 ご自身の都合でそれを修正することをお勧めします。

26.ps / pgrep

前述のように、killにはプロセスIDが必要です。 これを取得する1つの方法は、現在アクティブなプロセスに関する情報を表示するpsを使用することです。 デフォルトの出力はあまり便利ではないので、システム上のすべてのプロセスに関する情報を表示するには、-eを付けてください。 これはスナップショットにすぎません。更新されません。トップを参照してください。 pgrepコマンドは次のように動作します。プロセス名を付けると、プロセスIDを渡します。 部分一致は重要なので注意してください。

27.トップ/トップ

これら2つは似ており、どちらも表示プロセスであり、コンソールシステムモニタと考えることができます。 ディストリビューションがデフォルトで出荷していない場合は、最初にhtopをインストールすることをお勧めします。これはtopの大幅に改善されたバージョンです。 初心者にとって、それは単なるビューアではありません - それはあなたがそのユーザーフレンドリーなコンソールGUIインターフェースを通してプロセスを制御することを可能にします。

28.時間

プロセスの時間を計る プログラム実行のストップウォッチと考えてください。 あなたが宿題のソートアルゴリズムの実装が内蔵のものと比べてどれくらい遅いかに興味があるなら、役に立ちます。 名前に基づいて予想されることとは反対に、時間を教えてくれるわけではありません。 そのための日付を参照してください。

BASHおよびユーザー環境用のLinuxコマンド

29. su / sudo

Suとsudoは同じことを実行する2つの方法 - 別のユーザーとしてコマンドを実行することです。 あなたのディストリビューションが何であるかに応じて、あなたはおそらくどちらか一方だけを見ましたが、両方とも修理可能です。 違いは、suは別のユーザーに切り替えますが、sudoは他のユーザーの特権でコマンドを実行するだけです。

30.デート

時間とは異なり、dateはあなたが期待する通りのことを正確に行います - 日付(と時間)を標準出力に出力します。 出力自体はあなたの仕様にフォーマットすることができます、そしてそれは年、月、日のような通常のものからすべてを取ります、
12または24時間形式からナノ秒およびISOの週番号。 たとえば、date + "%j%V"と入力すると、その年の日にISOの週番号が続きます。

31.エイリアス

このコマンドは、別名を作成するか、他のコマンドに変更します。 つまり、新しいコマンド(またはコマンドのグループ)に名前を付けるか、既存のコマンドを「名前変更」することができます。 頻繁に使用するコマンドの長い文字列を省略したり、それほど頻繁に使用しないで記憶に問題があるものにもっと覚えやすい名前を付けたりするのに非常に便利です。

32.うなじ

基本システム情報を出力します。 それ自体では、それほど便利なもの(「Linux」)は得られませんが、-aを付けて呼び出すと、カーネル情報が提供されるだけでなく、ホスト名とプロセッサアーキテクチャもわかります。

33.アップタイム

システムの稼働期間を教えてください。 厳密には重要な情報ではありませんが、自慢する権利と時折コンピュータに相対的なものを計算する状況に適しています。

34.寝る

なぜ、またはどのようにしてこれが便利になるのか疑問に思うかもしれませんが、BASHスクリプトの外でも、その用途があります。たとえば、一定時間後にコンピュータをシャットダウンしたい場合、または一時停止アラームとしても。

ユーザー管理用のLinuxコマンド

35. useradd、userdel、usermod

これらのコマンドを使用すると、ユーザーアカウントを追加、削除、および変更できます。 特にあなたがあなたのシステムの唯一のユーザであり、そうでなくても、あなたはGUIを通してこれをすることを選ぶかもしれませんが、彼らが何をしているのか知っているのは良いことです。急に必要になった場合に備えて

36.パスワード

このコマンドにより、ユーザーアカウントのパスワードを変更できます。 rootとして、通常のユーザーパスワードをリセットすることはできますが、表示することはできません。 パスワードを頻繁に変更することは、セキュリティ上好ましいことです。

LinuxコマンドFroヘルプ/ドキュメンテーション

37.男性/ワニス

manコマンドは、特定のコマンドのマニュアルを表示します。 ほとんどのコマンドラインアプリケーションにはmanページが付属しています。 Whatisは、マニュアルの関連セクションから抜粋した1行の要約を提供します。 マニュアルのセクションは何ですか? 「男男」で自分の目で確かめてください。

38. whereis

あなたのパスの中で実行可能なバイナリファイルがどこにあるかを教えてくれます。 マニュアルページとソースコードがあれば、それらも見つけることができます。

ネットワーク用のLinuxコマンド

39. ip

ネットワーク関連コマンドのリストが非常に短いように思われる場合は、おそらくipに精通していないでしょう。 つまり、ipconfig、netstatなどを含むnet-utilsパッケージは、iproute2パッケージを支持して非推奨になりました。 ipconfig、netstat、routeなどに代わるipコマンドが用意されています。これをネットワークのスイスアーミーナイフ、または不要な混乱と見なすこともできますが、いずれにしても未来です。

40. ping

pingはICMP ECHO_REQUESTデータグラムですが、重要ではありません。 重要なことは、pingユーティリティが便利な診断ツールであるということです。 ルータやインターネットに接続しているかどうかをすばやくテストし、その接続の品質をある程度示すことができます。

関連項目:10のLinuxデスクトップ環境

Top