3.1 Linux終端介紹、Shell提示符、Bash基本語法 3.1.1 登錄LINUX終端 兩種終端模擬器:1、GNOME桌面的GHOME Terminal ; 2、KDE桌面的Konsole Terminal 遠程連接終端工具: Xshell , CRT 。後期會教你安裝。 例1:通過tty命 ...
3.1 Linux終端介紹、Shell提示符、Bash基本語法
3.1.1 登錄LINUX終端
兩種終端模擬器:1、GNOME桌面的GHOME Terminal ; 2、KDE桌面的Konsole Terminal
遠程連接終端工具: Xshell , CRT 。後期會教你安裝。
例1:通過tty命令看到當前所屬的虛擬終端
[root@xuegod63 ~]# tty /dev/pts/0
註:shift+ctrl+N 快速打開一個終端。 終端字體放大: shift+ctrl+加號。終端字體縮小:ctrl+減號
例2:不同虛擬終端之間通訊
同時打開兩終端,第一個終端執行:
[root@xuegod63 ~]# echo xuegod > /dev/pts/1
在第二個終端查看:有xuegod輸出
例3:對所有終端廣播消息:系統10分鐘後關機。
[root@xuegod63 ~]# shutdown +10 #執行此命令後,在其他終端都會收到關機的消息 [root@xuegod63 ~]# shutdown -c #取消關機
或:
[root@xuegod63 ~]# wall " The system will be shut down in 10 minutes " #廣播,所有終端都能收到
3.1.2 認識SHELL
Shell俗稱殼,它提供了用戶與內核進行交互操作的一種介面,它接收用戶輸入的命令並把它送入內核去執行
Shell實際上是一個命令解釋器,它通過解釋用戶輸入的命令並把它傳輸給系統內核去執行。
Shell有自己的編程語言用於對命令的編輯,它允許用戶編寫由shell命令組成的程式。Shell編程語言具有普通編程語言的很多特點,比如它也有迴圈結構和分支控制結構等,用這種編程語言編寫的Shell程式與其他應用程式具有同樣的效果。
內部命令:在系統啟動時就調入記憶體,是常駐記憶體的,所以執行效率高
外部命令:是系統軟體的功能,用戶需要時才從硬碟中讀入記憶體
如何區內外部命令?
使用type命令 ,語法 : type 要檢測的命令
[root@xuegod63 ~]# type cat
[root@xuegod63 ~]# type pwd
總結: 通過SHELL,我們可以對LINUX實現哪些操作或管理:
例如:
對文件的管理(創建、刪除、複製、修改)
1、對用戶的管理(添加、刪除)
2、相關許可權的管理(授權用戶對相關文件的管理,比如增刪改查)
3、對磁碟的管理(分區、raid、lvm)
4、對軟體的管理
5、對網路的管理
3.1.3 shell提示符“#”號與“$”號的區別
[root@xuegod63 ~]# #表示是root用戶登錄,管理員賬號登陸
[root@xuegod63 ~]# su - mk #切換到mk普通用戶
[mk@xuegod63 ~]$ #表示普通用戶登錄
上面各位置對應的內容代表的意思如下:
[root @ xuegod63 ~ ]#
用戶名---@---主機名---當前所在目錄(~表示當前用戶的家目錄)---(# root/$普通用戶)
3.1.4 認識Bash Shell
查看所有shell類型
[root@xuegod63 ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
具體你使用的是哪一個,取決於你的用戶配置,也就是說你可以看一下/etc/passwd文件的每一行的最後一個欄位
[root@xuegod63 ~]# head -1 /etc/passwd
root:x:0:0:root:/root:/bin/bash
3.2 基本命令操作
在LINUX中使用一個命令,命令格式如下:
命令 【選項】 【參數】
命令:具體執行的命令,比如pwd,head
選項:會影響到命令的一些形為操作,通常以- --實現
參數:命令作用的對象
3.2.1 基本命令之--ls
作用:查看當前目錄下有哪些文件(list)
語法:ls 目錄/文件 ,如果什麼也不加,那麼查看的是當前目錄下的內容
常用選項:
命令後面不加任何選項
[root@xuegod63 ~]# ls
-l 列出文件的詳細信息,如創建者,創建時間,文件的讀寫許可權列表等等,長列表
[root@xuegod63 ~]# ls -l
第一個字元文件類型中:
d:目錄文件
l:鏈接文件
b:塊設備文件
c:字元設備文件
p:管道文件
-: 表示普通文件
為什麼有的目錄文件有不同的顏色呢?
linux系統中不同的顏色代表了不同的文件類型
顏 色 |
代表內容 |
舉 例 |
藍色 |
目錄 |
/etc |
黑色 |
文件 |
/etc/passwd |
淺藍色 |
鏈接 |
/etc/grub2.cfg |
紅色 |
壓縮包 |
boot.tar.gz |
綠色 |
可執行文件 |
/etc/init.d/network |
黑底黃字 |
設備文件 |
/dev/sda |
-a 列出目錄下所有的文件,包括以“.“開頭的隱藏文件(linux下隱藏文件是以 . 開頭的,如果存在2個點代表存在著父目錄,1個點表示當前目錄)
[root@xuegod63 ~]# ls -a
-d 查看目錄(不查看裡面的內容)
-S 以文件的大小進行排序
ls -l 和ll 這兩個命令是等價的
3.2.2 別名的使用
定義一個別名:
[root@xuegod63 ~]# alias vimens33='vim /etc/sysconfig/network-scripts/ifcfg-ens33' [root@xuegod63 ~]# vimens33
刪除別名:
[root@xuegod63 ~]# unalias vimens33
設置別名永久生效:
==》當前用戶
[root@xuegod63 ~]# vim /root/.bashrc #插入以一下內容: 8 alias vimenss33="vim /etc/sysconfig/network-scripts/ifcfg-ens33" [root@xuegod63 ~]# source /root/.bashrc [root@xuegod63 ~]# vimenss33
==》全局使用
[root@xuegod63 ~]# vim /etc/bashrc #在文件最後插入 alias vimenss33="vim /etc/sysconfig/network-scripts/ifcfg-ens33" [root@xuegod63 ~]# su - mk 上一次登錄:四 11月 16 10:22:03 CST 2017pts/1 上
[mk@xuegod63 ~]$ vimenss33
3.2.3 基本命令之--cd
作用:切換目錄(change directory)
語法:cd 目錄
說明:直接輸入cd表示回到當前用戶的宿主(家)目錄
[root@xuegod63 ~]# cd /etc/sysconfig/network-scripts/ [root@xuegod63 network-scripts]# cd [root@xuegod63 ~]# cd ~
cd .. 表示返回到上級目錄位置,也就是父目錄
cd . 表示進入到當前目錄
cd - #表示返回切換前的目錄
3.2.4 歷史命令之history
命令:history
4個快速查找Linux歷史命令的技巧:
方法1: 游標上下鍵
方法2: ctrl+r -》輸入某條命令的關鍵字-》找出來對應的命令,按右游標鍵
方法3: !數字 //執行歷史命令中第N條命令
方法4:!字元串 //搜索歷史命令中最近一個以xxxx字元開頭的命令,例如!vim
3.2.5 Linux下快捷鍵
都是用Ctrl+下麵的單詞, ^表示Ctrl
^C
終止前臺運行的程式 , 如:ping g.cn 後,想停止按下Ctrl+C
^D
退出 等價exit
^L
清屏與clear功能一樣
^R
搜索歷史命令,可以利用好關鍵詞
!$ 引用上一個命令的最後一個參數
[root@xuegod63 network-scripts]# cat /etc/hosts
[root@xuegod63 network-scripts]# vim !$ #相當於執行: vim /etc/hosts
補全命令使用tab鍵,Tab只能補全命令和文件
3.3 系統時間管理
在Linux中有硬體時鐘與系統時鐘等兩種時鐘。硬體時鐘是指主機板上的時鐘設備,也就是通常可在BIOS畫面設定的時鐘;系統時鐘則是指kernel中 的時鐘;所有Linux相關指令與函數都是讀取系統時鐘的設定
當Linux啟動時,系統時鐘會去讀取硬體時鐘的設定,之後系統時鐘即獨立運作
3.3.1 兩種時間
查看硬體時間:
[root@xuegod63 etc]# hwclock
查看系統時間:
[root@xuegod63 mnt]# date
時區:
UTC (Universal Time Coordinated):世界標準時間
GMT (Greenwich Mean Time):格林尼治時間
CST (China standard Time):中國標準時間
3.3.2 如何修改時間
date命令相關參數:
date --help
-s, --set=STRING 把時間設為字元串所描述的時間
例:
%F 完整日期格式,等價於 %Y-%m-%d
[root@xuegod63 ~]# date "+%F"
2018-11-02
%y 年份最後兩位數位 (00-99)
%Y 年份
%m month (01..12)
%d 按月計的日期(例如:01)
%M minute (00..59)
%H 小時(00-23)
%S 秒(00-60)
[root@xuegod63 ~]# date "+%Y%m%d" 20181102 [root@xuegod63 ~]# date "+%Y-%m-%d %H:%M:%S" #在年月日之前可以添加自己想要的符號 2018-11-02 22:34:27 [root@xuegod63 ~]# date "+%Y/%m/%d %H:%M:%S" 2018/11/02 22:34:38 [root@xuegod63 ~]# date "+%Y%m%d %H:%M:%S" 20181102 22:35:03
-d, --date=STRING #顯示由字元串描述的時間,而不是“當前時間”
[root@xuegod63 ~]# date -d "+1 months" +%F 2018-12-02
3.3.3 使用time命令測試一個命令運行的時間
time 作用:一般用來測量一個命令的運行時間
使用方法:time 在後面直接跟上命令和參數
[root@xuegod63 ~]# time ls -l /etc/
real 0m0.056s
user 0m0.016s
sys 0m0.040s
說明:
real:實際使用時間
user:用戶狀態使用的時間
sys:內核狀態使用的時間
3.4 幫助命令使用
遇到命令不知道添加哪個參數,可以使用命令幫助查看相關介紹,常用的查看幫助信息命令有如下幾個
3.4.1 man 命令 :查看手冊頁或命令描述
[root@xuegod63 ~]# man find
man命令查看幫助時,支持它支持上翻下翻,搜索(直接輸入斜線),退出用q
3.4.2 使用-h或--help查看命令選項
[root@xuegod63 ~]# find -h #不可以執行
[root@xuegod63 ~]# find --help
3.5 開關機命令及7個啟動級別
常用的幾個關機,重啟命令
shutdown
init
reboot
poweroff
3.5.1 關機命令之--shutdown
作用:關機,重啟,定時關機
語法:shutdown [選項]
參數:
-r => 重新啟動電腦
-h => 關機
-h 時間 =>定時關機
例如:
[root@xuegod63 ~]# shutdown -h +10 #10分鐘之後關機 [root@xuegod63 ~]# shutdown -h 23:30 #指定具體的時間點進行關機 [root@xuegod63 ~]# shutdown -h now #立即關機 [root@xuegod63 ~]#shutdown -r 22:22 #22:22 以後重啟
3.5.2 7個啟動級別
作用:切換系統運行級別
語法:init 0-6
Linux 7個啟動級別:
0 系統停機模式,系統預設運行級別不能設置為0,否則不能正常啟動,機器關的
1 單用戶模式,root許可權,用於系統維護,禁止遠程登陸,就像Windows下的安全模式登錄
2 多用戶模式,沒有NFS和網路支持
3 完整的多用戶文本模式,有NFS和網路,登陸後進入控制台命令行模式
4 系統未使用,保留一般不用,在一些特殊情況下可以用它來做一些事情。例如在筆記本電腦的電池用盡時,可以切換到這個模式來做一些設置
5 圖形化模式,登陸後進入圖形GUI模式,X Window系
6 重啟模式,預設運行級別不能設為6,否則不能正常啟動。運行init 6機器就會重啟
例
[root@localhost ~]# init 0 #關機
[root@localhost ~]# init 3 #進入3級別字元界面
[root@localhost ~]# init 5 #進入5級別圖形界面
3.5.3 設置預設的運行界別
centos7不再使用/etc/inittab文件進行預設的啟動級別配置,而使用比sysvinit的運行級更為自由的target替代。
第3運行級用multi-user.target替代。
第5運行級用graphical.target替代。
設置預設第三啟動級別
[root@xuegod63 ~]# systemctl set-default multi-user.target
設置預設第五啟動級別
[root@xuegod63 ~]# systemctl set-default graphical.target
[root@xuegod63 ~]#runlevel
3 5 #表示從3級別切換到了5級別
查看當前預設的啟動級別
3.6 實戰:設置伺服器來電後自動開機
進入bios,一般是在開機後出現主板畫面是按Delete這個鍵,部分品牌機可能按F2,F1
選擇Integrated Peripharals(外圍設備設置)中的SuperIO Device
Integrated [ˈɪntɪgreɪtɪd] 集成 ; Peripharals [pəˈrɪfərəl] 外圍
將其中的Restore On AC Power Loss選項修改:Power On
若要加電不開機選擇Power Off,若要加電之前斷電狀態選擇Last State)
3.7 設置伺服器定時開機
Power Management Setup,就進入電源管理設置了
通過回車進入這個設置後,選擇Wake Up Event Setup,回車選擇Press Enter
找到RTC Alarm([əˈlɑ:m] 報警),將Disabied 更改為Enabled,然後繼續回車確定。然後再繼續設置時間點和日期
按F10保存,退出。