一、簡(jiǎn)述 記錄簡(jiǎn)單的Linux 基礎(chǔ)操作,、常用shell命令,、vi編輯器常用命令、man幫助手冊(cè)的使用,。 二,、Linux 基礎(chǔ)操作 1、按 Ctrl+Alt+t 快捷鍵或者雙擊桌面的“Terminal”調(diào)出偽終端(命令行窗口),。 超級(jí)終端: Ctrl+Alt+F6: tty6 Ctrl+Alt+F5 tty5 Ctrl+Alt+F4 主機(jī)與虛擬機(jī)的共享路徑
Ctrl+Alt+F3 tty3 Ctrl+Alt+F1 返回正常使用的界面 2,、Liang@ubuntu:~$ ls Liang:用戶名; ubuntu:主機(jī)名; ~:家目錄(當(dāng)前登錄用戶的主目錄),,/home/Liang $:命令提示符(一個(gè)標(biāo)志) ls:以列表方式羅列出當(dāng)前目錄的文件 3,、使虛擬機(jī)獲取鼠標(biāo):Ctrl+G;使宿主計(jì)算機(jī)獲取鼠標(biāo):Ctrl+Alt 4、列出當(dāng)前目錄的所有文件信息 ls -la ,。-l 選項(xiàng)是以詳細(xì)的列表方式羅列,;-a選項(xiàng)是表示所有文件(all),即包括隱藏文件,。 5,、在終端窗口,按Ctrl+C 強(qiáng)行停止當(dāng)前正在執(zhí)行的命令或程序,。 6,、關(guān)機(jī)命令:在終端窗口,輸入命令:poweroff 三,、shell命令介紹 常用文件操作:1,、編輯文件 vi 文件名 (或者說是新建文件并用vi編輯)2、復(fù)制文件 cp a文件 b文件 (將a文件復(fù)制一份,,b就是復(fù)制文件(副本),。(兩個(gè)文件都在當(dāng)前路徑,可以分別指定路徑)3,、復(fù)制文件目錄 cp a目錄 b目錄 -r 將a目錄(包含里面的全部文件)內(nèi)容 復(fù)制到b目錄下,,(-r 遞歸復(fù)制)4、新建文件 touch 文件名 (文件不存在就新建,,存在就更新新建的最新修改時(shí)間)5,、移動(dòng)文件 mv a文件 b目錄 (將a文件移動(dòng)到b目錄下)6、重命名文件 mv a文件 b文件 (將a文件命名為b文件,注:都是在當(dāng)前路徑下)7,、刪除文件 rm a文件 (刪除a文件)8,、刪除文件目錄 rm a目錄 -r (刪除a目錄,包括里面的文件)
補(bǔ)充說明: (1)ls命令:ls 羅列當(dāng)前目錄的所有文件 可直接指定目錄(路徑) ls 路徑 ls -l 以更加詳細(xì)的方式羅列當(dāng)前目錄的所有文件 可直接指定目錄(路徑) ls -l 路徑 (2)clear命令:實(shí)際上clear命令只是上拉屏幕,,并沒有清屏,。自己實(shí)現(xiàn)一個(gè)類似windos的清屏命令:cls 在/usr/bin/目錄下。使用root用戶,,新建一個(gè)名為cls的文件,,加上執(zhí)行權(quán)限,寫入如入內(nèi)容: #/bin/bashprintf "\033c" 注:普通用戶切換到root用戶,,輸入命令 sudo -s,然后回車,,輸入密碼(密碼不回顯)。然后直接 vi cls,編輯內(nèi)容,,保存退出,。添加權(quán)限命令:chmod 777 cls 。退出root狀態(tài),,返回之前用戶狀態(tài),,輸入命令:exit。然后就可以使用cls作為清屏命令了,。 (3)tree 命令,,羅列目錄的文件結(jié)構(gòu),后面可以跟一個(gè)目錄(路徑),,默認(rèn)是當(dāng)前目錄路徑,。 如果目錄文件太多,可帶參數(shù)執(zhí)行,比如說根目錄有非常多的文件,,可使用命令 tree / -d -L 1 (-d List directories only,。
(4)mount命令,。掛載硬盤、U盤,,或遠(yuǎn)程共享目錄等,。 舉例掛載U盤: a)查找剛識(shí)別出的U盤分區(qū):sudo fdisk -l (這是查看當(dāng)前系統(tǒng)已識(shí)別的分區(qū),比如說識(shí)別到的U盤分區(qū)為:/dev/sdb ) b)將U盤分區(qū)掛載到/mnt目錄下:sudo mount /dev/sdb /mnt (之前的/mnt文件會(huì)被掩蓋,直到卸載U盤分區(qū)) c)卸載U盤分區(qū):sudo umount /mnt 查看設(shè)備掛在路徑信息:df -h (5)more命令:分屏(分頁)顯示信息,比如需要查看的一個(gè)文件內(nèi)容比較大,,而又不想打開時(shí),,可使用命令more test.txt進(jìn)行分頁瀏覽。按空格或者回車向下翻頁,,按b向上翻,,按q退出。 (6)<,、>重定向:比如命令ps -ef >1.txt ,將命令ps -efd的輸出內(nèi)容輸出到1.txt文件(不存在的話會(huì)創(chuàng)建,,已存在則覆蓋); 使用>>:ps -ef >>1.txt (將命令ps -efd的輸出內(nèi)容追加到1.txt文件),。清空1.txt文件可以使用:> 1.txt 命令,。< 重定向輸入。 (7)mkdir命令,,如果需要?jiǎng)?chuàng)建多級(jí)目錄,,添加-p選項(xiàng)。比如創(chuàng)建 a/b/c 這種連續(xù)空目錄,,使用命令:mkdir a/b/c -p
(8) tar命令,,壓縮文件。 a)壓縮為.tar文件 tar -cxf test.tar a.txt b.txt (將a.txt和b.txt壓縮為test.tar)b)解壓.tar格式的壓縮包 tar xvf test.tar (解壓test.tar文件到當(dāng)前路徑)c)解壓.tar格式的壓縮包到指定路徑 tar xvf test.tar -C /tmp (解壓test.tar文件到/tmp) 命令選項(xiàng): -c 創(chuàng)建壓縮文件 -x 釋放壓縮文件(解壓縮) -f 指定要壓縮后解壓縮的文件名 -v 顯示命令執(zhí)行的過程 (比如當(dāng)前壓縮到哪個(gè)文件等等信息) -z 使用gzip壓縮工具進(jìn)行壓縮,、解壓縮,,文件后綴是.gz -j 使用bzip2壓縮工具進(jìn)行壓縮、解壓縮,,文件后綴是.bz2 a)壓縮成.gz格式的壓縮包tar -czvf test.tar.gz a.txt b.txt (將a.txt和b.txt壓縮為test.tar.gz)b)解壓.gz格式的壓縮包tar -xzvf test.tar.gz (將test.tar.gz壓縮包解壓到當(dāng)前路徑)tar -xzvf test.tar.gz -C /tmp (將test.tar.gz壓縮包解壓到/tmp)c)壓縮成.bz2格式的壓縮包tar -cjvf test.tar.bz2 a.txt b.txt (將a.txt和b.txt壓縮為test.tar.bz2)d)解壓.bz2格式的壓縮包tar -xjvf test.tar.bz2 (將test.tar.bz2壓縮包解壓到當(dāng)前路徑)tar -xjvf test.tar.bz2 -C /tmp (將test.tar.bz2壓縮包解壓到/tmp) (9)wc命令,,計(jì)算文件的行數(shù)(l)、單詞數(shù)(w),、字符數(shù)(c),。
(10)which命令 ,例如which ls,,表示查看ls命令所在路徑,,其實(shí)ls命令就是一個(gè)可執(zhí)行文件。 (11)diff命令:比較兩個(gè)文件的異同,。例如:diff file1 file2,,比較file1與file2的異同并輸出??梢允褂么嗣町a(chǎn)生補(bǔ)丁 例如:diff dir1/ dir2/ > -urNB dir.patch (比較dir1目錄的所有文件與dir2的異同并輸出為dir.patch補(bǔ)?。?/p> 打補(bǔ)丁使用命令:patch -p1 < 補(bǔ)丁文件的路徑 (需要進(jìn)入到要打補(bǔ)丁的路徑,比如 patch -p1< ../dir.patch 需要進(jìn)入到dir1目錄,,打完補(bǔ)丁之后,,dir1的內(nèi)容就與dir2的內(nèi)容相同。) (12)find命令,find 命令會(huì)遞歸地查找你所執(zhí)行的目錄下的所有子目錄,。find 命令除了可以按照文件的名字來查找,,還可以按文件的權(quán)限、文件的類型,、文件的索 引節(jié)點(diǎn)編號(hào)等等來查找,。 比如按名字找,find 路徑 -name "文件名" ,。例如要在./Desktop/code/中查找所有以.c 結(jié)尾的文件,。
(13)grep命令,用來在文件中查找字符串,。命令格式:grep 尋找的內(nèi)容 尋找的路徑 -參數(shù) 例如要在 hello.c 中查找字符串”hello”
grep 常用的選項(xiàng): -r:如果有子目錄,,則遞歸地查找。 -w:嚴(yán)格匹配指定的單詞(比如指定查找”apple”,,”appletree”將被剔除) -n:打印行號(hào) -H:打印文件名 例如,,遞歸地在/project/src 下查找所有包含單詞”hello”的.c 文件,并打印出含有該單詞的 文件名稱和該單詞在文件中的行號(hào),,命令是:Liang@ubuntu:~$ grep “hello” /project/src/*.c -rwnH 查找某一類文件,,再在這些文件中查找我們需要的字符串或者單詞,可以將 find 和 grep 命令通過管道'|’連接起來一起用,,實(shí)現(xiàn)更加強(qiáng)大的功能,,比如: 要在/project/src 的所有普通文件中查找單詞”hello”,要求剔除像”helloworld”這樣的單詞: Liang@ubuntu:~$ find /project/src -type f | xargs grep “hello” -wnH xargs 代表 find 的輸出作為 grep 的參數(shù)(否則 grep 只會(huì)在 find 找出來的文件列表名稱 中查找”hello”,,而不會(huì)進(jìn)入文件內(nèi)部查找),。 (14)date命令,不帶參數(shù)顯示當(dāng)前日期/時(shí)間,。 設(shè)置時(shí)間日期/時(shí)間(需要超級(jí)權(quán)限) 設(shè)置時(shí)間命令:sudo date -s "20180723 19:00" (設(shè)置時(shí)間為2018年7月23日19:00時(shí))
格式化輸出:date "+%Y-%m-%d %H:%M:%S" (年月日時(shí)分秒)
(15)cal命令,,顯示日歷
(16)head命令,顯示文件前幾行內(nèi)容
(17) tail命令,,顯示文件最后幾行
注:可以使用tail -f xxx.log 來查看log文件的新內(nèi)容 (當(dāng)xxx.log日志有新的數(shù)據(jù)時(shí),,tail會(huì)顯示新的數(shù)據(jù)) 四、vi常用命令 vi編輯器的鍵盤輸入分成兩種情況,,一種情況下你的輸入就是你編輯的文 檔,,另一種情況下你的輸入是你要編輯器幫你完成的動(dòng)作。簡(jiǎn)而言之,,vim 需要兩個(gè)操作模 式:一個(gè)模式下鍵入的信息,,作為文本本身的內(nèi)容,,稱之為編輯模式. 一個(gè)模式下鍵入的信息,,作為執(zhí)行的動(dòng)作,稱之為命令模式。剛一啟動(dòng)的 vim 編輯器自動(dòng)進(jìn)入命令模式,,此模式下鍵入一個(gè)命令對(duì)應(yīng) vim 一個(gè)動(dòng)作,, 比如進(jìn)入編輯模式、保存文本,、復(fù)制黏貼,、查找替換等等;在命令模式下再按下i按鍵,,進(jìn)入編輯模式,。再編輯模式下,按Esc按鍵退出編輯模式,,進(jìn)入命令模式,。
常用vi操作:1、進(jìn)入編輯模式: 按i2,、進(jìn)入命令模式: 按Esc3,、保存文件命令 :w4、退出編輯命令 :q5,、保存并退出命令 :wq6,、復(fù)制行命令 yy7、剪切行命令 dd (或者說是刪除效果)8,、粘貼命令 p9,、撤銷命令 u10,、反撤銷命令 Ctrl+r11、查找命令 /str (str是要查找的字符串)12,、替換命令 :%s/old/new (將文件中所有的 old 字符串替換成 new)13,、去到到文件開頭 gg14、去到文件末尾 G15,、去到行首 ^16,、去到行尾 $17、剪切從光標(biāo)處(含)開始到該行行末的所有字符 d$18,、剪切從光標(biāo)處(不含)開始到該行行首的所有字符 d^19,、復(fù)制從光標(biāo)處(含)開始到該行行末的所有字符 y$20、復(fù)制從光標(biāo)處(不含)開始到該行行首的所有字符 y^21,、區(qū)塊選擇復(fù)制: 復(fù)制方式1:鼠標(biāo)選中,,按y復(fù)制,p粘貼,。 復(fù)制方式2:按v鍵,,進(jìn)入Visual狀態(tài),按上下左右方向鍵進(jìn)行區(qū)域選擇(從當(dāng)前光標(biāo)處(含)開始),,按y復(fù)制,,p粘貼。22,、區(qū)塊選擇剪切 (刪除效果): 剪切方式1:鼠標(biāo)選中,,按y剪切(或者按Delete鍵),p粘貼,。 剪切方式2:按v鍵,,進(jìn)入Visual狀態(tài),按上下左右方向鍵進(jìn)行區(qū)域選擇(從當(dāng)前光標(biāo)處(含)開始),,按d復(fù)制(或者按Delete鍵),,p粘貼。23,、將一個(gè)文件中的內(nèi)容復(fù)制到另外一個(gè)文件 例如將a文件中的一部分內(nèi)容復(fù)制到b文件中a)打開終端 cat a文件 (顯示a文件的內(nèi)容,,然后可以選擇、右鍵復(fù)制(copy))b)用vi打開要粘貼到的文件 vi b文件c)右鍵粘貼(paste)24,、命令行模式下:ZZ 保存并退出25,、全選,在命令行模式,,按ggvG (其中g(shù)g是回到開頭,,v是進(jìn)入visual模式,相當(dāng)于區(qū)塊選擇,,大寫G是到文章末尾,,ggvG結(jié)合起來就是從開頭選到結(jié)尾) (或者是在終端cat出來再進(jìn)行右鍵復(fù)制) 補(bǔ)充: (1)【命令行模式】設(shè)置vi顯示行號(hào),、自動(dòng)縮進(jìn)等,命令行模式下:set option (選項(xiàng)前加no 等于禁止) 選項(xiàng): number 顯示行號(hào) ruler 屏幕底部顯示光標(biāo)所在行,、列的位置 autoindent 自動(dòng)縮進(jìn) all 列出所有選項(xiàng) 比如set number 設(shè)置側(cè)邊顯示行號(hào)。set nonumber 設(shè)置為不顯示行號(hào) 上面的設(shè)置方法僅僅在當(dāng)前編輯的文檔生效,。全局生效需要設(shè)置vi的配置文件,。所有用戶的vim配置文件/etc/vim/vimrc,對(duì)某個(gè)用戶的vim配置文件/home/用戶名/.vimrc。 例如設(shè)置當(dāng)前用戶的配置文件,,(若是還沒有的話就創(chuàng)建)
set backspace=2 可隨時(shí)用退格鍵進(jìn)行刪除 set mouse=a 允許鼠標(biāo)移動(dòng)光標(biāo)” (我們習(xí)慣鼠標(biāo)點(diǎn)到哪,,哪就可以編輯的,但是有vi默認(rèn)光標(biāo)是通過方向鍵移動(dòng)的) syntax on 語法檢驗(yàn),關(guān)鍵字著色 set tabstop=4 設(shè)置tab鍵的寬度 配置所有用戶則需要修改文件/etc/vim/vimsrc (需要超級(jí)權(quán)限) 例如默認(rèn)顯示行號(hào),、自動(dòng)縮進(jìn),、允許鼠標(biāo)移動(dòng)光標(biāo)
(2)【命令行模式】Ctrl+v 方形選擇,(類似與notepad++上的按著Shift+Alt鍵進(jìn)行鼠標(biāo)選擇)
(3)【編輯模式】Ctrl+n 自動(dòng)補(bǔ)全 例如鍵入pri,然后按Ctrl+n,,就會(huì)補(bǔ)上ntf,。 五、man幫助手冊(cè) 1,、man 命令幫助我們查找需要的信息,,而這些信息被歸類為以下幾大類別(詳細(xì)的信息 可以用 man 命令查詢自己): Liang@ubuntu:~$ man man1 Shell 命令(默認(rèn)已安裝)2 系統(tǒng)調(diào)用3 庫函數(shù)4 特殊文件(通常出現(xiàn)在/dev 目錄下)5 文件的特殊格式或協(xié)定(例如/etc/passwd 的格式)6 游戲7 雜項(xiàng)(例如一些宏定義)8 系統(tǒng)管理員命令(通常只能由管理員執(zhí)行)9 非標(biāo)準(zhǔn)內(nèi)核例程 2、有了完整 man 手冊(cè)之后就可以查找想要的信息了,,比如想要找關(guān)于 read 的用法和說明 的信息,。 Liang@ubuntu:~$ man -f readread (2) - read from a file descriptorread (1posix)- read a line from standard input read (3posix) - read from a file 其中,read (1posix)提供的是 Shell 命令幫助信息,read (2)提供的是系統(tǒng)調(diào)用,,read (3posix)提供的是庫函數(shù)等等,,假如你想要的是庫函數(shù) read 的幫助信息,輸入命令:man 3posix read(或者簡(jiǎn)寫為man 3 read) |
|