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命令來刪除軟體
-
所有的Linux系統中都帶有包管理器命令,比如Ubuntu發行版裡的dpkg命令,CentOS/RHEL發行版裡帶的yum和rpm命令,下面我就以自己比較熟悉的
CentOS/RHEL系列發行版來講解,以nginx這個常用的web軟體為例。首先我們來看下系統上是否安裝了nginx,命令是:
rpm -qa | grep nginx #檢視是否裝了這個nginx軟體 軟體是否存在
結果如下面圖中所示:
-
2
從上面的圖中可以看到,確實已經安裝好了nginx這個軟體,rpm -qa命令的含義是查詢所有安裝到系統上的軟體,而grep是從查詢的結果中搜索。如果沒有返回結果,那麼可以使用yum命令來安裝。命令是:
yum install nginx -y #安裝這個軟體
安裝完成後就能夠看到對應的搜尋結果,看到搜尋結果了以後,說明我們就可以使用自帶的包管理器yum和rpm命令來刪除這個軟體,首先來看yum命令:
yum erase nginx -y #解除安裝這個軟體
執行結果如下所示:
-
3
看到complete的提示說明已經成功刪除,此時再執行nginx命令檢視軟體是否存在,結果如下所示,從圖中可以看到提示的意思是沒有找到這個命令,說明nginx軟體已經被成功解除安裝。
-
4
下面我們繼續看rpm命令怎麼解除安裝軟體的,rpm命令解除安裝軟體的格式是:
rpm -e softwarename #rpm -e 軟體名
softwarename 指的是軟體名稱,比如我們要解除安裝nginx就是:
rpm -e nginx #解除安裝nginx
然後等到命令執行完成,結果如下,從結果中我們可以看到,這個命令更直接了,能成功刪除的時候沒有任何提示。
-
5
同樣的,我們通過nginx命令來驗證一下,如下面圖中所示,可以看到,也提示沒有找到這個命令,說明nginx這個軟體確實被成功解除安裝了。至此通過包管理器命令來解除安裝軟體就講解完畢了。其他發行版的包管理器命令例如dpkg,dnf等都大同小異,都是通過相關引數來刪除。讀者可以舉一反三。
END
通過rm命令來刪除軟體
-
上面講解的是通過包管理器命令來解除安裝軟體,但是有的時候,可能軟體解除安裝過程中出錯,導致軟體並沒有被完全刪除。此時可能是解除安裝失敗的,因此就需要通過rm命令來幫助繼續刪除軟體。同樣的以nginx為例,首先我們來看一下安裝好的nginx有多少檔案,如下面圖中所示,查詢命令是:
rpm -ql nginx #檢視軟體下邊有多少檔案
-
從上面的圖中,我們可以看到,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目錄下
如下面途中所示:
-
因此我們就需要通過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
執行命令的過程如下所示:
-
刪除完畢後,我們同樣通過nginx命令來測試一下,可以看到提示沒有找到nginx命令,說明nginx確實已經被刪除掉了。但是我們再通過rpm -qa命令查詢一下,發現還能查到記錄。這是因為並沒有通過rpm刪除nginx的記錄,因此nginx還儲存在rpm命令資料庫中。但是實際上nginx軟體的所有檔案已經被刪除了。這就是通過rm命令刪除或者說解除安裝軟體的一個弊端。除此之外,這個記錄還會阻止我們重新按照nginx命令。
-
如下面圖中所示,因為我們已經通過rm命令刪除了所有的nginx檔案,此時想通過yum命令來重新安裝,但是可以看到它提示我們nginx已經安裝且是最新版本,Nothing to do,表示什麼都不做。這也是通過rm命令刪除軟體的弊端。
-
這個時候如果想安裝,就需要通過強制安裝或者重新安裝命令來執行,如下所示:
yum reinstall nginx -y #強制安裝 (由於rm 的弊端)
結果如圖二所示,可以看到此時才能重新安裝nginx。
-
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