新聞中心
在使用Linux系統(tǒng)的過程中,我們常常會遇到一些不熟悉的命令或者工具,這時(shí)候就需要用到whatis命令了。它是Linux系統(tǒng)中的一個(gè)非常實(shí)用的命令,可以用來查詢命令的作用和用法。本篇文章將詳細(xì)介紹whatis命令的使用方法和注意事項(xiàng)。

創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括灣里網(wǎng)站建設(shè)、灣里網(wǎng)站制作、灣里網(wǎng)頁制作以及灣里網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,灣里網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到灣里省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
一、指令介紹
whatis命令是Linux系統(tǒng)中的一個(gè)非常實(shí)用的命令,通常用來查詢一些不熟悉的指令或者工具的作用和用法。它屬于系統(tǒng)的幫助文件中的一個(gè)小工具,具體功能是在man數(shù)據(jù)庫中尋找指定關(guān)鍵字的相關(guān)說明,然后將這些相關(guān)說明打印出來,向用戶提供幫助。使用whatis命令可以幫助用戶快速地了解一個(gè)命令或者工具的相關(guān)信息,從而更加高效地使用Linux系統(tǒng)。
二、指令語法
whatis命令的語法格式如下:
whatis [option] keyword
其中,option表示可選參數(shù),keyword表示查詢的關(guān)鍵字。同時(shí),也可以使用man與關(guān)鍵字組合使用,例如:
man keyword
whatis keyword
這兩個(gè)命令都可以查詢一個(gè)指令的相關(guān)內(nèi)容,但是兩者的查詢方式略有不同。man命令會顯示出指令的詳細(xì)內(nèi)容,而whatis則會僅僅顯示出指令的作用和簡要用法。
三、指令選項(xiàng)
whatis命令提供了若干個(gè)選項(xiàng),可以根據(jù)需要選擇使用。常用選項(xiàng)如下:
-h:顯示whatis命令的使用幫助信息。
-p:指定查詢一段顯示的最小匹配長度。
-s:指定查詢的命令或者工具是哪一種類型,主要有file、proc、section、all等類型可選。
-w:指定查詢時(shí)匹配單詞而非匹配關(guān)鍵字。
-v:顯示whatis命令的版本信息。
四、常見使用場景
1. 查詢單個(gè)命令的作用和用法
使用whatis命令查詢單個(gè)命令的作用和用法是最常見的使用場景,可以使用如下命令:
whatis command
例如,我們想查詢“l(fā)s”命令的相關(guān)信息,可以使用以下命令:
whatis ls
執(zhí)行結(jié)果為:
ls (1) – list directory contents
可以看到,這條命令給出了ls命令的作用以及簡要用法,非常實(shí)用。
2. 查詢多個(gè)命令
whatis命令可以同時(shí)查詢多個(gè)命令的相關(guān)信息,可以使用如下命令:
whatis command1 command2
例如,我們想查詢“l(fā)s”命令和“cd”命令的相關(guān)信息,可以使用以下命令:
whatis ls cd
執(zhí)行結(jié)果為:
cd (1) – change working directory
ls (1) – list directory contents
可以看到,這條命令同時(shí)查詢了“l(fā)s”命令和“cd”命令的相關(guān)信息,并且用英文逗號做了分隔。
3. 查詢相關(guān)命令
如果不清楚一個(gè)命令的具體名稱,但是知道它和其他命令有關(guān)聯(lián),可以使用如下命令:
whatis -w related_command
例如,我們不知道“pwd”命令的具體名稱,但是知道它和“cd”命令有關(guān)聯(lián),可以使用以下命令查詢:
whatis -w cd | grep -o -m 1 ‘.(1)’ | xargs whatis | grep -i pwd
執(zhí)行結(jié)果為:
pwd (1)-print name of current directory
可以看到,通過這條命令可以找到“pwd”命令的具體名稱以及作用。
4. 查詢命令手冊
除了whatis命令外,還可以使用man命令來查詢命令的手冊。man可用于查看系統(tǒng)說明手冊,因此我們也可以使用它來查看命令的使用方式和示例,例如:
man command
例如,我們想查詢“l(fā)s”命令的手冊,可以使用以下命令:
man ls
執(zhí)行結(jié)果為:
LS(1) BSD General Commands Manual LS(1)
NAME
ls — list directory contents
SYNOPSIS
ls [-ABCFGHLOPRSTUW@abcdefghiklmnopqrstuwx1] [file …]
DESCRIPTION
For each operand that names a file of a type other than directory, ls
displays its name as well as any requested, associated information. For
each operand that names a file of type directory, ls displays the names
of files contned within that directory, as well as any requested down-
ward directed information.
If no operands are given, the contents of the current directory are dis-
played. If more than one operand is given, non-directory operands are
displayed first; directory and non-directory operands are sorted sepa-
rately and in lexicographical order.
The following options are avlable:
…
可以看到,這條命令給出了ls命令的詳細(xì)信息,包括使用語法、描述、參數(shù)介紹等等,非常詳盡。
五、注意事項(xiàng)
1. 使用whatis命令查詢命令的相關(guān)信息時(shí),需要注意關(guān)鍵字的正確拼寫,否則會無法查找到相關(guān)信息。
2. 查詢命令的手冊時(shí),需要注意操作系統(tǒng)的版本差異,因?yàn)椴煌牟僮飨到y(tǒng)版本可能會有不同的命令手冊。
3. 在使用whatis命令時(shí),可以同時(shí)使用多種選項(xiàng),以滿足不同的查詢需要。
4. 在使用whatis和man命令時(shí),輸出結(jié)果可能會比較長,需要使用分頁命令“l(fā)ess”或者“more”來進(jìn)行查看。
六、
whatis命令是Linux系統(tǒng)中一個(gè)方便實(shí)用的工具,在我們使用Linux系統(tǒng)的過程中,可以幫助我們快速地了解一個(gè)命令或者工具的相關(guān)信息。通過本篇文章的介紹,相信大家已經(jīng)了解了whatis命令的基本用法和注意事項(xiàng),希望能夠幫助大家更加高效地使用Linux系統(tǒng)。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián),建站經(jīng)驗(yàn)豐富以策略為先導(dǎo)10多年以來專注數(shù)字化網(wǎng)站建設(shè),提供企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),響應(yīng)式網(wǎng)站制作,設(shè)計(jì)師量身打造品牌風(fēng)格,熱線:028-86922220求:linux遠(yuǎn)程服務(wù)器與本地終端文件傳輸命令
Linux 文件命令精通指南
作者:Sheryl Calish
為剛接觸 Linux 文件命令的初學(xué)者提供的速成教程
雖然 GUI 桌面(如 KDE 和 GNOME)能夠幫助用戶利用 Linux 特性,而無需關(guān)于命令行接口的功能知識,但還是經(jīng)常會需要悉租更多的功能和靈活性。而且,基本熟悉這些命令對于在 shell 腳本中正確地使某些功能自動化仍然是必需的。
這篇文章是關(guān)于 Linux 文件命令的一個(gè)“速成教程”,它是為那些剛接觸這個(gè)操作系統(tǒng)或者只是需要補(bǔ)充這方面知識的用戶提供的。它包含了對一嫌陸余些更有用的命令的一個(gè)簡明的概述以及關(guān)于它們的最強(qiáng)大的應(yīng)用的指導(dǎo)。芹滾下面包含的信息 — 結(jié)合一些實(shí)驗(yàn) — 將使您能夠容易地掌握這些基本的命令。(注意:當(dāng)涉及到一個(gè)與 Oracle 集群文件系統(tǒng) (OCFS) 結(jié)合的內(nèi)核時(shí),這些命令中的某些命令的行為可能會稍微有所不同。在此情況下,Oracle 提供了一個(gè) OCFS 工具集,該工具集可以為文件命令應(yīng)用提供一個(gè)更好的選擇。)
注意,這里包含的所有示例都在 SUSE Linux 8.0 Professional 上進(jìn)行了測試。雖然沒有理由相信它們在其它的系統(tǒng)上將不能工作,但如果出現(xiàn)問題,您應(yīng)當(dāng)查看您的文檔,以了解可能的變化。
背景概念
在深入研究規(guī)范之前,讓我們回顧一些基礎(chǔ)知識。
文件和命令
在 Linux/UNIX 操作系統(tǒng)中,所有事物都被當(dāng)作文件來處理:硬件設(shè)備(包括鍵盤和終端)、目錄、命令本身,當(dāng)然還有文件。這個(gè)奇怪的慣例實(shí)際上是 Linux/UNIX 的能力和靈活性的基礎(chǔ)。
大多數(shù)(幾乎是全部)的命令形式如下:
command
獲取幫助
最有用的命令之一是那些提供幫助的命令(特別是對那些學(xué)習(xí) Linux 的人而言)。Linux 中的兩個(gè)重要的信息來源是聯(lián)機(jī)參考手冊,或 man 頁面和 whatis 工具。您可以用 whatis 命令來訪問一個(gè)不熟悉的命令的 man 頁面。
$ whatis echo
要了解關(guān)于這個(gè)命令的更多信息,可以使用:
$ man echo
如果您不知道某個(gè)特殊任務(wù)所需的命令,您可以用 man -k (也稱為 apropos)和一個(gè)主題來生成可能的命令。例如:
$ man -k files
一個(gè)很有用但常常被忽視的命令可以提供關(guān)于使用 man 本身的信息:
$ man man
您可以用 SPACEBAR 來瀏覽任意的 man 頁面;UP ARROW 將向上翻滾文件。.要退出,則輸入 q,!,或 CTRL-Z。
用戶類別
記得那句名言“所有動物一例平等但有些動物比其他動物更加平等”嗎?在 Linux 世界中,根用戶掌管一切。
根用戶可以以另一個(gè)用戶名 su (源自 “superuser”)登錄。要執(zhí)行諸如添加一個(gè)新用戶、打印機(jī)或文件系統(tǒng)之類的任務(wù),必須作為根用戶登錄或者用 su 命令和根用戶密碼切換到超級用戶。系統(tǒng)文件(包括控制初始化過程的系統(tǒng)文件)歸根用戶所有。雖然可能允許普通用戶對它們進(jìn)行讀操作,但出于系統(tǒng)安全性的原因,編輯的權(quán)利將留給根用戶。
BASH shell
雖然提供了其它的 shell,但 BASH (Bourne Again Shell) 是 Linux 的默認(rèn) shell。它結(jié)合了與它同名的 Bourne shell 的特性和 Korn、C 和 TCSH shell 的特性。
BASH 內(nèi)置的命令 history 默認(rèn)記錄最后輸入的 500 條命令??梢酝ㄟ^在命令提示符下輸入 history 來查看它們。要檢索某個(gè)特定的命令,可以在命令提示符下按 UP ARROW 或 DOWN ARROW,或在歷史列表中輸入它的編號,并在編號前面加上 “!”,例如:
$ !49
您還可以通過一條命令在歷史列表中離位置最靠前的項(xiàng)目的距離來執(zhí)行該命令:如果在歷史列表中有 53 個(gè)事件,$ !-3 將執(zhí)行事件號 51。
像 UNIX/Linux 世界的其它 shell 一樣,BASH 使用了特殊的環(huán)境變量來方便系統(tǒng)管理。例如:
HOME,用戶主目錄
PATH,Linux 用來搜索您輸入的命令的可執(zhí)行鏡像的搜索路徑
HISTSIZE,系統(tǒng)保存的歷史事件的數(shù)量
除了這些保留的關(guān)鍵字之外,您還可以定義您自己的環(huán)境變量。例如,Oracle 使用 ORACLE_HOME (還有其它一些變量),要使 Oracle 安裝成功完成,必須在您的環(huán)境中設(shè)置這些變量。
可以在提示符下臨時(shí)設(shè)置變量:
$HISTSIZE=100
或者,在 /etc/profile (需要根用戶權(quán)限)中進(jìn)行系統(tǒng)范圍的永久設(shè)置,或在 .profile 中進(jìn)行局部永久設(shè)置。
可以通過 echo 命令,并用一個(gè) $ 符號來訪問一個(gè)環(huán)境變量的值,進(jìn)而查看該值。
$ echo $HOME
/home/bluher
可以用 env 命令來查看當(dāng)前所有的環(huán)境變量。
正則表達(dá)式和通配符
許多 Linux 命令使用通配符 * 和 ? 來匹配任意數(shù)量的字符或分別匹配任意的單個(gè)字符;正則模式匹配表達(dá)式利用一個(gè)句點(diǎn) (.) 來匹配除“換行符”之外的任意單個(gè)字符。這兩種情況下都使用方括號 () 來匹配除“*”號之外的字符組。不過,* 號在各種情況下有類似但不同的意義:雖然它在 shell 中將匹配一個(gè)或更多的字符,但在正則表達(dá)式中,它匹配上述字符的零個(gè)或更多的實(shí)例。一些命令(如 egrep 和 awk)使用了一組更廣泛的特殊字符來進(jìn)行模式匹配。
文件處理命令
剖析一個(gè)文件列表
ls 命令用來查看用戶有執(zhí)行權(quán)限的任意目錄中的文件列表,該命令有許多有趣的選項(xiàng)。例如:
$ ls -liah *
rw-r–rbluher usersDec 28 18:43 .profile
rw-r–rscalish usersJan 3 20:00 test2.out
925 -rwxr-xr-x 1 scalish usersSeptest.sh
上面的列表顯示 8 列:
第 1 列指示文件的 inode,因?yàn)槲覀兪褂昧?-i 選項(xiàng)。剩下的列通過 -l 選項(xiàng)來進(jìn)行正常顯示。
第 2 列顯示文件類型和文件訪問權(quán)限。
第3 列顯示鏈接數(shù),包括目錄。
第 4 和第 5 列顯示文件的所有者和組所有者。這里,所有者 “bluher” 屬于組 “users”。
第 6 列顯示文件大?。▎挝粸樗@示的單位,而不是默認(rèn)的字節(jié)數(shù),因?yàn)槲覀兪褂昧?-h 選項(xiàng)。
第 7 列顯示日期(它看起來像是三列),包括月、日和年,以及當(dāng)天的時(shí)間。
第 8 列顯示文件名。在選項(xiàng)列表中使用 -a 將使列表中包含隱藏文件(如 .profile)的列表。
處理文件
可以移動 (mv)、復(fù)制 (cp) 或刪除 (rm) 文件和目錄。明智地使用 -i 選項(xiàng),以獲得確認(rèn)通常是個(gè)不錯(cuò)的主意。
$ cp -i ls.out ls2.out
cpverwrite `ls2.out’?
mv 命令允許使用 -b 選項(xiàng),這將在移動文件之前作一個(gè)備份拷貝。rm 和 cp 接受功能強(qiáng)大但卻危險(xiǎn)的 -r 選項(xiàng),它將在一個(gè)目錄和它的文件上遞歸執(zhí)行。
$ rm -ir Test
rm:descend into directory `Test’? y
可以用 mkdir 來創(chuàng)建目錄,用 rmdir 來刪除目錄。不過,因?yàn)椴荒苡?rmdir 來刪除包含文件的目錄,所以使用 rm 加 -r 選項(xiàng)通常要更方便些。
出于安全的原因,所有的文件都有所有權(quán)和保護(hù)。文件訪問權(quán)限(或文件模式)包含之前提到的相同的 10 個(gè)字符:
之一個(gè)字符指示文件類型。最常見的是 – 代表文件,d 代表目錄,而 l 代表鏈接。
接下來的 9 個(gè)字符是三種用戶類別的訪問權(quán)限:文件所有者(字符 2-4),用戶組 (5-7) 和其它 (8-10),其中 r 表示讀權(quán)限,w 表示寫權(quán)限,x 指示一個(gè)文件上的執(zhí)行權(quán)限。破折號 – 如果出現(xiàn)在這九個(gè)位置的任意一個(gè),則指示這個(gè)操作對該類別的用戶禁止。
可以使用 chmod 命令通過字符符號或二進(jìn)制掩碼來設(shè)置訪問權(quán)限。要使用二進(jìn)制掩碼,必須將三個(gè)權(quán)限組的字符表示轉(zhuǎn)換成二進(jìn)制格式,然后轉(zhuǎn)換成八進(jìn)制格式:
用戶類別: 所有者 用戶組 其它
字符表示: rwx r-x r–
二進(jìn)制表示:
八進(jìn)制表示:
將寫權(quán)限賦予用戶組,您可以使用:
chmod g+w test.sh or chmod 774 test.sh
用 umask 命令,在 /etc/init.dev 文件中進(jìn)行系統(tǒng)范圍內(nèi)的、或在 .profile 文件中進(jìn)行的本地的文件權(quán)限默認(rèn)設(shè)置。這個(gè)命令指示用 777 減去這個(gè)數(shù)字來獲取默認(rèn)的權(quán)限:
$ umask 022
這將為用戶創(chuàng)建的所有新文件生成一個(gè)默認(rèn)的文件權(quán)限 755。
可以用 chown 來修改文件的所有權(quán):
$ chown bluher ls.out
這里,bluher 是新的文件所有者。類似地,組成員資格將按以下方式修改:
$ chgrp devgrp ls.out
這里,devgrp 是新的用戶組。
ls 不提供哪些文件是文本的,哪些文件是二進(jìn)制的的信息。要了解這個(gè)信息,您可以使用 file * 命令。
重命名文件
賦予一個(gè)文件多個(gè)名字的兩種流行的方法是利用鏈接和 alias 命令。Alias 可以用來為一個(gè)更長的命令重新起一個(gè)更方便的名字:
$ alias ll=’ls -l’
$ ll
注意單引號的使用,這使得 BASH 將該項(xiàng)目傳遞給別名,而不是自己估計(jì)它。別名還可用作較長的路徑名的縮寫:
$ alias jdev9i=/jdev9i/jdev/bin/jdev
關(guān)于 alias 和它的反命令 unalias 的更多信息,請查看 BASH 的 man 頁面的 “SHELL BUILTIN COMMANDS” 子部分。在最后一個(gè)例子中,定義了一個(gè)環(huán)境變量來實(shí)現(xiàn)相同的結(jié)果。
$ export JDEV_HOME=/jdev9i/jdev/bin/jdev
$ echo $JDEV_HOME
/jdev9i/jdev/bin/jdev
$ $JDEV_HOME
鏈接允許幾個(gè)文件名引用單個(gè)源文件,格式如下:
ln fileyouwanttolinkto newname
單獨(dú)的 ln 命令創(chuàng)建到文件的一個(gè)硬鏈接,而使用 -s 選項(xiàng)來創(chuàng)建一個(gè)符號鏈接。簡而言之,一個(gè)硬鏈接幾乎不能和原始的文件區(qū)分開(除了這兩個(gè)文件的 inode 將相同之外)。符號鏈接較容易區(qū)分,因?yàn)樗鼈兂霈F(xiàn)在一個(gè)長的文件列表中,并用 ->; 來指示源文件,l 指示文件類型。
查看和查找文件
文件過濾器
用來讀取文件內(nèi)容和在文件內(nèi)容上執(zhí)行操作的命令有時(shí)被稱為 1&濾器。sed 和 awk 命令是兩個(gè)濾波器的例子,因?yàn)樵谝郧暗?OTN 文章中有它們詳細(xì)的討論,在這里將略過。
諸如 cat、 more 和 less 之類的命令讓您能夠從命令行查看一個(gè)文本文件的內(nèi)容,而無需調(diào)用編輯器。Cat 是 “concatenate” 的縮寫,它將默認(rèn)地在標(biāo)準(zhǔn)輸出(顯示屏)上顯示文件內(nèi)容。和 cat 一起提供的最有趣的選項(xiàng)之一是 -n 選項(xiàng),它用編號的輸出行來顯示文件內(nèi)容。
$ cat -n test.out
1 This is a test.
因?yàn)?cat 一次性輸出文件中的所有行,所以您可能更喜歡用 more 和 less,因?yàn)樗鼈兌家淮屋敵鲆黄恋奈募?nèi)容。Less 是 more 的一個(gè)增強(qiáng)的版本,它允許用來自 vi 文本編輯器的關(guān)鍵命令來增強(qiáng)文件查看。例如,d 向前翻滾、b 向后翻滾 N 行(如果 N 是在 d 或 b 之前指定的)。為 N 輸入的值成為隨后的 d 命令的默認(rèn)值。man 頁面實(shí)用工具使用 less 來顯示使用說明的內(nèi)容。
重定向和管道
重定向允許將命令輸出重定向到文件中,而不是標(biāo)準(zhǔn)輸出,或者類似地,也可重定向輸入。重定向的標(biāo)準(zhǔn)符號 >; 創(chuàng)建一個(gè)新的文件。>;>; 符號將輸出添加到一個(gè)現(xiàn)有的文件中:
$ more test2.out
Another test.
$ cat test.out >;>; test2.out
$ cat test2.out
Another test.
This is a test.
到文件的標(biāo)準(zhǔn)輸入可以用 ; 和 2>;>; 來重定向和添加,格式如下:
$ command 2>; name_of_error_file
要避免無意地覆蓋一個(gè)現(xiàn)有的文件,使用 BASH 內(nèi)置的命令集:
$ set -o noclobber
可以在命令和輸出文件之間用 >;! 符號來重載這個(gè)特性。要關(guān)閉這個(gè)特性,用 +o 代替 -o。
重定向在一個(gè)命令和文件之間、或文件和文件之間工作。重定向語句的一項(xiàng)必須是一個(gè)文件。
管道使用 |符號,并且在命令之間工作。例如,您可以用以下方式將一個(gè)命令的輸出直接發(fā)送到打印機(jī)上:
$ ls -l * | lpr
可以用以下方式快速地找到歷史列表中的一個(gè)命令:
$ history | grep cat
更多的濾波器
Grep、fgrep 和 egrep 都顯示匹配一種模式的行。所有這三個(gè)命令都在文件中搜索指定的模式,如果您想不起來一個(gè)所需文件的名稱,這將非常有用。基本格式是:
grep PATTERN
$ grep -r ‘Subject’ nail
CTRL-Z 將終止上述或其它任何命令。
grep 的最有用的選項(xiàng)可能是 -s。如果您以除根用戶之外的任何身份搜索系統(tǒng)文件,那么對于每一個(gè)您沒有訪問權(quán)限的文件,都將產(chǎn)生錯(cuò)誤消息。這個(gè)命令禁止那些消息。
Fgrep(也以 grep -F 調(diào)用)只查找固定的字符串,而不是 grep 接收的正則表達(dá)式。而 egrep 接收包含更大范圍的特殊字符(如 “|”,它指示條件 OR 運(yùn)算符)的模式。
$ egrep ‘Subject|mailto’ *
查找文件
find 命令的 GNU 版本非常強(qiáng)大、靈活并且比 UNIX 系統(tǒng)上存在的經(jīng)典版本更具包容性。它對于涉及到目錄結(jié)構(gòu)的任務(wù)非常有用,包括在文件上查找和執(zhí)行命令。find 命令的基本格式是:
$ find startdirectory options matchcriteria
如果您知道文件的名稱、或者甚至名稱的一部分,但不知道它所處的目錄,您可以這么做:
$ find .-name ‘test*’
./test
./jdevhome/mywork/EmpWS/EmpBC4J/test
與經(jīng)典的 UNIX 系統(tǒng)不同,在 Linux 中不需要在末尾添加 -print 操作,因?yàn)槿绻麤]有指定其它的操作選項(xiàng),就將假定執(zhí)行這個(gè)操作。在目錄起始位置上的一個(gè)點(diǎn) ( . ) 將使 find 在您的工作目錄中開始搜索。兩個(gè)點(diǎn), ..,在父目錄中開始搜索。您可以在任意目錄下開始搜索。
注意,您可以使用通配符作為搜索準(zhǔn)則的一部分(只要用單引號將整個(gè)項(xiàng)目括起來)。
$ find .-name ‘test*’ -print
./test.out
./test2.out
顯示擁有 .out 擴(kuò)展名的一系列文件:
$ find /home -name ‘*.out’
不過記住,除非您是作為超級用戶運(yùn)行這個(gè)命令,否則您將可能得到許多的 “ermission denied” 錯(cuò)誤消息。
最強(qiáng)大的搜索工具之一是和 grep 一起使用的 -exec 操作:
$ find .-name ‘*.html’ -exec grep ‘mailto:’ {} \;
.,查找一個(gè) html 文件,*.html,并在當(dāng)前文件上執(zhí)行 (-exec) grep 命令,{}。當(dāng)使用 -exec 操作時(shí),需要一個(gè)分號 ;,這是用來在使用 find 命令時(shí)執(zhí)行其它一些操作。需要反斜線 \ 和引號來確保這些項(xiàng)目通過 BASH,以使它們由命令而不是 shell 來進(jìn)行解釋。
如果你的遠(yuǎn)程終端是win可以使用WinSCP工具完成。WinSCP是一個(gè)Windows環(huán)境下使用SSH的開源圖形化SFTP客凳弊亮戶端。同時(shí)支持SCP協(xié)議。它的主要功能就是在本地與遠(yuǎn)程計(jì)算棗寬機(jī)間安全的復(fù)制文件。
具體步驟可以參考下面圖示:
1、配置登錄選項(xiàng)
2、建立連接
在linux中install命令和cp命令的區(qū)別
覺cat a.txt >戚孝盯 b.txt cp a.txt b.txt兩句效兩句同或者說catcp兩命令本高和質(zhì)慎廳區(qū)別
基本上,在Makefile里會用到install,其他地方會用cp命令喚春。
完成同樣的任務(wù)——拷貝文件,兩者之間的區(qū)別主要如下:
1、最重要的一點(diǎn),如果目標(biāo)文件存在,cp會先清空文件后往里寫入新鉛洞文件,而install則會先刪除掉原先的文件然后寫入新文件。這是因?yàn)橥?/p>
使用的文件中寫入內(nèi)容可能會導(dǎo)致一些問題,比如說寫入正在執(zhí)行的文件可能會失敗,比如說往已經(jīng)在持續(xù)寫入的文件句柄中寫入新文件會產(chǎn)生錯(cuò)誤的文件。而使用
install先刪除后寫入(會生成新的文件句柄)的方式去安裝就能避免這些問題了;
2、install命令會恰當(dāng)?shù)靥幚砦募?quán)限的問題。比如說,install -c會把目標(biāo)文件的權(quán)限設(shè)置為rwxr-xr-x;
3、install命令可以打印出更多更合適的debug信息,還會自動處理槐鏈枯SElinux上下文的問題。
1、install和cp類似,都可以將文件/目錄拷貝到指定的地點(diǎn)。
2、如盯升襪果目標(biāo)文件存在,cp會先清空文凱激件后往里寫入新文件,而install則會先刪除掉原先的文件然后寫入新文件。所以在Makefile里一般會用到install
3、whatis install
install(1) – copy files and set attributes可以設(shè)置文件屬性。
cp (1) – copy files and directories
4、install命令可以打印出更多更合適的debug信息
5、實(shí)例:
install -d /usr/bin
install -p -D -m 0755 targets /usr/bin
相當(dāng)于
mkdir -p /笑睜usr/bin
cp targets /usr/bin
chmod 755 /usr/bin/targets
touch /usr/bin/tagets
基本上,在Makefile里會用到install,其他地方會用cp命令。
完成同樣的任務(wù)——拷貝文件,兩者之間的區(qū)別主要如下:
1、最重要的一點(diǎn),如果目標(biāo)文件存在,cp會先清拿春空文件后往里寫入新文件,而install則會先刪除掉原先的文件然后寫入新文件。這是因?yàn)橥?/p>
使用的文件中寫入內(nèi)容可能會導(dǎo)致一些問題,比如說寫入正在執(zhí)行的文件可能會失敗,比如說往已經(jīng)在持續(xù)寫入的文件句柄中寫纖山入新文件會產(chǎn)生錯(cuò)誤的文件。而使用
install先刪除后寫入(會生成新的文件句柄)的方式去安裝就能避免這些問題了;
2、install命令會恰當(dāng)?shù)靥幚砦募?quán)限的毀敏中問題。比如說,install -c會把目標(biāo)文件的權(quán)限設(shè)置為rwxr-xr-x;
3、install命令可以打印出更多更合適的debug信息,還會自動處理SElinux上下文的問題。
這是兩個(gè)完全不同的命令
install命令一般用來安裝二進(jìn)制跡源源碼包的時(shí)候使用
make make install
cp則殲睜是文姿改態(tài)件拷貝命令
cp file1 file2
Linux與Solaris的區(qū)別?
Linux與Solaris之間的主要區(qū)別
1、Linux的穩(wěn)定性較差。與Linux相比,Solaris具有更穩(wěn)定的穩(wěn)定性。
2、Linux有一個(gè)基本的調(diào)度。Solaris具有廣泛的調(diào)度以及在需要時(shí)使用和配置的能力。
3、Linux具有標(biāo)準(zhǔn)的輸入輸出能力。Solaris具有廣泛的多路徑COMSTAR支持。
4、Linux有一個(gè)舊的服務(wù)機(jī)制,如SVR4,慶橘爛它是基于伍螞文本的,不允許任何依賴和服務(wù)配置無法
還原。Solaris具有一種新的服務(wù)機(jī)制,具有F等強(qiáng)大功能,基于x ml配置,允許依賴項(xiàng)和配
置可以在需要時(shí)還原。
5、Linux與平臺無關(guān)。雖然Solaris可用于不同的體系結(jié)構(gòu)譽(yù)漏,但它不適用于某些平臺。
6、Linux提供了良好的安全性和性能。Solaris提供了嚴(yán)格的安全功能,為性能提供了極大的安
全保障。
7、Linux具有良好的
管理能力
。Solaris具有出色的管理員能力,可以輕松安裝和管理系統(tǒng)。
8、Linux支持主要由
Red Hat
提供。Oracle提供的Solaris支持(在獲得Sun Microsystem之
后)。
Linux和Solaris都是unix-like系統(tǒng),他們有很多共同之處,區(qū)別也有很多,下面從是個(gè)方面介紹他們的區(qū)別:
區(qū)別1:默認(rèn)shell
兩個(gè)操作系統(tǒng)的默認(rèn)shell雖然都是/bin/sh,
但linux默認(rèn)shell是bash,/bin/sh僅是一個(gè)指向到/bin/bash的符號鏈接。 而solaris的默認(rèn)shell是Bourne shell,名為/bin/sh。
區(qū)別2:文件系統(tǒng)
標(biāo)準(zhǔn)的solaris文件系統(tǒng)格式是UFS,還可以使用VxFS,QFS,從Solaris 10 u2版開始,還可以使用ZFS。 Linux通常使用ext3 or ext2,reiser,JFS,XFS其中一種。
區(qū)別3:文件系統(tǒng)目錄布局 最值得唯神孝注意的是/proc目錄。
Linux的/proc目錄存放與系統(tǒng)配置以及進(jìn)程有關(guān)的信息,可以修改這些文件以更新內(nèi)核變量和進(jìn)程信息。
而Solaris的/proc目錄僅包含進(jìn)程信息,不能從/proc目錄獲取系統(tǒng)信息或調(diào)整內(nèi)核變量,但Solaris使用/platform目錄,這個(gè)目錄包含平臺特定的信息和應(yīng)用,Linux沒有與Solaris的/platform對應(yīng)的目錄。
區(qū)別4:命令
為了保持對System V,BSD,GNU軟件的兼容性,除了常規(guī)的/bin(/usr/bin)和/in(/usr/in)目錄外,Solaris還使用了一些擴(kuò)展的命令目錄,這些目錄如下所示: /usr/openwin /bin/usr/dt/bin /usr/sfw/bin /opt/sfw/bin /usr/xpg4/bin /usr/ccs/bin /usr/ucb
其中:
/usr/bin標(biāo)準(zhǔn)的System V命令 /usr/ucb傳統(tǒng)的BSD命令
有些命令在這兩個(gè)目錄中都有,但用法指稿可能不同,比如basename dfduechoexprfastbootfasthalt filefrom groupsinstall ldlintlnlpclpqlprlprmlptestlkstr printenv psrusagesedshutdownstty sumtesttouchtrtsetusers vipwwhereis whoami
免費(fèi)軟件的部署Linux和Solaris相同,這些GNU的命令在Solaris中通常都以g字母開頭,比如gtar。 System V和BSD中有兩個(gè)目錄包含免費(fèi)軟件:/usr/sfw/bin和/opt/sfw/bin。前者包含從安裝介質(zhì)中安裝的免費(fèi)軟件,后者則是從配套CD中安裝的軟件。
隨著Solaris版本的更新,有可能會把配套CD上的軟件放入Solaris安裝介質(zhì)中,因此需要注意在舊版本上的/opt/sfw/bin目錄中的命令可能會被移植到/usr/sfw/bin中。凡是在/usr/sfw/bin中的軟件,表示能夠通過Sun的標(biāo)準(zhǔn)支持通道獲得完全技術(shù)支持,而/opt /sfw/bin中的軟件則通常是由開源軟件組織獲得技術(shù)支持。
區(qū)別5:網(wǎng)絡(luò)配置文件瞎譽(yù)
LinuxSolaris
/etc/ntp.conf /etc/inet/ntp.conf
/etc/inetd.conf/etc/inet/inetd.conf
/etc/sysconfig/network-scripts/ifcfg-{interface} /etc/hostname.{interface} and /etc/inet/netmasks
/etc/sysconfig/network/etc/nodename and /etc/defaultrouter
/etc/networks/etc/networks -> /etc/inet/networks (鏈接到)
區(qū)別6:文件系統(tǒng)配置文件
Linux Solaris
/etc/fstab/etc/vfstab
/etc/exports /etc/dfs/dfstab (format is different)
/etc/auto.master/etc/auto_master
/etc/auto.home /etc/auto_home
區(qū)別7:mail
LinuxSolaris
/etc/aliases /etc/mail/aliases
/etc/mail.rc /etc/mail/Mail.rc /etc/mail/mailx.rc
區(qū)別8:日志文件
在Linux系統(tǒng)中,日志文件的主目錄為/var/log,各種系統(tǒng)守護(hù)進(jìn)程的日志文件均存在此處。
Solaris稍有不同,/var/log目錄存放syslog和authlog的日志文件,而/var/adm目錄則存放消息日志文件,在缺省配置時(shí),solaris的/var/adm/messages文件(redhat對應(yīng)的文件為/var/log/messages)包含所有的日志記錄(可通過修改syslog.conf文件為不同的日志指定不同的消息記錄文件)。
區(qū)別9:腳本移植
如果要把腳本從Linux移植到Solaris,需要注意以下幾點(diǎn): 首先確定腳本中所使用的所有文件和路徑在Solaris中均有效 確定所有的選項(xiàng)和參數(shù)是否有變化 命令的執(zhí)行輸出是否有區(qū)別
區(qū)別10:查看幫助信息
man的差異:
Linux Solaris
# whatis printf$ whatis printf
# man 3 printf$ man -s 3c printf /etc/mail.rc
Linux特有的幫助:
Linux還可以使用info查看幫助,info中帶有簡單的菜單式鏈接。按回車進(jìn)入菜單所鏈接的章節(jié),按q退出。
最后,Linux在/usr/share/doc/目錄中還提供了一些其他格式(pdf、html等)的幫助資源。每個(gè)子目錄對應(yīng)一個(gè)應(yīng)用,存放和應(yīng)用相關(guān)的配置、設(shè)置等幫助資料。比如/usr/share/doc/bind*,存放和DNS服務(wù)器應(yīng)用軟件bind有關(guān)的幫助信息。
Solaris
Solaris 是Sun Microsystems研發(fā)的計(jì)算機(jī) 操作系統(tǒng)。它被認(rèn)為侍州祥是UNIX操作系統(tǒng)的衍生版本之一。 目前Solaris仍舊屬于私有軟件。2023年6月14日,Sun公司將正在開發(fā)中的Solaris 11的源代碼以CDDL許可開放,這一開放版本就是OpenSolaris。
Sun的操作系統(tǒng)最初叫做SunOS,由于Sun Microsystem的創(chuàng)始人之一,Bill Joy來自U.C.Berkeley,因此SunOS主要是基于BSDUnix版本。SunOS 5.0開始,SUN的操作系統(tǒng)開發(fā)開始轉(zhuǎn)向System V Release 4,并且有了新的名字叫做Solaris 2.0;Solaris 2.6以后,SUN刪除了版本號中的”2,因此,SunOS 5.10就叫做Solaris 10。 Solaris的早期版本后來又被重新命名為Solaris 1.x. 所以”SunOS”這個(gè)詞被用做專指Solaris操作系統(tǒng)的內(nèi)核,因此Solaris被認(rèn)為是由SunOS,圖形化的桌面計(jì)算環(huán)境, 以及它網(wǎng)絡(luò)增強(qiáng)部分組成。
支持的系統(tǒng)架構(gòu)
Solaris支持多種系統(tǒng)架構(gòu): SPARC, x86 and x64. x64即AMD64及EMT64處理器。在版本2.5.1的時(shí)候,Solaris曾經(jīng)一度被移植到PowerPC架構(gòu), 但是后來又在這一版本正式發(fā)布時(shí)被刪去。與Linux相比,Solaris可以更有效地支持對稱多處理器、即P架構(gòu)。Sun同時(shí)宣布將在Solaris 10的后續(xù)版本中提供Linux運(yùn)行環(huán)境, 允許Linux二進(jìn)制程序直接在Solaris x86和x64系統(tǒng)上運(yùn)行。
Solaris傳統(tǒng)上與基于Sun SPARC處理器的硬件體系結(jié)構(gòu)結(jié)合緊密跡冊, 在設(shè)計(jì)上和市場上經(jīng)常捆綁在一起,整個(gè)軟硬件系統(tǒng)的可靠性和性能也因此大大增強(qiáng)。然而SPARC系統(tǒng)的成本和價(jià)格通常要高于PC類的產(chǎn)品,這成為Solaris進(jìn)一步普及的障礙??上驳氖?,Solaris對x86體系結(jié)構(gòu)的支持正得到大大加強(qiáng),特別是Solaris 10已經(jīng)能很好地支持x64(AMD64/EMT64)架構(gòu)。Sun公司已推出自行設(shè)計(jì)的基于AMD64的工作站和服務(wù)器,并隨機(jī)附帶Solaris 10。
桌面環(huán)境
之一個(gè)Solaris的桌面環(huán)境是OpenWindows。緊接著是Solaris 2.5的CDE。 在Solaris 10中,Sun又推出了基于GNOME的,Java Desktop System。
軟件許可
Solaris的大多數(shù)源代碼已經(jīng)在CDDL的許可下在OpenSolaris開源項(xiàng)目中發(fā)布。二進(jìn)制和源代碼目前都可以被下載和許可而無需任何費(fèi)用。
Sun的Common Development and Distribution License被選擇用做OpenSolaris的許可, 并通過了Open Source Initiative評審和批準(zhǔn)(盡管它與時(shí)下流行的是互不兼容的>)。
OpenSolaris于2023年6月14日正式啟動,源代碼來自當(dāng)前的Solaris開發(fā)版本。Solaris未來的版本將從OpenSolaris衍生。
主要版本
Solaris最新的(2023年2月)主要發(fā)布版本如下:
Solaris版本 SunOS內(nèi)核版本 發(fā)布日期 簡介
Solaris 10 SunOS 5.年1月31日 包括DTrace (動態(tài)跟蹤), Solaris Containers, Service Management Facility (F),F(xiàn)取代了傳統(tǒng)的UNIX的init.d腳本, 和iSCSI支持。 基于Gnome的Java Desktop System作為默認(rèn)桌面, 還包含了CDE。
Solaris 9 SunOS 5.9 2023年5月22日 最近的更新是Solaris 9 9/05
Solaris 8 SunOS 5.8 200年2月 包括Multipath I/O. 引入Role-Based Access Control (RBAC)功能。老搏 最近的更新是Solaris 8 2/04.
Solaris 7 SunOS 5.7 1998年11月 之一個(gè)64位版本。
Solaris 2.6 SunOS 5.6 1997年7月 包括Kerberos 5, PAM, TrueType字體, WebNFS
Solaris 2.5.1 SunOS 5.5.1 1996年5月 用戶ID(uid_t)擴(kuò)展為32-bits。
Solaris 2.5 SunOS 5.5 1995年11月 首先支持Ultra 1并包含了CDE
SUN對Solaris 7和Solaris 2.6已經(jīng)不再銷售但仍舊提供支持。更早期的版本已經(jīng)沒有支持。
SunOS仍舊用來稱呼Solaris的核心. SunOS的版本號是以5.{Solaris版本號}來表示。例如,最新的Solaris發(fā)布版本,Solaris 10, 在SunOS 5.10上運(yùn)行。Solaris的man手冊是以SunOS為標(biāo)記的,啟動的時(shí)候也顯示它, 但是”SunOS”這個(gè)詞不再用于Sun的市場文檔中。
這個(gè)是巨牛的操作系統(tǒng),在銀行主機(jī)里就能看到他們的身影啦,但是大多數(shù)只用來運(yùn)行Oracle數(shù)據(jù)庫業(yè)務(wù),因?yàn)樽约姨旌现谱?,穩(wěn)健性就像牛一般的強(qiáng)健(而基于Windows和SQLSERVER組合則經(jīng)常意外停機(jī),商業(yè)應(yīng)用的風(fēng)險(xiǎn)性明顯偏高),當(dāng)然,商用機(jī)大多采用的是斯巴克CPU,和基于Sparc CPU 的Solaris版本,SUN也提供基于386的Solaris版本(在32位系統(tǒng)時(shí)會自己識別,并安裝32位系統(tǒng),64位硬件時(shí)會自動安裝64位系統(tǒng),相比起來,在32位WIN環(huán)境下插入64位WIN安裝光盤,是無法執(zhí)行安裝程序的,除非直接從64位WIN光盤引導(dǎo)才進(jìn)入安裝程序),盡管386版本的Solaris沒有在關(guān)鍵領(lǐng)域的應(yīng)用,但是用來處理快遞系統(tǒng),餐飲加盟系統(tǒng),還是超前太多太多的,只是搭載的數(shù)據(jù)庫SyBASE也不便宜,不過注意了,SUN OS在安裝和操作上比Windows有太大的突破,能讓人感覺象進(jìn)入仙境一般,作為UNIX市場的事實(shí)霸主,Solaris仍然大量依靠命令行執(zhí)行操作,這個(gè)絕對要有心理準(zhǔn)備,雖然圖形化操作界面也一樣非常豐富,但是,比如說要執(zhí)行個(gè)硬盤格式化操作,或者防火墻的特定篩選過濾條件,只要復(fù)制命令行去執(zhí)行便可,而如果換成圖形化的點(diǎn)擊和選項(xiàng),顯然太離譜了。目前最新的SUN 11.3版舉耐核本已經(jīng)禁止控制臺登錄圖形界面,控制臺只能用小權(quán)限的賬號作日常檢查,這樣能避免高權(quán)限時(shí)的鼠標(biāo)觸發(fā)事件授予應(yīng)用程序分配資源,這個(gè)特別非常有效的避免瀏覽器訪問網(wǎng)站中毒發(fā)生,如在確實(shí)需要ROOT操作時(shí),再進(jìn)入命令行操作,SUN11 圖形界面提供4個(gè)桌面環(huán)境,用來檢查CONFIG文件以及分析代碼非常之好用,另外提供6個(gè)虛擬控制臺,這是所有大型UNIX的基本功能。SUN10當(dāng)然也有,系統(tǒng)啟動需要將近2分鐘,但是運(yùn)行起來相當(dāng)塊(比不上LINUX速度),畝洞不過在高負(fù)荷下大呼過癮(LINUX在高負(fù)荷下不穩(wěn)定,至于WIN那就不談了,目前高負(fù)荷下也就FreeBSD健壯,但仍無法跟SUN系統(tǒng)相提并論,通常外行的人是測試輕負(fù)載下的響應(yīng)幾十毫秒,到了高負(fù)荷時(shí)失去相應(yīng)了都不敢講出來,),雖然系統(tǒng)在部署時(shí)遠(yuǎn)遠(yuǎn)沒有達(dá)到負(fù)載標(biāo)準(zhǔn),但是實(shí)際應(yīng)用中,以及日后業(yè)務(wù)庫擴(kuò)展,都是非常麻煩正掘的,所以在部署系統(tǒng)前端的時(shí)候要有前瞻性.這才會是SU系統(tǒng)大受歡迎的原因。不過要注意了,一臺機(jī)子要一二十萬,真心說不便宜,也就銀行等大佬才舍得花這錢了。總體說,花多少錢才能配得起賺多少錢的業(yè)務(wù),否則,微軟的雞肋系統(tǒng)早就壟斷高端商業(yè)市場了。
關(guān)于linux系統(tǒng)whatis的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
成都創(chuàng)新互聯(lián)科技公司主營:網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、小程序制作、成都軟件開發(fā)、網(wǎng)頁設(shè)計(jì)、微信開發(fā)、成都小程序開發(fā)、網(wǎng)站制作、網(wǎng)站開發(fā)等業(yè)務(wù),是專業(yè)的成都做小程序公司、成都網(wǎng)站建設(shè)公司、成都做網(wǎng)站的公司。創(chuàng)新互聯(lián)公司集小程序制作創(chuàng)意,網(wǎng)站制作策劃,畫冊、網(wǎng)頁、VI設(shè)計(jì),網(wǎng)站、軟件、微信、小程序開發(fā)于一體。
當(dāng)前名稱:Linux系統(tǒng)whatis:詳解命令和用法(linux系統(tǒng)whatis)
網(wǎng)頁路徑:http://www.dlmjj.cn/article/cospsdc.html


咨詢
建站咨詢
