一:字符模式與shell命令
字符界面和圖形界面
字符界面優點:
1):系統執行效率高,穩定性高,執行結果可直接返回
2):節省系統資源,對一個服務器至關重要
3):節省大量網絡開銷,大幅降低運行成本
4):命令行可攜帶更多選項,遠比圖形化操作功能強大
字符模式下有6個控制台(分別表示為tty1-tty6)
linux可修改文件/etc/inittab 來默認啟動字符界面
shell命令使用幫助:
whatis命令:
可以為查詢的指令顯示剪短的功能描述
命令不可用時 先執行/usr/sbin/makewhatis
--help選項
命令后跟help 顯示所查詢的指令
man命令(manual:手冊)
提供文件說明文件,
info命令(information:信息)
類似於man指令,可實現命令的跳轉,方便瀏覽文件,提供信息
二:文本編譯器vi
vi: 用於新建文件並輸入內容,打開文件,修改,保存,查找,替換.等等
還可以執行 刪除,查找,替換,塊操作 是一個文本編輯器
vi的啟動
例如: vi test.txt
如果test.txt存在 打開 不存在創建
命令行模式下常用命令:
i: 在光標前輸入字符
a: 在光標后輸入字符
o: 在光標下面新建的第一個位置輸入字符
I: 光標移動到本行的行首,開始輸入。
A: 光標移動到本行的末尾,開始輸入。
O: 在光標所在行的上面新建一行的第一個位置輸入字符
插入模式下常用的命令
esc(鍵): 切換到命令模式
移動光標的命令:
·:移動光標:"k","j","h","i"相當於鍵盤的上下左右
·0: 數字0 左移到本行的開頭 Home
·$:右移光標到本行的末尾 end
·gg:光標移至文件首行
·G:光標移至文件末尾
·nG:快速定位至第n行位置
·M:將光標移到當前屏幕的中間一行的行首 M:Middle。
·L:將光標移到當前屏幕的最下行的行首 L:Lowest。
·H:將光標移到當前屏幕的最上行的行首 H:Highest。
·Ctrl+b:在文件中向上翻一頁 相當於PageUp鍵。
·Ctrl+f:在文件中向下翻一頁 相當於PageDown鍵。
復制/剪切/粘貼命令
·在vi中y表示復制,d表示刪除,p表示粘貼。
·yw:復制光標為首的單詞。
·yy:復制光標所在行。
·nyy:復制光標行在內的以下n行,命令也可寫為yny。
·dw:刪除光標之后的一個單詞。
·dd:刪除光標所在行(含光標行)。
·ndd:刪除光標以下n行。
·p:粘貼到光標的下一行。
·u:撤銷最后一次修改,Ctrl+R恢復。
·.:小數點,重復執行最后執行的操作。
切換到末行模式
·編輯模式切換到末行:需先切換到命令模式,然后再切換到末行模式。
末行模式下常用命令:
·:w:保存當前文件,然后可繼續編輯(注意:開頭的冒號是命令的一部分,最后的冒號非命令的一部分,下同) 。written
·:q:退出vi,quit
·:x:同:wq,保存文件並退出。
·:q!:不保存文件並退出Vi。
·:e!:放棄所有修改,從上次保存文件開始再編輯。
·/字符串:向下查找指定的字符串,按“n”鍵繼續向下查找,N(shift +n)反方向查找。
·?字符串:向上查找字符串。
·:行號:跳轉到指定行。:$:表示最后一行。
·:起始行號,結束行號 s/被替換串/新串/g:用於替換字符串,無/g時只替換行中第一個,使用/g將替換所有指定字符串。substitute,global
·:起始行號,結束行號 y:復制指定的多行。
·:起始行號,結束行號d:刪除指定的多行。
·:起始行號,結束行號 g/字符串/d:刪除帶有某字符串的多行。
·:set nu:顯示行號。number
·:set nonu:關閉行號顯示。
·:set ai:自動縮進,當前行與上一行行首對齊。auto indent
·:set noai:取消自動縮進。
三:init程序與運行級別
1>:init程序是Linux核心引導結束時第一個運行的進程,系統每次啟動時都會讀取配置文件/etc/inittab,然后啟動到文件定義的運行級別下,最后提供用戶虛擬控制台(文本);若運行級別為5,則還會啟動圖形界面。
2>:Linux共有7個運行級別0~6,使用vi /etc/inittab可以查看所有的運行級別以及Linux啟動時默認進入的運行級別。
3>:修改默認啟動級別:id:3:initdefault
4>:查看當前運行級別:runlevel
四:linux基本配置文件與命令
1>:命令補全: Tab鍵
2>:清屏: clear, Ctrl+L
3>:service命令:
·用於啟動,停止,重啟某個服務,查看服務狀態
·service 服務名 start
·service 服務名 stop
·service 服務名 restart
·service 服務名 status
4>:chkconfig命令:用於列出服務在不同運行級別下的自動加載情況,也可以使服務在指定運行級別下自動加載或關閉,從而實現開機啟動某個服務或開機關閉某個服務的功能。
·chkconfig --list 服務名
列出不同服務在不同級別下的啟動關閉情況,服務名省略時顯示所有的服務。
·chkconfig --level 運行級別 服務名 on/off/reset
·運行級別間直接書寫即可,若省略則為2345。
·on為啟動,off為關閉,reset為復原(重置)。
5>:更改計算機名
·查看計算機名稱:hostname
·臨時修改計算機名:hostname 計算機名
·注意,計算機名要寫成域名的形式,如test.com。
·重啟計算機后失效。
PS1=“^_^\u@\H \w^_^\\$“修改一級命令提示符。
\u :當前用戶的賬號名稱
\H :完整的主機名稱
\h :僅取主機的第一個名字
\w :完整的工作目錄名稱。家目錄會以 ~代替
\W :只會列出最后一個目錄
\$ :提示字符,如果是root時,提示符為:# ,普通用戶則為:$
·永久更改計算機名
·使用命令vi /etc/sysconfig/network
·假設計算機名是test.com,將HOSTNAME=localhost.localdomain修改為HOSTNAME=test.com即可。
6>:查看和設置IP地址
·查看IP地址:ifconfig 網絡接口名
·網絡接口名可省略,如省略則查看所有活動的網絡接口。
·ifconfig只能看到活動網絡接口的IP,若想查看所有網絡接口的IP,而不論網絡接口是否處於活動狀態,可以使用ifconfig –a命令。
·臨時設置IP地址----重啟網絡服務(network)或重啟計算機后失效。
ifconfig 網卡名 IP地址 netmask 子網掩碼
·禁用啟用網卡
ifdown 網卡名:禁用網卡
ifup 網卡名 :激活網卡
ifconfig 網卡名 up / down :激活or禁用網卡
·對於雙網卡,則第1個網卡為eth0,第2個網卡為eth1,依此類推。
·Linux支持在一個網卡上設置多個IP地址,以ethN:M標識,N、M均從0開始,如eth0:0表示第1個網卡的第1個IP地址。
·永久設置IP地址
vi /etc/sysconfig/network-scripts/ifcfg-eth0
·若想設置多個IP,可以在/etc/sysconfig/network-scripts/下創建ifcfg-eth0:0文件並設置IP(更多的IP可使用eth0:1,eth0:2等)。
·必須禁用並重新激活網卡或重啟網絡服務才能生效。
7>:設置DNS
·修改DNS,需要修改文件/etc/resolv.conf
nameserver 202.106.46.151
·設置DNS后,沒有單獨的命令可以查看
8>:使用文本模式設置工具設置IP和DNS地址
·setup
9>:hosts域名解析
·/etc/hosts文件
10>:修改DNS和hosts的解析順序
·/etc/host.conf文件
·order hosts, bind
·multi on
·/etc/host文件中指定的主機可以有多個地址,擁有多個IP地址的主機一般稱為多穴主機。
11>:查看端口信息
/etc/services文件
文件中條目的格式
服務名 端口/協議 別名 注釋
12>:查看操作系統信息
uname用於顯示計算機及操作系統的相關信息。
uname 選項 常用的選項如下
-a:顯示全部的信息。
-m:顯示當前電腦架構類型。
-n:顯示在網絡上的主機名稱。
-r:顯示操作系統的發行編號,即內核版本號。
-s:顯示操作系統名稱,與無選項的uname的顯示結果相同。
-v:顯示操作系統的版本及發行時間。
13>:查看和設置日期
date 選項
不使用選項時可以查看系統當前日期和時間。
使用日期類選項:
+%c:顯示日期和時間“*年*月*日 *時*分*秒”。
+%x:顯示日期“*年*月*日”。
+%Y:顯示完整年份(0000~9999)。
+%y:顯示年份的最后兩位數字(00~99)。
+%b:月份(Jan~Dec,或1月~12月)。
+%B:月份(January~December,或一月~十二月)。
+%m:月份(01~12)。
+%d:日(01~31)。
+%w:一周中的第幾天(0~6)。
+%a:星期幾(Sun~Sat,或日、一~六)。
+%A:星期幾(Sunday~Saturday,或星期日~星期六)。
+%r:顯示12時制的時間,格式為“時:分:秒 AM|PM”,或者“上午|下午 時:分:秒”。
+%T:顯示24小時制的時間“時:分:秒”。
+%X:顯示“*時*分*秒”。
+%H:24小時制表示小時數(00~23)。
+%k:24小時制表示小時數(0~23)。
+%I:[ai],12小時制表示小時數(01~12)。
+%l:[el],12小時制表示小時數(1~12)。
+%M:顯示分鍾(00~59)。
+%S:顯示秒(00-59)。
+%p:顯示本地AM或PM或上午、下午。
+%Z:顯示時區。
1):格式選項
%n:顯示換行符。例如
輸入:date +%D%n%T
顯示:
01/12/14
15:15:04
2):查看和設置日期
date -s “日期時間字符串”
用於設置日期和時間
日期時間字符串按照“年月日 時:分:秒”的方式書寫即可,注意必須在日期和時間間加空格,時間用冒號分隔。
date命令只能修改系統時間,硬件時間即BIOS時間不會改變。
hwclock -w | -s
用於查看硬件時間,或者更新硬件時間或系統時間。
若要更新硬件時間,可以重啟計算機,或者執行hwclock -w命令,此命令會使用系統時間的值修改BIOS時間。
hwclock –s使用硬件時間更新系統時間。
15>:查看歷史命令
歷史命令存放在“~/.bash_history”文件中。
查看歷史命令的方法主要有兩種:
使用上下箭頭直接翻看輸入過的命令。
使用history命令查看。
輸入“!命令序號”可以直接執行輸入過的歷史命令。
臨時清理歷史命令
history –c
可以清除所在終端使用過的所有歷史命令,但退出終端、切換界面、重啟計算機后歷史命令依然可以查到。
永久刪除歷史命令
刪除文件~/.bash_history中的內容。
16>:掛載與卸載
若在Linux中使用光盤和U盤,則需要掛載。命令為:
·mount 設備名 掛載點
·掛載成功后,通過訪問掛載點來實現對設備的間接訪問。
·光盤在計算機中的設備名是/dev/hdc或者/dev/cdrom。
USB硬盤在系統中的名字一般為/dev/sdb1、/dev/sdb2等,可以用“fdisk –l”命令查看一下系統是否已經加載此盤。只有加載后方可用下述命令掛載U盤。
Eg: mount /dev/cdrom /mnt
如果要卸載,可以使用umount命令
·umount 掛載點
eject /dev/cdrom 彈出光盤
16>:echo命令
使用echo可以向標准輸出輸送字符串,格式為:
echo -n 字符串
·-n表示輸出字符串后不換行,默認換行。
·-e表示啟用轉義字符。
Linux中,字符串的定界符有3種,雙引號、單引號、倒引號。
·雙引號“”:之中的字符串,除$、倒引號、英文嘆號、斜杠\外,都是普通字符,其中\表示轉義。 變量:USER, LOGNAME, PATH,BASH
·單引號'':之中的字符串全部是普通字符,原樣輸出。
·倒引號``:之中的字符串視為命令。
向文件中寫入內容
·echo 內容 > 文件名
·echo 內容 >> 文件名