開機(jī)圖形化自動(dòng)登錄:(圖形化界面可以使用gedit命令,命令行使用nano,vi,vim其中一個(gè)都可以,以下以)
vim /etc/gdm/custom.conf(如果沒(méi)有通過(guò)yum install -y gdm安裝)
- 在[daemon]下面一行添加:
- AutomaticLoginEnable=true
- AutomaticLogin=root #(不一定是root這個(gè)用戶)
-
重啟電腦生效
image
image
開機(jī)啟動(dòng)網(wǎng)卡
- vim /etc/sysconfig/network-scripts/ifcfg-eth*(CentOS6之前的系統(tǒng))
- vim /etc/sysconfig/network-scripts/ifcfg-ens*(CentOS7以后的系統(tǒng))
- 修改ONBOOT=yes
-
重啟電腦生效
image
用戶
-
超級(jí)管理員用戶(root):唯一用戶編號(hào)uid=0
- 也被稱為超級(jí)用戶
- 一個(gè)特殊的管理帳戶
- 對(duì)系統(tǒng)損害幾乎有無(wú)限的能力
- uid=0(root)已接近完整的系統(tǒng)控制
- 除非必要,不要登錄uid=0的賬戶(root)
-
普通(非特權(quán))用戶
- 權(quán)限有限
- 造成損害的能力比較有限
終端terminal
- 查看當(dāng)前的終端設(shè)備:tty
- 切換終端設(shè)備:chvt [1-6](Ctrl+Alt+F[1-6])
shell:LINUX命令解釋器(類似一個(gè)翻譯)
提供給用戶與內(nèi)核交互操作的接口,將用戶輸入的命令解釋成內(nèi)核可以理解執(zhí)行
- 查看當(dāng)前shell類型:echo $SHELL=
- echo ${SHELL}嚴(yán)謹(jǐn)寫法 - 查看支持的shell類型:cat /etc/shells
- 切換csh的shell類型:/bin/csh
命令提示符:$PS1變量
查看幫助:man bash(進(jìn)去后搜索PROMPTING)

默認(rèn)顯示格式:[root@localhost ~] #
- #:管理用戶
- $:普通用戶
查看與修改當(dāng)前定義的PS1:echo $PS1=echo ${PS1}



- 臨時(shí)修改,命令行執(zhí)行PS1="*****"比如:PS1="[\e[1;5;41;33m][\u@\h \W]\$[\e[0m]"
- 永久生效,寫入文件-----比如:vi /etc/profile.d/env.sh,內(nèi)容為PS1="[\e[1;5;41;33m][\u@\h \W]\$[\e[0m]"保存退出-----重新登錄讓其生效
內(nèi)部命令與外部命令
內(nèi)部命令:由shell自帶,集成在shell里面,不同shell有不同命令,開機(jī)自動(dòng)加載到內(nèi)存中
- 查看所有內(nèi)部命令(bash):enable
-
禁用內(nèi)部命令:enable -n command
image -
啟用內(nèi)部命令:enable command
image
外部命令:開機(jī)不會(huì)自動(dòng)加載到內(nèi)存中,儲(chǔ)存在磁盤中的可執(zhí)行程序文件
區(qū)分內(nèi)部命令與外部命令:type command
- 內(nèi)部命令:結(jié)果包含is a shell builtin
-
外部命令:顯示為具體的路徑比如/usr/bin/vim
image
命令執(zhí)行順序(內(nèi)部比外部效率更高)
命令別名>內(nèi)部命令>hash>$PATH目錄順序
hash(緩存表,重啟自然清空):外部命令執(zhí)行過(guò)以后會(huì)把這條命令的路徑記錄到hash表中,以便為下次再執(zhí)行提高速率

- 查看已經(jīng)hash到內(nèi)存的外部命令:hash
-
查看已經(jīng)hash到內(nèi)存中外部命令的詳細(xì)信息:hash -l
image -
刪除指定已經(jīng)hash的緩存命令:hash -d name
image -
給hash到內(nèi)存中的命令定義別名:hash -p path newname
image -
查看hash命令真實(shí)路徑:hash -t name
image- 查看外部命令路徑:which command(所有加上-a選項(xiàng))
-
只關(guān)心路徑:which --skip-alias command
image
-
-
查看命令路徑、幫助文檔:whereis command
image
- 查看外部命令路徑:which command(所有加上-a選項(xiàng))
-
清除hash所有緩存:hash -r
image
命令執(zhí)行默認(rèn)查找的路徑:echo $PATH=echo ${PATH}
命令別名:將比較長(zhǎng)的命令用短的方式起個(gè)別稱
例如:alias NAME='VALUE'
-
臨時(shí):alias cdnet="cd /etc/sysconfig/network-scripts/"
image - 永久
-
當(dāng)前用戶:寫到自己家目錄下的.bashrc文件中-----執(zhí)行source .bashrc生效
image - 所有用戶(但不建議使用):寫到/etc/bashrc下
-
取消別名:unalias NAME(-a:取消所有)
使用原始命令,不使用別名
- 絕對(duì)路徑:/bin/ls
- 加上單引號(hào)'':'ls'
- 加上雙引號(hào)"":"ls"
- 使用反斜線\:\ls
-
前面加上command:command
image
命令格式
COMMAND [OPTIONS...] [ARGUMENTS...]
- 選項(xiàng):用于啟用或關(guān)閉命令的某個(gè)或某些功能
- 短選項(xiàng):-c 例如:-l, -h
- 長(zhǎng)選項(xiàng):--word 例如:--all, --human-readable
- 參數(shù):命令的作用對(duì)象,比如文件名,用戶名等
- 注意:
- 多個(gè)選項(xiàng)以及多參數(shù)和命令之間使用空白字符分隔
- 取消和結(jié)束命令執(zhí)行:Ctrl+c,Ctrl+d
- 多個(gè)命令可以用;符號(hào)分開
-
一個(gè)命令可以用\分成多行
image
日期和時(shí)間
兩種時(shí)間
- 系統(tǒng)時(shí)間(軟件時(shí)間):Linux內(nèi)核
- 硬件時(shí)間:主板(BIOS)
相關(guān)命令
- date:顯示和設(shè)置系統(tǒng)時(shí)間
-
更改:date 月日時(shí)分年.秒
image - 現(xiàn)在距離1970-01-01有多少秒:date +%s
- 把距離1970-01-01的秒數(shù)轉(zhuǎn)化為具體時(shí)間:date -d @秒數(shù)
-
- clock,hwclock:顯示硬件時(shí)鐘
- -s,--hctosys:以硬件時(shí)鐘為準(zhǔn),校正系統(tǒng)時(shí)鐘
-
-w,--systohc:以系統(tǒng)時(shí)鐘為準(zhǔn),校正硬件時(shí)鐘
image
- 昨天日期:date -d yesterday
- 生成昨天日期文件:touch
date -d "yesterday" +%F.log
image
- 生成昨天日期文件:touch
同步時(shí)間服務(wù)器:ntpdate IP

時(shí)區(qū):/etc/localtime指向所在時(shí)區(qū)/usr/share/zoneinfo/

CentOS 6:tzselect
CentOS 7:timedatectl
- 時(shí)區(qū)列表:timedatectl list-timezones
- 當(dāng)前時(shí)區(qū):timedatectl status
-
更改時(shí)區(qū):timedatectl set-timezone 時(shí)區(qū)名(America/New_York)
image
日歷:cal
- 奇怪的年:cal 9 1752
關(guān)機(jī)與重啟
關(guān)機(jī):halt,poweroff
重啟:reboot
- f:強(qiáng)制,不調(diào)用shutdown
- p:切斷電源
關(guān)機(jī)與重啟:shutdown
格式:shutdown [OPTION]... [TIME] [MESSAGE]
- r:reboot重啟
- h:halt關(guān)機(jī)
- c:cancel取消
- TIME:無(wú)指定,默認(rèn)相當(dāng)于+1(CentOS7)
- now:立刻,相當(dāng)于+0
- +m:相對(duì)時(shí)間,多長(zhǎng)時(shí)間之后;例如+3:3分鐘以后
- hh:mm:絕對(duì)時(shí)間,具體時(shí)間
用戶登錄信息查看命令:
- whoami: 顯示當(dāng)前登錄有效用戶
- who: 系統(tǒng)當(dāng)前所有的登錄會(huì)話
- w: 系統(tǒng)當(dāng)前所有的登錄會(huì)話及所做的操作
screen:遠(yuǎn)程連接,共享會(huì)話,同步
(同一用戶,同一主機(jī)-IP)
- 創(chuàng)建新會(huì)話:screen -S 會(huì)話名(主)
- 查看會(huì)話列表:screen -ls(主,遠(yuǎn)程)
- 加入指定會(huì)話(狀態(tài)為-Attached):screen -x 會(huì)話名(遠(yuǎn)程)
- 退出并關(guān)閉會(huì)話:exit(主,遠(yuǎn)程)
- 退出并不關(guān)閉會(huì)話:ctrl+a松手再按d(主,遠(yuǎn)程)
- 恢復(fù)指定會(huì)話(狀態(tài)為-detached):screen -r 會(huì)話名
image - 好處:不怕中途斷開,后臺(tái)繼續(xù)執(zhí)行
- 先創(chuàng)建會(huì)話:screen [會(huì)話名]可省略
- 執(zhí)行需要的操作命令:備份什么的
- 中途被人斷開,執(zhí)行:screen -r [會(huì)話名]可省略
echo:回顯
功能:顯示字符
語(yǔ)法:echo [-neE][字符串]
說(shuō)明:echo會(huì)將輸入的字符串送往標(biāo)準(zhǔn)輸出。輸出的字符串間以空白字符隔開, 并在最后加上換行號(hào)
選項(xiàng):
- -E (默認(rèn))不支持\解釋功能
- -n 不自動(dòng)換行
- -e 啟用"\字符"的解釋功能:特別加以處理,不會(huì)將它當(dāng)成一般文字輸出
- \a 發(fā)出警告聲
- \b 退格鍵
- \c 最后不加上換行符號(hào)
- \n 換行且光標(biāo)移至行首
- \r 回車,即光標(biāo)移至行首,但不換行
- \t 插入tab
- \ 插入\字符
- \0nnn 插入nnn(八進(jìn)制)所代表的ASCII字符
- echo -e '\033[43;31;5mmagedu\033[0m'
-
\xHH插入HH(十六進(jìn)制)所代表的ASCII數(shù)字(man 7 ascii)
image
image
計(jì)算:bc
- ibase=16:表示輸入的是16進(jìn)制數(shù);輸出結(jié)果為10進(jìn)制數(shù)
-
obase=16:表示輸入的是10進(jìn)制數(shù);輸出結(jié)果為16進(jìn)制數(shù)
image - quit:退出
系統(tǒng)登錄前提示信息:/etc/issue
系統(tǒng)登錄后提示信息:/etc/motd
命令行擴(kuò)展:$()或``(反引號(hào)):需要命令的輸出信息時(shí)使用
把一個(gè)命令的輸出打印給另一個(gè)命令的參數(shù)
- echo "This system's name is $(hostname) "
- 結(jié)果為:This system's name is server1.example.com
- echo "i am
whoami"- 結(jié)果為:i am root
括號(hào)擴(kuò)展:{}:輸出連續(xù)重復(fù)或者組合輸出,還可以分組

引號(hào),括號(hào)的區(qū)別:
- 單引號(hào)'':不能識(shí)別命令和變量,全部識(shí)別為字符串(不合格)
- 雙引號(hào)"":只可以識(shí)別變量,但命令不行(中等)
-
反引號(hào)``:都可以識(shí)別命令與變量(優(yōu)秀)
image - 大括號(hào){}:
- 對(duì)象:變量-----${PATH}
- 字符串:連續(xù)重復(fù)輸出,分組,組合輸出
- 小括號(hào)():
-
對(duì)象:命令-----$(hostname)
image
image
-
tab鍵
- 命令補(bǔ)全
- 內(nèi)部命令:
- 外部命令:bash根據(jù)PATH環(huán)境變量定義的路徑,自左而右在每個(gè)路徑搜尋以給定命令名命名的文件,第一次找到的命令即為要執(zhí)行的命令
- 用戶給定的字符串只有一條惟一對(duì)應(yīng)的命令,直接補(bǔ)全
- 否則,再次Tab會(huì)給出列表
- 路徑補(bǔ)全
- 把用戶給出的字符串當(dāng)做路徑開頭,并在其指定上級(jí)目錄下搜索以指定的字符串開頭的文件名
- 如果惟一:則直接補(bǔ)全
- 否則:再次Tab給出列表
雙擊Tab鍵
- command 2Tab 所有子命令或文件補(bǔ)全
- string2Tab 以string開頭命令
- /2Tab 顯示所有根目錄下一級(jí)目錄,包括隱藏目錄
- ./2Tab 當(dāng)前目錄下子目錄,包括隱藏目錄
- *2Tab 當(dāng)前目錄下子目錄,不包括隱藏目錄
- ~2Tab 所有用戶列表
- $2Tab 所有變量
- @2Tab /etc/hosts記錄 (centos7不支持)
- =2Tab 相當(dāng)于ls –A (centos7不支持)
命令行歷史:history
1.保存你輸入的命令歷史??梢杂盟鼇?lái)重復(fù)執(zhí)行命令
2.登錄shell時(shí),會(huì)讀取命令歷史文件中記錄下的命令/.bash_history
3.登錄進(jìn)shell后新執(zhí)行的命令只會(huì)記錄在緩存中;這些命令會(huì)用戶退出時(shí)“追加”至命令歷史文件中
- $HISTSIZE:命令歷史記錄數(shù)(在/etc/profile中定義,默認(rèn)為1000,不定義默認(rèn)為500)
- .bash_history(家目錄下):不是實(shí)時(shí)更新,是正常退出才會(huì)從內(nèi)存中執(zhí)行過(guò)的命令歷史寫入到.bash_history中(突然斷電不會(huì)寫入)
- 重復(fù)前一個(gè)命令,有4種方法
- 重復(fù)前一個(gè)命令使用上方向鍵,并回車執(zhí)行
- 按 !! 并回車執(zhí)行
- 輸入 !-1 并回車執(zhí)行
- 按 Ctrl+p 并回車執(zhí)行
- !:0 執(zhí)行前一條命令(去除參數(shù))
- Ctrl + n 顯示當(dāng)前歷史中的下一條命令,但不執(zhí)行
- Ctrl + j 執(zhí)行當(dāng)前命令
- !n 執(zhí)行history命令輸出對(duì)應(yīng)序號(hào)n的命令
- !-n 執(zhí)行history歷史中倒數(shù)第n個(gè)命令
- !string 重復(fù)前一個(gè)以“string”開頭的命令
- !?string 重復(fù)前一個(gè)包含string的命令
- !string:p 僅打印命令歷史,而不執(zhí)行
- !
(上一條命令的最后一個(gè)參數(shù))的內(nèi)容
- !:p 打印輸出 !(上一條命令的所有參數(shù))的內(nèi)容
- ^string 刪除上一條命令中的第一個(gè)string
- string1string2 將上一條命令中的第一個(gè)string1替換為string2
- !:gs/string1/string2 將上一條命令中所有的string1都替換為 string2
- 使用up(向上)和down(向下)鍵來(lái)上下瀏覽從前輸入的命令
- ctrl-r來(lái)在命令歷史中搜索命令
- (reverse-i-search)`’:
- Ctrl+g:從歷史搜索模式退出
- 要重新調(diào)用前一個(gè)命令中最后一個(gè)參數(shù)
- !$ 表示
- Esc, .(點(diǎn)擊Esc鍵后松開,然后點(diǎn)擊 . 鍵)
- Alt+ .(按住Alt鍵的同時(shí)點(diǎn)擊 . 鍵)
調(diào)用歷史參數(shù)
- command !^ 利用上一個(gè)命令的第一個(gè)參數(shù)做cmd的參數(shù)
- command !$ 利用上一個(gè)命令的最后一個(gè)參數(shù)做cmd的參數(shù)
- command !* 利用上一個(gè)命令的全部參數(shù)做cmd的參數(shù)
- command !:n 利用上一個(gè)命令的第n個(gè)參數(shù)做cmd的參數(shù)
- command !n:^ 調(diào)用第n條命令的第一個(gè)參數(shù)
- command !n:$ 調(diào)用第n條命令的最后一個(gè)參數(shù)
- command !n:m 調(diào)用第n條命令的第m個(gè)參數(shù)
- command !n:* 調(diào)用第n條命令的所有參數(shù)
- command !string:^ 從命令歷史中搜索以 string 開頭的命令,并獲取它的第一個(gè)參數(shù)
- command !string:$ 從命令歷史中搜索以 string 開頭的命令,并獲取它的最后一個(gè)參數(shù)
- command !string:n 從命令歷史中搜索以 string 開頭的命令,并獲取它的第n個(gè)參數(shù)
- command !string:* 從命令歷史中搜索以 string 開頭的命令,并獲取它的所有參數(shù)
history
完全歷史順序:先刪除.bash_history,再執(zhí)行history -c(清內(nèi)存)
- history [-c] [-d offset] [n]
- history -anrw [filename]
- history -ps arg [arg...]
- -c: 清空命令歷史
- -d offset: 刪除歷史中指定的第offset個(gè)命令
- n: 顯示最近的n條歷史
- -a: 追加本次會(huì)話新執(zhí)行的命令歷史列表至歷史文件
- -r: 讀歷史文件附加到歷史列表
- -w: 保存歷史列表到指定的歷史文件
- -n: 讀歷史文件中未讀過(guò)的行到歷史列表
-
-p: 展開歷史參數(shù)成多行,但不存在歷史列表中
image - -s: 構(gòu)建虛假歷史,展開歷史參數(shù)成一行,附加在歷史列表后
命令歷史相關(guān)環(huán)境變量(可以在man bash查看幫助)(永久保存可以寫到:/etc/profile.d/env.sh)
- HISTSIZE:命令歷史記錄的條數(shù),/etc/profile
- HISTFILE:指定歷史文件,默認(rèn)為~/.bash_history
- HISTFILESIZE:命令歷史文件記錄歷史的條數(shù)
- HISTTIMEFORMAT=“%F %T “ 顯示時(shí)間(永久可以寫到:/etc/profile.d/env.sh)
- HISTIGNORE=“str1:str2:… “ 忽略str1命令,str2開頭的歷史*
- 控制命令歷史的記錄方式:
- 環(huán)境變量:HISTCONTROL
- ignoredups 默認(rèn),忽略重復(fù)的命令,連續(xù)且相同為“重復(fù)”
- ignorespace 忽略所有以空白開頭的命令
- ignoreboth 相當(dāng)于ignoredups, ignorespace的組合
- erasedups 刪除重復(fù)命令
- 環(huán)境變量:HISTCONTROL
- export 變量名="值“
- 存放在 /etc/profile 或 ~/.bash_profile(不建議,還是自己手寫一個(gè)文件/etc/profile.d/env.sh)
man幫助章節(jié)(/usr/share/man)
- 普通用戶命令
- 系統(tǒng)調(diào)用(binary system-b-2)
- C庫(kù)調(diào)用(C-3)
- 設(shè)備文件及特殊文件(dev-d-4)
- 配置文件格式(etc-e-5)
- 游戲(666666)
- 雜項(xiàng)(雜七雜八)
- 管理類命令
- Linux內(nèi)核API
man 幫助段落說(shuō)明
- NAME 名稱及簡(jiǎn)要說(shuō)明
- SYNOPSIS 用法格式說(shuō)明
- [] 可選內(nèi)容
- <> 必選內(nèi)容
- a|b 二選一
- { } 分組
- ... 同一內(nèi)容可出現(xiàn)多次
- DESCRIPTION 詳細(xì)說(shuō)明
- OPTIONS 選項(xiàng)說(shuō)明
- EXAMPLES 示例
- FILES 相關(guān)文件
- AUTHOR 作者
- COPYRIGHT 版本信息
- REPORTING BUGS bug信息
- SEE ALSO 其它幫助參考
man幫助
- 查看man手冊(cè)頁(yè)
- man [章節(jié)] keyword
- 列出所有幫助
- man –a keyword
- 搜索man手冊(cè)
- man -k keyword 列出所有匹配的頁(yè)面
使用 whatis 數(shù)據(jù)庫(kù)
- man -k keyword 列出所有匹配的頁(yè)面
- 相當(dāng)于whatis
- man –f keyword
- 打印man幫助文件的路徑
- man –w [章節(jié)] keyword
man命令的操作方法:使用less命令實(shí)現(xiàn)
- space, ^v, ^f, ^F: 向文件尾翻屏
- b, ^b: 向文件首部翻屏
- d, ^d: 向文件尾部翻半屏
- u, ^u: 向文件首部翻半屏
- RETURN, ^N, e, ^E or j or ^J: 向文件尾部翻一行
- y or ^Y or ^P or k or ^K:向文件首部翻一行
- q: 退出
-
:跳轉(zhuǎn)至第#行
- 1G: 回到文件首部
- G:翻至文件尾部
man搜索
- /KEYWORD:
- 以KEYWORD指定的字符串為關(guān)鍵字,從當(dāng)前位置向文件尾部搜索;不區(qū)分字符大小寫;
- n: 下一個(gè)
- N:上一個(gè)
- ?KEYWORD:
- 以KEYWORD指定的字符串為關(guān)鍵字,從當(dāng)前位置向文件首部搜索;不區(qū)分字符大小寫;
- n: 跟搜索命令同方向,下一個(gè)
- N:跟搜索命令反方向,上一個(gè)
whatis,which,whereis區(qū)別
- whatis=man -f:查看幫助文檔
- which:存放路徑,別名
-
whereis:存放路徑,幫助文檔路徑(man -w)
image
bash的快捷鍵
- Ctrl + l 清屏,相當(dāng)于clear命令
- Ctrl + o 執(zhí)行當(dāng)前命令,并重新顯示本命令
- Ctrl + s 阻止屏幕輸出,鎖定
- Ctrl + q 允許屏幕輸出
- Ctrl + c 終止命令
- Ctrl + z 掛起命令
- Ctrl + w 從光標(biāo)處向左刪除至單詞首
- Alt + d 從光標(biāo)處向右刪除至單詞尾
- Ctrl + d 刪除光標(biāo)處的一個(gè)字符
- Ctrl + h 刪除光標(biāo)前的一個(gè)字符
- Ctrl + y 將刪除的字符粘貼至光標(biāo)后
- Alt + c 從光標(biāo)處開始向右更改為首字母大寫的單詞
- Alt + u 從光標(biāo)處開始,將右邊一個(gè)單詞更改為大寫
- Alt + l 從光標(biāo)處開始,將右邊一個(gè)單詞更改為小寫
- Ctrl + t 交換光標(biāo)處和之前的字符位置
- Alt + t 交換光標(biāo)處和之前的單詞位置
- Alt + N 提示輸入指定字符后,重復(fù)顯示該字符N次
- 注意:Alt組合快捷鍵經(jīng)常和其它軟件沖突
- Ctrl + a 光標(biāo)移到命令行首,相當(dāng)于Home
- Ctrl + e 光標(biāo)移到命令行尾,相當(dāng)于End
- Ctrl + f 光標(biāo)向右移動(dòng)一個(gè)字符
- Ctrl + b 光標(biāo)向左移動(dòng)一個(gè)字符
- Alt + f 光標(biāo)向右移動(dòng)一個(gè)單詞尾
- Alt + b 光標(biāo)向左移動(dòng)一個(gè)單詞首
- Ctrl + xx 光標(biāo)在命令行首和光標(biāo)之間移動(dòng)
- Ctrl + u 從光標(biāo)處刪除至命令行首
- Ctrl + k 從光標(biāo)處刪除至命令行尾
- Alt + r 刪除當(dāng)前整行
圖形化終端快捷鍵
- Ctrl-Shift -n 創(chuàng)建新窗口
- Ctrl-Shift -q 關(guān)閉當(dāng)前窗口
- Ctrl-Shift -t 創(chuàng)建一個(gè)標(biāo)簽頁(yè)
- Ctrl-Shift -w 關(guān)閉一個(gè)標(biāo)簽頁(yè)
- Ctrl-PaUp/PgUn 切換到下一個(gè)/前一個(gè)標(biāo)簽頁(yè)
- Ctrl-Shift -c 復(fù)制選中的文本
- Ctrl-Shift -v 把文本粘帖到當(dāng)前光標(biāo)處





























