Linux中mkdir、tar和kill命令的4個有用提示

我們一直以傳統方式完成任務,直到我們發現可以用更好的方式完成。在我們的Linux提示和技巧系列中,我在這裡分享以下四個提示,將幫助您在許多方面。開始吧!

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

上述情況可以通過運行下面的一條命令簡單實現。

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

要驗證,您可以使用tree命令。如果未安裝,您可以使用aptyum安裝‘tree’軟件包。

$ tree tecmint
Check Directory Structure

我們可以使用上述方法創建任何複雜度的目錄樹結構。請注意,這只是一個普通命令,但它使用{}來創建目錄的層次結構。如果需要時,這可能非常有用,特別是在shell腳本內部使用。

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包)。在许多情况下,我们必须在除了“Downloads”文件夹之外的某个位置使用该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 

我们可以换个方式做这件事。

我们将在TAR包所在的位置解压缩,并将解压缩的存档复制/移动到所需的目的地,如下:

$ 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包留在Downloads文件夹中,然后在任何您想要的地方提取它。

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’s,然后您可以使用这些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/

要使用pkill殺死一個進程(比如apache2),您只需執行以下操作:

# pkill apache2

您可以通過運行以下命令來驗證apache2是否已被殺死。

$ pgrep -l apache2

如果返回提示並且不打印任何內容,則意味著沒有以apache2的名稱運行的進程。

暫時就這些,這是我所能提供的。上述討論的重點雖然不夠詳細,但肯定會有所幫助。我們不僅意味著製作教程以使您每次都學到新東西,還想展示’如何在同一框架中更具生產力‘。請在下面的評論中提供寶貴的反饋。保持聯繫。繼續評論。

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