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