歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> Linux入門知識

Linux入門知識

日期:2017/3/3 11:11:08   编辑:Linux技術

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

Copyright © Linux教程網 All Rights Reserved