1. Linux系統主要目錄及內容:
目錄 |
內容 |
/bin |
構建最小系統所須要的命令(最經常使用的命令) |
/boot |
內核與啓動文件 |
/dev |
各類設備文件 |
/etc |
系統軟件的啓動和配置文件 |
/home |
用戶的主目錄
|
/lib
|
C編譯器的庫
|
/media
|
可移動介質的安裝點
|
/opt
|
可選的應用軟件包(不多使用)
|
/proc
|
進程的映像
|
/root
|
超級用戶root的主目錄
|
/sbin
|
和系統操做有關的命令
|
/tmp
|
臨時文件存放點
|
/usr
|
非系統的程序和命令
|
/var
|
系統專用的數據和配置文件
|
2.查看目錄和文件:
ls 的用法
ls -F: 會在每一個目錄後加上/,在可執行文件後加*,在連接文件後加上@,在沒法顯示顏色的終端上有用:
ls -a: 顯示全部的文件,包括隱藏文件如".adobe";
ls -l: 查看文件的各類屬性。
「-rwxr-xr-x 1 root root 38096 2008-11-13 14:54 /bin/login」:
第1個字段的第1個字符表示文件類型;
而後3組位權限:屬主,屬組和其餘人的權限
權限後的數字,表示連接數
root和root分別是屬主和屬組
最後4個分別表示文件大小、最後修改日期和時間、文件的完整路徑
文件類型
|
符號
|
文件類型
|
符號
|
普通文件
|
-
|
本地域套接字 |
s
|
目錄
|
d
|
有名管道
|
p
|
字符設備文件
|
c
|
符號連接
|
l
|
塊設備文件
|
b
|
|
|
查看文本文件
cat(一次顯示全部的內容)和
more(一頁一頁的顯示)和
less(優先選)
cat 文本文件名(能夠加多個文件名)
cat -n (顯示行號) 文本文件名 (能夠加多個文件名)
對於more的詳細說明:
例子:
# more -dc/etc/profile 注:顯示提示,並從終端或控制檯頂部顯示;
# more +4/etc/profile 注:從profile的第4行開始顯示;
# more -4/etc/profile 注:每屏顯示4行;
# ls -l/etc | more 注:查看一個目錄下的文件時,能夠和管道「|」結合起來
more [參數選項] [文件]
+num 從第num行開始顯示;
-num 定義屏幕大小,爲num行;
+/pattern 從pattern 前兩行開始顯示;
-c 從頂部清屏而後顯示;
-d 提示Pressspace to continue, 'q' to quit.(按空 鍵繼續,按q鍵退出),禁用響鈴功能;
-l 忽略Ctrl+l(換頁)字符;
-p 經過清除窗口而不是滾屏來對文件進行換頁。和-c參數有點類似;
-s 把連續的多個空行顯示爲一行;
-u 把文件內容中的下劃線去掉
more 的動做指令:
Enter 向下n行,須要定義,默認爲1行;
Ctrl+f(或空格) 向下滾動一屏;
Ctrl+b 返回上一屏;
= 輸出當前行號
q 退出more
(退出後,不返回剛纔more的位置,回到顯示文檔後面)
對less的詳細說明:
less [參數] 文件
-c 從頂部(從上到下)刷新屏幕,並顯示文件內容。而不是經過底部滾動完成刷新;
-f 強制打開文件,二進制文件顯示時,不提示警告;
-i 搜索時忽略大小寫;除非搜索串中包含大寫字母;
-I 搜索時忽略大小寫,除非搜索串中包含小寫字母;
-m 顯示讀取文件的百分比;
-M 顯法讀取文件的百分比、行號及總行數;
-N 在每行前輸出行號;
-p pattern搜索pattern;好比在/etc/profile搜索單詞MAIL,就用 less -p MAIL/etc/profile
-s 把連續多個空白行做爲一個空白行顯示;
-Q 在終端下不響鈴;
動做指令:
回車鍵 向下移動一行;
y 向上移動一行;
空格鍵 向下滾動一屏;
b 向上滾動一屏;
d 向下滾動半屏;
h less的幫助;
u 向上洋動半屏;
w 能夠指定顯示哪行開始顯示,是從指定數字的下一行顯示;好比指定的是6,那就從第7行顯示;
g 跳到第一行;
G 跳到最後一行;
p n%(貌似不能用) 跳到n%,好比 10%,也就是說比整個文件內容的10%處開始顯示;
/pattern 搜索pattern ,好比 /MAIL表示在文件中搜索MAIL單詞;
v 調用vi編輯器;
q 退出less
!command 調用SHELL,能夠運行命令;好比!ls 顯示當前列當前目錄下的全部文件;
12. 顯示一個命令的幫助:
命令 --help(或--h)
13. 閱讀文件的開頭和結尾
head -n 2(指定顯示行數) 文件名(可多個)
tail(用法同head)
14. 查找文件內容
grep un day(爲了在文件day中查找包含un的行)
15. 在指定目錄下查找東西
find 目錄 -name *.zip -print(打印出絕對路徑)
16.更快速的定位文件:
locate
locate *.doc ##locate用於搜索大批量的文件,不須要知道放在了哪一個盤
17.通配符
」
*「 用於匹配文件名中任意長度的字符串;
」
?「 只匹配一個字符;
」
[ ]「 用於匹配全部出如今方括號內的字符;例:ls text [1A] ##列出以text開頭而僅以1或A結束的文件名;
」
-「 指定一個字符集範圍;例:ls text [1-3];
18.命令行補全:
一次table鍵,或連續兩次table鍵
3.修改文件和目錄
- 新建目錄:mkdir
mkdir
-v 【文件夾名】 ##-v會顯示最後結果
mkdir document picture ##新建兩個目錄
mkdir ~/picture/remp ##在主目錄下新建名爲temp的目錄(不能在一個沒有的文件中建立文件)
mkdir
-p ~/tempx/job ##能夠完整的建立一個子目錄
- 刪除目錄和文件:rmdir 和 rm
rmdir test ## rmdir 只能刪除空目錄
rm test/*.pnp ## rm能夠一次刪除
一個或幾個文件
rm
-i test/hello ##刪除文件前會提示,並等用戶通知(對於有寫保護的普通文件,不加「-i」也會提示)
rm
-f hello_bak ##「-f」避免交互,自動對這些問題回答y
rm
-r Photos/ ##遞歸的刪除目錄下的全部文件和子目錄,最後刪除Photos目錄
- 新建空文件: touch
touch hello ##新建一個hello的空文件
touch hello.php ##修改文件的創建日期
- 移動和重命名:mv
mv hello bin/ ##複製文件
mv Photos/ 桌面/ ##複製目錄
mv
-i hello test/ ##若是已有文件,顯示:mv:是否覆蓋「test/hello?"
mv -b hello test/ ##在移動文件以前,首先在同名文件的文件名後加一個」~「
- 改變文件全部權:chown和chgrp
sudo chown lewis:root days ##修改days的全部權
sudo chown guest days ##只修改文件屬主
sudo chown
:root days ##只修改文件的屬組
sudo chown
-R lewis iso/ ## "-R" 表示改變一個目錄及其下全部文件(和子目錄)的全部權
sudo
chgrp nogroup days ##改變文件的屬組
sudo
chgrp nogroup ios/ ##改變目錄的屬組
- 改變文件的權限:chmod
chmod
u+rwx days ## "用戶組
+(增長)/
-(撤銷)權限",用戶組包括了文件屬主(u), 文件屬組(g),其餘人(o),和全部人(a)
##
不寫該字段默認改變全部人的權限
## 權限包括了讀取(r)、寫入(w)、執行(x)
chomd
ug=rw,o=r days ## "用戶組=權限"
chmod
o=u days ## "用戶組1=用戶組2",將用戶組1的權限和用戶組2的權限設爲徹底相同。
八進制表示文件權限「rwx」二進制(
111)=八進制(4+2+1)=7
- 創建連接:ln
「符號連接」(軟連接)須要使用帶 -s 參數的 ln 命令,只是取了一個別名,刪除連接的名字,不會影響源文件
ln -s days my_days ##文件創建一個名爲my_days的符號連接指向文本文件days(起別名)
ln -s /usr/local/share/ local_share ## 目錄創建符號連接
「硬連接」,不帶參數,將兩個獨立的文件聯繫在一塊兒,和符號連接的區別:硬連接是直接引用,符號連接是名稱引用
ln days hard_days
- 輸出重定向:「>」「>>」"<<"
標準輸出老是指向顯示器
ls > ~/ls_out ##若是ls_out文件不存在,那麼「>」會試圖創建這個文件,
##若是已經存在,則「>「會刪除文件中原有的內容,而後用新內容替代
echo "Hello" > hello ##將Hello字符串輸入到hello文件中
echo "www"
>> hello ##將字符串 追加 到文本的後面
uname -r >> hello ##將uname產生的版本信息
追加 到hello中
date >> hello ##將date命令產生的當前日期時間追加到hello中
例子:
「當即文檔」
cat <<
EOF ##cat命令從鍵盤接收兩行輸入,並送往標準輸出
>hello
>bye
>
EOF
cat <<
END > hello ##首先讓cat命令以當即文檔的方式獲取輸入,而後再把cat的輸出重定向到hello文件中
>hello world
>bye
>
END
- 管道:「|」
例子:ls 首先列出當前目錄下的全部文件名,
管道「|」接收到這些輸出,並把它們發送給grep命令做爲輸入。最後grep在這堆文件列表中查找
包含字符串ay的文件名,並在標準輸出(也就是顯示器)中顯示。
ls | grep ay
days
hard_days
mplayer
mplayer~
my_days
- 打開文本文件:vi、vim、sudo gedit 文件路徑(可絕對可相對,在gedit中打開)
sudo
gedit 文件路徑 ##若是沒有該文件,系統會自動建立
- 壓縮工具:gzip和bzip2
gzip(或gunzip)支持的擴展名有 . gz、. Z、-gz、. z、-z 和 z
gzip test.tar ##壓縮 ,會被壓縮成
test.tar.gz(
替換)
gunzip test.tar.gz ##解壓縮,方法1
gzip
-d test.tar.gz ##解壓縮,方法2
gzip
-l test.tar.gz ##查看壓縮效果,文件大小以字節爲單位
gzip -tv test.tar.gz ##-t選項用來測試壓縮文件的完整性,-v 顯示測試結果
bzip2能夠識別壓縮文件的格式包括.bz二、.bz、.tbz二、.tbz和bzip2,與gzip用法基本一致,有更高的壓縮率,可是以壓縮速度爲代價
bzip2 test.tar ##壓縮,會被壓縮成
test.tar.bz2(
替換)
bunzip2 test.tar.bz2 ##解壓縮,方法1
bzip2 -d test.tar.bz2 ##解壓縮,方法2
- 存檔工具:tar、dd
文件打包:tar(和gzip不一樣的是,
tar不會刪除原來的文件)
tar
-cvf test.tar test/ ##將Shell目錄連同其下的文件一同打包成文件test.tar
-c 指導tar建立歸檔文件,
-v 用於顯示命令的執行過程,
-f 則用於指定歸檔文件的文件名
tar
-xvf test.tar ##解開歸檔文件
-x 用於解開歸檔文件
tar -cv
wf test.tar test/ ##壓縮徵求用戶意見
tar -xv
wf test.tar ##抽出時徵求用戶意見
-w 用於每次將單個文件加入(或者抽出)歸檔文件時徵求用戶的意見,y/n
tar -czvf shell.tar.gz shell/ ##直接將文件壓縮成shell.tar.gz格式
-z 先調用tar命令,再調用gzip命令,等同於兩條指令
tar -xzf shell.tar.gz ##直接解壓成shell
-z 先調用gunzip指令,再調用tar指令
轉移文件:dd
dd
if=/dev/cdrom
of=CD.iso ##
dd命令使用
if 選項指定輸入端的文件系統,而
of選項則指定其輸出端。
##這條命令將一張CD完整的轉儲爲iso鏡像文件
————————參考《Linux從入門到精通》劉憶智