暗いターミナルウィンドウにコマンドを入力するのは時代遅れに思えるかもしれませんが、多くのコンピューターユーザーにとって、コンピューターが実行できるほぼすべてのタスクを実行するための最も効率的で、最もアクセスしやすく、最も明確な方法です。最近では、macOSやWindowsなどの非オープンプラットフォームにオープンソースコマンドを提供するすべてのプロジェクトのおかげで、ターミナルコマンドはLinuxやBSDユーザーだけでなく、すべての人に関係があります。平均的なPOSIXコンピューターに何千ものコマンドがインストールされていることを知って驚くかもしれませんが、もちろん、それらの多くは、少なくとも直接または定期的に使用することを意図したものではありません。一部のコマンドは他のコマンドよりも普遍的に有用ですが、端末を効果的に使用するために絶対に必要なコマンドはさらに少なくなります。
ターミナルユーザーが使用する可能性のある上位20のコマンドは次のとおりです。
cd
その他のLinuxリソース
- Linuxコマンドのチートシート
- 高度なLinuxコマンドのチートシート
- 無料のオンラインコース:RHELの技術概要
- Linuxネットワーキングのチートシート
- SELinuxチートシート
- Linuxの一般的なコマンドのチートシート
- Linuxコンテナとは何ですか?
- 最新のLinux記事
ターミナルの外では、アイコンをクリックして1つのフォルダーから別のフォルダーに移動しますが、ターミナルでは、cd
を使用します。 。 cd
コマンド。ディレクトリの変更の略です。 は、Linuxシステムを移動する方法です。これは、ある場所から別の場所への最速かつ最も直接的なルートです。
たとえば、デスクトップで、ホームディレクトリ(すべてのフォルダを保持する場所)からpresentations
というフォルダに移動する場合 、次に、最初にDocuments
を開く必要がある場合があります フォルダを開き、work
というフォルダを開きます 、次にprojects
フォルダ、次にconference
フォルダ、そして最後にpresentations
エキサイティングなLibreOfficeImpressスライドショーを含むフォルダー。それは多くのダブルクリックです。また、新しいウィンドウが表示される場所や、脳が追跡するための多くのウェイポイントによっては、画面上を移動することが多くなる場合があります。多くの人は、すべてを維持することで、この一見マイナーなタスクを回避します。 デスクトップ上。
ターミナルユーザーは、次のように入力するだけでこの問題を回避できます:
$ cd ~/Documents/work/projects/conference/presentations
経験豊富な端末ユーザーは、そのすべてを入力することすらしません。 タブを使用します それらの単語をオートコンプリートするためのキー。また、オートコンプリートに頼る必要がない場合もあります。代わりにワイルドカードを使用できます:
$ cd ~/Doc*/work/*/conf*/p*
pwd
バカルー・バンザイの言葉を借りれば、「どこへ行っても、そこにいるのです。」
それが正確にどこにあるかを把握する必要がある場合は、pwd
を使用します 指図。 pwd
印刷作業ディレクトリの略です そしてそれはまさにそれがすることです。 --physical
(または単に-P
一部の実装では)すべてのシンボリックリンクが解決された場所が表示されます。
$ pwd
/home/tux/presentation
$ pwd --physical
/home/tux/Documents/work/projects/conference/presentations
sed
sed
としてよく知られています 、ストリームエディタは強力な一括検索検索と置換 コマンドですが、正規のテキストエディタでもあります。紹介記事を読んで使い方を学び、高度なチュートリアルとチートシートでエキスパートになることができます。
grep
grep
コマンドは非常に普及しているため、動詞(「いくつかのファイルをgrepします」)および動名詞(「いくつかの出力をgrepします」)としてよく使用されます。これは、ログファイルを調べている場合でも、他のコマンドの出力を解析している場合でも、シェル内のテキストを解析する際の重要なコンポーネントです。これは、忙しいユーザーが特定の情報に集中するための方法です。コンピューティングの世界にどれだけのデータがあるかを考えると、それが人気のあるコマンドであることは不思議ではありません。紹介記事を読んでgrokgrepにアクセスし、チートシートをダウンロードしてください。
ファイル
file
を使用する ファイルに含まれるデータの種類を知る必要がある場合のコマンド:
$ file example.foo
example.foo: RIFF (little-endian) data, Web/P image [...]
$ file example.bar
example.bar: ELF 64-bit LSB executable, x86-64 [...]
file
もちろん、コマンドは魔法ではありません。ファイルがそれ自体を識別する方法に基づいて報告するだけであり、ファイルが間違っている、破損している、または偽装されている可能性があります。 hexdump
による厳密な検査 より確実になりますが、カジュアルに使用する場合は、file
コマンドは便利です。
awk
Awkは単なるコマンドではありません。それは文字通りのプログラミング言語です。無料のAwkebookをダウンロードして学習すれば、これまで不可能だと思っていたスクリプトを作成できます。
カール
curl
コマンドは、端末用の非対話型Webブラウザです。これは、WebおよびAPI開発者向けの開発ツールです。柔軟性のために複雑なコマンドですが、端末からネットワークサービスとスムーズにやり取りしたい場合は、学ぶ価値があります。
無料のcurl
をダウンロードしてください 虎の巻なので、多くのオプションを内部化できます。
ps
システムのリソースの管理は主にカーネル次第ですが、手動によるアプローチが必要な場合は、ps
があります。 指図。 ps
について学ぶ 私のモニターでは、procps-ngの記事を使用してLinuxシステムを使用しています。
猫
cat
コマンドはconcatenateの略です 、そして分割されたファイルを結合するのに一度は非常に便利でした(直感的にsplit
と呼ばれるコマンドを使用) )サイズ制限のため、いくつかの小さなファイルに分割します。今日、cat
head
を使用しない限り、テキストファイルの内容をすぐに参照できるように端末にダンプする方法として主に使用されます。 、tail
、more
、またはless
そのために。
ほぼ非推奨の本来の目的にもかかわらず、また他のいくつかのコマンドもその二次機能を実行しているにもかかわらず、cat
まだ便利なユーティリティです。たとえば、コピーの代用にすることができます(cp
)コマンド:
$ cat myfile.ogg > /backups/myfile.ogg
それはファイルの不便な目に見えない文字を明らかにすることができます。 タブ YAMLを壊す文字は、^I
として表示されます --show-tabs
を使用 オプション:
$ cat --show-tabs my.yaml
---
- hosts: all
tasks:
- name: Make sure the current version of 'sysstat' is installed.
dnf:
name:
^I- sysstat
^I- httpd
^I- mariadb-server
state: latest
--show-nonprinting
を使用して非印刷文字を表示できます 、行の終わりを--show-ends
でマークします 、--number
で行番号を指定します 、など。
検索
find
コマンドはファイルを見つけるのに役立ちますが、その多くのオプションのおかげで、さまざまなフィルターとパラメーターを持つファイルを見つけるのに役立ちます。私の紹介記事から基本を学びましょう。
そして、なぜ最も基本的なコマンドであるのか疑問に思っている場合は、謙虚なls
コマンドはこのリストに含まれていません。これは、find
の柔軟性によるものです。 。リストファイルを見つけることができるだけではありません:
$ find .
./bar.txt
./baz.xml
./foo.txt
[...]
長いリストを提供することもできます:
$ find . -ls
3014803 464 -rw-rw-r-- 1 tux users 473385 Jul 26 07:25 ./foo.txt
3014837 900 -rwxrwxr-x 1 tux users 918217 Nov 6 2019 ./baz.xml
3026891 452 -rw-rw-r-- 1 tux users 461354 Aug 10 13:41 ./foo.txt
[...]
これは技術的なことですが、知っておくべき巧妙なトリックです。
タール
BSDのtar
を引用して、Linuxコマンドについて冗談を言う人もいます。 構文。その評判にもかかわらず、tar
コマンドは実際には非常に直感的です。 tar.gzファイルの記事を解凍する方法を読んで、tar
をガタガタ鳴らす簡単な秘密を学びましょう。 コマンドオンデマンド。
多かれ少なかれまたはほとんど
ポケットベルはcat
のようなものです 、ただし、下にスクロールしてさらにスクロールするまで、画面の下部で出力を一時停止します。これは単純なアプリケーションですが、各実装には微妙な違いがあります。矢印キーまたはスペースバーでスクロールしますか?手動で終了する必要がありますか、それともページャーは表示されているファイルの最後で終了しますか?好みの検索動作は何ですか?お気に入りのポケットベルを選択して、.bashrc
に設定します !
sshとscp
OpenSSHは、リモートシステムへの安全な接続を支援するだけでなく、他のコマンドも有効にします。たとえば、多くのユーザーにとって、それは.ssh
です。 Gitリポジトリとスムーズにやり取りしたり、ウェブサイトに更新を投稿したり、クラウドのコントロールプレーンにログインしたりできるディレクトリ。
mv
mv
コマンドは二重の役割を果たします:ファイルを移動し、ファイルの名前を変更します。 --interactive
を含むいくつかの利用可能なセーフガードがあります および--no-clobber
既存のファイル、--backup
の破壊を回避するためのオプション 新しい場所で検証されるまでデータが保持されるようにするコマンド、および--update
古いバージョンが新しいファイルを置き換えないようにするオプション。
sudo
既知のユーザー名とすべての単一のユーザーがいる場合 システム上の特権、そのユーザーはすぐに攻撃の標的になります。リテラルのroot
の必要性を排除することによって ユーザー、sudo
コマンドは、システムに関する重要な情報を一般的な知識からエレガントに削除します。ただし、それだけではありません。 sudo
を使用 、個々のコマンド、ユーザー、およびグループに至るまでの特権を簡単に管理できます。パスワードなしで選択コマンドを実行したり、ユーザーセッションを記録したり、ダイジェスト検証を使用してコマンドを検証したりできます。
エイリアス
alias
を使用して、長いコマンドを覚えやすいショートカットに変換します コマンド:
$ alias ls='ls --classify --almost-all --ignore-backups --color'
クリア
時々あなたの端末は散らかってしまいます。 clear
と入力した後は、すてきで新鮮な画面に勝るものはありません。 (または Ctrl + Lを押す 一部のシェルで)。
setfacl
従来、POSIXファイルのアクセス許可はchown
によって決定されていました およびchmod
。ただし、システムはより複雑になっているため、もう少し柔軟性を提供するコマンドがあります。 setfacl
コマンドを使用すると、アクセス制御リスト(ACL)を作成し、任意のユーザーにアクセス許可を付与し、フォルダーとその中に作成されたコンテンツのデフォルトのアクセス許可を設定できます。
netcat
すべてのユーザーがnetcat(nc
)を必要とするわけではありません )、しかしそれを使用する人の中にはそれをあきらめたいと思う人はほとんどいません。 nc
コマンドは多目的ネットワーク接続ツールです。
telnet
と同様にポートに接続できます :
$ nc -u 192.168.0.12 80
ping
と同様に、ポートにpingを実行できます。 :
$ nc -zvn 192.168.0.12 25
nmap
と同様に、開いているポートをプローブできます :
$ nc -zv 192.168.0.12 25-80
そして、それはほんの小さなサンプルです。
あなた
Linuxターミナルは、部分的には、創造的な問題解決に関するものです。コマンドを学習すると、独自のコマンドを作成するために使用できるビルディングブロックも学習します。私のシェル履歴にあるコマンドの多くは、自分で作成したシェルスクリプトです。その結果、私のワークフローは私が働きたい方法に合わせてカスタマイズされています。シェルの重要なコマンドは、独自の有効性と快適さのために設計したものにすることもできます。時間をかけていくつかの優れたコマンドを理解してから、独自のコマンドを作成してください。そして、本当に良いものを見つけたら、それをオープンソースにして、アイデアを他の人と共有できるようにします!