linux的基本指令--第三节
查找與檢索:
一.文件名查找:find . -name "test*"? ? ? find 路徑? 查找類型? 名字? 未輸入路徑則默認(rèn)當(dāng)前路徑
二 . 內(nèi)容檢索:grep? "he*"? ./? -R? ? ? ? ? ? ?查找內(nèi)容為he*(e有0個(gè)或多個(gè)) 內(nèi)容? ? ? ?路徑? ? ??連同子目錄中所有文件一起查找。?
注意:文件名查找中的*是通配符。內(nèi)容檢索中的*是正則表達(dá)式
? ? -c : 只輸出匹配行的計(jì)數(shù)。
??? -i: 不區(qū)分大小寫(只適用于單字符)。
??? -h : 查詢多文件時(shí)不顯示文件名。
??? -l : 查詢多文件時(shí)只輸出包含匹配字符的文件名。
??? -n: 顯示匹配行及行號(hào)。
??? -s: 不顯示不存在或無匹配文本的錯(cuò)誤信息。
??? -v:顯示不包含匹配文本的所有行。
??? -R:連同子目錄中所有文件一起查找。
磁盤管理:
一. 掛載和卸載U盤:
? ? ? ? ?2.掛載存儲(chǔ)設(shè)備sdbl到掛載點(diǎn)/mnt目錄? ??sudo mount /dev/sdb1? /mnt? ? ? ? ?將/dev/sdb1(U盤所在設(shè)備) 掛載到/mnt
? 3. 訪問 :? /mnt? ? ? 如果/mnt中為hqfs 表示失敗?
? 4.卸載/mnt : Sudo umount /mnt
echo "hello" >Hi? ? ?//>為輸出重定向
二 . 拷貝:
?dd if=sfile of=dfile? ?//if表示inputfile? of表示outputfile
? 創(chuàng)建一個(gè)100M的空文件:? ??dd if=/dev/zero of=hello.txt? bs=100M? count =1? ?//count 表示寫幾次
?
? /dev/null,外號(hào)叫無底洞,你可以向它輸出任何數(shù)據(jù),它通吃,并且不會(huì)撐著!
? /dev/zero,是一個(gè)輸入設(shè)備,你可你用它來初始化文件,從里面獨(dú)處來的數(shù)據(jù)都是0.
壓縮包管理:c為壓縮,x為解壓縮
一 .tar歸檔:tar可以為文件和目錄創(chuàng)建檔案
??? tar cvf dir.tar dir 降dir整理到dir.tar
??? tar xvf dir.tar dir? ? ? ? 釋放文件 到dir
二 . 壓縮與解壓縮:
打gz壓縮包:
??? tar zcvf dir.tar.gz dir? ?壓縮
??? tar zxvf dir.tar.gz 解壓縮
?打bz2壓縮包:
??? tar jcvf dir.tar.bz2 dir 壓縮
??? tar jxvf dir.tar.bz2 解壓縮
??可以指定目錄壓縮:
tar zxvf dir.tar.gz? –C? ~/test
?進(jìn)程管理:
?
?
?一 .查看當(dāng)前在線用戶:who?
二.?監(jiān)控后臺(tái)進(jìn)程:ps 精簡(jiǎn)版? ps aux 帶后臺(tái)的
Head 標(biāo)頭:
??? USER 用戶名
??? UID? 用戶ID(User ID)
??? PID? 進(jìn)程ID(Process ID)
??? PPID 父進(jìn)程的進(jìn)程ID(Parent Process ID)
??? SID? 會(huì)話ID(Session ID)
??? %CPU 進(jìn)程的CPU占用率
??? %MEM 進(jìn)程的內(nèi)存占用率
??? VSZ 進(jìn)程所使用的虛存的大小(Virtual Size)
??? RSS 進(jìn)程使用的駐留集大小或者是實(shí)際內(nèi)存的大小,kbytes字節(jié)
??? TTY 與進(jìn)程關(guān)聯(lián)的終端(tty)
??? STAT 進(jìn)程的狀態(tài):進(jìn)程狀態(tài)使用字符表示的(STAT的狀態(tài)碼)
??? R??? 運(yùn)行? Runnable(on run queue)????? 正在運(yùn)行或在運(yùn)行隊(duì)列中等待.
??? S??? 睡眠? Sleeping?????? 休眠中,受阻,在等待某個(gè)條件的形成或接受到信號(hào)
??? I?? 空閑? Idle
??? Z??? 僵死? Zombie(a defunct process)? 進(jìn)程已終止,但進(jìn)程描述符存在,直到父進(jìn)程調(diào)用wait4()系統(tǒng)調(diào)用后釋放。
??? D?? 不可中斷? Uninterruptible sleep (ususally IO)? 收到信號(hào)不喚醒和不可運(yùn)行,進(jìn)程必須等待直到有中斷發(fā)生。
??? T?? 停止?? Terminate????? 進(jìn)程收到SIGSTOP ,SIGSTP,SIGTIN,SIGTOU信號(hào)后停止運(yùn)行。
??? P?? 等待交換頁
??? W? 無駐留頁? has no resident pages?? 沒有足夠的記憶體分頁可分配
??? X?? 死掉的進(jìn)程
??? <?? 高優(yōu)先級(jí)進(jìn)程?????????????? 高優(yōu)先序的進(jìn)程
??? N?? 低優(yōu)先級(jí)進(jìn)程????????????? 低優(yōu)先序的進(jìn)程
??? L?? 內(nèi)存鎖頁?? ?Lock???????? 有記憶體分頁分配并縮在記憶體內(nèi)
??? s?? 進(jìn)程的領(lǐng)導(dǎo)者(在它之下有子進(jìn)程)
??? l?? 多進(jìn)程的(使用 CLONE_THREAD,類似 NPTL pthreads)
??? +?? 位于后臺(tái)的進(jìn)程組
??? START? 進(jìn)程啟動(dòng)時(shí)間和日期
??? TIME?? 進(jìn)程使用的總CPU時(shí)間
? ?COMMAND? 正在執(zhí)行的命令行命令
??? NI? ?? 優(yōu)先級(jí)(Nice)
??? PRI ?? 進(jìn)程優(yōu)先級(jí)編號(hào)(Priority)
??? WCHAN 進(jìn)程正在睡眠的內(nèi)核函數(shù)名稱;該函數(shù)的名稱是從/root/system.map文件中獲得的。
??? FLAGS? 與進(jìn)程相關(guān)的數(shù)字標(biāo)識(shí)。? ?
?
三 .?顯示后臺(tái)作業(yè):jobs?
?
?$ jobs
?
??? [1]- Stopped??????????? cat
?
??? [2]+ Stopped??????????? cat
第一列方括號(hào)中的數(shù)字表示作業(yè)序號(hào),它是由當(dāng)前運(yùn)行的shell分配的,而不是由操作系統(tǒng)統(tǒng)一分配的。在當(dāng)前shell環(huán)境下,第一后臺(tái)作業(yè)的作業(yè)號(hào)為1,第二作業(yè)的作業(yè)號(hào)為2,等等。
第二列中的“+”號(hào)表示相應(yīng)作業(yè)的優(yōu)先級(jí)比“-”號(hào)對(duì)應(yīng)作業(yè)的優(yōu)先級(jí)高。
第三列表明作業(yè)狀態(tài),是否為運(yùn)行、中斷、等待輸入或停止等。
最后列出的是創(chuàng)建當(dāng)前這個(gè)作業(yè)所對(duì)應(yīng)的命令行。
四.后臺(tái)/掛起作業(yè)移到前臺(tái)運(yùn)行:fg
fg? 一個(gè)或多個(gè)進(jìn)程的PID,或者是命名名稱,或者是作業(yè)號(hào)(作業(yè)號(hào)前面要帶一個(gè)%號(hào))
? 把指定的后臺(tái)作業(yè)或掛起作業(yè)移到前臺(tái)運(yùn)行。
在命令行的末尾加上&字符,則shell為這個(gè)命令創(chuàng)建一個(gè)后臺(tái)進(jìn)程。
它雖然也可以輸出到屏幕,但是不能讀取鍵盤輸入,不管執(zhí)行命令的進(jìn)程有沒有退出都立刻回到shell提示符接受下一條命令的輸入。
如果該進(jìn)程也需要讀取鍵盤輸入,則被掛起等待直到用戶用fg命令把它變成前臺(tái)進(jìn)程。
如果一個(gè)命令需要較長的處理時(shí)間并且不需要與用戶交互,就適合把它放在后臺(tái)執(zhí)行。
五.掛起進(jìn)程后臺(tái)執(zhí)行:bg
或者在創(chuàng)建任務(wù)時(shí)加&
六.進(jìn)程發(fā)送信號(hào)? kill
Kill命令如果不帶參數(shù)而直接跟pid,就是發(fā)給該進(jìn)程SIGTERM信號(hào),大部分進(jìn)程收到該信號(hào)就會(huì)終止。但是被掛起的進(jìn)程不能處理信號(hào),所以必須發(fā)SIGKILL信號(hào),由系統(tǒng)強(qiáng)制終止進(jìn)程。
七. 查看當(dāng)前進(jìn)程環(huán)境變量:
? ? vim ~/.bashrc
? ? 在家目錄下的隱藏文件.bashrc中配置當(dāng)前用戶環(huán)境變量即在文件末尾添加export PATH=$PATH:新路徑
??? ?配置系統(tǒng)環(huán)境變量,配置時(shí)需要有root權(quán)限:vim /etc/profile
用戶管理:
一. 創(chuàng)建用戶:sudo useradd –s /bin/bash –g colin –d /home/colin –m colin
? ?-s 指定新用戶登錄時(shí)shell類型?
??? -g 指定所屬組,該組必須已經(jīng)存在
??? -G 指定附屬組,該組必須已經(jīng)存在
??? -d 用戶家目錄
??? -m 用戶家目錄不存在時(shí),自動(dòng)創(chuàng)建該目錄
二 . 設(shè)置用戶組:sudo groupadd colin
三.設(shè)置密碼:sudo passwd colin
四. 切換用戶:su 用戶
五.?變成root用戶:sudo su
六.刪除用戶:userdel 選項(xiàng)? 用戶名? ? 常用選項(xiàng)-r,作用是把用戶的主目錄一起刪除
網(wǎng)絡(luò)管理:
VMnet0(橋接模式)、VMnet8(NAT模式)、VMnet1(僅主機(jī)模式)
橋接模式:將虛擬機(jī)的虛擬網(wǎng)絡(luò)適配器與主機(jī)的物理網(wǎng)絡(luò)適配器進(jìn)行交接,虛擬機(jī)中的虛擬網(wǎng)絡(luò)適配器可通過主機(jī)中的物理網(wǎng)絡(luò)適配器直接訪問到外部網(wǎng)絡(luò)。簡(jiǎn)而言之,這就好像在局域網(wǎng)中添加了一臺(tái)新的、獨(dú)立的計(jì)算機(jī)一樣。因此,虛擬機(jī)也會(huì)占用局域網(wǎng)中的一個(gè)IP地址,并且可以和其他終端進(jìn)行相互訪問。橋接模式網(wǎng)絡(luò)連接支持有線和無線主機(jī)網(wǎng)絡(luò)適配器。如果你想把虛擬機(jī)當(dāng)做一臺(tái)完全獨(dú)立的計(jì)算機(jī)看待,并且允許它和其他終端一樣的進(jìn)行網(wǎng)絡(luò)通信,那么橋接模式通常是虛擬機(jī)訪問網(wǎng)絡(luò)的最簡(jiǎn)單途徑。
NAT模式:
NAT,是Network Address Translation的縮寫,意即網(wǎng)絡(luò)地址轉(zhuǎn)換。NAT模式也是VMware創(chuàng)建虛擬機(jī)的默認(rèn)網(wǎng)絡(luò)連接模式。使用NAT模式網(wǎng)絡(luò)連接時(shí),VMware會(huì)在主機(jī)上建立單獨(dú)的專用網(wǎng)絡(luò),用以在主機(jī)和虛擬機(jī)之間相互通信。虛擬機(jī)向外部網(wǎng)絡(luò)發(fā)送的請(qǐng)求數(shù)據(jù)"包裹",都會(huì)交由NAT網(wǎng)絡(luò)適配器加上"特殊標(biāo)記"并以主機(jī)的名義轉(zhuǎn)發(fā)出去,外部網(wǎng)絡(luò)返回的響應(yīng)數(shù)據(jù)"包裹",也是先由主機(jī)接收,然后交由NAT網(wǎng)絡(luò)適配器根據(jù)"特殊標(biāo)記"進(jìn)行識(shí)別并轉(zhuǎn)發(fā)給對(duì)應(yīng)的虛擬機(jī),因此,虛擬機(jī)在外部網(wǎng)絡(luò)中不必具有自己的IP地址。從外部網(wǎng)絡(luò)來看,虛擬機(jī)和主機(jī)在共享一個(gè)IP地址,默認(rèn)情況下,外部網(wǎng)絡(luò)終端也無法訪問到虛擬機(jī)。
此外,在一臺(tái)主機(jī)上只允許有一個(gè)NAT模式的虛擬網(wǎng)絡(luò)。因此,同一臺(tái)主機(jī)上的多個(gè)采用NAT模式網(wǎng)絡(luò)連接的虛擬機(jī)也是可以相互訪問的。
前面我們已經(jīng)提到,默認(rèn)情況下,外部網(wǎng)絡(luò)無法訪問到虛擬機(jī),不過我們也可以通過手動(dòng)修改NAT設(shè)置實(shí)現(xiàn)端口轉(zhuǎn)發(fā)功能,將外部網(wǎng)絡(luò)發(fā)送到主機(jī)指定端口的數(shù)據(jù)轉(zhuǎn)發(fā)到指定的虛擬機(jī)上。比如,我們?cè)谔摂M機(jī)的80端口上"建立"了一個(gè)站點(diǎn),只要我們?cè)O(shè)置端口轉(zhuǎn)發(fā),將主機(jī)88端口上的數(shù)據(jù)轉(zhuǎn)發(fā)給虛擬機(jī)的80端口,就可以讓外部網(wǎng)絡(luò)通過主機(jī)的88端口訪問到虛擬機(jī)80端口上的站點(diǎn)。
僅主機(jī)模式:
僅主機(jī)模式,是一種比NAT模式更加封閉的的網(wǎng)絡(luò)連接模式,它將創(chuàng)建完全包含在主機(jī)中的專用網(wǎng)絡(luò)。僅主機(jī)模式的虛擬網(wǎng)絡(luò)適配器僅對(duì)主機(jī)可見,并在虛擬機(jī)和主機(jī)系統(tǒng)之間提供網(wǎng)絡(luò)連接。相對(duì)于NAT模式而言,僅主機(jī)模式不具備NAT功能,因此在默認(rèn)情況下,使用僅主機(jī)模式網(wǎng)絡(luò)連接的虛擬機(jī)無法連接到Internet(在主機(jī)上安裝合適的路由或代理軟件,或者在Windows系統(tǒng)的主機(jī)上使用Internet連接共享功能,仍然可以讓虛擬機(jī)連接到Internet或其他網(wǎng)絡(luò))。
在同一臺(tái)主機(jī)上可以創(chuàng)建多個(gè)僅主機(jī)模式的虛擬網(wǎng)絡(luò),如果多個(gè)虛擬機(jī)處于同一個(gè)僅主機(jī)模式網(wǎng)絡(luò)中,那么它們之間是可以相互通信的;如果它們處于不同的僅主機(jī)模式網(wǎng)絡(luò),則默認(rèn)情況下無法進(jìn)行相互通信(可通過在它們之間設(shè)置路由器來實(shí)現(xiàn)相互通信)。
形象的說:
橋接模式的虛擬機(jī),就像一個(gè)在路由器"民政局"那里"上過戶口"的成年人,有自己?jiǎn)为?dú)的居住地址,雖然和主機(jī)住在同一個(gè)大院里,但好歹是有戶口的人,可以大搖大擺地直接和外面通信。
NAT模式的虛擬機(jī),純粹就是一個(gè)沒上過戶口的黑戶,路由器"民政局"根本不知道有這么個(gè)人,自然也不會(huì)主動(dòng)和它通信。即使虛擬機(jī)偶爾要向外面發(fā)送點(diǎn)的信件,都得交給主機(jī)以主機(jī)的名義轉(zhuǎn)發(fā)出去,主機(jī)還專門請(qǐng)了一位叫做NAT的老大爺來專門負(fù)責(zé)這些虛擬機(jī)的發(fā)信、收信事宜。
僅主機(jī)模式的虛擬機(jī),純粹是一個(gè)徹徹底底的黑奴,不僅沒有戶口、路由器"民政局"不知道這么號(hào)人,還被主機(jī)關(guān)在小黑屋里,連信件也不準(zhǔn)往外發(fā)。
轉(zhuǎn)載于:https://www.cnblogs.com/Lune-Qiu/p/8886161.html
總結(jié)
以上是生活随笔為你收集整理的linux的基本指令--第三节的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: trx40主板支持服务器内存,华硕发布T
- 下一篇: linux 其他常用命令