【2.1】Linux的運行方式
圖形運行方式
-本地使用KDE/Gnome集成環境
-運行X Server遠程使用圖形環境
命令行(字符運行)方式
-本地虛擬終端
-使用Telnet遠程登錄
-使用SSH遠程登錄
【2.2】字符界面的使用
為什麼要使用字符工作方式
-可以高效率的完成任務
-遠程登錄操作均使用字符界面
-節省系統資源
進入字符模式的方法
-圖形環境下,右鍵桌面 —> 終端
-系統啟動後直接進入字符模式
-遠程telnet(明文)或SSH(加密)登陸字符模式
【2.3】本地登錄和遠程登陸
本地登錄
一、虛擬控制台
在系統啟動時直接進入字符工作方式後,系統提供了多個(默認為6個)虛擬控制台。每個虛擬控制台可以互相獨立使用,互不影響。
可以使用Alt+F1~Alt+F6進行多個虛擬控制台之間的切換。
二、字符界面下登陸Linux
Linxu系統是嚴格區分大小寫的,無論用戶名,還是文件名、設備名都是如此。
基於安全的考慮,一般應該使用普通用戶登錄系統,不要使用root用戶登錄,當需要進行超級用戶的工作時可以使用 su – 命令切換為超級用戶身份。
logout登出 exit退出都是注銷操作
命令提示符後 #為root用戶 $為普通用戶
遠程登陸
三、 Linux下遠程登錄另一台Linux服務器
Linux下的ssh命令是OpenSSH的客戶端程序。要登陸遠程Linux系統,必須保證遠程Linux系統上啟動了OpenSSH服務器。使用ssh命令登陸遠程OpenSSH服務器的命令格式是:
$ssh 遠程主機上的用戶名@遠程主機的ip地址或主機名
$sshIP地址
四、 Windows下利用SSH工具登錄一台linux服務器
1.SecureCRT.exe
http://baike.baidu.com/view/489722.htm 百度百科介紹
2.xshell
3.putty(鼠標右鍵復制)
【2.4】Linux的系統運行級別
0- 系統關機狀態
1- 單用戶工作狀態,用於維護。
2- 多用戶模式(NFS未啟動)
3- 多用戶模式,字符界面。
4- 系統未使用,留給用戶自定義
5– 多用戶模式,並且在系統啟動後運行X Window,給出一個圖形化的登錄窗口。
6– 所有進程被終止,重新啟動
查看當前系統的運行級別
#runlevel
切換運行級別
#init[0123456]
【2.5】linux的目錄結構
Linux文件系統是呈樹形結構,了解Linux文件系統的目錄結構,對於我們駕馭Linux還是有必要的。
目錄
說明
/
Linux文件系統的入口,也是處於最高一級的目錄
/bin
基本系統所需要的命令。功能和/usr/bin類似,這個目錄中的文件都是可執行的,普通用戶都可以使用的命令
/boot
內核和加載內核所需要的文件。一般情況下,GRUB系統引導管理器也位於這個目錄
/dev
設備文件存儲目錄,比如終端、磁盤等
/etc
所有的系統配置文件
/home
普通用戶家目錄的默認存放目錄
/lib
庫文件和內核模塊所存放的目錄
/media
即插即用型存儲設備的掛載點自動在這個目錄下創建,比如u盤、CDROM/DVD自動掛載後,也會在這個目錄中創建一個目錄。
/mnt
臨時文件系統的掛載點目錄
/opt
第三方軟件的存放目錄
/root
Linux超級權限用戶root的家目錄
/sbin
基本的系統維護命令,只能由超級用戶使用
/srv
該目錄存放一些服務啟動之後需要提取的數據
/tmp
臨時文件目錄
/usr
存放用戶使用系統命令和應用程序等信息,比如命令、幫助文件等。
/var
存放經常變動的數據,比如日志、郵件等。
幾個特殊的文件系統
文件系統
掛載點
說明
root
/
Linux系統運行的基點,根文件系統不能被卸載
proc
/proc
以文件系統的方式為訪問系統內核數據的操作提供接口,適用於2.4和2.6內核
sysfs
/sys
以文件系統的方式為訪問系統內核數據的操作提供接口,2.6內核使用
tmpfs
/dev /var/run
/var/lock
程序訪問共享內存資源時使用的文件系統
usbfs
/proc/bus/usb
訪問usb設備時使用的文件系統
devpts
/dev/pts
內核用來與偽終端(以遠程方式登陸)進行交互的文件系統
swap
內核使用的特殊文件系統,無掛載點
用來創建虛擬內存
【2.6】linux命令
Linux命令的習慣
- 命令及參數區分大小寫
-程序可否執行與擴展名無關
-使用tab鍵來補全命令
$command [-options]parameter1 parameter2 …
指令 選項 參數1 參數2
說明:
0. 一行指令中第一個輸入的絕對是‘指令(command)’或‘可執行文件’
1. command 為指令的名稱,例如變換路徑的指令為 cd 等等;
2. 中刮號[]並不存在於實際的指令中,而加入參數設定時,通常為 - 號,例如-h;有時候完整參數名稱會輸入 -- 符號,例如--help;
3. parameter1 parameter2.. 為依附在option 後面的參數,或者是 command 的參數;
4. command, -options, parameter1.. 這幾個中間以空格來區分,不論空幾格 shell 都視為一格;
5. 按下 [Enter] 按鍵後,該指令就立即執行。
6. 指令太長的時候,可以使用 \ 符號來跳脫 [Enter] 符號,使指令連續到下一行。注意! \ 後就立刻接特殊字符。
7. 在 Linux 系統中,英文大小寫字母是不一樣的。舉例來說, cd 與 CD 並不同。
常用命令介紹
pwd
查看當前工作目錄
cd
更換目錄
用法:
cd [目錄]
符號
意義
.
當前工作目錄
..
父目錄
~
用戶家目錄
-
上個工作目錄
ls
顯示目錄
用法:ls [參數][目錄名]
ls 參數:
-a:顯示所有文件,包括隱藏文件(以.開頭的文件)
-l:以長格式顯示
-t:按修改時間先後顯示
-R:顯示目錄及下級子目錄結構(遞歸)
-m:橫向輸出文件名,並以“,”作分格符。
-S:以文件大小排序。
用顏色代表不同文件
白色:普通文件
紅色:壓縮文件
藍色:目錄文件
淺藍色:鏈接文件
黃色:設備文件(/dev)
綠色:可執行文件(/bin、/sbin)
粉紅色:圖片文件
mkdir
建立目錄
用法: mkdir [參數]{目錄名}
參數: -p 可以一次性創建整個目錄樹
rmdir
刪除目錄
用法: rmdir[參數] {目錄名}
? 如果目錄是空的,此命令會刪除他們,如果目錄中有內容,則會產生錯誤信息且不能刪除目錄,但是他會繼續刪除其余的空目錄。注意,只包括一個子目錄的目錄不是空的。
rm
刪除文件和文件夾
用法: rm [參數] {文件}
參數:
-r刪除整個目錄樹
-f強制執行
tree
顯示文件和目錄樹
用法:tree [參數]{文件}
參數:-a 不隱藏任何以.字符開始的條目
-d只顯示目錄不顯示文件
-f 每個文件都顯示路徑
-t根據最後修改時間排序
-L n 只顯示n層目錄(n為數字)
touch
創建空文件和更改時間戳
用法:touch[參數] {文件}
參數:-d 更改時間戳為定義值 (後面加年月日,格式:20101212)
cp
復制目錄
用法: cp[參數] {原文件…} {目標文件}
參數:-r 遞歸執行 (可復制目錄樹)
mv
移動或重命名文件
用法: mv[參數] {原文件} {目標文件} 把原文件更名為目標文件
mv [參數] {原文件…} {目標文件} 把一個或多個文件同時移動到目標文件中
查看文檔:
cat 由第一行開始顯示文件的內容
cat命令顯示文件時會同時顯示所有內容。大型文件在屏幕上一晃而過,難以閱讀。所以他比較適合小於一屏的文件。
用法:
cat [option] filename
tac 從最後一行開始顯示
file顯示文件類型
file [option] filename
more 一頁一頁的顯示檔案內容:
l空格鍵 (space):代表向下翻一頁;
lEnter:代表向下翻『一行』;
l/字符串:代表在這個顯示的內容當中,向下搜索『字符串』這個關鍵詞;
l:f :立刻顯示出文件名以及目前顯示的行數;
lh 幫助
lb 或 [ctrl]-b :代表往回翻頁
lq:退出
less 與 more 類似,less可以往前翻頁!:
l空格鍵:向下翻一頁;
l[pagedown]:向下翻一頁;
l[pageup]:向上翻一頁;
l/字符串:向下搜索『字符串』;
l?字符串:向上搜索『字符串』;
ln:重復前一個搜索
lN:反向的重復前一個搜索
lh:幫助
lq:退出
head顯示文件開始幾行
用法:
head[options] {file…}
參數: –n number查看前幾行的值
tail顯示文件最後幾行
用法:
tail [options]{file…}
參數: –n number 查看後幾行的值
–f 一直監視
【7】man 幫助文檔
路徑:/usr/share/man
用法: man[參數] [查詢名]
/ 來查找
q退出
其他獲得幫助的方法
--help
-h
info 命令
help 內置命令
readme
【8】關機
將數據同步寫入硬盤:sync
shutdown命令
shutdown命令的格式為:
#shutdown[參數] 時間 [警告信息]
-t sec :送出警告信息和刪除信息之間要延遲多少秒
- k:並不真正關機而只是發出警告信息給所有用戶
- r:關機後立即重新啟動
- h:關機後停止系統
init0
重啟:reboot init6
【9】別名
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias ls='ls--color=auto'
alias ll='ls -lh--color=auto'
alias l='ls--color=auto'
alias grep='grep--color=auto'
debian系統的時候要在/etc/profile裡面進行設置
【10】find
[root@www ~]# find[PATH] [option] [action]
選項與參數:
1. 不時間有關的選項:共有 -atime, -ctime 與 -mtime ,以 -mtime 說明
-mtimen :n 為數字,意義為在 n 天之前的『一天之內』被更改過內容的文件
-mtime +n :列出在 n 天之前(不含 n 天本身)被改動過內容的文件;
-mtime -n :列出在 n 天之內(含n 天本身)被更改過內容的文件。
-newer file :file 為一個存在參照物,列出比 file 還要新的文件
[root@www ~]# find/ -mtime 0
# 那個 0 是重點!0 代表目前的時間,所以,從現在開始到 24 小時前,有改動過內容的文件都會被列出來
find / -mtime3 #3天內改動過的文件
find / -name file –execls –l {} \;
文件的 Access time,atime 是在讀取文件或者執行文件時更改的。
文件的 Modified time,mtime 是在寫入文件時隨文件內容的更改而更改的。
文件的 Create time,ctime 是在寫入文件、更改所有者、權限或鏈接設置時隨 Inode 的內容更改而更改的。
ls -lc filename 列出文件的 ctime
ls -lu filename 列出文件的 atime
ls -l filename 列出文件的 mtime
【11】查看命令歷史
history
【12】環境變量
PATH命令搜索的路徑
exportPATH=/usr/bin:/usr/local/zabbix/bin:/usr/local/php5/bin
【2.7】管道
grep
-c只輸出匹配行的計數。
-i不區分大小寫(只適用於單字符)。
-h查詢多文件時不顯示文件名。
-l查詢多文件時只輸出包含匹配字符的文件名。
-n顯示匹配行及行號。
-s不顯示不存在或無匹配文本的錯誤信息。
-v顯示不包含匹配文本的所有行。
sort -r 反向排序
cut –d ‘分割符’ –f 取第幾段
uniq –c 計數
wc –l 統計多少行
【2.8】linux中的正則
&&且
||或
幾個概念:
1.基本正則表達式 擴展的正則表達式 (由普通字符+元字符組成)
2.通配 (由普通字符+元字符組成)
3.元字符
注意:正則表達式中元字符的意義和通配中元字符的意義有區別的
bash shell本身不支持正則表達式,使用正則表達式的是shell的一些命令和工具,如grep,sed,awk等等
但是bash可以使用正則表達式中的一些元字符實現通配的功能,此時的這些元字符叫通配符。
此時通配中元字符的意義跟正則表達式中元字符的意義就不一樣了。
通配是指:將一個包含通配符的非具體的文件名擴展為計算機,服務器,網絡上的一批具體的文件名的過程。
基本正則表達式中元字符的意義如下:
1. * 匹配*前面的那一個字符的0次或多次
如hel*o heo helo hello helllo ......
2. . 匹配任意一個字符(只匹配一個,可以是空格)
如ab. abc abd ab3 ab ......
3. ^ 匹配行首,行首的字符序列必須是^後的字符序列
如^suda sudahuhuhuuuuuhuuh sudaokokokokokoko ......
4. & 匹配行尾,行尾的字符序列必須是$前的字符序列
如suda$ jijijijijiiijijsuda lkokokokokjijhuhsuda ......
特殊的 ^$ 匹配一個空行
^.$ 匹配只有一個字符的空行
5. [] 匹配字符集合中的任意一個字符(只匹配一個)
如[1234] [1-4] 匹配1,2,3,4的任意一個字符
注意:^放在[]裡面時,不再表示匹配行首,而是取反的意思
[^1234] [^1-4] 匹配不是1,2,3,4的任意一個字符
[a-z][A-Z]* 匹配任意一個英文單詞
6. \ 用於轉義元字符,使之成為普通字符
如\* 此時*表示一個普通字符
7. \<\> 用於精確匹配
如\
8.\{\}系列符號
\{n\} 匹配前面字符的n次
\{n,\} 匹配前面字符的至少n次
\{n,m\} 匹配前面字符的n-m次,至少n次,至多m次
如JO\{3\}B 匹配JOOOB
如JO\{3,\}B 匹配JOOOB JOOOOB ......
如JO\{3,6\}B 匹配JOOOB JOOOOB JOOOOOB JOOOOOOB
擴展的正則表達式中元字符的意義如下:
1. ? 匹配前面的那一個字符的0次或1次
如JO?B 匹配 JB JOB JOOB
2. + 匹配前面的那一個字符的1次或多次
如JO+B 匹配 JOOB JOOOB ......
3. |與()通常結合使用,表示一組可選的字符集合
如re(a|o|e)d 匹配read reod reed
等同於re[aoe]d
通配中的元字符的意義如下:
1. * 表示任意多的任意字符
2. ? 表示一個任意字符
3. ^ 表示取反
4. [] 同正則表達式的用法
5. {} 表示一組表達式的集合 {}中表達式是或的關系
如ls -l {*.cpp ,[1234]*.c} 列出滿足表達式*.cpp或者[1234]*.c的文件。