




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Linux操作系統項目式教程目錄CONTENTS項目1初識Linux操作系統項目2Linux操作系統基礎項目3用戶組群和權限管理項目項目4配置和管理磁盤項目5安裝軟件項目6編寫Shell腳本統項目7配置和管理網絡系統項目8配置和管理Linux服務項目2Linux操作系統基礎任務1Shell操作基礎任務2目錄文件基本操作任務3文件查詢與壓縮任務4使用vi編輯器2.1.1打開Shell窗口Linux系統提供圖形用戶界面XWindow,就像Windows一樣,也有窗口、菜單和圖標,可以通過鼠標進行相關的管理操作,在圖形化界面窗口,選擇【應用程序】→【系統工具】→【終端】命令來打開虛擬終端,這時就啟動了Shell,如圖2-1所示。圖2-1啟動Shell當登陸到Linux系統之后,就可以看到系統提示信息如下:[root@localhost~]#其中:l root是我們登陸系統的用戶名。l @用戶名和主機名的分隔符。l localhost代表本機。l ~代表現在是root用戶的家目錄/root。l #代表root是管理員用戶。2.1.2Shell命令格式ls命令之后不加選項和參數也能執行,不過只能執行最基本的功能,即顯示當前目錄下的文件名。那么加入一個選項,會出現什么結果?[root@localhost~]#ls
-l總用量
8-rw.1rootroot16476月801:27anaconda-ks.cfg-rw-r--r--.1rootroot16956月801:30initial-setup-ks.cfgdrwxr-xr-x.2rootroot66月801:41公共drwxr-xr-x.2rootroot66月801:41模板drwxr-xr-x.2rootroot66月801:41視頻drwxr-xr-x.2rootroot536月1721:08圖片drwxr-xr-x.2rootroot66月801:41文檔drwxr-xr-x.2rootroot66月801:41下載drwxr-xr-x.2rootroot66月801:41音樂drwxr-xr-x.2rootroot406月801:41桌面[root@localhost~]#如果加一個-l選項,則可以看到顯示的內容明顯增多了。-l是長格式(longlist)的意思,也就是顯示文件的詳細信息。可以看到,選項的作用是調整命令功能。如果沒有選項,那么命令只能執行最基本的功能;而一旦有選項,則能執行更多功能,或者顯示更加豐富的數據。短格式選項和長格式選項Linux的選項又分為短格式選項和長格式選項。短格式選項是長格式選項的簡寫,用一個減號-和一個字母表示,例如ls-l。長格式選項是完整的英文單詞,用兩個減號--和一個單詞表示,例如ls--all。一般情況下,短格式選項是長格式選項的縮寫,也就是一個短格式選項會有對應的長格式選項。當然也有例外,比如
ls命令的短格式選項-l就沒有對應的長格式選項,所以具體的命令選項還需要通過幫助手冊來查詢。(3)[參數]為跟在可選項后的參數,或者是command的參數,參數可以是文件,也可以是目錄,可以沒有,也可以是多個,有些命令必須使用多個操作參數,如:cp(copy的縮寫)命令必須指定源操作對象和目標對象。(4)command[選項][參數]等項目之間以空格隔開,無論幾個空格,Shell都視為一個空格。2.1.2Shell命令格式2.輸入命令時鍵盤操作的一般規律(1)命令、文件名、參數等都要區分大小寫,如:md與MD是不同的。(2)命令、選項、參數之間必須有一個或多個空格。(3)命令太長時,可以使用“\”符號來轉義Enter符號,可以實現一條命令跨多行。[root@localhost~]#hostnamectlset-hostname\
//輸入“\”符號來轉義Enter符號>linux//輸入主機名為:linux[root@localhost~]#bash
//bash執行命令[root@linux~]#(4)按Enter鍵以后,該條命令才會被執行。2.1.3系統基本操作命令1.查看用戶登錄信息who命令主要用來查看當前哪些用戶登錄到了本臺機器上。
[root@localhost~]#who
-a//顯示所有用戶的信息系統引導
2023-02-0710:42root?:02023-02-0711:21?21501(:0)運行級別
52023-02-0710:56最近=3root+pts/02023-02-0711:23.22440(:0)tty11970-01-0108:0019091id=tty1終端=1退出=0[root@localhost~]#2.顯示當前操作用戶用來顯示當前的操作用戶的用戶名的命令為whoami,命令如下:[root@localhost~]#whoamiroot[root@localhost~]#2.1.3系統基本操作命令3.hostname/hostnamectl-顯示或設置當前系統主機名(1)顯示當前系統的主機名的命令為hostname,命令如下:[root@localhost~]#hostname
//顯示當前系統的主機名localhost
//主機名為:localhost
[root@localhost~]#(2)設置當前系統的主機名的命令為hostnamectlset-hostname,命令如下:[root@localhost~]#hostnamectlset-hostnametest1
//設置當前系統的主機名為:test1[root@localhost~]#bash
//執行命令[root@test1~]#[root@test1~]#hostnametest1[root@test1~]#4.顯示時間日期顯示當前時間日期,可以執行date命令來查看時間日期,命令如下:[root@localhost~]#date2023年02月07日星期二11:31:22CST[root@localhost~]#5.顯示日歷命令顯示日歷信息,可以執行cal命令查看,命令如下:[root@localhost~]#cal
二月
2023日
一
二
三
四
五
六12345678910111213141516171819202122232425262728[root@localhost~]#2.1.3系統基本操作命令6.clear-清除屏幕命令該命令相當于DOS下的cls命令,命令如下:[root@localhost~]#clear[root@localhost~]#5.顯示日歷命令顯示日歷信息,可以執行cal命令查看,命令如下:[root@localhost~]#cal
二月
2023日
一
二
三
四
五
六12345678910111213141516171819202122232425262728[root@localhost~]#2.1.4Shell使用技巧1.命令和文件的自動補齊功能Linux系統中的命令有許多實用的功能,下面我們就介紹自動補齊功能,在Linux命令行下,輸入字符后,按兩次Tab鍵,Shell就會列出以這些字符打頭的所有可用命令。如果只有一個命令匹配到,按一次Tab鍵就自動將這個命令補全。當然,除了命令補全,還有路徑、文件名補全。[root@localhost~]#mkd<Tab>mkdictmkdirmkdosfsmkdumprd[root@localhost~]#在這里Shell將列出所有以字符串mkd開關的已知命令,這些被稱為“命令行自動補齊”,這種功能在平常的應用中是經常使用的。在命令行上操作時,一定要經常勤用Tab鍵,這樣可以避免命令拼寫錯誤或是文件名過長而導致輸入錯誤。2.歷史命令若要查看最近使用的過的命令,可以在終端中執行history命令。執行歷史命令最簡單的方法就是利用小鍵盤上的方向鍵上下箭頭,可以把最近執行過的命令找回來,減少輸入命令的次數,在需要使用重復執行的命令時非常方便。用history來顯示和編輯歷史命令,其命令格式如下:history
[n]功能:當history命令沒有參數,將顯示整個歷史命令列表的內容,如果用n參數,將顯示最后n個歷史命令。[root@localhost~]#history
5
//顯示最近5個歷史命令27dir28clear29ipaddress30ifconfig31history5[root@localhost~]#2.1.4Shell使用技巧3.命令別名用戶可以為某一個復雜的指令創建一個簡單的別名,當用戶使用這個別名時,系統就會自動地找到并執行這個別名對應的真實指令,從而提高工作效率。可以使用alias指令查詢當前已經定義的alias列表。使用alias指令創建別名,使用unalias來取消一條別名記錄,使用alias命令指令,其命令格式如下:alias
[別名]=[命令名稱]功能:設置命令的別名,如果不加任何參數,僅輸入alias命令,將列出當前所有的別名設置,alias命令僅對該次登錄系統有效。【示例1】為'ls–l/home'命令設置別名displayhome,然后就可以使用displayhome命令了,再執行unaliasdisplayhome命令,取消別名設置,此時displayhome就已經不是命令了,設置命令如下:[root@localhosthome]#aliasdisplayhome='ls-l/home'[root@localhosthome]#displayhome總用量
8drwxr-xr-x.2rootroot40967月162021jddrwxr-xr-x.2rootroot40962月710:56linux[root@localhosthome]#取消別名設置,此時displayhome就已經不是命令了。[root@localhosthome]#unalias
displayhome[root@localhosthome]#displayhomebash:displayhome:未找到命令...[root@localhosthome]#2.1.4Shell使用技巧4.命令幫助由于Linux操作系統的命令以及選項和參數實在太多了,所以建議用戶不要去費力記住所有命令的用法,實際上也不可能全部記住,借助Linux系統提供的各種幫助工具,可以很好的解決此類問題。(1)whatis查詢命令。[root@localhost~]#whatis
lsls(1)-列目錄內容ls(1p)-listdirectorycontents[root@localhost~]#(2)利用“--help”選項查詢命令。[root@localhost~]#ls
--help用法:ls[選項]...[文件]...ListinformationabouttheFILEs(thecurrentdirectorybydefault).Sortentriesalphabeticallyifnoneof-cftuvSUXnor--sortisspecified.Mandatoryargumentstolongoptionsaremandatoryforshortoptionstoo.-a,--all不隱藏任何以.開始的項目-A,--almost-all列出除.及..以外的任何項目--author與-l同時使用時列出每個文件的作者-b,--escape以八進制溢出序列表示不可打印的字符--block-size=SIZEscalesizesbySIZEbeforeprintingthem;e.g.,'--block-size=M'printssizesinunitsof1,048,576bytes;seeSIZEformatbelow……(3)利用man查詢命令。[root@localhost~]#man
ls提要:
ls[選項][文件名...]GNU選項(短格式):[-1abcdfgiklmnopqrstuxABCDFGLNQRSUX][-wcols][-Tcols]描述(
DESCRIPTION):程序ls先列出非目錄的文件項,然后是每一個目錄中的“可顯示”文件。如果沒有選項之外的參數出現,缺省為"."(當前目錄)。……2.1.4Shell使用技巧(4)利用info查詢命令。[root@localhost~]#infolsFile:,Node:Whatinformationislisted,Next:Sortingtheoutput,Prev:Whichfilesarelisted\,Up:lsinvocation10.1.2WhatinformationislistedTheseoptionsaffecttheinformationthat'ls'displays.Bydefault,onlyfilenamesareshown.'--author'Listeachfile'sauthorwhenproducinglongformatdirectorylistings.InGNU/Hurd,fileauthorscandifferfromtheirowners,butinotheroperatingsystemsthetwoarethesame.'-D''--dired'Withthelonglisting('-l')format,printanadditionallineafterthemainoutput://DIRED//BEG1END1BEG2END2...TheBEGNandENDNareunsignedintegersthatrecordthebytepositionofthebeginningandendofeachfilenameintheoutput.ThismakesiteasyforEmacstofindthenames,evenwhentheycontainunusualcharacterssuchasspaceornewline,withoutfancysearching.Ifdirectoriesarebeinglistedrecursively('-R'),outputasimilarlinewithoffsetsforeachsubdirectoryname://SUBDIRED//BEG1END1...Finally,outputalineoftheform://DIRED-OPTIONS//--quoting-style=WORDwhereWORDisthequotingstyle(*noteFormattingthefilenames::).本任務注意點(1)Linux中的命令格式由command[options][arguments](命令、選項、參數)三部分組成的,三部分內容使用空格分開,有些命令不需要選項也不需要參數,但有的命令在運行時需要多個選項或參數。(2)為了熟悉Linux命令,盡量少使用圖形界面,可以使用命令實現關機、重啟等操作。任務拓展訓練(1)在Linux系統中,使用命令實現重啟、關機等操作。(2)在Linux系統中,使用命令實現不同啟動級別。(3)在Linux系統中,使用命令查看主機名以及登錄的用戶的信息。(4)在Linux系統中,計算129+(45-5*3)+2013的值。(5)在Linux系統中,查看使用的系統的編碼規范。(6)在Linux系統中,查看計算機的ip地址等網絡信息。(7)在Linux系統中,利用man文件查看init命令的用法。(8)在Linux系統中,通知所有登錄到本計算機上的用戶20分鐘后將關閉計算機。補充知識Shell簡介Shell從英文字面上看是“殼”的意思,Shell在Linux中俗稱殼,Shell處于Linuxkernel的外圍,就像一個“殼”一樣,如圖2-2所示。Linuxkernel承擔的任務是上層的服務、應用以及硬件控制等,但是Linuxkernel是無法直接去控制的,也就是用戶是不允許直接與Linuxkernel直接進行通訊的,這就需要我們要借助一個外圍的“殼”,在這里我們把它叫做Shell。Shell所起到的作用是個中間媒介的作用也就是將用戶的需求,轉換成Linuxkernel能夠識別的指令。但是Shell其實本身只是一個概念,其中的實施是依靠圖形或者命令模式去實現的。圖2-2Shell示意圖
2.2.1系統目錄結構1.整體目錄結構在Linux操作系統下面,所有的文件與目錄都是由根目錄"/"開始的,這是所有文件與目錄的源頭。然后再逐漸擴展出枝干,就像一棵倒置的樹,所有的文件和外部設備都以文件的形式掛結在這個文件樹上,包括硬盤、U盤、光驅、調制解調器等,也正因為如此我們習慣上將Linux的這種目錄配置方式稱作“目錄樹”,如圖2-3所示。Linux系統中的這棵樹具有以下特點:這棵樹的樹根是根目錄(/);每個目錄既可以是本地的文件系統,也可以是網絡上的文件系統;每個文件在目錄樹中的文件名,如果連路徑都算到一起的話是唯一的,換句話說就是在同一目錄下,文件不能重名。圖2-3Linux目錄樹2.2.1系統目錄結構2.主要目錄作用l/:根目錄,文件的最頂端,其它目錄和文件的入口。l/bin:存放系統所需要的重要命令,ls,cp,mkdir等,usr/bin也存放了一些系統命令,這些命令對應的文件都是可執行的,普通用戶可以使用大部分的命令。l/boot:存放Linux啟動時內核及引導系統程序所需要的核心文件,內核文件和grub系統引導管理器都位于此目錄。l/dev:存放Linux系統下的設備文件,如光驅,磁盤等。訪問該目錄下的某個文件相當于訪問某個硬件設備,常用的是掛在光驅。l/etc:一般存放系統的配置文件,作為一些軟件啟動時默認配置文件讀取的目錄,如/etc/fstab存放系統分區信息。l/home:系統默認的用戶家目錄。l/root:Linux超級權限用戶的root目錄。/run:包含運行時文件的目錄。l/sbin:存放一些系統管理的命令,一般只能由超級權限用戶root執行。l/tmp:臨時文件目錄,任何人都可以訪問。系統軟件或用戶運行程序產生的臨時文件存放到這里,此目錄數據需要定期清除。l/usr:應用程序存放目錄,如命令、幫助文檔等。安裝Linux軟件包時默認安裝到/usr/local目錄下.l/var:這個目錄的內容經常變動的,/var/log用于存放系統日志,/var/lib存放系統庫文件等。l/home/alice、/home/bob、/home/eve:一般用戶建立的用戶家目錄。/usr/bin:系統用戶使用的應用程序與指令。/usr/local:用戶級的軟件目錄,用來存放用戶安裝編譯的軟件。/usr/sbin:超級用戶使用的比較高級的管理程序和系統守護程序。/var/tmp:存儲可以保存較長時間的臨時文件。2.2.2瀏覽目錄1.絕對路徑和相對路徑Linux的一個重要特點就是一切內容都是以文件存在的,這就要求我們找到要操作的文件,找到文件的前提是迅速定位文件的目錄,我們定位目錄的方法有兩種,一種是通過絕對路徑定位目錄,另一種是通過相對路徑定位目錄。l絕對路徑:路徑的寫法一定由根目錄/寫起,如/usr/local/mysql。l相對路徑:路徑的寫法不是由根目錄/寫起,例如,用戶首先進入到/,然后再進入到home,命令為cd/home,然后再使用cdtest命令,此時用戶所在的路徑為/home/test。第一個cd命令后面跟/home,第二個cd命令后跟test,并沒有/,這個test是相對于/home目錄來講的,所以叫作相對路徑。2.2.2瀏覽目錄2.cd命令cd命令是linux中最基本的命令,它的作用是切換到一個目錄下,一般不帶選項,只有參數(就是定位的目錄),可以使用絕對路徑和相對路徑的方法定位到某一個目錄中。示例:l切換到根目錄,cd/l切換到路徑/etc/,cd/etc/。l切換到/home目錄,cd/home。這些都是采用絕對路徑的方法進行切換。假如當前在/etc/目錄下,想進入etc下的yum.repos.d目錄,就可以直接在命令行下敲入cdyum.repos.d進入這個目錄。這就是采用相對路徑的方法定位目錄,當我們想回到etc目錄下的時候,同樣可以使用cd..(..代表上級目錄),回到/etc下,這也是一種相對路徑的方法定位目錄。2.2.2瀏覽目錄【示例1】查看當前目錄,使用cd命令切換到根目錄。[root@localhost~]#pwd/root[root@localhost~]#cd/[root@localhost/]#pwd/使用cd命令可以切換到任意目錄,注意cd后邊要加上空格,初學者如果不清楚當前的目錄,可以先回到/(根)目錄,然后從/(根)目錄進入到其他目錄,因為/(根)目錄是一切其他目錄的起點。【示例2】在根目錄下,使用cd命令切換到網卡配置文件目錄。[root@localhost/]#cdetc/sysconfig/network-scripts/[root@localhostnetwork-scripts]#pwd/etc/sysconfig/network-scripts由于當前已在根目錄下,所以etc目錄前邊不用再加上/,這就是相對路徑的使用。【示例3】使用cd命令切換到yum源配置目錄。[root@localhost/]#cd/etc/yum.repos.d/[root@localhostyum.repos.d]#pwd/etc/yum.repos.d2.2.2瀏覽目錄【示例4】使用cd命令切換到/root目錄。[root@localhostyum.repos.d]#cd[root@localhost~]#pwd/root只是用cd命令,后面不加具體目錄,默認切換到root用戶的家目錄/root,即使用root用戶登錄后進入的目錄。【示例5】使用..相對目錄的方式從/root目錄進入到根目錄。[root@localhost~]#pwd/root[root@localhost~]#cd..[root@localhost/]#pwd/當前目錄是/root,使用“cd..”代表進入當前目錄的上一級目錄,就可以回到根目錄了。除了使用“..”代表上一級目錄外,還可以使用“.”代表當前目錄,經常用在復制一個文件到當前目錄下。2.2.2瀏覽目錄3.ls命令ls的語法為ls選項參數,它用來顯示目標列表,在Linux中是使用率較高的命令。1)常用選項l-l:輸出長格式列表l-h:人性化顯示信息l-a:列出目錄下所有文件,包括以.開頭的隱含文件l-d:只顯示目錄本身信息
l-t:以文件修改時間排序2)常用選項組合l查看文件詳情:ls-l或lll增強對文件大小易讀性,以人類可讀的形式顯示文件大小:ls-lhl查看當前目錄下的所有文件或者目錄,包括隱藏文件:ls-lal只查看當前目錄下的目錄文件:ls-dl按照時間順序查看,從上到倒下時間越來越近:ls-ltr由于當前目錄為/etc/sysconfig/network-scripts,而不是根目錄,所以進入etc目錄的子目錄時,就必須在etc前邊加上/,這就是絕對路徑的使用。2.2.2瀏覽目錄【示例6】在/root目錄下查看/(根)目錄下的目錄和文件。[root@localhost~]#ls/bindevhomelib64mntprocrunsrvtmpvarbootetclibmediaoptrootsbinsysusr【示例7】以長格式列表的方式顯示/(根)目錄下的目錄和文件。[root@localhost~]#ls-l/總用量
28lrwxrwxrwx.1rootroot77月162021bin->usr/bindr-xr-xr-x.5rootroot40962月710:44bootdrwxr-xr-x.20rootroot33202月710:43devdrwxr-xr-x.143rootroot81922月814:25etcdrwxr-xr-x.4rootroot2911月2801:48homelrwxrwxrwx.1rootroot77月162021lib->usr/liblrwxrwxrwx.1rootroot97月162021lib64->usr/lib64drwxr-xr-x.2rootroot64月112018mediadrwxr-xr-x.3rootroot1711月2821:43mntdrwxr-xr-x.3rootroot167月162021optdr-xr-xr-x.237rootroot02月710:42procdr-xr-x.15rootroot40962月711:21rootdrwxr-xr-x.40rootroot11802月809:11runlrwxrwxrwx.1rootroot87月162021sbin->usr/sbindrwxr-xr-x.2rootroot64月112018srvdr-xr-xr-x.13rootroot02月710:42sysdrwxrwxrwt.18rootroot40962月815:48tmpdrwxr-xr-x.13rootroot1557月162021usrdrwxr-xr-x.21rootroot40967月162021var2.2.2瀏覽目錄【示例8】以長格式列表的方式顯示/(根)目錄下的所有內容,包括隱藏文件。[root@localhost~]#ls-la/總用量
32dr-xr-xr-x.17rootroot24511月2801:45.dr-xr-xr-x.17rootroot24511月2801:45..-rw.1rootroot3211月2801:32.bash_historylrwxrwxrwx.1rootroot77月162021bin->usr/bindr-xr-xr-x.5rootroot40962月710:44bootdrwxr-xr-x.20rootroot33202月710:43devdrwxr-xr-x.143rootroot81922月814:25etcdrwxr-xr-x.4rootroot2911月2801:48homelrwxrwxrwx.1rootroot77月162021lib->usr/liblrwxrwxrwx.1rootroot97月162021lib64->usr/lib64drwxr-xr-x.2rootroot64月112018mediadrwxr-xr-x.3rootroot1711月2821:43mntdrwxr-xr-x.3rootroot167月162021optdr-xr-xr-x.237rootroot02月710:42procdr-xr-x.15rootroot40962月711:21rootdrwxr-xr-x.40rootroot11802月809:11runlrwxrwxrwx.1rootroot87月162021sbin->usr/sbindrwxr-xr-x.2rootroot64月112018srvdr-xr-xr-x.13rootroot02月710:42sysdrwxrwxrwt.18rootroot40962月815:48tmpdrwxr-xr-x.13rootroot1557月162021usrdrwxr-xr-x.21rootroot40967月162021var2.2.3瀏覽文件內容通過cd和ls命令可以進入目錄、瀏覽目錄的內容,若要瀏覽目錄下的文件內容,則通常使用cat、more、less、head、tail等命令來查看文件內容。1.cat命令cat命令是linux使用中最常用到的命令之一,它的主要功能是一次查看文件的全部內容,它的命令選項有-n、–b、–s、–v等,其中最常使用的選項就是-n(顯示行號)。【示例9】查看/etc/passwd用戶文件的全部內容并顯示行號。[root@localhost~]#cat-n/etc/passwd1 root:x:0:0:root:/root:/bin/bash2 bin:x:1:1:bin:/bin:/sbin/nologin3 daemon:x:2:2:daemon:/sbin:/sbin/nologin4 adm:x:3:4:adm:/var/adm:/sbin/nologin5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin6 sync:x:5:0:sync:/sbin:/bin/sync7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown8 halt:x:7:0:halt:/sbin:/sbin/halt9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin10 operator:x:11:0:operator:/root:/sbin/nologin11 games:x:12:100:games:/usr/games:/sbin/nologin12 ftp:x:14:50:FTPUser:/var/ftp:/sbin/nologin13 nobody:x:99:99:Nobody:/:/sbin/nologin14 systemd-network:x:192:192:systemdNetworkManagement:/:/sbin/nologin15 dbus:x:81:81:Systemmessagebus:/:/sbin/nologin16 polkitd:x:999:998:Userforpolkitd:/:/sbin/nologin17 libstoragemgmt:x:998:995:daemonaccountforlibstoragemgmt:/var/run/lsm:/sbin/nologin18 colord:x:997:994:Userforcolord:/var/lib/colord:/sbin/nologin19 rpc:x:32:32:RpcbindDaemon:/var/lib/rpcbind:/sbin/nologin20 gluster:x:996:993:GlusterFSdaemons:/run/gluster:/sbin/nologin21 saslauth:x:995:76:Saslauthduser:/run/saslauthd:/sbin/nologin22 abrt:x:173:173::/etc/abrt:/sbin/nologin2.2.3瀏覽文件內容2.more命令如果一個文件內容比較多,一屏無法完全顯示下,使用cat顯示文件就不方便,因為使用cat查看文件的時候,會定位到最后一屏顯示,這時可以使用more命令來顯示行數比較多的文件,當顯示文件的時候,會定位到文件的第一屏,然后通過以下選項進行文件瀏覽操作。l回車鍵:向下滾動一行。l空格鍵:查看下一屏。lb鍵:查看上一屏。lq鍵:退出。【示例10】使用more命令查看ssh服務配置文件/etc/ssh/sshd_config的內容。[root@localhost~]#more/etc/ssh/sshd_config# $OpenBSD:sshd_config,v1.1002016/08/1512:32:04naddyExp$#Thisisthesshdserversystem-wideconfigurationfile.See#sshd_config(5)formoreinformation.#ThissshdwascompiledwithPATH=/usr/local/bin:/usr/bin#Thestrategyusedforoptionsinthedefaultsshd_configshippedwith#OpenSSHistospecifyoptionswiththeirdefaultvaluewhere#possible,butleavethemcommented.Uncommentedoptionsoverridethe#defaultvalue.
#IfyouwanttochangetheportonaSELinuxsystem,youhavetotell#SELinuxaboutthischange.#semanageport-a-tssh_port_t-ptcp#PORTNUMBER##Port222.2.3瀏覽文件內容3.less命令less命令也可以分頁顯示文件內容,但是它的功能比more的功能更多,所以查看文件內容時,一般使用less命令。less命令比more命令最突出的功能是可以顯示行號,可以使用以下選項加強less功能。l-N:顯示行號。l空格:向下翻一屏。lb鍵:向上翻一屏。l向下光標或者回車:向下翻一行。l向上光標或者y:向上翻一行。l/no:查看文件中包含no的行,并高亮顯示。lq鍵:退出less。【示例11】使用less命令查看ssh服務配置文件/etc/ssh/sshd_config的內容并顯示行號。[root@localhost~]#less-N/etc/ssh/sshd_config1#$OpenBSD:sshd_config,v1.1002016/08/1512:32:04naddyExp$23#Thisisthesshdserversystem-wideconfigurationfile.See4#sshd_config(5)formoreinformation.56#ThissshdwascompiledwithPATH=/usr/local/bin:/usr/bin78#Thestrategyusedforoptionsinthedefaultsshd_configshippedwith9#OpenSSHistospecifyoptionswiththeirdefaultvaluewhere10#possible,butleavethemcommented.Uncommentedoptionsoverridethe11#defaultvalue.1213#IfyouwanttochangetheportonaSELinuxsystem,youhavetotell14#SELinuxaboutthischange.15#semanageport-a-tssh_port_t-ptcp#PORTNUMBER16#17#Port222.2.3瀏覽文件內容4.head命令head命令比較簡單,也很好理解,它用來顯示文件的前多少行內容,默認顯示文件的前10行內容,如果向顯示文件的前20行,需要加選項-20。【示例12】使用head命令查看/etc/passwd用戶文件的前5行內容。[root@localhost~]#head-5/etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologin5.tail命令tail命令和head命令的功能相反,它用來顯示文件末尾的多少行,默認顯示文件末尾10行內容,如果想顯示文件末尾后5行內容,則需要加選項-5。tail還有一個經常用的選項就是-f,它可以用來監視一個大文件的變化情況。【示例13】使用tail命令查看/etc/passwd用戶文件的末尾后5行內容。[root@localhost~]#tail-5/etc/passwdsshd:x:74:74:Privilege-separatedSSH:/var/empty/sshd:/sbin/nologinavahi:x:70:70:AvahimDNS/DNS-SDStack:/var/run/avahi-daemon:/sbin/nologinpostfix:x:89:89::/var/spool/postfix:/sbin/nologintcpdump:x:72:72::/:/sbin/nologinlinux:x:1000:1000::/home/linux:/bin/bash2.2.3瀏覽文件內容【示例14】使用tail命令監視系統日志變化情況。[root@localhost~]#tail-f/var/log/messagesFeb819:10:01localhostsystemd:StartedSession103ofuserroot.Feb819:20:02localhostsystemd:StartedSession104ofuserroot.Feb819:22:10localhostsu:(tolinux)rootonpts/0Feb819:22:12localhostdbus[6353]:[system]Activatingservicename='blems'(usingservicehelper)Feb819:22:13localhostdbus[6353]:[system]Successfullyactivatedservice'blems'Feb819:22:54localhostdbus[6353]:[system]Activatingviasystemd:servicename='net.reactivated.Fprint'unit='fprintd.service'Feb819:22:54localhostsystemd:StartingFingerprintAuthenticationDaemon...Feb819:22:55localhostdbus[6353]:[system]Successfullyactivatedservice'net.reactivated.Fprint'Feb819:22:55localhostsystemd:StartedFingerprintAuthenticationDaemon.Feb819:22:59localhostsu:(toroot)rootonpts/02.2.4創建目錄、文件與Windows系統相似,創建目錄和文件是linux系統常用的操作,創建目錄使用的命令是mkdir,創建文件使用的命令是touch。1.創建目錄mkdir命令用來創建某個目錄,最常使用的選項是-p,通過-p選項可以創建一個級聯目錄。【示例15】在根目錄下創建目錄ubuntu。[root@localhost/]#mkdirubuntu[root@localhost/]#lsbindevhomelib64mntprocrunsrvtmpusrbootetclibmediaoptrootsbinsysubuntuvar通過“mkdirubuntu”命令,在根目錄下創建了目錄ubuntu。【示例16】在根目錄下創建目錄kuangbiao,在kuangbiao目錄下創建子目錄anxin。[root@localhost/]#mkdir-p/kuangbiao/anxin[root@localhost/]#cd/kuangbiao/anxin[root@localhostanxin]#pwd/kuangbiao/anxin這里不用先創建kuangbiao目錄,再創建anxin目錄,可以直接通過-p選項創建kuangbiao目錄和anxin子目錄。2.2.4創建目錄、文件2.創建文件創建文件的命令比較多,我們經常使用touch命令來創建一個空文件,touch命令有兩個功能,一是是用來創建新的空文件,二是用于把已存在文件的時間標簽更新為系統當前的時間。我們經常用的是第一個功能,即使用touch來創建一個空文件。【示例17】在/root目錄下創建一個文件,名稱為gaoqiqiang。[root@localhost~]#touchgaoqiqiang[root@localhost~]#ls-lh總用量
8.0K-rw.1rootroot1.6K7月162021anaconda-ks.cfg-rw-r--r--.1rootroot02月819:58gaoqiqiang通過touchgaoqiqiang命令,在/root下創建了一個gaoqiqiang文件,它是大小為0KB的空文件。2.2.5復制移動目錄和文件1.復制文件目錄cp命令用來將源文件或者源目錄復制到指定的目標目錄。cp命令支持復制單個文件,同時也支持復制多個文件,當一次復制多個文件時,目標目錄必須是一個已經存在的目錄,否則將出現錯誤。選項如下:l-f:強行復制文件或目錄,不論目標文件或目錄是否已存在。l-i:覆蓋既有文件之前先詢問用戶。l-p:保留源文件或目錄的屬性。l-R/r:遞歸處理,將指定目錄下的所有文件與子目錄一并處理(常用)。l-s:對源文件建立符號連接,而非復制文件。l-u:使用這項參數后只會在源文件的更改時間較目標文件更新時或是名稱相互對應的目標文件并不存在時,才復制文件。l-b:覆蓋已存在的文件目標前將目標文件備份。l-v:詳細顯示命令執行的操作。參數如下:l源文件或目錄:源文件列表。l目標文件:指定目標文件。當“源文件”為多個文件時,要求“目標文件”為指定的目錄。2.2.5復制移動目錄和文件【示例18】將/root/gaoqiqiang復制到當前目錄下,改名為gaoqiqiang1。[root@localhost~]#cpgaoqiqianggaoqiqiang1[root@localhost~]#lsanaconda-ks.cfggaoqiqiang1公共視頻文檔音樂gaoqiqianginitial-setup-ks.cfg模板圖片下載桌面這樣就實現了gaoqiqiang文件的復制與名稱修改。【示例19】將/root/gaoqiqiang復制到目錄/usr/tmp下,改名為gaoqiqiang2。[root@localhost~]#cpgaoqiqiang/usr/tmp/gaoqiqiang2[root@localhost~]#ls-lh/usr/tmp/總用量
0drwxr-xr-x.2abrtabrt67月162021abrt-rw-r--r--.1rootroot02月820:50gaoqiqiang2【示例20】將目錄/etc復制到目錄/mnt下并保留源目錄的屬性。[root@localhost~]#cp-rp/etc/mnt[root@localhost~]#ls-l/mnt總用量
12drwxr-xr-x.143rootroot81922月814:25etc這里復制了/etc這個目錄本身到/mnt下,/etc這個目錄下的內容也復制了過來,使用-p保留了/etc目錄本身的屬性。【示例21】將目錄/etc復制到目錄/mnt下并改名為etc1。[root@localhost~]#cp-rp/etc/mnt/etc1[root@localhost~]#ls/mntetcetc1這里不但復制了/etc這個目錄本身到/mnt下,而且將這個目錄改名為etc1。2.2.5復制移動目錄和文件【示例22】將目錄/etc下的所有內容復制到目錄/tmp下。[root@localhost~]#cp-r/etc/*/tmp[root@localhost~]#ls/tmpabrtgrub2.cfgpppadjtimegrub.dprelink.conf.daliasesgshadowprintcapaliases.dbgshadow-profile說明:*是通配符,在這里代表所有內容,實現把/etc目錄下的所有文件復制到/tmp目錄下。2.2.5復制移動目錄和文件2.移動文件目錄移動目錄和文件使用的命令是mv,它的作用是將原目錄或者文件進行移動,如果移動到同一目錄,則作用是修改名稱。如果移動到另一目錄,作用就是將目錄或者文件移動到新的目錄下,同時將之前內容刪除。經常使用的選項如下:l-b:當目標文件或目錄存在時,在執行覆蓋前,會為其創建一個備份。l-i:如果指定移動的源目錄或文件與目標的目錄或文件同名,則會先詢問是否覆蓋舊文件,輸入y表示直接覆蓋,輸入n表示取消該操作。l-f:如果指定移動的源目錄或文件與目標的目錄或文件同名,不會詢問,直接覆蓋舊文件。l-n:不要覆蓋任何已存在的文件或目錄。l-u:當源文件比目標文件新或者目標文件不存在時,才執行移動操作。2.2.5復制移動目錄和文件【示例23】修改文件/root/gaoqiqiang。[root@localhost~]#lsanaconda-ks.cfggaoqiqiang1公共視頻文檔音樂gaoqiqianginitial-setup-ks.cfg模板圖片下載桌面[root@localhost~]#mvgaoqiqianggaoqiqiang2[root@localhost~]#lsanaconda-ks.cfggaoqiqiang2公共視頻文檔音樂gaoqiqiang1initial-setup-ks.cfg模板圖片下載桌面這里實現了修改文件gaoqiqiang名稱為gaoqiqiang2。【示例24】首先復制/root下的文件gaoqiqiang1和gaoqiqiang2到/mnt下,然后將root下的文件gaoqiqiang1和gaoqiqiang2移動到/mnt目錄下,如果存在同名文件,就先創建備份。[root@localhost~]#cpgaoqiqiang1gaoqiqiang2/mnt[root@localhost~]#mv-bigaoqiqiang1gaoqiqiang2/mntmv:是否覆蓋"/mnt/gaoqiqiang1"?ymv:是否覆蓋"/mnt/gaoqiqiang2"?y[root@localhost~]#ls/mntetcetc1gaoqiqiang1gaoqiqiang1~gaoqiqiang2gaoqiqiang2~在移動文件時,源文件可以是多個,在這里選擇了gaoqiqiang1和gaoqiqiang2兩個文件,使用-b選項,如果存在同名文件或目錄,就會先創建一個同名并帶有~的備份。2.2.5復制移動目錄和文件【示例25】將/mnt下的所有目錄和文件移動到/root目錄下。[root@localhost~]#mv/mnt/*.[root@localhost~]#lsanaconda-ks.cfggaoqiqiang1gaoqiqiang2~模板文檔桌面etcgaoqiqiang1~initial-setup-ks.cfg視頻下載etc1gaoqiqiang2公共圖片音樂這里需要注意兩點:一是/mnt/*中的“*”是通配符,代表/mnt下的所有內容;二是在移動某一目錄或文件到當前目錄時,可以直接在移動位置有“.”代替當前目錄。2.2.6刪除目錄和文件rm命令的功能是刪除目錄或者文件,它也可以將某個目錄及其下的所有文件及子目錄均刪除。rm是一個危險的命令,使用的時候要特別當心,尤其對于新手,否則整個系統就會毀在這個命令(比如在/(根目錄)下執行rm*-rf)。所以,我們在執行rm之前最好先確認一下在哪個目錄,到底要刪除什么東西,操作時保持高度清醒的頭腦。rm命令參數:l-f,--force:忽略不存在的文件,從不給出提示。l-i,--interactive:進行交互式刪除。l-r,-R,--recursive:指示rm將參數中列出的全部目錄和子目錄均遞歸地刪除。l-v,--verbose:詳細顯示進行的步驟。【示例26】使用交互式刪除/mnt下的gaoqiqiang1文件。[root@localhostmnt]#rm-igaoqiqiang1rm:是否刪除普通空文件"gaoqiqiang1"?y[root@localhostmnt]#lsetc1gaoqiqiang2【示例27】強制刪除/mnt下的所有目錄和文件,不給出提示信息。[root@localhostmnt]#lsetc1gaoqiqiang2[root@localhostmnt]#rm-rf*[root@localhostmnt]#ls提示:這里*是通配符,代表/mnt下的所有內容,使用-r可以實現子目錄和文件的遞歸刪除。本任務注意點(1)復制移動文件的時候注意當前所在目錄,適當使用絕對和相對路徑。(2)要深入理解相對路徑和絕對路徑,會使用...進行相對路徑操作。(3)創建、復制、移動、刪除目錄和文件都是最常用的操作,務必熟練掌握。任務拓展訓練在虛擬機上完成以下訓練:(1)切換到/etc/目錄,查看當前所在目錄。(2)使用長格式、人性化顯示方式顯示/etc目錄下的所有內容。(3)從/etc目錄,使用絕對目錄方式切換到/usr/tmp目錄下,并查看當前目錄。(4)從/usr/tmp目錄,使用相對目錄的方式,切換到/usr/local目錄下,并查看當前目錄。(5)瀏覽/etc/passwd文件內容,要求帶有行號。(6)在根目錄下創建目錄linux,在linux目錄下,創建子目錄CentOS和ubentu.(7)在CentOS目錄中創建多個文件,名稱分別為CentOS6、CentOS7、CentOS8,在ubentu目錄下創建多個文件,名稱分別為16.10、17.10、18.10。(8)復制centos目錄及所有文件內容到/root目錄下。(9)將ubentu目錄及所有文件內容移動到/root目錄下。(10)使用非交互方式刪除linux目錄及其子目錄的所有內容。補充知識1.Linux文件類型Linux操作系統是以文件的形式來組織管理的,任何設備在Linux下都是文件。除此之外,軟件以及通信接口都以文件的形式來管理。因此,Linux中的文件種類很多。在Linux的Ext2/Ext3格式的文件系統下,針對文件的文件名長度限制可分為:l單一文件或目錄的文件名的最大長度為255個字符。l包含完整路徑名稱及目錄在內的完整文件名長度為4096個字符。Linux下的文件名的長度可以讓你完全按照自己的想法為你的文件命名,基本感受不到文件名規則的約束。我們希望Linux的文件名能夠一目了然,通過文件名直接能夠猜出文件大概是做什么的。需要注意的是Linux一般對組成文件名的字符沒有限制,但最好可以避免一些特殊字符,如:*?<>;@![]|‘“{}等。Linux的文件類型大致可分為五類。利用ls–l命令查看文件信息的第一列顯示的10個字符中的第1個字符即為文件的類型。常見的一般文件為[-],目錄文件為[d]。但是在/dev目錄下執行ls–l命令可以看到第1列的第1個字符出現了[c]、[b]、[l]等,如圖2-4所示,下面對5類常見的文件類型逐一進行詳細介紹。圖2-4linux文件類型補充知識l普通文件第一個字符為[-]文本文件(ASCll):采用ASCII編碼方式,可編輯,可修改。二進制(binary):不可查看,不可修改。l目錄文件
(directory)第一個字符為[d]存放的內容是目錄中的文件名和子目錄名,第一屬性為[d]。l設備文件(device)用于用戶訪問物理設備所用,分為塊設備和字符設備文件。與系統外設及存儲等相關的文件,通常都集中在/dev目錄下。塊設備第一個屬性為[d],字符設備第一個屬性為[c]。l鏈接文件(link)第一個字符為[l]軟鏈接文件:目標文件和鏈接文件可以跨越索引點,相當于文件的快捷方式,第一個屬性為[l]。對于軟鏈接刪除了原文件,則符號鏈接文件失去意義,刪除符號鏈接文件,不影響原文件。硬鏈接文件:鏈接同一索引點中的文件,相當于文件的副本。兩個文件指向同一存儲區,內容、長度相同,刪除一個文件不影響其它文件。l管道文件(FIFO,pipe)第一個字符為[p]FIFO也是一種文件類型,它主要的目的是解決多個程序同時訪問一個文件所造成的錯誤問題。緩存隊列,第一個屬性為[p]。補充知識2.擴展名在windows中區分文件類型依據的是文件的擴展名,比如abc.txt、zj.exe、qianru.doc、dianshang.mp4、wangluo.rar等。但在Linux系統中一個文件是否能被執行,和其擴展名沒有太大的關系,主要與文件的屬性有關。但是我們了解一下Linux文件的擴展名還是有必要的,特別是我們自己創建一些文件,最好還是加擴展名,這樣做的目的不僅僅是為了我們在應用時方便,說白了Linux下的文件擴展名不是給機器看的,而是給人看的,讓那些比較熟悉windows系統的人們更加容易的看懂Linux下的文件。雖然擴展名不起作用,但是我們還是希望可以根據擴展名了解關于此文件的更多信息。以下是Linux系統中常用的一些擴展名:l.sh:腳本或者批處理文件(scripts);l.Z、.tar、.tar.gz、.zip、.tar.bz2:經過打包的壓縮文件;l.html、.php:網頁相關文件;lfile.so這類是庫文件;lfile.doc、file.obt這是OpenOffice能打開的文件。
用一些工具創建的文件
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能化物流倉儲項目可行性研究報告
- 動態心電圖監測系統設備項目投資風險評估報告
- 量子加密在數據隱私中的應用研究-洞察闡釋
- 鋰電池環境影響評估-洞察闡釋
- 證明樹理論創新-洞察闡釋
- 青年集體記憶-新世代的歷史認知與身份構建-洞察闡釋
- 防盜設備產業生態構建-洞察闡釋
- 復雜系統穩定性分析-第1篇-洞察及研究
- 基于場景的人機交互設計-洞察闡釋
- 群論在信號處理中的表示與對稱性分析-洞察闡釋
- 馬工程-公共財政概論-課程教案
- GB/T 25177-2010混凝土用再生粗骨料
- GB/T 17817-2010飼料中維生素A的測定高效液相色譜法
- 中國石化加油站視覺形象(vi)標準手冊
- 機場行李輸送系統設計論文-本科論文
- 2022年全國工會財務知識大賽參考題庫精簡600題(含各題型)
- 新教材教科版五年級下冊科學全冊課時練(課后作業設計)(含答案)
- 廣西基本醫療保險異地就醫備案登記表-示例樣表
- 供應商綠色環保環境管理體系評估表
- GB∕T 11344-2021 無損檢測 超聲測厚
- 外科無菌操作技術PPT學習教案
評論
0/150
提交評論