GUI:Graphic User Interface 用戶圖形界面
Windows
X-Windows:圖形顯示協議
Gnome
KDE
Xface
CLI: Command Line Interface
sh
bash
csh
ksh
zsh
tcsh
Google:
linux filetype:pdf
linux site:ibm.com
google hack
IDE:程序員開發時運用的開發環境;
dll:動態鏈接庫, Dynamic Link Library
.so:shared object
操作系統最關鍵的應用是shell,需要什麼功能,增加什麼功能即可。
實質上操作系統是很小的。
login:
用戶名:用戶ID,用戶標示符,用戶名不能使用認證機制
認證機制:Authentication,識別、鑑別某個人就是生成的那個人。
資源訪問的授權:Authorization
審計:Audition(日誌的形式)
prompt:命令提示符:
命令:
magic number:魔數,標記二級制執行的格式。
shebang
#!/bin/bash
#command options.. arguments..
選項:修改命令的執行效果
短選項
長選項
參數:命令的作用對象
list:ls
列出列表
文件夾:目錄,是一個路徑映射。
目錄:也是文件,是一種路徑映射
路徑:從指定起始點到目的地所經過的位置。只是爲了實現文件層次化管理的機制。
文件系統:filesystem,層次化管理機制
列出指定路徑下的文件
從根開始找,叫絕對路徑。
從某一個位置找其他位置,叫相對路徑。相對於當前所處位置的路徑,從根到目的地的一個節點上。
當前目錄,工作目錄:working directory,current directory
文件名是不是文件的數據?也是數據,但不是文件本身的數據,文件名放在?文件數據放在?
ls列出默認當前目錄下的內容
pwd:Printing Working directory,當前路徑,在linux最頂層用 / 表示
藍色是目錄,綠色是具有執行權限
ls:
-l,long,長格式,顯示完整信息
文件類型:
-:普通文件(f)
d:目錄文件
b:塊設備文件(block)
c:字符設備文件(character)
l:符號鏈接文件(symbolic link file)軟鏈接
P:命令管道(pipe)
s:套接字文件(socket)
文件權限:9位,每3位一組,每一組:rwx(讀,寫,執行),rw-
文件硬鏈接的次數
文件的屬主(owner)
文件的屬組(group)
文件大小(size)默認單位是字節
時間戳(timestamp):最近一次被修改的時間
訪問:access
修改:modify改變文件的內容
改變:change屬性的數據也叫元數據(metadata)
文件名
-h:做單位轉換
-a:顯示隱藏屬性(all) 隱藏文件以.開頭
.表示當前目錄
..表示上一個目錄
-A:顯示所有文件,包括隱藏文件,但是不包括.或..
-d:顯示目錄自身屬性
-i:顯示目錄的索引節點號
index node, inode每個文件都有一個文件索引節點
-r:逆序顯示文件
-R:遞歸顯示(recursive)
cd:change directory切換目錄
家目錄,主目錄,cd後不加任何參數回到家目錄或者加 ~ cd~加用戶名,進入別的用戶家目錄,只有管理員纔有權限。
cd~USERNAME:進入指定用戶的家目錄
cd-:在前一個目錄和當前目錄來回切換
Linux命令類型:
內置命令:(shell)內置 which ls
外置命令:在文件系統的某個路徑下與命令名稱相應的可執行文件。
環境變量:
變量是什麼?變量是內存的命名空間。放數據的過程叫變量賦值
NAME =Jerry名稱,只在當前程序中使用。
PATH:一堆使用:隔開的路徑。
hash:緩存命令,記住所有使用過的命令。hash is king,緩存爲王,找緩存比直接找命令快,是實現系統加速的。
hash表,是鍵值對O(1),無論你的隊列有多長,尋找的時間是一樣的,瞬間找到。
type:顯示指定命令屬於哪種類型
date:時間管理,顯示系統的當前時間
Linux:第四維,表示時間軸
現在的時間是靠晶體振盪器來計時的。萬年時差不過一秒
rtc,硬件時間。
ntp:網絡時間協議。
linux開機通過rtc讀取時間,開機後,不再用rtc,用晶體振盪器計算時間
硬件時鐘:
軟件時鐘:
如何使用date命令修改當前時間?
獲得命令的使用幫助:
內部命令的幫助:
help COMMAND
外部命令:
COMMAND --help
命令手冊:manual
man COMMAND,文本文檔,是壓縮存放的。 man後加數字,表示顯示命令第幾章節。
分章節:
1:用戶命令(/bin,/usr/bin,/usr/local/bin)
2:系統調用
3:庫調用
4:特殊文件(設備文件)是一類比較獨特的文件,是作爲設備訪問入口存在的。
5:文件格式 (配置文件類似於變量,定義程序的執行選項,配置文件的語法)
6:遊戲
7:雜項:Miscellaneous,
8:管理命令(通常位於 /sbin,/usr/sbin,/user/local/sbin)
whatis COMMAND,查看命令出現在第幾個章節
[]中括號擴起來的命令,表示可省略。
帶 | 表示多選一
<>表示必須給出的內容,非可選的。
...表示可以使用多次或多個選項。
{}:表示分組,沒有特殊意義
MAN:
NAME:命令名稱,簡要說明
SYNOPSIS:用法說明,包括可用的選項
DESCRIPTION:命令功能的詳盡說明,包括每一個選項的意義。
OPTIONS:說明每一個選項的意義。
FILES:此命令相關的配置文件
BUGS:報告bug給誰
EXAMPLES:使用示例。
SEE ALSO:另外參照
翻屏:
向後一屏,SPACE
向前一屏,b
向後一行:ENTER
向前一行:k
查找:
/KEYWORD
n:下一個
N:前一個
?KEYWORD
n:下一個
N:前一個
date:
date +%Y
date +%D
date +%T
date +%F
date +%Y-%D-%T
date +%s
date +%S
hwclock
-w:以系統爲準
-s:以硬件爲準
在線文檔:
info COMMAND info是對man的補充
/usr/share/doc
內事不決問百度,waishibujuewengoogle:google
自己動手,勤於動手,善於總結。
以能給別人講清楚爲準,樂於助人。臺上十分鐘,臺下十年功。
apache,有相關書籍,hadoop,
cal:calendar
練習:
1、echo是內部命令還是外部命令
2、使用幫助,功能是幹什麼的及作用
3、如何換行顯示?
printf
file命令及其用法。
Windows:PE
Linux:ELF
Linux的目錄結構:
倒樹狀
文件系統:
rootfs:根文件系統,普天之下莫非王土。/
表示文件的都是葉子節點,或者特殊節點,所有文件都存在目錄之中或者通過目錄查找到。
FHS:文件系統層級標準,Linux發行版應該創建那些目錄存放哪些文件
ls /查看所有根下的子目錄
/boot:initramfs-2.6.32-431.3.1.el6.x86_64.img 內存磁盤
vmlinuz-2.6.32-431.3.1.el6.x86_64 內核,以及grub(bootloader引導加載器)
/dev:設備文件
設備文件:
塊設備:隨機設備,可以實現隨機訪問,無所謂先後,數據塊
字符設備:線性訪問。按字符爲單位。
設備號:主設備號(major)和次設備號(minor)
黃色字體的爲特殊文件。
/etc:配置文件所存放的位置
/home:用戶的家目錄,每一個用戶的家目錄默認爲home/USERNAME
/root:管理員的家目錄,只有root。在生產環境中,不建議使用root登陸,使用普通用戶登陸。
/lib:庫文件及內核模塊文件(靜態庫和動態庫)
靜態庫:.a
動態庫:.dll, .sl,(shared object)
/lib/modules:內核模塊文件,庫是被調用的某些被封裝好的功能。
/media:掛載點目錄,移動設備
/mnt:掛載點目錄,額外的臨時系統
/mnt:雜項
/opt:可選目錄,第三方程序安裝目錄
/proc:僞文件系統,實質上文件中沒有任何內容。內核的映射文件。內核的工作參數,統計數據等。
/sys:僞文件系統,跟硬件設備相關的屬性映射文件,通常實現硬件管理。
/tmp:臨時文件系統,/var/tmp
/var:可變化的文件。cache:緩存。lock文件鎖,mail:右鍵轉存位置
/bin:可執行文件,用戶命令
/sbin:管理命令
/usr:shared,read-only,存放只讀文件。
/usr/bin
/usr/sbin
/usr/lib
/usr/local:
/usr/local/bin
/usr/local/sbin
/usr/local/lib
文件目錄及目錄文件的命名規則:
1、長度不能超過255個字符;
2、不能使用/當文件名;
3、嚴格區分大小寫;
相對路徑:
絕對路徑:
操作系統:
文件管理
增刪改查
目錄管理
ls
cd
pwd
mkdir:創建空目錄
-p:自動創建沒有的目錄
-v:詳細信息
mkdir -pv /root/x/y/z
mkdir -pv /mnt/test/{x/m,y}命令行展開,遇到花括號命令行自動展開。
還有一個叫波浪線展開,如 ~USERNAME,自動回到家目錄
{a,b}_{c,d}
/root/x/y/z
#tree:目錄結構樹
刪除目錄:rmdir(remove directory)
刪除空目錄
-p
文件創建和刪除:
#touch:主要是修改時間戳的。
-m
-a
-t
-c
#stat,顯示文件的狀態信息。
創建文件,可以使用文件編輯器,word是字處理器
ASCII:美國國家標準信息交換代碼,是純文本的,沒有任何信息的。
128個字符,需要存儲,如何存儲在計算機上?
二進制:
0,1,10,11
2^6=0,63
2^7=0,127
000 0000 - 111 1111
標準:GB18030,GBK,GB2312,Unicode(全球化)
文本編輯器是編輯純ASCII文本的。
Linux中的文本編輯器:nano
刪除文件:rm + 文件名
-i 用戶別名,交互式的。
\別名命令 + 參數,使用原始命令。
-f:強制刪除,無提示,直接刪除。
-r:遞歸刪除,目錄
1、創建目錄
(1).在/mnt/下創建boot和sysroot
(2).在/mnt/boot下創建grub;
(3).在/mnt/sysroot下創建proc,sys,bin,sbin,lib,usr,var,etc,dev,home,root,tmp
a).在/mnt/sysroot/usr下創建bin,sbin,lib
b).在/mnt/sysroot/lib下創建modules
c).在/mnt/sysroot/var下創建run,log,lock
d).在/mnt/sysroot/etc下創建init.d
複製和移動文件:
cp: copy
cp SRC DEST
cp file1 file2 file3 不能,最後一個爲目標文件,file1和file2爲源文件
一個文件到一個文件
多個文件到一個目錄
cp -r 遞歸複製
-i:交互式
-f:強行復制
-p:複製的過程中保持文件的屬主、屬組、權限、時間戳
-a:保留文件原來所有的屬性。歸檔複製,常用於備份。
-d:複製鏈接(保持鏈接)
-L:複製鏈接指向的文件
-P:保持鏈接。
cp /etc/{passwd,ininttab,rc.d/rc.sysinit} /tmp/ 花括號展開機制。
mv:move
移動文件
mv SRC DEST
-f:強制覆蓋
-i:交互式
-t:目標 源 DEST SRC
install:安裝 (複製功能與cp一樣的)
既可以創建文件又可以創建目錄
-d DIRECTORY 創建目錄
-m 複製後指定權限,默認有所有權限。
install -t DIRECTORY SRC...
無遞歸複製的目錄,複製源文件。
執行程序
設備管理
軟件管理
網絡管理