歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> 0511 第二節課

0511 第二節課

日期:2017/3/3 12:47:25   编辑:Linux技術

一.用戶登錄

UID,是系統自動為用戶分配的,用來證明用戶身份的數字,基本上是0-60000這個區間內的數字

管理員 :UID=0

普通用戶 :UID=500(CENTOS6) UID=1000(CENTOS7)

普通用戶又分為系統用戶和登錄用戶,所謂的系統用戶是指nologin的那些用戶,用來運行 後台服務或進程的用戶,不需要登錄

決定是不是管理員的是用戶的UID,而非用戶的名字,root也可以不是管理員

查看UID的命令:id -u

二.終端

1.物理終端:直接接入本機的顯示器及鼠標鍵盤

/dev/console

2.虛擬終端:附加在物理終端之上的以軟件方式虛擬實現的終端

centos默認有6個,Ctrl+Alt+F1-6切換

/dev/tty#

3.模擬終端:

a.圖形界面中打開的命令行(Windows的cmd,Linux圖形桌面的終端)

b.基於ssh協議或者Telnet協議等遠程打開的界面(例如XSHELL等)

/dev/pts/#

查看當前終端 tty

二.交互式接口

啟動終端後,在終端設備附加的一個交互式應用程序

1.GUI:X protocol,window manager,desktop

2.CLI:shell程序

三.SHELL

shell是Linux系統的用戶界面,提供了用戶與內核進行交互操作的一種接口,接受用戶輸入的命 令並送入內核去執行

shell也是一種高級程序設計語言 (腳本語言)

查看shell版本

echo $SHELL

查看系統內存在多少種shell

cat /etc/shells

查看用戶命名個是

echo $PS1

shell中命令有兩種

內部命令:shell本身是個外部程序,但是它內置了很多的命令,這些命令稱之為內部命令

外部命令:當前系統下其他路徑下的可執行程序文件

這裡注意,內部命令並不是文件,但是shell本身是文件,有的時候,一個命令是shell自帶 的命令,但是,在/目錄下卻又有相同名字的文件,這個時候想要運行該文件,要將該文件 的絕對路徑寫清楚

查看是否為內部命令:type

type COMMAND

三個命令:type which whereis

type:查看是為內部命令還是外部命令,當為外部命令時將其路徑顯示出來,並將hash給 出,當命令具有命令別名時,只會將命令別名顯示出來

which:給出命令的路徑,並當命令具有命令別名的時候一起將命令別名顯示出來

whereis:顯示命令路徑,並且將其說明文件手冊一同顯示出來

hash命令:當在首次執行外部命令的時候,系統會去命令的位置去讀取該命令,並將之寫入緩存 中一遍下次能夠迅速啟動

查看hash命令: hash

刪除所有hash命令: hash -r

刪除hash下的指定的某條命令用hash -d COMMAND,後面接的是命令的名字

注意:當命令在hash進緩存後,下次執行此命令是,系統是進入緩存中讀取改命令的,因此在命 令有hash緩存時,更改了該命令的原路徑,在此執行該命令的時候,系統是去緩存中的地址去讀 取命令,所以會報錯

四.命令格式

# COMMAND [OPTIONS..] [ARGUMENTS]

command:命令,必須在#後邊,即最左側

options:選項,用於啟動或關閉命令的某個功能

短選項: -c,例如ls -a ,cp -a

長選項:--word,例如cp命令中的--preserv=all

arguments:參數,命令的作用對象

注意: 1.命令,多選項,多參數之間必須用空白符號隔開

2.取消命令和結束命令為 Ctrl+c Ctrl+d

3.多個命令共同執行,命令與命令之間必須以;隔開,例如:ls -al;cd /

4.一個命令太長時,可以用\分成多行

此處;將多個任務共同執行,前後的命令是沒有邏輯關系的,和後邊用到的|不同,|前後的命令 是有聯系的,前一條命令的輸出數據是後一條命令的輸入程序

五.簡單命令

1.date命令:顯示日期

date [OPTION]... [+FORMAT]

date +%a-%F :兩個選項之間需要用減號-鏈接

常見的選項:

%a:星期縮寫

%A:星期的全拼

%Y:年

%m:月

%d:日

%H:小時

%M:分鐘

date -d “# days” +% :顯示#天的信息,#等於負數時,顯示#天前的信息,#是正數時, 顯示幾天後的信息

-d “# days” :兩者要寫在一起,“# days”可以換成一些簡單的單詞如now,yesterday 等

date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

date 月日時分世紀年.秒

如 20160511 14:23:45 date 051114232016.45

2.cal命令:查看日歷

cal 月 年

3.nano:nano文本編輯器

nano file

4. echo命令:回顯

echo [-ne] [字符]

-n:不顯示換行

-e:實現轉義字符

\a:警告音

\b:退格鍵

\c:不加上換行符號

\n:換行,光標移到首行

\r:光標移到首行,但不換行

\t:插入tab

\\:插入\

echo中單雙引號

“”中的內容,會顯示出來,例如echo “$PATH”會顯示PATH變量中的內容

‘’中的內容,會以純文本的形勢顯示出來

echo反引號或$()

echo中可以引用命令,但該命令必須用``或者$()

使用echo可以再終端之間發送消息

echo i am wuyanzu >(句號) /dev/pts/2

echo也是變量相關的一個命令

5.history歷史命令

history的命令記錄在文件.bash_history中

history #:顯示最近的#條歷史命令,當不寫#時,則顯示全部的歷史命令

history -c:刪除全部的歷史命令(指示清空shell中的數據,仍舊可以從.bash_history中讀取)

history -d 偏移量 :在偏移量的那條命令

history -w:將shell中的歷史命令寫入到文件中

history -r:將文件中的歷史命令讀取到shell中

!#:執行歷史文件列表第#條命令

!!:執行上一條命令

!STRING:執行以STRING打頭的命令

!?abc:執行包含abc的命令

!^:上一個命令的第一個參數

!$:上一個命令的最後一個參數

!:n:上一個命令的第N個參數

!*:上一個命令的全部參數

!n:^:第n個命令的第一個參數

!n:$:第n個命令的最後一個參數

!n:n:第n個命令的第N個參數

!n:*:第n個命令的全部參數

!STR:^:最近的以STR打頭的命令的第一個參數

!STR:$:最近的以STR大頭的命令的最後一個參數

!STR:*:最近的 以STR打頭的命令的全部參數

!STR:n:最近的以STR打頭的命令的第n個參數

Ctrl+r:搜索命令

ESC+.:上一個參數,同!$

echo $HISTSIZE:命令列表能保存的最大歷史命令條數

$HISTFILE:顯示保存文件

$HISTFILESIZE:顯示歷史文件能保存的最大歷史命令條數

環境變量:$HISTCONTORL:顯示歷史文件保存規則

ignoredups:忽略重復命令

ignorespace:忽略空白開頭的命令

ignoreboth:以上全部生效

$HISTTIMEFORMAT:在history中顯示時間

使用export更改

export HISTTIMEFORMAT=“%F %T”

HISTTIMEFORMAT的值中也可以加入反引號植入命令,例如顯示使用命令的 用戶可以加入`whoami`

$HISTIGNORE=“str1:str2:...”:history中將不再顯示包含 str1,str2的命令

修改環境變量: export HISTCONTROL=值

修改變量: 變量=值

以上,環境變量的內容雖然可以再所有的shell中成立,但是和變量一樣,重啟後設 置消失,只是針對內存。如果想修改,應該通過修改配置文件的方式

/etc/profile:這個文件是針對全局的配置文件 修改危險程度較高

~/.bash_profile:這個是針對當前用戶的配置文件

6.screen

額外安裝的同屏工具

screen -S 名字:建立

screen -x 名字:加入

screen -ls:顯示當前所有screen

screen -r:轉回當前screen

screen -d:退出

六.一些快捷鍵

1.命令補全

TAB:在輸入命令時可以按TAB來補全命令

TABTAB:當命令不是唯一的時候,按一次tab會沒有反應,這時候按2次會將所有的可能補全 命令顯示出來

2.Ctrl+l:清屏

3.Ctrl+c:取消命令

4.ESC+.:寫入以一條命令的參數

七.幫助命令

1.whatis COMMAND:顯示命令在man手冊中第幾個手冊,並將命令的作用簡要表達出來

whatis是一個數據庫,當系統剛安裝時,可能需要手動安裝,手動安裝命令: makewhatis(centos6)和mandb(centos7)

2.COMMAND -help:內部命令專用幫助

3.COMMAND --help:外部命令用幫助

4.man # COMMAND

man手冊:

1.用戶命令 2.系統調用 3.C庫調用 4.設備文件

5.配置文件格式 6.游戲 7.雜項 8.管理工具(管理員用來管理的工具)

9.linux內核相關

查看命令在哪個手冊,可以用whatis COMMAND

man -k keyword :搜索man中有keyword的,使用的是whatis數據庫

/keyword或者?keyword:搜索命令的man手冊中的關鍵字

n:下一個 N:上一個

此處應該注意的時,man 5 下的手冊全是用戶的配置相關的文件,因此,在使用man 5 時後邊的參 數應該是文件名即FILE而不是COMMAND

本文出自 “博客作業初版” 博客,謝絕轉載!

Copyright © Linux教程網 All Rights Reserved