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

私たちは、それが他の方法ではるかに良い方法で行うことができることを知るまで、伝統的にタスクを遂行し続けます。私たちのLinux Tips and Trick Seriesの継続として、以下の4つのヒントを紹介します。これらのヒントはさまざまな方法で役立ちます。さあ始めましょう!

4 Linux Useful Tips and Hacks
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
Check Directory Structure

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

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

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

a. He will create the file first, preferably using touch command, as:

$ touch /home/$USER/Desktop/test

b. He will use a text editor to open the file, which may be nano, vim, or any other editor.

$ nano /home/$USER/Desktop/test

c. He will then place the above text into this file, save and exit.

彼/彼女がかかる時間に関係なく、上記のシナリオを実行するには少なくとも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ボールを使用する必要があります。このシナリオで私たちはどうしますか?

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

a. Copy/Move the tar ball and extract it at destination, as:

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

b. cd to /opt/ directory.

$ cd /opt/

c. Extract the 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/

いずれの場合も作業は二つ以上のステップを必要とします。プロフェッショナルは次のように一ステップでこのタスクを完了できます:

$ 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://www.tecmint.com/how-to-kill-a-process-in-linux/

apache2という名前のプロセスをpkillを使用して杀すのは、以下のようにすれば大丈夫です。

# pkill apache2

名前がapache2のプロセスが杀されたかどうかを確認するには、以下のコマンドを実行してください。

$ pgrep -l apache2

これはプロンプトを返し、何も印刷しないということを意味していますので、apache2という名前のプロセスが运行していないことを示しています。

これで终わりです。どうぞよろしくお願いします。上記に述べたすべての点については十分ではありませんが、確かに助かります。私たちは、新しいことを学ぶための教材を生み出すだけでなく、「同じ画面でより生産的にする方法」を示したいと考えています。贵重なフィードバックを下のコメント欄で提供してください。お互いに连絡を保ち、コメントしてください。

Source:
https://www.tecmint.com/mkdir-tar-and-kill-commands-in-linux/