ウェブサイト検索

Linux の mkdir、tar、kill コマンドに関する 4 つの役立つヒント


私たちは、別の方法でもっと良い方法でタスクを実行できることがわかるまで、従来どおりにタスクを達成し続けます。 Linux のヒントとコツ シリーズの続きとして、さまざまな面で役立つ以下の 4 つのヒントを紹介します。さぁ行こう!

1. 以下に示すような、長く複雑なディレクトリ ツリーを作成する必要があります。これを達成する最も効果的な方法は何でしょうか?

以下に示すように、ディレクトリ ツリー構造を実現します。

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 ライナー コマンドを実行するだけで簡単に実現できます。

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

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

2. デスクトップ (/home/$USER/Desktop) にファイル (たとえばテスト) を作成し、以下の内容を入力します。
ABC
DEF
GHI
JKL
MNO
PQR
STU
VWX
Y
Z

このシナリオで通常のユーザーは何をするでしょうか?

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

touch /home/$USER/Desktop/test

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

nano /home/$USER/Desktop/test

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

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

賢明な経験豊富な Linux ユーザーは何をするでしょうか?彼はターミナルに以下のテキストを一度に入力するだけですべて完了します。それぞれのアクションを個別に行う必要はありません。

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

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

cat /home/avi/Desktop/test

3. 私たちは Linux 上でアーカイブ (特に TAR ボール) を頻繁に扱います。多くの場合、ダウンロード フォルダー以外の場所で TAR ボールを使用する必要があります。このシナリオでは何をするのでしょうか?

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

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

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

b. cd で /opt/ ディレクトリに移動します。

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 ボールをダウンロード フォルダーに残し、任意の場所に抽出してください。

4. 従来の方法でプロセスを強制終了するにはどうすればよいですか?

最も一般的な方法では、まずコマンド 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

ただし、pgreppkill などのユーティリティを使用すると、よりわかりやすい形式で実行できます。 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://linux-console.net/how-to-kill-a-process-in-linux/。

pkill を使用してプロセス (apache2 など) を強制終了するには、次の操作を行うだけです。

pkill apache2

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

pgrep -l apache2

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

私からは以上です。上記で説明したすべての点は十分ではありませんが、必ず役に立ちます。私たちは、毎回新しいことを学べるチュートリアルを作成するだけでなく、「同じ枠組みでより生産性を高める方法」も示したいと考えています。以下のコメント欄に貴重なフィードバックをお寄せください。接続を維持してください。コメントを続けてください。