Linux基本操作入門
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基本操作入門