1. 程式人生 > >Linux基本操作入門

Linux基本操作入門

虛擬 -s style -i nor pass 數據 支持 顯示器

1.用戶登錄

root 用戶

一個特殊的管理帳戶

也被稱為超級用戶

root已接近完整的系統控制

對系統損害幾乎有無限的能力

除非必要,不要登錄為 root

普通( 非特權 )用戶

權限有限

造成損害的能力比較有限

2.終端顯示

設備終端

鍵盤鼠標顯示器

物理終端( /dev/console )

控制臺console

虛擬終端(tty:teletypewriters, /dev/tty# #為[1-6])

tty 可有n個,Ctrl+Alt+F[1-6]

圖形終端( /dev/tty7 ) startx, xwindows

CentOS 6: Ctrl + Alt + F7

CentOS 7: 在哪個終端啟動,即位於哪個虛擬終端

串行終端( /dev/ttyS# )

ttyS

偽終端( pty:pseudo-tty , /dev/pts/# )

pty, SSH遠程連接

查看當前的終端設備:#tty

3.shell(Shell 是Linux系統的用戶界面,提供了用戶與內核進行交互操作的一種接口。它接收用戶輸入的命令並把它送入內核去執行 )


顯示當前使用的shell

echo ${SHELL}

顯示當前系統使用的所有shell

cat /etc/shells

顯示系統支持shell cat /etc/shells

技術分享圖片

4.日期和時間

Linux的兩種時鐘

系統時鐘:由Linux內核通過CPU的工作頻率進行的

硬件時鐘:主板

相關命令

date 顯示和設置系統時間

date +%s

date -d @1509536033

hwclock,clock: 顯示硬件時鐘

-s, --hctosys 以硬件時鐘為準,校正系統時鐘

-w, --systohc 以系統時鐘為準,校正硬件時鐘

時區:/etc/localtime

顯示日歷:cal –y

5.Linux的文件類型

-:普通文件

d: 目錄文件

b: 塊設備

c: 字符設備

l: 符號鏈接文件

p: 管道文件pipe

s: 套接字文件socket

6.文件通配符 man 7 glob

預定義的字符類:man 7 glob

[:digit:]:任意數字,相當於0-9

[:lower:]:任意小寫字母

[:upper:]: 任意大寫字母

[:alpha:]: 任意大小寫字母

[:alnum:]:任意數字或字母

[:blank:]:水平空白字符

[:space:]:水平或垂直空白字符

[:punct:]:標點符號

[:print:]:可打印字符

[:cntrl:]:控制(非打印)字符

[:graph:]:圖形字符

[:xdigit:]:十六進制字符

7.刪除


rm [OPTION]... FILE...

常用選項:

-i: 交互式

-f: 強制刪除

-r: 遞歸

--no-preserve-root

示例:

rm -rf /

實例:rm -rf /root/passwd(空文件用-r 有內容需要用-f-r)

8.硬鏈接 和 軟連接

創建硬鏈接會增加額外的記錄項以引用文件

一個符號鏈接指向另一個文件

ls - l的 顯示鏈接的名稱和引用的文件

一個符號鏈接的內容是它引用文件的名稱

可以對目錄進行

可以跨分區

指向的是另一個文件的路徑;其大小為指向的路徑字符串的長度;不增加或減少目標文件inode的引用計數;

語法:

ln -s filename [linkname] 技術分享圖片

對應於同一文件系統上一個物理文件

每個目錄引用相同的inode號

創建時鏈接數遞增

刪除文件時:

rm命令遞減計數的鏈接

文件要存在,至少有一個鏈接數

當鏈接數為零時,該文件被刪除

不能跨越驅動器或分區

語法:

ln filename [linkname ] 技術分享圖片

9.IO接口的重定向

每一個接口都有對應的輸入輸出,當我們用鍵盤輸入文字時,系統會將文字輸入給輸出接口,一般而言是終端(顯示器)。 例如: cat how are you ? 終端顯示:how are you ? 這是由於我們利用鍵盤作為輸入源,系統檢測後發現沒有對應的輸出文件與之匹配,後直接發送給輸出終端;所以可以直接顯示出來相應文字。技術分享圖片

一般情況下 存放輸入輸出接口的位置為 /dev/stdin 、/dev/stout ; 但是當我們輸入錯誤命令時系統會提示報錯,這是由於輸入後系統未找到相關文件後直接輸出錯誤提示,但是輸出位置也是dev/stout。技術分享圖片

如果需要人為幹涉顯示接口,即可通過IO接口的重定向技術來改輸出接口。例如:技術分享圖片 將/root/etc/passwd 文件強制輸出給/root/lbb文件而不是終端顯示器,這時可以輸入 cat /etc/passwd >/root/lbb 。 打開lbb文件會發現文件內容被覆蓋到了lbb文件中去。

而另一種表示形式為強制追加輸出,即保留全文內容的同時在文件最後追加相關內容。例如: /etc/issue >> /root/lbb 技術分享圖片.

而對於輸入 我們也可以進行相應的重定向,技術分享圖片如圖所示: 一般情況下"<" 表示輸入重定向的一般形式,與cat [options]files 意義一致,"<<"則表示雙重輸入,即表示為創建文檔,一般我們可以配合這輸出重定向一同使用。如圖 cat >/etc/passwd<<EOF 表示 輸入EOF內容後覆蓋給passwd顯示。

當然還有一個是錯誤重定向,錯誤重定向也是輸出重定向的一種形式,只不過他輸出的不是正常信息,系統無法執行該命令後提示錯誤信息也將輸出給顯示終端進行顯示。例如:技術分享圖片

可以從提示中發現/etc/lijiabin文件根本不存在,所以是個錯誤命令,這時我們也可以認為幹預輸出結果,如圖:技術分享圖片

2> 覆蓋重定向錯誤輸出數據流

2>> 追加重定向錯誤輸出數據流

標準輸出和錯誤輸出各自定向至不同位置

COMMAND > /path/to/file.out 2> /path/to/error.out

合並標準輸出和錯誤輸出為同一個數據流進行重定向

&> 覆蓋重定向

&>> 追加重定向

COMMAND > /path/to/file.out 2>&1 (順序很重要)

COMMAND >> /path/to/file.out 2>&1

():合並多個程序的STDOUT

( cal 2007 ; cal 2008 ) > all.txt

9.管道

管道(使用符號“|”表示)用來連接命令

命令1 | 命令2 | 命令3 | …

將命令1的STDOUT發送給命令2的STDIN,命令2的STDOUT發送到命令3的STDIN

STDERR默認不能通過管道轉發,可利用2>&1 或 |& 實現

最後一個命令會在當前shell進程的子shell進程中執行用來

組合多種工具的功能

ls | tr 'a-z' 'A-Z'

less :一頁一頁地查看輸入

ls -l /etc | less




Linux基本操作入門