溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在Linux命令行下如何使用原力選項

發(fā)布時間:2021-10-23 14:22:57 來源:億速云 閱讀:130 作者:小新 欄目:系統(tǒng)運維

小編給大家分享一下在Linux命令行下如何使用原力選項,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!


cp

cp 是 “copy” 的縮寫,這是個被用來復制文件或者目錄的命令。其 man 頁面 說:

-f, –force

如果已經存在的目標文件無法被打開,刪除它并重試

你可能會用它來處理只讀狀態(tài)的文件:

[alan@workstation ~]$ ls -ltotal 8-rw-rw---- 1 alan alan 13 May 1 12:24 Hoth-r--r----- 1 alan alan 14 May 1 12:23 Naboo[alan@workstation ~]$ cat Hoth NabooIcy Planet Green Planet

如果你想要復制一個叫做 Hoth 的文件到 Naboo,但因為 Naboo 目前是只讀狀態(tài),cp 命令不會執(zhí)行:

[alan@workstation ~]$ cp Hoth Naboocp: cannot create regular file 'Naboo': Permission denied

但通過使用原力,cp 會強制執(zhí)行。Hoth 的內容和文件權限會直接被復制到 Naboo

[alan@workstation ~]$ cp -f Hoth Naboo[alan@workstation ~]$ cat Hoth NabooIcy Planet Icy Planet [alan@workstation ~]$ ls -ltotal 8-rw-rw---- 1 alan alan 12 May 1 12:32 Hoth-rw-rw---- 1 alan alan 12 May 1 12:38 Naboo

ln

ln 命令是用來在文件之間建立鏈接的,其 man 頁面 描述的原力選項如下:

-f, –force

移除當前存在的文件

假設萊婭公主在維護一個 Java 應用服務器,并且她又一個存放這所有 Java 版本的目錄,比如:

leia@workstation:/usr/lib/java$ ls -lttotal 28lrwxrwxrwx 1 leia leia   12 Mar  5  2018 jdk -> jdk1.8.0_162drwxr-xr-x 8 leia leia 4096 Mar  5  2018 jdk1.8.0_162drwxr-xr-x 8 leia leia 4096 Aug 28  2017 jdk1.8.0_144

正如你所看到的,這里有很多個版本的 JDK,并有一個符號鏈接指向 JDK。她接著用一個腳本來安裝 JDK。但是如果沒有原力選項的話以下命令是不會成功的:

tar xvzmf jdk1.8.0_181.tar.gz -C jdk1.8.0_181/ln -vs jdk1.8.0_181 jdk

tar 命令會解壓 .gz 文件到一個特定的目標目錄,但 ln 命令會失敗,因為這個鏈接已經存在了。這樣的結果是該符號鏈接不會指向 JDK:

leia@workstation:/usr/lib/java$ ln -vs jdk1.8.0_181 jdkln: failed to create symbolic link 'jdk/jdk1.8.0_181': File existsleia@workstation:/usr/lib/java$ ls -lttotal 28drwxr-x--- 2 leia leia 4096 May  1 15:44 jdk1.8.0_181lrwxrwxrwx 1 leia leia   12 Mar  5  2018 jdk -> jdk1.8.0_162drwxr-xr-x 8 leia leia 4096 Mar  5  2018 jdk1.8.0_162drwxr-xr-x 8 leia leia 4096 Aug 28  2017 jdk1.8.0_144

她可以通過使用原力選項強制 ln 更新鏈接,但這里她還需要使用 -n,-n 是因為這個情況下鏈接其實指向一個目錄而非文件。這樣的話,鏈接就會正確指向JDK了。

leia@workstation:/usr/lib/java$ ln -vsnf jdk1.8.0_181 jdk'jdk' -> 'jdk1.8.0_181'leia@workstation:/usr/lib/java$ ls -lttotal 28lrwxrwxrwx 1 leia leia 12 May 1 16:13 jdk -> jdk1.8.0_181drwxr-x--- 2 leia leia 4096 May 1 15:44 jdk1.8.0_181drwxr-xr-x 8 leia leia 4096 Mar 5 2018 jdk1.8.0_162drwxr-xr-x 8 leia leia 4096 Aug 28 2017 jdk1.8.0_144

你可以配置 Java 應用使其一直使用在 /usr/lib/java/jdk 處的 JDK,而不用每次升級都更新。

rm

rm 命令是 “remove” 的縮寫(也叫做刪除,因為某些系統(tǒng) del 命令也干這事)。其 man 頁面 對原力選項的描述如下:

-f, –force

無視不存在的文件或者參數(shù),不向用戶確認

如果你嘗試刪除一個只讀的文件,rm 會尋求用戶的確認:

[alan@workstation ~]$ ls -ltotal 4-r--r----- 1 alan alan 16 May  1 11:38 B-wing[alan@workstation ~]$ rm B-wing rm: remove write-protected regular file 'B-wing'?

你一定要輸入 y 或者 n 來回答確認才能讓 rm 命令繼續(xù)。如果你使用原力選項,rm 就不會尋求你的確認而直接刪除文件:

[alan@workstation ~]$ rm -f B-wing[alan@workstation ~]$ ls -ltotal 0[alan@workstation ~]$

最常見的 rm 原力選項用法是用來刪除目錄。 -r(遞歸)選項會讓 rm 刪除目錄,當和原力選項結合起來,它會刪除這個文件夾及其內容而無需用戶確認。

rm 命令和一些選項結合起來是致命的,一直以來互聯(lián)網上都有關于誤用 rm 刪除整個系統(tǒng)之類的玩笑和鬼故事。比如最出名的一不當心執(zhí)行 rm -rf . 會直接刪除目錄和文件(沒有用戶確認)。(LCTT 譯注:真的這么干過的校對飄過~~請按下回車前再三確認:我是誰,我在哪里,我在干什么)

userdel

userdel 命令使用來刪除用戶的。其 man 頁面 是這樣描述它的原力選項的:

-f, –force

這個選項會強制移除用戶,即便用戶當前處于登入狀態(tài)。它同時還會強制 刪除用戶的目錄和郵件存儲,即便這個用戶目錄被別人共享或者郵件存儲并不 屬于這個用戶。如果 USERGROUPS_ENAB/etc/login.defs 里是 yes 并且有一個組和此用戶同名的話,這個組也會被移除,即便這個組還是別 的用戶的主要用戶組也一樣。

注意:這個選項有風險并可能讓系統(tǒng)處于不穩(wěn)定狀態(tài)。

當歐比旺抵達穆斯塔法星的時候,他知道自己的使命。他需要刪掉達斯·維達的用戶賬戶——而達斯還在里面呢。

[root@workstation ~]# ps -fu darthUID        PID  PPID  C STIME TTY          TIME CMDdarth     7663  7655  0 13:28 pts/3    00:00:00 -bash[root@workstation ~]# userdel darthuserdel: user darth is currently used by process 7663

因為達斯還登在系統(tǒng)里,歐比旺需要使用原力選項操作 userdel。這能強制刪除當前登入的用戶。

[root@workstation ~]# userdel -f darthuserdel: user darth is currently used by process 7663[root@workstation ~]# finger darthfinger: darth: no such user.[root@workstation ~]# ps -fu dartherror: user name does not exist

正如我們所見到的一樣,fingerps 命令讓我們確認了達斯已經被刪除了。

以上是“在Linux命令行下如何使用原力選項”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI