先週、Linuxハンズオンシリーズを開始して、Linuxとは何か、Linuxがどのように機能するかを読者に知らせ、教育すると同時に、ターミナルコマンドを試して手を汚すことを確認する構造化シリーズを作成しました。
シリーズの最初の部分で述べたように、シリーズ全体が毎週論理的に進行します。 つまり、この部分は、最初の部分を実行してすべてのコマンドを試した場合、または次の場合にのみ意味があります。 Linuxに関する基本的な知識 そしてそれを回避することができます。 これらの概念に精通していない場合は、 最初の部分を読む、そしてあなたはすぐに飛び込むことができます。
今週の投稿では、前の投稿で取り上げた内容に基づいて、より複雑なことを行う方法を説明します。 Linuxでファイルを編集する方法などの質問がある場合は、 Linuxなどでプロセスを表示する方法。この投稿はそれらに答えます。 それで、これ以上時間を無駄にすることなく、コマンドに直接取り掛かりましょう。
コマンドをセクションに分割して、コマンドをXNUMXつずつ確認できるようにします。
何を学びますか
- ファイル処理
- パターンマッチング
- プロセス:表示と強制終了
- テキストファイルの編集
さて、これで基本的な構造がレイアウトされたので、それらをXNUMXつずつ見ていきましょう。
前回の投稿では、Linuxでファイルを作成する方法とそれらを削除する方法を学ぶ必要がありました。 その上に構築して、最初にファイルの内容を表示する方法を見てみましょう。
catコマンド
ファイルの内容を表示するには、catコマンドを使用します。 このコマンドの教科書の定義は次のとおりです。– catコマンドはファイルを順番に読み取り、出力を標準出力に出力します。 簡単に言うと、ファイルがファイルの内容をXNUMX行ずつ出力することを意味します。
例を使用して、catコマンドがどのように機能するかを見てみましょう。
構文は次のとおりです。
猫のファイル名
置き換える ファイル名 あなた自身のものと。 以下に示すように、コマンドはファイルghost.txtの内容をXNUMX行ずつの形式で出力しました。

ファイルの内容を表示する方法がわかったので、エディターを使用せずに、ターミナルから直接ファイルに内容を実際に追加する方法を学びましょう(すぐに来るので心配しないでください)。
Linuxのリダイレクト演算子
追加できる方法のXNUMXつ (上書きまたは追加) ファイルの内容は、リダイレクト演算子のXNUMXつを使用することによって行われます。 簡単に言うと、リダイレクト演算子を使用すると、ユーザーはコマンドの入力と出力を制御できます。
その中であなたの頭を吹き飛ばした、ここにもっと関連性のある例があります。 echoコマンドが何をしたか覚えていますか? ターミナルに文字列を印刷しました。 文字列はechoコマンドの出力でした。 リダイレクト演算子のXNUMXつを使用することにより、実際にその出力を使用してファイルに書き込むことができます。
十分な話ですが、リダイレクト演算子がどのように機能するかを例で見てみましょう。
リダイレクト演算子の構文は次のとおりです。
コマンドredirection_operatorファイル
ここで、コマンドは文字列を出力する端末コマンドであり、ファイルはその出力を受け入れる実際のファイルです。 使用可能なリダイレクト演算子はいくつかありますが、範囲をファイルへの書き込みに限定しましょう。
これを行うには、XNUMXつのリダイレクト演算子のいずれかを使用できます。 > および >>
次のスクリーンショットでは、それがどのように機能するかを見ることができます。 ターミナルで、catコマンドを使用してファイルが最初は空であることを示し、次にechoコマンドを使用してファイルにコンテンツを追加し、最後にcatコマンドを使用してコンテンツを出力しました。
> 演算子は上書きモードで動作します。 これは、 > ファイルにコンテンツを書き込む演算子、 以前の内容は上書きされます。 これは、以下のスクリーンショットに示されています。 ご覧のとおり、以前のコンテンツは新しいコンテンツに置き換えられました。

ここで明らかな問題は、既存のコンテンツを置き換えたくない場合はどうなるかということです。 さて、まさにそれを行うリダイレクト演算子のバージョンがあります。
>を使用する代わりに、ファイルに追加するために使用します >>
構文は次のとおりです。
コマンド>>ファイル名
そして、以下のスクリーンショットで使用例を見ることができます。コンテンツが追加されました。 かなりきちんとしていますよね? テキストエディタと同じ柔軟性を提供しないことに同意しましたが、小規模なユースケースでは、仕事をかなりうまくやり遂げます。

よし、一緒に移動します!
ファイルにコンテンツを追加する方法とそれらを表示する方法がわかったので、ファイルシステムでファイルを見つける方法を学びましょう。
コマンドを見つける
ファイルシステム内のファイルを検索するには、findコマンドを使用します。 コマンドは基本的にそれが行うと主張することを行います。 指定されたファイル名または正規表現パターンを検索します。
同じものの基本的な構文は次のようになります。
パス名の式を見つける
いつものように、プレースホルダーを独自の値に置き換えます。
path 指定されたファイルを検索するディレクトリをfindコマンドに指示します。 NS 名 オプションは、検索を照合する必要があるパターンを指定します。
サンプルの使用法でfindコマンドがどのように機能するかを見てみましょう。

以下のサンプル出力に示されているように、コマンドは任意のものを探します .exeファイル ファイルシステム内のファイルをコンソールに出力します。これで、より複雑な操作コマンドがいくつか用意されたので、さらに一歩進んでみましょう。
次に、ファイル内のものを検索する方法を見ていきます。
grepコマンド
grepはの略です グローバル正規表現 これについては今後の投稿で取り上げますが、その意味の基本的な説明は、grepが文字列をチェックして一致するものを見つけるために使用する単なるテンプレートであるということです。 それがあまり意味をなさなくても心配しないでください。 パート3で詳しく説明します。
では、grepをテストしてみましょう。 テストの構文は次のとおりです。
grep -i "一致する文字列" filename.extension
- 私 オプションはgrepに大文字と小文字を区別しないように指示するため、「HO」、「ho」、「hO」は同じと見なされます。 照合する文字列は引用符で囲まれ、その後にファイル名が続きます。

さて、デモでgrepコマンドがどのように表示されるかを見てみましょう。上記のように、私の例は、大文字と小文字を区別するモードと大文字と小文字を区別しないモードの両方でのgrepの使用法を示しています。
この時点で、コマンドにはnの異なる組み合わせがあり、それに伴ういくつかのオプションがあることに注意してください。 私がここで行っているのは、ほとんどの単純なケースで機能する一般的な四捨五入されたユースケースを提供することですが、すべてを実行したい場合は、コマンドで確実に実行して、指図。
次に、2つの異なるファイルをXNUMX行ずつ実際に比較する方法を見てみましょう。
diffコマンド
2つのファイルがどのように異なるかを確認するために(取得しますか?)、diffコマンドを使用します。 それが実際にどのように機能するかを理解するためにそれが実際に動作しているのを見る方が良いので、すぐに始めましょう。
diffコマンドの構文は次のとおりです。
差分ファイル1 ファイル2
そして、diffLinuxコマンドの使用例を次に示します。

一見、完全に意味がないかもしれないので、出力を分解してみましょう。
diff出力の最初の行には次のものが含まれます。
- 最初のファイルに対応する行番号
- 文字(追加の場合はa、変更の場合はc、削除の場合はd)
- XNUMX番目のファイルに対応する行番号。
上記の出力では、 「1,3c1」 手段: 「最初のファイルの1行目から3行目は、1番目のファイルのXNUMX行目と一致するように変更する必要があります。」 次に、各ファイルのこれらの行が何であるかを示します。
- <が前に付いた行は、最初のファイルの行です
- >が前に付いている行は、XNUMX番目のファイルの行です。
次に、特定のファイルで繰り返される行を見つける方法を見ていきます。
uniqコマンド
uniqコマンドは、繰り返される行とその数およびその他の同様の詳細を見つけるために使用されます。 あなたがそれを管理する場合、それはファイル内の繰り返される行を除外または報告するために使用されると言います。 ほとんどすべてのコマンドと同様に、uniqコマンドにもそれに伴うオプションがたくさんあります。
ただし、簡潔にするため、またXNUMXつのコマンドについてあまり学習するのではなく、より多くのコマンドを学習できるようにするために、最小限の例を示します。manコマンドを使用してさらに掘り下げることができます。
了解しました。uniqコマンドの構文は次のとおりです。
uniq -optionsfilename
次に、Linuxのuniqコマンドがどのように機能するかを学ぶためのサンプルを見てみましょう。

サンプルを簡単に分解してみましょう。 NS -c オプションは、uniqコマンドに印刷するように指示します カウント 出力と次のオプションは ファイル名 それはuniqに供給されます。
上記の例でわかるように、繰り返された行の数(この場合は2)が出力されました。
これで、ファイルを回避できることを確認するために知っておく必要のあるすべてのコマンドが実行されますが、これまで取り上げなかった非常に重要な部分がXNUMXつあり、それはアクセス権に関するものです。
現実の世界では、すべてのファイルにグローバルな読み取り/書き込みアクセス権を持たせたくないので、誰でも歩いてファイルを編集できます。 特定のファイルは改ざんから保護する必要があります。 そこでアクセス制御が登場します。LinuxとUnixはどちらも、この次のコマンドで驚くほどうまく管理します。
chmodコマンド
chmodコマンドはchangemodeの略で、基本的にファイルへのアクセス方法とアクセス者を変更できます。
chmodの構文はかなり単純で、次のようになります。
chmod-optionsパーミッションファイル名
オプションとファイル名は詳しく説明する必要はありませんが、 パーミッション 一部には説明が必要です。
Linuxのファイルパーミッションは3を中心に展開します スコープ, ユーザー、 グループ、 および その他。 権限は3種類あります 読んだ、 書きます、 および 実行します。 つまり、各スコープには3つの権限があり、合計3セットのスコープにそれぞれ3つの権限があります。
これを念頭に置いて、chmodがどのように機能するかを示す使用例を次に示します。
chmod u = rwx、g = rx、o = r filename.txt
ここに u の略 user, g for グループヘッド および o for 他人。 そしてその = 記号は許可を割り当てるために使用されます 読み取り(r)、書き込み(w)、 および 実行(x) 各スコープに。 カンマは各割り当てを区切ります。

権限を割り当てるための省略形があり、XNUMX進表記を使用しています。 XNUMX進表記:
- 4は読み取りの略です
- 2は書き込みの略です
- 1は実行を表します
- 0は許可なしを表します
したがって、上記の表記によると、数 7 読み取り/書き込みおよび実行権限を付与します (4 + 2 + 1)。 それに応じて組み合わせることができます。XNUMX進表記を使用したユースケースの例を次に示します。
chmod 755 スターウォーズ.txt

このサンプルでは、starwarsファイルには次のものがあります。
- ユーザーの読み取り、書き込み、および実行のアクセス許可。
- グループの読み取りと実行。
- 他を実行します。
大丈夫! 投稿のファイル処理部分の終わりが近づいています。 この最後のコマンドを使用すると、ファイルをアーカイブ/圧縮できます。 ファイルのアーカイブは、ファイルの破損を防ぎながら、システム間で多数のファイルを移動する場合に便利です。
tarコマンド
tarコマンドはテープアーカイブの略で、アーカイブファイルの作成操作と抽出を可能にします。
コマンドがどのように機能するかを確認するためのコマンドの基本的な構文は次のとおりです。
tar -options filename1filename1…。 filenameN
いくつかのオプションを使用したサンプルの使用法を見てみましょう。 サンプルをいじってみて、それを自分で調べて、より興味深いユースケースを見つけることを強くお勧めします。
tar -c -fcompressed.zip ghost.txt starwars.txt

それを分解しましょう。 NS -c および -f コマンドは多くのリストのほんの一部ですが、これがその機能です。 NS -c オプションはコマンドに次のように指示します 新しいアーカイブを作成する および -f に使用されている ファイル名を指定します この場合はcompressed.zipであるアーカイブの場合、tarコマンドは次の場所にアーカイブを作成できます。 .zip、.tar、.rar およびその他の形式なので、ニーズに合ったものを選択してください
ファイルを圧縮する方法がわかったので、ファイルを抽出する方法を見てみましょう。 私たちは使用します -x および -f ファイルを抽出するためのtarコマンドのオプション -x オプションはtarに ファイルを抽出する および -f に使用されている ファイル名を指定します 以下の例に示すように:

了解しました。ついに投稿のファイル処理部分を通過しました。 やあ! あなたはここまで素晴らしい仕事をしました。 プロセスについて説明します。
Linuxの用語では、プロセスは現在実行中のプログラムであり、特定のタスクを実行します。 プロセスは動的であり、ユーザーがアプリケーションを切り替えると常に変化します。
Linuxのドキュメント プロセスについて非常に詳細に説明しているので、この投稿が終わったら読んでおくことをお勧めします。
プロセスとは何かがわかったので、それらを表示する方法を見てみましょう。
psコマンド
psコマンドを使用すると、マシンで現在実行されているプロセスを確認できます。 さまざまなオプションが付属していますが、現在rootとして実行されているすべてのプロセスを表示する最小限の使用法を次に示します。
構文は次のとおりです
ps -オプション
私たちの場合、 -u を表示するオプション rootとして実行されているプロセス。

プロセスを表示する方法がわかったので、プロセスを強制終了する方法を学びませんか?
コマンドを殺す
killコマンドは、コンピューターをログアウトまたは再起動せずに、特定のプロセスを強制終了または終了するために使用されます。 killコマンドは実際にはプロセスを強制終了するのではなく、プロセスにシグナルを送信するだけであり、シグナルはプロセスに何をすべきかを指示することに注意してください。 デフォルトでは、信号が指定されていない場合、信号 15 呼ばれます シグターム プロセスに送信され、これが失敗した場合、より強力なシグナルが送信されます 9シグキル はプロセスに送信されますが、ほとんどの通常のユースケースでは、プロセスを強制終了するために指定する必要があるのはそれだけです。 PID.
killコマンドの構文は次のとおりです。
[シグナルまたはオプション] PIDを強制終了します
そして、ここにデモがあります:

プロセスを強制終了するときは、十分に注意してください。 システムクリティカルなプロセスを強制終了すると、マシンが異常に動作する可能性があります。 ただし、それでも問題が解決しない場合は、システムをXNUMX回再起動して、通常の実行に戻すようにしてください。
さて、ターミナルコマンドでいくつかの理由を説明したので、ファイルに変更を加えたりコンテンツを追加したりする簡単な方法について話しましょう。 私たちは皆、Visual Studio CodeやAtomなどのテキストエディターを使用していますが、このシリーズの目的は、ターミナルを快適に快適に利用できるようにすることなので、ターミナル自体の基本的なエディターを調べてみませんか?
nanoコマンド
Nano(trust me)は Nano's YEARエディターは無料で軽量のオープンソースエディターであり、ターミナル内でファイルを編集できます。これは、使い慣れた通常のコマンドを使用する環境のようなネイティブテキストエディターです。
nanoを呼び出す/ nanoでファイルを開くには、次の構文でコマンドを入力します。
nanoファイル名
ファイルが存在する場合、nanoはそれを開き、存在しない場合は、その名前で新しいファイルを作成して開きます。 エディター自体はかなり最小限であり、その年長の(そして嫌われている)兄弟のVim / Viとは異なり、悪名高い難しいコマンドであなたを夢中にさせることはありません。 ファイル内を移動するには、通常の矢印キーを使用します。 コンテンツを削除するには、引き続きDelete / Backspaceキーを使用し、クリップボードを処理するには、使い慣れたCtrl + C、Ctrl + Vなどを使用します。

エディターは、画面の下半分にエディターを終了するなど、最もよく使用される操作をレイアウトします。 Ctrl + Xの使用を終了する前に、行った変更を保存するように求められます。 確かにVimはもっと長い間存在していましたが、私の個人的な意見では、それはヒッピー文化へのパスにすぎません。 Vimでプロになることから得られる最も多くのことは自慢をやめることであり、それはそれ自体で終わります。 Vimの使い方を学ぶために貴重な時間を無駄にする理由はまったくありません。 そうは言っても、ようやくパート2の終わりに到達しました。
中級ユーザー向けのLinuxコマンド:まとめ
Linuxハンズオンシリーズのパート2では、私たちが築いた基盤の上に構築しました 第1部。 ファイルの処理と操作を回避しました。 また、プロセスと呼ばれるまったく新しい概念と、それらを強制終了する方法も学びました。 そして、Nanoテキストエディタの概要でこの部分を締めくくりました。 今週はこれですべてです。 来週パート3で戻るまでは、この投稿で共有されているコマンドを試すのに十分な時間をとってください。 そこにあるコマンドの数に圧倒されないでください、これらのものが筋肉の記憶になるには長い時間がかかります。 それが起こるまで、実践的な経験はあなたの親友です。
マナス・チャウダリー
これらのLinuxシリーズをありがとうございます。 私はこれを完全に経験しました、そして私はそれが本当に役に立ちました。 特にビデオ。 記事をフォローするのが難しい場合があるので、ビデオをダウンロードして学びました。 今では、Linuxで何かを始めるのに十分な量のLinuxを知っていると感じています。 これらの投稿をありがとうございました。