文件系統:
rootfs:根文件系統數據庫
FHS: Linux 文件系統層級標準ubuntu
ls /
/boot: 系統啓動相關的文件,如內核、initrd,以及grub(bootloader)
/dev: 設備文件
塊設備:隨機設備,隨機訪問,數據塊 無所謂順序,如磁盤、
字符設備: 線性訪問 按字符爲單位,如顯示器、鼠標、鍵盤
設備號:主設備號(major)和次設備號(minor)
/etc: 配置文件
/home: 用戶的家目錄,默認爲一個用戶的家目錄一般爲/home/USERNAME
/root: 管理員的家目錄
/lib: 庫文件
靜態庫 .a
動態庫,dll,.so share object
/lib/modules: 內核模塊文件less
lost+found 與系統無關 丟失與找回
/media:掛載點目錄, 移動設備
/mnt:掛載點目錄, 額外的臨時文件系統
/opt: 可選目錄, 第三方程序安裝目錄 Nessas
/proc:僞文件系統,內核映射文件 這個目錄實際上是空的,系統啓動後,就不是空的
/sys:僞文件系統,跟硬件設備相關的屬性映射文件
/tmp: 臨時文件,/var/tmp
/var:可變化的文件
/bin: binary 可執行文件,用戶命令
/sbin: 管理命令編輯器
/usr: universal, share, read-only, 只讀文件
/usr/bin
/usr/sbin
/usr/lib工具
/usr/local: 第三方軟件
/usr/local/bin
/usr/local/sbin
/usr/local/lib spa
命令規則:
一、 長度不能超過255個字符
二、 不能使用/當文件名
三、 嚴格區分大小寫操作系統
操做系統
文件管理
目錄管理
ls
cd
pwd
mkdir
-p:
-v: verbose
/root/x/y/z
/mnt/test/x/m,y
mkdir -pv /mnt/test/x/m /mnt/test/y
mkdir -pv /mnt/test/{x/m,y}命令行
命令行展開
/mnt/test2/
a_b , a_c, d_b, d_c
{a,b}_{b,c}code
tree 查看目錄樹
rmkdir 只能刪除空目錄排序
文件的建立和刪除
touch --主要用來修改時間戳(Acess Modify Change)
-c -no-create 不建立文件
改時間戳
-a
-m
touch -m -t 2012121212 FILENAME
stat --顯示文件或文件系統的狀態信息
建立文件還可使用文本編輯器
ASCII
128個不通的字符
二進制:2^7=0,127
標準:GB18030 GBK, GB2312, Unicode 字符集
nano 文本編輯器
nano hello
刪除文件: rm
-i
-f
-r
一、建立目錄
(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
-r 遞歸複製
-f
-p
-a: 歸檔複製,經常使用於備份
-l --link link files instead of copying
-L --dereference always follow symbolic links
-P --no-dereference keep link
cp file1 file2 file3
一個文件到一個文件
多個文件到一個目錄 能夠多個源一個目標
cp /etc/{passwd,inittab,rc.d/rc.sysinit} /tmp/
mv:move
移動文件
mv SRC DEST
mv -t DEST SRC
移動目錄,文件
修改文件目錄名
install ---copy files and set attributes
-d DIRECTORY
-m -set permission mode
install -t DIRECTORY SRC
install -d /tmp/{install.1, install.a} 建立目錄
install /etc/passwd /var/tmp/install.file1 複製文件,有執行權限
install 不能複製目錄 install 文件
自由軟件
開源協定:版權描述
若是獲取Linux當前最新的內核版本號?
www.kernel.org
列出你所瞭解的內Linux發行版,並說明其跟Linux內核的關係。
Linux, GNU/Linux kernel+GUN的軟件 軟件以源代碼的形式提供
把源代碼 進行連接 編譯 添加本身的logo
發行版:Fedora, RedHat(CentOS),SUSE, Debian(ubuntu, Mint),Gentoo,LFS(Linux from Scratch)
深度使用Linux的工具LFS
高手通常使用Debian
編譯 將源代碼轉換爲當前硬件系統能夠執行的二進制代碼
RedHat: 通用格式 32位的版本裝到64位上
奔騰:酷睿 並不能很好的使用最新cpu的新特性,最好是在本機上編譯
file
tree 查看目錄樹
目錄管理:
ls、cd、mkdir、tree
文件管理:
touch、 stat、file(查看文件內容類型)、rm、cp、mv、nano
日期時間:
date、 clock、hwclock、cal
查看文本:
cat、tac、more、less、head、tail
cat:concatenate files and print on the screen連接並顯示
cat /etc/issue /etc/fstab
cat:
-n 顯示行號
-E 顯示每行的顯示符 對於Linux系統而言文本行結束符合是$,Windows的文本行結束符是$+ENTER
-A 顯示全部字符
shift + pageup pagedown
分屏顯示命令:
more、less
more :支持想後翻 空格 b k
more /etc/rc.d/rc.sysint
less:
space k /: b ENERT q
head:查看前n行
tail:查看後n行 默認10行
head /etc/inittab
head -n 2 /etc/inittab
head -5 /etc/inittab
tail -f --follow 查看文件尾部,不退出,等待顯示後續加追加至此文件的新內容。
任什麼時候候都不要否認本身要有信息。墨菲定律,有信心不盲目
文本處理:
cut、join、sed、awk
database:
關係型數據庫:
表:二維表 行列
文本文件:
Tome:23:male:2013/05/06
顯示文本文件的某個部分
cut:
-d:指定字段分隔符。默認是空格
-f:指定要顯示的字段
-f 1,3
-f 1-3
cut -d : -f1 /etc/passwd
文本排序:sort
sort對輸出顯示的內容排序
-n: 數值排序
-r: reverse 降序
-t:字段分隔符
-k:以哪一個字段爲關鍵字進行排序
-u:unique 排序後相同的行只顯示一次
-f:排序時不區分大小寫
sort /etc/fstab 默認升序 ASCII表的順序
sort -t: -k3 -n /etc/passwd
uniq --report or omit repeated lines (相鄰且重複)
-d:repeated 只顯示重複的行
-D: 顯示全部重複的行
-c:顯示某一行重複的次數
文本統計: wc(word count) 行 單詞數 字節數
-l
-w
-c
-L --max-line-length
字符處理命令tr
tr: -- translate or delete character
tr [OPTION]... SET1 SET2
-d: 刪除出如今字符集中的全部字符
tr 'ab' 'AB'
tr 'a-z' 'A-Z' < /etc/passwd
tr -d 'ab'