Linuxでのmkdir、tar、killコマンドに関する4つの便利なヒント


私たちは、他の方法ではるかに優れた方法でタスクを実行できることがわかるまで、従来どおりタスクを実行し続けます。 Linuxのヒントとトリックシリーズの続きとして、さまざまな方法で役立つ以下の4つのヒントを紹介します。さあ!

以下に提案するように達成するディレクトリツリー構造。

$ cd /home/$USER/Desktop
$ mkdir tecmint
$ mkdir tecmint/etc
$ mkdir tecmint/lib
$ mkdir tecmint/usr
$ mkdir tecmint/bin
$ mkdir tecmint/tmp
$ mkdir tecmint/opt
$ mkdir tecmint/var
$ mkdir tecmint/etc/x1
$ mkdir tecmint/usr/x2
$ mkdir tecmint/usr/x3
$ mkdir tecmint/tmp/Y1
$ mkdir tecmint/tmp/Y2
$ mkdir tecmint/tmp/Y3
$ mkdir tecmint/tmp/Y3/z

上記のシナリオは、以下の1-linerコマンドを実行することで簡単に実現できます。

$ mkdir -p /home/$USER/Desktop/tecmint/{etc/x1,lib,usr/{x2,x3},bin,tmp/{Y1,Y2,Y3/z},opt,var}

確認するには、treeコマンドを使用できます。インストールされていない場合は、パッケージ「tree」をaptまたはyumすることができます。

$ tree tecmint

上記の方法を使用して、任意の複雑さのディレクトリツリー構造を作成できます。これは通常のコマンドに他なりませんが、 {} を使用してディレクトリの階層を作成していることに注意してください。これは、必要に応じて一般的にシェルスクリプトの内部から使用すると、非常に役立つ場合があります。

ABC
DEF
GHI
JKL
MNO
PQR
STU
VWX
Y
Z

このシナリオでは、通常のユーザーは何をしますか?

a。彼は最初に、できればtouchコマンドを使用して次のようにファイルを作成します。

$ touch /home/$USER/Desktop/test

b。彼はテキストエディタを使用してファイルを開きます。ファイルはnano、vim、またはその他のエディタです。

$ nano /home/$USER/Desktop/test

c。次に、上記のテキストをこのファイルに配置し、保存して終了します。

したがって、彼/彼女が費やした時間に関係なく、彼/彼女は上記のシナリオを実行するために少なくとも3つのステップが必要です。

賢い経験豊富なLinux-erは何をしますか?彼は以下のテキストをワンゴーで入力するだけで、すべて完了します。彼は各アクションを個別に行う必要はありません。

cat << EOF > /home/$USER/Desktop/test
ABC
DEF
GHI
JKL
MNO
PQR
STU
VWX
Y
Z
EOF

「cat」コマンドを使用して、ファイルとそのコンテンツが正常に作成されたかどうかを確認できます。

$ cat /home/avi/Desktop/test

このシナリオでは通常、2つのことを行います。

a。 tarボールをコピー/移動し、次のように宛先で抽出します。

$ cp firefox-37.0.2.tar.bz2 /opt/
or
$ mv firefox-37.0.2.tar.bz2 /opt/

b。/opt /ディレクトリにcdします。

$ cd /opt/

c。 Tarballを抽出します。

# tar -jxvf firefox-37.0.2.tar.bz2 

これは逆に行うことができます。

Tarballを現在の場所に抽出し、抽出したアーカイブを次のように必要な宛先にコピー/移動します。

$ tar -jxvf firefox-37.0.2.tar.bz2 
$ cp -R firefox/  /opt/
or
$ mv firefox/ /opt/

いずれの場合も、作業は2つまたは複数の手順で完了します。専門家は、次のように1つのステップでこのタスクを完了することができます。

$ tar -jxvf firefox-37.0.2.tar.bz2 -C /opt/

オプション-Cを使用すると、tarは指定されたフォルダー(ここでは/ opt /)にアーカイブを抽出します。

いいえ、それはオプション(-C)に関するものではありませんが、習慣に関するものです。 tarでオプション-Cを使用する習慣をつけてください。それはあなたの人生を楽にします。これからは、アーカイブを移動したり、抽出したファイルをコピー/移動したりせずに、TAR-ballをダウンロードフォルダーに残して、好きな場所に抽出してください。

最も一般的な方法では、最初にコマンド ps -A を使用してすべてのプロセスを一覧表示し、それをgrepでパイプライン化して、プロセス/サービス(apache2など)を次のように検索します。

$ ps -A | grep -i apache2
1006 ?        00:00:00 apache2
 2702 ?        00:00:00 apache2
 2703 ?        00:00:00 apache2
 2704 ?        00:00:00 apache2
 2705 ?        00:00:00 apache2
 2706 ?        00:00:00 apache2
 2707 ?        00:00:00 apache2

上記の出力は、現在実行中のすべてのapache2プロセスとそのPIDを示しています。次に、これらのPIDを使用して、次のコマンドを使用してapache2を強制終了できます。

# kill 1006 2702 2703 2704 2705 2706 2707

次に、次のように、「apache2」という名前のプロセス/サービスが実行されているかどうかをクロスチェックします。

$ ps -A | grep -i apache2

ただし、pgrepやpkillなどのユーティリティを使用して、より理解しやすい形式でそれを行うことができます。 pgrepを使用するだけで、プロセスに関する関連情報を見つけることができます。 apache2のプロセス情報を見つける必要があるとすると、次のようにするだけです。

$ pgrep apache2
15396
15400
15401
15402
15403
15404
15405

を実行して、pidに対してプロセス名をリストすることもできます。

$ pgrep -l apache2
15396 apache2
15400 apache2
15401 apache2
15402 apache2
15403 apache2
15404 apache2
15405 apache2

pkillを使用してプロセスを強制終了するのは非常に簡単です。強制終了するリソースの名前を入力するだけで完了です。私はあなたがここで参照したいと思うかもしれないpkillに関する投稿を書きました:https://www.tecmint.com/how-to-kill-a-process-in-linux/。

pkillを使用してプロセス(apache2など)を強制終了するには、次のことを行う必要があります。

# pkill apache2

以下のコマンドを実行することで、apache2が強制終了されたかどうかを確認できます。

$ pgrep -l apache2

プロンプトを返し、何も出力しません。これは、apache2という名前で実行されているプロセスがないことを意味します。

今のところ、私からは以上です。上記のすべてのポイントは十分ではありませんが、確かに役立ちます。毎回新しいことを学ぶためのチュートリアルを作成するだけでなく、「同じフレームでより生産的になる方法」を示したいと考えています。以下のコメントで貴重なフィードバックをお寄せください。接続を維持します。コメントを続けてください。