(二)命令學習su、ls、cd、type、which、printenv、date、help、man、
Linux:是用c寫成的作業系統,它要編譯成二進位制才能執行(編譯器)。所以,就有了Debian、RedHat、SUSE、fedoro。Debian的更新版:Ubuntu。所以核心都是Linux,但是發行商是Debian、RedHat等。
RedHat安裝:http://blog.51cto.com/xxlixin1993/1568830(注意選擇虛擬磁碟型別:IDE)
Linux的基本原理:
- 由目的單一的小程式組成,組合小程式完成複雜任務
一切皆檔案
儘量避免捕獲使用者介面
配置檔案儲存為純文字格式
Shell:
①GUI(Graphic User Interface)介面:Gnome(c)、KDE(c++)、XFace(嵌入式)
② CLI(command line interface命令列介面)介面:命令提示符,prompt
#:root
$:普通使用者
bash、csh、zsh、ksh、tcsh
- 命令列格式:命令 選項 引數
①選項:短選項-character、長選項–word
短選項可以多個選項可以組合-a-b 、-ab
長選項:通常不能組合- -
②引數:命令的作用物件 - 使用憑證:root
虛擬終端:Ubuntu進入CLI快捷鍵Ctrl+alt+f2
進入圖形化介面快捷鍵startx &_模擬終端:在圖形介面中開啟一個終端
IDE(Integrated Development Environment):開發環境
dll:Dynamic Link Library。在Linux中稱為.so
一、切換使用者
su:switch user
su 使用者名稱
密碼複雜性規則(6位)純數字10^6
數字+小寫字母36^6
數字+大、小寫字母62^6
設定較高密級的密碼方法
- 使用4種類別字符中至少3種
- 足夠長,大於7位
- 使用隨機字串
- 定期更換
迴圈週期要大 ,儘量不要使用最近使用的密碼
二、ls
-l:長格式
檔案型別:(普通檔案)-、(目錄檔案)d、(塊裝置檔案)b、(字元裝置檔案)c (character)、(符號連結檔案)l(symbolic link file)、(命令管道檔案)p(pipe)、(套接字檔案)s(socket)
**檔案許可權:**9位,每3位為一組,每一組:rwx(讀、寫、執行)
檔案硬連結的次數
檔案的屬組(owner)
檔案的屬組(group)
檔案大小(size),單位是位元組。若要用其他的單位顯示,則可以其他單位用選項-h(human-readable):做單位轉換(轉換為k)
時間戳(timestamp):最近一次被修改時間
最近一次被訪問(access)時間、最近一次被修改(modify)時間、最近一次被改變(change)時間【也叫元資料metadata】
drwxr-xr-x 2 j j 4096 Sep 9 17:28 Desktop
-a:顯示普通檔案和以.開頭的隱藏檔案
.表示當前目錄 ..表示父目錄
–A:顯示除了.和..的檔案
-d:顯示目錄自身屬性(要與l組合使用)
-i:index node,inode
-r:逆序顯示檔案reverse(ls命令按照字母升序排列顯示結果)
-R:遞迴(recursion)顯示
三、cd:切換目錄
如何判斷是否是一個目錄 用ls -l 即可。
cd 路徑
cd 不加任何目錄 則為家目錄(主目錄)
cd ~使用者名稱 (到哪個家目錄)
cd - :在當前目錄和之前一個目錄間切換
四、type:顯示指定命令屬於哪種型別–命令型別
內建命令(shell內建):builtin
外部命令
命令也是程式,所以要有存放位置。由此到五
五、which:命令存放位置
外部命令會有一個指定檔案存放該命令,是一個可執行檔案。
which ls /bin/ls
which 命令
那麼為什麼它能夠直接使用呢?
變數:是命名的記憶體空間。放資料叫做變數賦值。但是這樣存在一個問題,程式結束了,申請的記憶體就釋放了。
堆 :靜態變數
棧:普通變數
堆、棧:是存放變數的地方。
環境變數:用於定義當前工作環境的變數
命令:printenv
....
PATH:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/j/bin
....
在查命令時,就在這裡面依次找可執行命令,但是若每一次有命令,就查詢,也會顯得很費時間,所以將使用者使用的命令放入hash中,hash的時間複雜度O(1),可以提高可執行檔案查詢速度,此時的hash相當於快取。
命令hash:將會顯示如下
hits command
1 /usr/bin/printenv
28 /bin/ls
2 /usr/bin/clear
這些可執行檔案,其實就是實現某個具體功能的程式碼,所以程式設計人員也可以寫,所以當要執行某個可執行檔案時,可以放入path中,也可以寫具體的路徑來執行程式。
六、Date(系統時間)
硬體時鐘、系統時鐘
七、獲得命令使用幫助
內建命令:help command
外部命令:command –help 簡要幫助資訊
命令手冊:(manual) man command []:可選的option 、<>:必須的、…:可以出現多次 、 {}:分組
內部命令一般不用man 。
如何檢視命令在哪個章節:what is command
分章節:
使用者命令1
系統呼叫2
庫呼叫3
特殊檔案(裝置檔案)4
檔案格式(解釋配置檔案的語法)5
遊戲6
- 雜項7 miscellaneous
- 管理命令(/sbin,/usr/abin,/usr/local/abin)
MAN:
(1)NAME:命令名稱及功能簡要說明
(2)SYNOPSIS:用法說明,包括可用的選項
(3)DESCRIPTION:命令功能的詳盡說明,可能包含每一個選項的意義
(4)OPTION:說明每一個選項的意義
(5)FILES:此命令相關的配置檔案
(6)BUGS
(7)EXAMPLES:使用示例
(8)SEE ALSO:另外參照
翻屏:
向後翻一頁:SPACE
向前翻一頁:b
向後翻一行:ENTER 或↓
向前翻一行:k或↑
查詢 :
/KEYWORD:自前向後
?KEYWORD:自後向前
n:下一個
N:前一個
退出:q
UTC(Coordinated Universal Time):格林尼治時間
date 命令不僅能顯示時間,並且能更改系統時間(也就是UTC時間)。此時間與硬體時間不同
//將EDT時間轉換為CST時間
[[email protected] ~]# mv /etc/localtime /etc/localtime.bak
[[email protected] ~]# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
[[email protected] ~]# date
“`
線上文件
info command 用的較少。