1. 程式人生 > >18-09-11 軟體rpm yum rm解除安裝 和批量刪除

18-09-11 軟體rpm yum rm解除安裝 和批量刪除

一 在Linux下刪除檔案用rm命令,具體用法如下:

rm [選項] 檔案

選項說明:

-f    -force      忽略不存在的檔案,強制刪除,無任何提示

-i    --interactive    進行互動式地刪除

-r | -R  --recursive     遞迴式地刪除列出的目錄下的所有目錄和檔案

-v      --verbose    詳細顯示進行的步驟

 

命令例項:

1、常規刪除a.txt檔案

[root]# rm a.txt

 

2、強行刪除file.log檔案

[root]# rm -f file.log

 

 3、刪除dirname目錄下的所有東西

[root]# rm -R dir dirname

 

4、刪除以 -f 開頭的檔案

[root]# touch ./-f
[root]# ls ./-f
./-f
[root]# rm ./-f

 

或者使用

[root]# touch -- -f 
[root]# ls -- -f 
-f
[root]# rm -- -f   

 

二Linux中怎麼使用命令列解除安裝軟體

Linux系統中常用的一個操作就是安裝各種軟體,因為linux的強大功能也是依賴各種各樣的軟體來實現的。下面我們就來講一下在Linux中怎麼使用命令列解除安裝軟體。

我們分為兩個部分來講,分別是:

1. 通過Linux自帶的包管理器命令解除安裝軟體

2. 通過rpm命令來刪除軟體

  1. 所有的Linux系統中都帶有包管理器命令,比如Ubuntu發行版裡的dpkg命令,CentOS/RHEL發行版裡帶的yum和rpm命令,下面我就以自己比較熟悉的

    CentOS/RHEL系列發行版來講解,以nginx這個常用的web軟體為例。首先我們來看下系統上是否安裝了nginx,命令是:

    rpm -qa | grep nginx     #檢視是否裝了這個nginx軟體  軟體是否存在 

    結果如下面圖中所示:

    如何在Linux中使用命令列解除安裝軟體
  2. 2

    從上面的圖中可以看到,確實已經安裝好了nginx這個軟體,rpm -qa命令的含義是查詢所有安裝到系統上的軟體,而grep是從查詢的結果中搜索。如果沒有返回結果,那麼可以使用yum命令來安裝。命令是:

    yum install nginx -y    #安裝這個軟體 

    安裝完成後就能夠看到對應的搜尋結果,看到搜尋結果了以後,說明我們就可以使用自帶的包管理器yum和rpm命令來刪除這個軟體,首先來看yum命令:

    yum erase nginx -y    #解除安裝這個軟體 

    執行結果如下所示:

    如何在Linux中使用命令列解除安裝軟體
  3. 3

    看到complete的提示說明已經成功刪除,此時再執行nginx命令檢視軟體是否存在,結果如下所示,從圖中可以看到提示的意思是沒有找到這個命令,說明nginx軟體已經被成功解除安裝。

    如何在Linux中使用命令列解除安裝軟體
  4. 4

    下面我們繼續看rpm命令怎麼解除安裝軟體的,rpm命令解除安裝軟體的格式是:

    rpm -e softwarename   #rpm  -e  軟體名 

    softwarename 指的是軟體名稱,比如我們要解除安裝nginx就是:

    rpm -e nginx   #解除安裝nginx 

    然後等到命令執行完成,結果如下,從結果中我們可以看到,這個命令更直接了,能成功刪除的時候沒有任何提示。

    如何在Linux中使用命令列解除安裝軟體
  5. 5

    同樣的,我們通過nginx命令來驗證一下,如下面圖中所示,可以看到,也提示沒有找到這個命令,說明nginx這個軟體確實被成功解除安裝了。至此通過包管理器命令來解除安裝軟體就講解完畢了。其他發行版的包管理器命令例如dpkg,dnf等都大同小異,都是通過相關引數來刪除。讀者可以舉一反三。

    如何在Linux中使用命令列解除安裝軟體 END

 

通過rm命令來刪除軟體

 
  1.  

    上面講解的是通過包管理器命令來解除安裝軟體,但是有的時候,可能軟體解除安裝過程中出錯,導致軟體並沒有被完全刪除。此時可能是解除安裝失敗的,因此就需要通過rm命令來幫助繼續刪除軟體。同樣的以nginx為例,首先我們來看一下安裝好的nginx有多少檔案,如下面圖中所示,查詢命令是:

    rpm -ql nginx   #檢視軟體下邊有多少檔案

    如何在Linux中使用命令列解除安裝軟體
  2.  

    從上面的圖中,我們可以看到,nginx安裝後生成的檔案還是比較多的,且主要分為5類,分別是:

    1. 配置檔案,儲存在/etc/nginx/目錄下,以及/etc/目錄下

    2. 庫檔案,儲存在/usr/lib,/usr/lib64,/usr/libexec目錄下

    3. 命令檔案,儲存在/usr/sbin目錄下

    4. 幫助文件,儲存在/usr/share/doc/nginx-1.14.0/和/usr/share/nginx目錄下

    5. 日誌和快取檔案,儲存在/var/log/nginx和/var/cache/nginx目錄下

    如下面途中所示:

    如何在Linux中使用命令列解除安裝軟體
  3.  

    因此我們就需要通過rm命令依次刪除這些目錄下的檔案,命令如下:

    rm -rf /etc/nginx/

    rm -rf /sysconfig/nginx*

    rm -rf /usr/lib/systemd/system/nginx*

    rm -rf /usr/lib64/nginx

    rm -rf /usr/libexec/initscripts/legacy-actions/nginx/

    rm -rf /usr/sbin/nginx*

    rm -rf /usr/share/nginx*

    rm -rf /usr/share/doc/nginx*

    rm -rf /usr/share/man/man8/nginx*

    rm -rf /var/log/nginx/

    rm -rf /var/cache/nginx

    執行命令的過程如下所示:

    如何在Linux中使用命令列解除安裝軟體
  4.  

    刪除完畢後,我們同樣通過nginx命令來測試一下,可以看到提示沒有找到nginx命令,說明nginx確實已經被刪除掉了。但是我們再通過rpm -qa命令查詢一下,發現還能查到記錄。這是因為並沒有通過rpm刪除nginx的記錄,因此nginx還儲存在rpm命令資料庫中。但是實際上nginx軟體的所有檔案已經被刪除了。這就是通過rm命令刪除或者說解除安裝軟體的一個弊端。除此之外,這個記錄還會阻止我們重新按照nginx命令。

    如何在Linux中使用命令列解除安裝軟體
  5.  

    如下面圖中所示,因為我們已經通過rm命令刪除了所有的nginx檔案,此時想通過yum命令來重新安裝,但是可以看到它提示我們nginx已經安裝且是最新版本,Nothing to do,表示什麼都不做。這也是通過rm命令刪除軟體的弊端。

    如何在Linux中使用命令列解除安裝軟體
  6.  

    這個時候如果想安裝,就需要通過強制安裝或者重新安裝命令來執行,如下所示:

    yum reinstall nginx -y  #強制安裝 (由於rm 的弊端)

    結果如圖二所示,可以看到此時才能重新安裝nginx。

    如何在Linux中使用命令列解除安裝軟體 如何在Linux中使用命令列解除安裝軟體
  7.  

 

 

linux 批量刪除指定型別檔案

上傳檔案

1. 上傳專案包51train-1.0-SNAPSHOT

專案包

2.檢視當前專案包下指定檔案*.java

[root@jxjy-v30-test4 train]# find . -name "*.java"
  • 1
  • 2

查詢結果

3. 刪除java檔案

[root@jxjy-v30-test4 train]# find . -name "*.java" |xargs rm -rfv
  • 1
  • 2

執行結果

4.執行後檢視

[root@jxjy-v30-test4 train]# find . -name "*.java" |wc -l
  • 1
  • 2

執行結果

 

 

利用service+服務名稱+start/stop/restart對服務進行啟動,停止和重啟

(1)一種是可以使用service指令碼來排程,如:

service 服務名 start

service 服務名 stop

service 服務名 restart

複製程式碼
[[email protected]:practice] service vpnagentd status
vpnagentd is stopped 
[[email protected]:practice] sudo service vpnagentd start
Starting up Cisco AnyConnect Secure Mobility Client Agent
[[email protected]:practice] service vpnagentd status
vpnagentd (pid 7000) is running
[[email protected]:practice] service vpnagentd restart
Shutting down Cisco AnyConnect Secure Mobility Client Agent
Starting up Cisco AnyConnect Secure Mobility Client Agent
[[email protected]:practice] service vpnagentd status
vpnagentd (pid 7020) is running