Shell命令 了解shell 文件目錄類命令 系統(tǒng)信息類命令 通信網(wǎng)絡(luò)類命令
shell是linux的一個外殼,,它包在linux內(nèi)核的外面,,為用戶和內(nèi)核之間的交互提供一個借口。 當(dāng)用戶下達(dá)指令給操作系統(tǒng)的時候,,實際上是把指令告訴shell,,經(jīng)過shell解釋,處理后讓內(nèi)核做出相應(yīng)的動作,。 而系統(tǒng)的回應(yīng)和輸出的信息也由shell處理,,然后顯示在用戶的屏幕上。
關(guān)機(jī)重啟命令 poweroff 直接關(guān) shutdown -h now 直接關(guān)機(jī) shutdown -h 10 十分鐘后關(guān)機(jī) shutdown -h 20:25 定時關(guān)機(jī) shutdown -r now 直接重啟 reboot 直接重啟
瀏覽目錄命令 cd dir ls ll 瀏覽文件命令 cat more less 目錄操作命令 mkdir rmdir 文件操作命令 touch rm cp mv ln tar gzip gunzip whereis whatis
Alt+F1/F2/F3 用來切換多個shell命令窗口,,可以同時執(zhí)行多個命令 ------------------ ls (list) 顯示目錄下的文件和目錄列表 ls -a 和 dir都可以顯示隱藏的文件和目錄,,隱藏的文件目錄前帶一個點(diǎn),如:.gconf 如果要建立一個隱藏的文件和目錄,,加一個"."就可以,。 ls -l 顯示文件的詳細(xì)信息,如建立時間等,。 ls -l /etc 可以顯示etc目錄下文件的詳細(xì)信息,。 ll是ls -l的縮寫 -l 查出來的每列含義:
文件/文件夾屬性(其中首位代表是否是文件夾),;
----------------- clear 清屏 pwd 顯示當(dāng)前所在目錄 ----------------- cd (change directry) 切換當(dāng)前目錄.例如: cd pp 切換到當(dāng)前目錄下的pp子目錄 cd .. 切換到上一層目錄 cd / 切換到系統(tǒng)根目錄 cd 切換到用戶自家目錄 cd /usr/bin 切換到/usr/bin目錄 ----------------- [root@ycc ~]# 這中的"~"表示root目錄,,root目錄的上層目錄是根目錄。 ----------------- mkdir (make directory) 創(chuàng)建子目錄,。 格式:mkdir [參數(shù)] <目錄名> 下面的范例會在所在目錄內(nèi)創(chuàng)建子目錄: mkdir dir 在當(dāng)前目錄下建立dir目錄 mkdir -p dir1/dir2 在當(dāng)前目錄下創(chuàng)建dir1目錄,,并在dir1目錄下創(chuàng)建dir2目錄,,也就是連續(xù)創(chuàng)建兩個目錄(dir1和dir1/dir2),。
rmdir (remove directory) 刪除"空"的子目錄 格式:rmdir [參數(shù)] <目錄名> rmdir dir 刪除"空"的子目錄dir rmdir -p dir1/dir2 刪除dir1下的dir2目錄,若dir1目錄為空也刪除它
man mkdir 可以看到mkdir命令所有的參數(shù)說明,。 ------------------ cp (copy) 將文件從一處復(fù)制到另一處,。 一般在使用cp命令時將一個文件復(fù)制成另一個文件或復(fù)制到某目錄時, 需要指定源文件名與目標(biāo)文件名或目錄,。 格式:cp [參數(shù)] <源文件路徑> <目標(biāo)文件路徑> cp test1.txt test2.txt 將test1.txt復(fù)制成test2.txt cp test3.txt /tmp 將test3.txt復(fù)制到/tmp目錄中 ------------------- cat 用戶顯示文件的內(nèi)容,,也可以將數(shù)個文件合并成一個文件。 格式:cat[參數(shù)] <文件名> cat test.txt 顯示test.txt文件內(nèi)容 cat test.txt | more 逐頁顯示test.txt文件中的內(nèi)容 cat test.txt >> test1.txt 將test.txt的內(nèi)容附加到test1.txt文件之后 cat test.txt test2.txt > readme.txt 將test.txt和text2.txt文件合并成readme.txt文件
----------------- rm 刪除文件或目錄 格式:rm [參數(shù)] <目標(biāo)文件路徑> rm myfiles 刪除當(dāng)前目錄下名為myfiles的文件 rm * 刪除當(dāng)前目錄下的所有文件 -f參數(shù):強(qiáng)迫刪除文件 rm -f *.txt 強(qiáng)迫刪除所有以后綴名為txt的文件 rm -rf /tmp/test 刪除/tmp/test目錄下的所有文件和目錄 ----------------- > 定向輸出符號(會覆蓋接收數(shù)據(jù)的文件中的內(nèi)容) >> 定向輸出符號(將內(nèi)容附加到接收數(shù)據(jù)的文件尾部) < 定向輸入符號
--------------
more 一般用于要顯示的內(nèi)容會超過一個畫面長度的情況,。 為了避免畫面顯示時瞬間就閃過,,用戶可以使用more命令, 讓畫面在顯示滿一頁時暫停,,此時可按空格鍵繼續(xù)顯示下一個畫面,, 或按Q鍵停止顯示。 more /etc/named.conf 顯示etc/named.conf文本文件的內(nèi)容
當(dāng)用ls命令查看文件列表,,如果文件太多,,則可配合more命令使用: ls -al | more 分頁顯示當(dāng)前目錄下的所有文件(包括隱藏文件)的詳細(xì)信息。 ----------------- less 與more命令類似,,也可以用來瀏覽超過一頁的文件,。 所不同的是less命令除了可以按空格鍵向下顯示文件外,還可以利用上下鍵來卷動文件,。 當(dāng)要結(jié)束瀏覽時,,只要在less命令的提示如":"下按Q鍵即可。 less named.conf 顯示named.conf的文本文件內(nèi)容,,可以滾動查看內(nèi)容,。 ls -al | less 以長格形式列出當(dāng)前目錄下所有的內(nèi)容,用戶可以按上下鍵瀏覽,。 ------------------ head 用于顯示文件前幾行的內(nèi)容 格式:head [參數(shù)] <文件名> head -10 /etc/passwd 顯示/etc/passwd文件的前10行內(nèi)容
tail 用于顯示文件后幾行的內(nèi)容 格式:tail [參數(shù)] <文件名> tail -10 /etc/passwd 顯示/etc/passwd文件倒數(shù)10行內(nèi)容 tail +10 /etc/passwd 顯示/etc/passwd文件從第10行開始到末尾的內(nèi)容 --------------- mv 移動或更改文件,、目錄名稱,。可以將文件及目錄移到另一目錄下,, 或更改文件及目錄的名稱,。 格式:mv [參數(shù)] <源文件或目錄> <目標(biāo)文件或目錄> mv a.txt ../ 將a.txt文件移動到上層目錄 mv a.txt b.txt 將a.txt改名為b.txt mv dir2 ../ 將dir2目錄上移一層 ----------- find 用來尋找文件或目錄 格式:find [<路徑>] <匹配條件> find / -name httpd.conf 搜索根目錄(/)下名字(-name)叫httpd.conf的文件 find /etc -name httpd.conf 搜索/etc目錄下名字叫httpd.conf的文件
------------ grep 在文件中搜索匹配的字符并進(jìn)行輸出 格式:grep [參數(shù)] <要找的字串> <要尋找字串的源文件> grep linux test.txt 搜索test.txt文件中字符串linux并輸出 rpm -qa | grep httpd 搜索rpm包中含有httpd包的文件名
------------ touch 生成一個空文件和修改文件或目錄的存取/修改的時間記錄值。 格式:touch [參數(shù)] <文件名> touch * 將當(dāng)前目錄下的文件時間修改為系統(tǒng)的當(dāng)前時間,。 touch -d 20040210 test.txt 將test.txt文件的日期改為20040210 touch abc.xml 若abc.xml文件存在,,則修改為系統(tǒng)的當(dāng)前時間; 若不存在,,則生成一個為為當(dāng)前時間的空文件,。 ------------- who 或 w 查看當(dāng)前系統(tǒng)中有哪些用戶登錄 格式:who/w [參數(shù)] who 假如顯示: root tty1 1個本地登錄用戶 pp pts/0 1個遠(yuǎn)程登錄用戶 ---------- ln 在文件和目錄之間建立鏈接 格式:ln [參數(shù)] <源文件和目錄> <目標(biāo)文件或目錄> 鏈接分"軟鏈接"和"硬鏈接" 1、軟鏈接:相當(dāng)于一個快捷方式 ln -s /usr/share/doc doc 創(chuàng)建一個鏈接文件doc,,并指向目錄/usr/share/doc 2,、硬鏈接: ln /usr/share/test hard 創(chuàng)建一個硬鏈接文件hard, 這時對于test文件存儲區(qū)域來說,,又多了一個文件指向它,; 對硬鏈接的任何文件進(jìn)行修改,其他硬鏈接文件也都發(fā)生變化,。 ------------
RPM 軟件包管理命令
RPM的全名是 Red Hat Package Manager,,它是有Red Hat公司所開發(fā)的一個開放軟件包管理系統(tǒng)。其優(yōu)點(diǎn): 易于安裝,、升級與刪除軟件包 有強(qiáng)大的查詢功能 能夠進(jìn)行軟件包驗證 支持代碼形式的軟件包 ----------------------
軟件包的安裝: 使用RPM命令的安裝模式可以將軟件包內(nèi)所有的組件放到系統(tǒng)中的正確路徑,,安裝軟件包的命令是: rpm -ivh wu-ftpd-2.6.2-8.i386.rpm i:作用rpm的安裝模式 v:校驗文件信息 h:以#號顯示安裝進(jìn)度
軟件包的刪除: 刪除模式會將制定軟件包的內(nèi)容全部刪除,但并不包括已更改過的配置文件,,刪除RPM軟件包的命令如下: rpm -e wu-ftpd e:刪除參數(shù) wu-ftpd:軟件包名稱 注意:這里必須使用軟件名"wu-ftpd"或"wu-ftpd-2.6.2-8"而不是使用當(dāng)初安裝時的軟件包名"wu-ftpd-2.6.2-8.i386.rpm",。
軟件包的升級 升級模式會安裝用戶所指定的更新版本,并刪除已安裝在系統(tǒng)中的相同軟件包,,升級軟件包命令如下: rpm -Uvh wu-ftpd-2.6.2-8.i386.rpm
軟件包的更新 更新模式下,,rpm命令會檢查在命令行中所指定的軟件包是否比系統(tǒng)中原有的軟件包更新。如果情況屬實,,rpm命令會自動更新指定的軟件包,; 反之,若系統(tǒng)中并沒有指定軟件包的較舊版本,,rpm命令并不會安裝此軟件包,。 而在升級模式下,不管系統(tǒng)中是否有較舊的版本,,rpm命令都會安裝指定的軟件包,。 rpm -Fvh wu-ftpd-2.6.2-8.i386.rpm
軟件包查詢 若要獲取RPM軟件包的相關(guān)信息,可以使用查詢模式。使用-q參數(shù)可查詢一個已安裝的軟件包的內(nèi)容,。 rpm -q wu-ftpd-2.6.2-8 顯示軟件包的名稱,、版本及次版本
查詢軟件包所安裝的文件: 安裝某個軟件包之后,常常困擾用戶的是,,不知道該軟件包究竟安裝到哪里,,此時執(zhí)行 rpm -ql package-name命令可得知 rpm -ql xv (l參數(shù)的意思是:顯示文件列表)
---------- mount /dev/cdrom /mnt 把光驅(qū)(cdrom)中的內(nèi)容掛載到根下的mnt目錄中。 ---------
tar 打包命令 tar命令位于/bin目錄下,,它能夠?qū)⒂脩羲付ǖ奈募蚰夸洿虬梢粋€文件,,但不做壓縮。 一般Unix上常用的壓縮方式是選用tar將許多文件打包成一個文件,,再以gzip壓縮命令壓縮成xxx.tar.gz(或稱為xxx.tgz)的文件,。 注意:tar不僅可以打包文件,也可以將硬盤數(shù)據(jù)備份,。 常用參數(shù): -c:創(chuàng)建一個新tar文件 -v:顯示運(yùn)行過程的信息 -f:指定文件名 -z:調(diào)用gzip壓縮命令進(jìn)行壓縮 -t:查看壓縮文件的內(nèi)容 -x:解開tar文件
tar命令范例: tar -cvf test.tar * 將所有文件打包成test.tar,,擴(kuò)展名.tar需自行加上。 tar -zcvf test.tar.gz * 將所有文件打包成test.tar,,再用gzip命令壓縮,。 tar -tf test.tar 查看test.tar文件中包括了哪些文件 tar -xvf test.tar 將test.tar解開 tar -zxvf foo.tar.gz 解壓縮
------------ gzip 和 gunzip 出了.zip文件的壓縮格式外,,在Linux系統(tǒng)下更常見的是.gz文件的壓縮格式,, 這種文件一般是由gzip命令所產(chǎn)生。zip命令具有將許多文件壓縮成一個文件的功能,,但gzip卻不能,,所以gzip一般會和tar一起使用。 目前,,大部分或見到的壓縮文件都是用tar將所有文件打包成一個文件,,再用gzip進(jìn)行壓縮,所以我們所看到的擴(kuò)展名.tar.gz或.tgz的文件,,大多數(shù)都是這種類型的文件,。 gzip test.xml 壓縮文件時,不需要任何參數(shù) gzip -l test.txt.gz 顯示壓縮率 gunzip test.txt.gz 解壓縮
----------
date,、cal,、clock date 顯示/修改當(dāng)前的日期時間(具體查文檔) cal 顯示日歷 clock 顯示日期時間 cal 4 2004 顯示2004年4月的日歷 cal -y 2003 顯示2003年的日歷
-----------
系統(tǒng)信息類命令 dmesg 顯示計算機(jī)開機(jī)信息,其中有:系統(tǒng)診斷信息,、操作系統(tǒng)版本號,、物理內(nèi)存的大小及其他信息 df 用于查看文件系統(tǒng)的各個分區(qū)的占用情況 du 查看某個目錄中各級子目錄所使用的硬盤空間數(shù) 格式:du [參數(shù)] <目錄名> free 用于查看系統(tǒng)內(nèi)存,虛擬內(nèi)存(交互空間)的大小占用情況 top 顯示,、管理執(zhí)行中的程序 history 查看歷史輸入的命令 last 列出目前與過去登入系統(tǒng)的用戶相關(guān)信息,。
-----------
系統(tǒng)各種日志放在 /var/log 下
----------
第六章 Linux用戶和用戶組的管理
用戶管理 組的管理 查看賬戶信息
Linux下的三類用戶: 超級用戶(root)具有操作系統(tǒng)的一切權(quán)限UID值均為0 普通用戶具有操作系統(tǒng)有限的權(quán)限UID值500~6000 偽用戶是為了方便系統(tǒng)管理,滿足相應(yīng)的系統(tǒng)進(jìn)程文件屬主的要求,偽用戶不能登錄,,UID值1~499
口令文件 /etc/passwd 影子口令文件 /etc/shadow 注:只有root用戶對以上文件具有修改權(quán)限 例如:passwd中 root:x:0:0:root:/root:/bin/bash 從左向右依次表示: 用戶名:加密的口令:UID:GID:用戶全名:家目錄(用戶登錄系統(tǒng)后所進(jìn)入的目錄):用戶環(huán)境(shell的類型)
shadow中 mail:*:15173:0:99999:7::: 從左向右依次表示: 用戶名:加密的口令:從某一刻起到最后一次修改的間隔時間:最大時間間隔(口令最大有效天數(shù)):最小時間間隔(再次修改口令之間的最小天數(shù)):警告天數(shù)(從系統(tǒng)開始警告到口令正式失效的天數(shù)):不活動時間(口令過期幾天后,,該賬號被禁用):失效時間(口令失效的絕對天數(shù),從1970年1月1日開始計算):標(biāo)志(未使用)
創(chuàng)建賬戶 格式:useradd [<選項>] <用戶名> useradd -g stuff -e 8/31/2005 pp useradd命令選項: -u uid 指定新用戶的uid,,默認(rèn)用當(dāng)前最大UID加1,。 -g group 指定新用戶所在的組(私有組),該組必須存在,。 -G group 指定新用戶的附加組,。 -d dir 指定新用戶的自家目錄。 -s shell 指定新用戶使用的Shell,,默認(rèn)為bash,。 -c comment 新用戶的附加信息,如全名等,。 -e expire 指定用戶的登錄失效時間(8/31/2005),。 -m 建立新用戶的自家目錄。
用戶賬戶的維護(hù) userdel pp 刪除名叫pp的用戶
useradd pp 創(chuàng)建pp賬戶 passwd pp 設(shè)置密碼
禁用 usermod -L username 禁用賬戶 passwd -l username 禁用密碼
恢復(fù) usermod -U username 恢復(fù)禁用賬戶 passwd -u username 恢復(fù)禁用密碼
刪除 userdel -r username 刪除賬戶及宿主目錄 -r:刪除宿主目錄
注意:在禁用和恢復(fù)賬號功能上,,命令usermod不等同于passwd,。
將賬號停用的意思是暫時不允許用戶登錄系統(tǒng),而其數(shù)據(jù)仍要予以保留,。 可以編輯/etc/passwd文件,,把要停止使用的賬號所在行標(biāo)注就可以了: #pp:x:502:502::/home/pp:/bin/bash 在賬號前面加上"#"將該行注釋掉便可停用該賬號,或者更改/bin/bash為/sbin/nologin都可以,。 su – username 可以臨時切換到其他用戶登錄 --------------- 組的管理 組分為 私有組(g) 當(dāng)在創(chuàng)建一個新用戶user時,,若沒有指定他所屬于的組,RedHat就建立一個和該用戶同名的私有組,。 標(biāo)準(zhǔn)組(G) 標(biāo)準(zhǔn)組可以容納多個用戶,,若使用標(biāo)準(zhǔn)組,在創(chuàng)建一個新用戶時就應(yīng)該指定他所屬于的組,。
組文件 /etc/group 組文件實例: bin:x:1:root,bin,daemon 從左到右依次表示: 組名(用戶登錄時所在的組):組口令(一般不使用):GID(組標(biāo)識號):組內(nèi)用戶列表(屬于該組的所有用戶名表)
創(chuàng)建,、刪除、修改組 groupadd -g 888 group2 創(chuàng)建一個組group2,,其GID為888 groupdel group2 刪除組group2 groupmod -n group22 group2 修改group2組名為group22
id命令 查看一個用戶的UID和GID 格式:id [選項] 用戶名 id pp 查看pp這個用戶的UID,、GID、groups 選項: -g 只顯示用戶的組的GID -G 只顯示用戶的附屬組的GID -u 只顯示UID |
|