Linux入門
用戶登錄
root用戶:
一個特殊的管理帳戶
也被稱為超級用戶
root已接近完整的系統控制
對系統損害幾乎有無限的能力
除非必要,不要登錄為root
普通(非特權)用戶
權限有限
造成損害的能力比較有限
終端
用戶與主機交互,必然用到的設備
物理終端
虛擬終端
shell介紹
shell是Linux系統的用戶界面,提供了用戶與內核進行交互操作的一種接口。
它接受用戶輸入的命令並把它送入內核去執行;
shell也被稱為Linux的命令解釋器
bash:GNU Bourne-Again Shell是GNU計劃中重要的工具軟件之一,
目前也是Linux的標准的shell,與sh兼容
zsh
csh
tsh
顯示當前使用的shell:
#echo $SHELL
顯示當前系統使用的所有shell:
#cat /etc/shells
命令提示符:prompt
[root@localhost~]#
顯示提示符格式:
[root@localhost~]#echo $PS1
prompt:
管理員:#
普通用戶:$
執行命令
提請shell程序找到鍵入命令所對應的可執行程序或代碼,
並由其分析後提交給內核分配資源將其運行起來
分類:
內部命令:由shell自帶的,
而且通過某命令形式提供enable命令可以啟用或禁用內部命令
外部命令:在當前系統的某文件系統路徑下有對應的可執行程序文件
區別當前使用的命令是內部或外部命令:
#type COMMAND
hash命令:
搜尋到的外部命令路徑結果緩存至kv存儲中
hash 顯示hash緩存
hash -r清除緩存
命令格式:
COMMAND [OPTIONS...][ARGUMENTS...]
選項:用於啟用或關閉命令的某個或某些功能;
短選項:-c,例如-l,-h
長選項:--word,例如:--all,--human
參數:命令的作用對象,比如文件名,用戶名等
注意:
1)度選項,以及多參數和命令之間使用空白字符分隔
2)取消和結束命令執行:Ctrl+c,Ctrl+d
3)多個命令可以用;符號分開
4)一個命令可以用\分成多行
簡單命令
dete 顯示日期和時間
Linux的兩種時鐘:
系統時鐘:由linux內核通過CPU的工作頻率進行的;
硬件時鐘:主板
hwclock,clock:顯示硬件時鐘
-s,--hctosys以硬件時鐘為准,校正系統時鐘
-w,--systohc以系統時鐘為准,校正硬件時鐘
cal 顯示日歷
nano 文本編輯器
screen命令:
打開新的screen:
#screen
退出並關閉screen:
#exit
剝離當前screen:
Ctrl+a,d
顯示所有已經打開的screen:
screen -ls
恢復某screen
screen -r [SESSION]
echo命令:顯示字符
echo [-neE][字符串]
說明:echo會將輸入的字符串送往標准輸出
輸出的字符串間以空白字符隔開,並在最後加上換行號
echo"$VAR_NAME":變量會替換,雙引號表弱引用
echo"$VAR_NAME":變量不會替換,強引用
$echo -e "Enter the name:\c"
echo需要使用-e參數來打印轉義字符
選項:
-n 不在字符的最後自動換行
-e 若字符串中出現以下字符,則特別加以處理,而不會將它當成一般文字輸出:
\a 發出警告聲;
\b 退格鍵
\c 最後不加上換行符號;
\n 換行且光標移至行首;
\r 光標移至行首,但不換行;
\t 插入tab;
\\插入\字符;
\0nnn 插入nnn(八進制)所代表的ASCII字符
echo -e "\033[43;31mred color\033[0m"
\xHH插入HH(十六進制)所代表的ASCII字符
Tab鍵補全
命令補全
內部命令:
外部命令::bash根據PATH環境變量定義的路徑,
自左而右在每個路徑搜尋以給定命令名命名的文件,
第一次找到的命令即為要執行的命令;
用戶給定的字符串只有一條惟一對應的命令,直接補全
否則,再次Tab會給出列表
命令行歷史
保存你輸入的命令歷史。可以用它來重復執行命令;
登錄shell時,會讀取命令歷史文件中記錄下的命令~/.bash_history;
登錄進shell後新執行的命令只會記錄在緩存中,
這些命令會用戶退出時“追加”至命令歷史文件中;
重復前一個命令,有4種方法:
重復前一個命令使用上方向鍵,並回車執行。
按!! 並回車執行。
輸入!-1 並回車執行。
按Ctrl+p 並回車執行。
!字符串:重復前一個以“字符串”開頭的命令
!num:按照history命令輸出中的序號重復對應命令
!?字符串:重復前一個包含abc的命令
!-n:重復n個命令之前的那個命令
使用up(向上)和down(向下)鍵來上下浏覽從前輸入的命令
鍵入ctrl-r來在命令歷史中搜索命令
(reverse-i-search)`’:
要重新調用前一個命令中最後一個參數:
!$ 表示
Esc, .(點擊Esc鍵後松開,然後點擊. 鍵)
Alt+ .(按住Alt鍵的同時點擊. 鍵)
調用歷史參數:
#cmd !^ : 利用上一個命令的第一個參數做cmd的參數
#cmd !$ : 利用上一個命令的最後一個參數做cmd的參數
#cmd !* : 利用上一個命令的全部參數做cmd的參數
#cmd !:n : 利用上一個命令的第n個參數做cmd的參數
!n:^ 調用第n條命令的第一個參數
!n:$ 調用第n條命令的最後一個參數
!m:n 調用第m條命令的第n個參數
!n:* 調用第n條命令的所有參數
!string:^ 從命令歷史中搜索以string 開頭的命令,
並獲取它的第一個參數
!string:$ 從命令歷史中搜索以string 開頭的命令,
並獲取它的最後一個參數
!string:n 從命令歷史中搜索以string 開頭的命令,
並獲取它的第n個參數
!string:* 從命令歷史中搜索以string 開頭的命令,
並獲取它的所有參數
history命令:
history [-c] [-d offset]
history -anrw[filename]
history -psarg[arg...]
-c: 清空命令歷史
-d: 刪除歷史中指定的命令;
#: 顯示最近的#條歷史
-a: 追加本次會話新執行的命令歷史列表至歷史文件
-n: 讀歷史文件中未讀過的行到歷史列表
-r: 讀歷史文件附加到歷史列表
-w: 保存歷史列表到指定的歷史文件
-p: 展開歷史參數成多個行,但不存在歷史列表中
-s: 展開歷史參數成一行,附加在歷史列表後
命令歷史相關環境變量
HISTSIZE:命令歷史記錄的條數;
HISTFILE:指定歷史文件,默認為~/.bash_history;
HISTFILESIZE:命令歷史文件記錄歷史的條數;
HISTTIMEFORMAT=“%F %T“ 顯示時間
HISTIGNORE=“str1:str2:… “ 忽略string1,string2歷史
控制命令歷史的記錄方式:
環境變量:HISTCONTROL
ignoredups:忽略重復的命令;連續且相同方為“重復”
ignorespace:忽略所有以空白開頭的命令
ignoreboth:ignoredups, ignorespace
erasedups:刪除重復命令
export 變量名="值“
存放在/etc/profile 或~/.bash_profile
bash快捷鍵
Ctrl+l 清屏,相當於clear命令
Ctrl+c取消命令的執行
Ctrl-a 會移動到命令行的最前面
Ctrl-e 會移動到命令行的最後面
Ctrl-u 會刪除到行首
Ctrl-k 會刪除到行尾
arrow ctrl-b ctrl-f會向左或向右移動一個字符
Esc-b左移一個單詞
Esc-f右移一個單詞
使用gnome-ternimal
應用程序->附件->終端
支持多個“標簽”shell的圖形化終端模擬器
Ctrl-Shift-t 創建一個標簽頁
Ctrl-PaUp/PgUn切換到下一個/前一個標簽頁
Ctrl-Shift-c 復制選中的文本
Ctrl-Shift-v 把文本粘帖到提示符後
本文出自 “11798474” 博客,請務必保留此出處http://11808474.blog.51cto.com/11798474/1830011