本節(jié)所講內容:
3.1? ? Linux中斷介紹Shell提示符 Bash Shell基本語法
3.2? ? 基本命令的使用:ls,? ? pwd,? ? cd,? ? history
3.3? ? 查看系統(tǒng)和BIOS硬件時間
3.4? ? Linux如何獲得幫助
3.5? ? 開關機命令及7個啟動級別
3.6? ? 實戰(zhàn):? ? 設置服務器來電后自動開機
3.7? ? 實戰(zhàn):? ? 設置服務器定時開機
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:不同虛擬終端之間的通訊
同時打開兩終端,第一個終端執(zhí)行:
[root@xuegod63~]# echo xuegod >/dev/pts/1
在第二個終端查看:有xuegod輸出
例3:? ? 對所有終端廣播消息:? ? 系統(tǒng)10分鐘后關機.
[root@xuegod63~]# shutdown + 10? ? ? ? #執(zhí)行此命令后,在其他終端都會受到關機的消息
[root@xuegod63~]# shutdown -c? ? ? ? #取消關機
或:
[root@xuegod63~]#wall? ? "The system will be shut down in 10 minutes"? ? #廣播,所有終端都能收到
3.1.2? ? 認識shell
Shell俗稱殼,它提供了用戶與內核進行交互操作的一種接口,它接收用戶輸入的命令并把它送入內核去執(zhí)行
Shell實際上是一個命令解釋器,它通過解釋用戶輸入的命令并把它傳輸給系統(tǒng)內核去執(zhí)行.
Shell有自己的編程語言用于對命令的編輯,它允許用戶編寫由Shell命令組成的程序.Shell
編程語言具有普通編程語言的很多特點,比如它也由循環(huán)結構和分支控制結構等,用這種編輯語言寫的Shell程序與其他應用程序具有同樣的效果.
內部命令:? ? 在系統(tǒng)啟動時就調入內存,是常駐內存的,所以執(zhí)行效率高
外部命令:? ? 是系統(tǒng)軟件的功能,用戶需要時才從硬盤中讀入內存
如何區(qū)分內外部命令?
使用type命令,? ? 語法:? ? type? ? 要檢測的命令
[root@xuegod63~]# type cat
cat是/usr/bin/cat
[root@xuegod63~]# type pwd
pwd是shell內嵌
總結:? ? 通過Shell,我們可以對Linux實現哪些操作或管理:
例如:
對文件的管理(創(chuàng)建,刪除,復制,修改)
1,對用戶的管理(添加,刪除)
2,相關權限的管理(授權用戶對相關文件的管理,比如增刪該查)
3,對磁盤的管理(分區(qū),raid,lvm)
4,對軟件的管理
5,對網絡的管理
3.1.3? ? Shell提示符 "#"號與 "$"號的區(qū)別
[root@xuegod63~]#? ? ? ? ? ? #表示是root用戶登陸,管理員賬號登陸
[root@xuegod63~]# su -mk? ? #切換到mk普通用戶
[root@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中使用一個命令,命令格式如下:
命令? ? [選項]? ? [參數]
命令:? ? 具體執(zhí)行的命令,? ? 比如pwd,head
選項:? ? 會影響到命令的一些行為操作, 通常以- --實現
參數:? ? 命令作用的對象
3.2.1? ? 基本命令之--ls
作用:? ? 查看當前目錄下有哪些文件(list)
語法:? ? ls? ? 目錄/文件? ? ,如果什么也不加,那么查看的是當前目錄下的內容
常用選項:
命令后面不加任何選項
[root@xuegod63~]# ls
-l? ? 列出文件的詳細信息,如創(chuàng)建者,? ? 創(chuàng)建時間,? ? 文件的讀寫權限列表等,長列表
[root@xuegod63~]# ls -l
總用量 8
-rw-------. 1 root root 1680 9月 19 12:16 anaconda-ks.cfg
-rw-r--r--. 1 root root 1728 9月? 19 12:55 initial-setup-ks.cfg
drwxr-xr-x. 2 root root? ? 6 9月? 19 13:05 公共
drwxr-xr-x. 2 root root? ? 6 9月? 19 13:05 模板
drwxr-xr-x. 2 root root? ? 6 9月? 19 13:05 視頻
第一個字符文件類型中:
d:? ? 目錄文件
l:? ? ? 鏈接文件
b:? ? 塊設備文件
c:? ? 字符設備文件
p:? ? 管道文件
-:? ? 表示普通文件
為什么有的目錄文件有不同的顏色呢?
linux系統(tǒng)中不同的顏色代表了不同的文件類型
藍色---目錄---/etc
黑色---文件---/etc/passwd
淺藍色---鏈接---/etc/grub2.cfg
紅色---壓縮包---boot.tar.gz
綠色---可執(zhí)行文件---/etc/init_d/network
黑底黃字---設備文件---/dev/sda
-a? ? 列出目錄下所有的文件,? ? 包括以'.'開頭的隱藏文件(linux下隱藏文件是以.開頭的,如果存在2個點代表存在著父目錄,1個點表示當前目錄)
[root@xuegod63~]# ls -a
.bash_profile .dbus .mozilla 視頻 桌面
-d? ? 查看目錄(不查看里面的內容)
[root@xuegod63~]# ls -ld /root/
dr-xr-x---. 15 root root 4096 11月 15 21:37 /root/
-S? ? 以文件的大小進行排序
[root@xuegod63~]# ls -IS /root/
總用量 8
-rw-r--r--. 1 root root 1728 9月 19 12:55 initial-setup-ks.cfg
-rw-------. 1 root root 1680 9月? 19 12:16 anaconda-ks.cfg
ls -l 和ll 這兩個命令是等價的
[root@xuegod63 ~]# ll /etc/passwd
-rw-r--r--. 1 root root 2053 9月? 19 12:57 /etc/passwd
[root@xuegod63 ~]# ls -l /etc/passwd
-rw-r--r--. 1 root root 2053 9月? 19 12:57 /etc/passwd
[root@xuegod63 ~]# type ll
ll 是 `ls -l --color=auto' 的別名
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 vimens33="vim /etc/sysconfig/network-scripts/ifcfg-ens33"
[root@xuegod63~]# source /root/.bashrc
[root@xuegod63~]# vimens33
==>全局使用
[root@xuegod63~]#vim /etc/bashrc? ? #在文件最后插入
alias vimens33="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 .? ? 表示進入到當前用戶所在的目錄
[root@xuegod63 ~]# pwd
/root
[root@xuegod63 ~]# cd ..
[root@xuegod63 /]# pwd
/
[root@xuegod63 /]# cd .
[root@xuegod63 /]#
cd -? #表示返回切換前的目錄
[root@xuegod63 /]# cd /etc/sysconfig/network-scripts/
[root@xuegod63 network-scripts]# cd -
/
3.2.4? ? 歷史命令之history
命令:? ? history
4個快速查找Linux歷史命令的技巧
方法1:? ? 光標上下鍵↑↓
方法2:? ? ctrl+r →
方法3:? ? !數字? ? // 執(zhí)行歷史命令第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 !$? #相當于執(zhí)行: vim /etc/hosts
補全命令使用tab鍵友鼻,Tab只能補全命令和文件
3.3 系統(tǒng)時間管理
在Linux中有硬件時鐘與系統(tǒng)時鐘等兩種時鐘.硬件時鐘是指主板上的時鐘設備,也就是通臣绽桑可在BIOS? ? 畫面設定的時鐘;? ? 系統(tǒng)時鐘則是指kernel中的時鐘;? ? 所有Linux相關指令與函數都是讀取系統(tǒng)時鐘的設定
當Linux啟動時,系統(tǒng)時鐘會去讀硬件時鐘的設定,? ? 之后系統(tǒng)時鐘即獨立運作
3.3.1? ? 兩種時間
查看硬件時間
[root @ xuegod63 etc]# hwclock
查看系統(tǒng)時間
[root @ xuegod63 mnt]# date
時區(qū):
UTC (Universal Time Coordinated):世界標準時間
GMT (Greenwich Mean Time):格林尼治時間
CST? (China standard Time):中國標準時間
3.3.2? ? 如何修改時間
date 命令相關參數
date --help
-s, --set=STRING? ? 把時間設為字符串所描述的時間
例: [root@xuegod63 ~]# date -s "2018-11-2 22:30"
2018年 11月 02日 星期五 22:30:00 CST
%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? ? ? ? #顯示由字符串描述的時間,而不是"當前時間"
date -d "+1 months" +%F
2018-12-02
3.3.3? ? 使用time命令測試一個命令運行的時間
time? ? 作用:? ? 一般用來測量一個命令的運行時間
使用方法:? ? time? ? 在后面直接跟上命令和參數
[root@xuegod63 ~]# time ls -l /etc/
real 0m0.056s
user0m0.016s
sys 0m0.040s
說明:
real:? ? 實際使用時間
user:? ? 用戶狀態(tài)使用的時間
sys:? ? 內核狀態(tài)使用的時間
3.4? ? 幫助命令使用
遇到命令不知道添加哪個參數,? ? 可以使用命令幫助查看相關介紹,常用的查看幫助信息命令如下幾個:
3.4.1? ? man? ? 命令? ? :查看手冊頁或命令描述
[root@xuegod63 ~]# man find
man命令查看幫助時,支持它支持上翻下翻抽高,搜索(直接輸入斜線),退出用q
3.4.2 使用-h或--help查看命令選項
[root@xuegod63 ~]# find -h? #不可以執(zhí)行
[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個啟動級別
作用:切換系統(tǒng)運行級別
語法:init? 0-6
Linux 7個啟動級別:
0? ? 系統(tǒng)停機模式,? ? 系統(tǒng)默認運行級別不能設置為0,? ? 否則不能正常啟動,機器關的
1? ? 單用戶模式,? ? root權限,? ? 用于系統(tǒng)維護,? ? 禁止遠程登陸,? ? 就像Windows下的安全模式登錄
2? ? 多用戶模式,? ? 沒有NFS和網絡支持
3? ? 完整的多用戶文本模式,? ? 有NFS和網絡,? ? 登陸后進入控制臺命令行模式
4? ? 系統(tǒng)未使用,? ? 保留一般不用,? ? 在一些特殊情況下可以使用它做一些事情.例如在筆記本電腦的電池用盡時,可以切換到這個模式來做一些設置
5? ? 圖形化模式,? ? 登陸后進入圖形GUI模式,? ? X Windows系
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級別
查看當前默認的啟動級別
[root@xuegod63 ~]# systemctl get-default
graphical.target
3.6? ? 實戰(zhàn):? ? 設置服務器來點后自動開機
進入bios,? ? ?一般是在開機后出現主板畫面是按Delete這個鍵,? ? 部分品牌機可能按F2,F1
將其中的Restore On AC Power Loss 選項修改: Power On
3.7? ? 設置服務器定時開機
Power Management Setup,? ? 就進入電源管理設置了
通過回車進入這個設置后,選擇Wake Up Event Setup乐严,回車選擇Press Enter
找到RTC??Alarm([??lɑ:m] 報警)熙参,將Disabied?更改為Enabled,然后繼續(xù)回車確定麦备。然后再繼續(xù)設置時間點和日期
按F10保存,退出昭娩。
總結:
3.1? Linux終端介紹 Shell提示符 Bash Shell基本語法
3.2? 基本命令的使用:ls凛篙、pwd、cd栏渺、history
3.3? 查看系統(tǒng)和BIOS硬件時間
3.4? Linux如何獲得幫助
3.5? 開關機命令及7個啟動級別
3.6 實戰(zhàn):設置服務器來電后自動開機
3.7 實戰(zhàn):設置服務器定時開機