『壹』 android.mk使用方法和mm,mmm命令怎麼使用
應用程序源碼的根目錄下面,這只有在linux下用MMM交叉編譯鏈編譯的時候才用的到,eclipse下是不會生成的。
『貳』 linux 常用目錄文件操作命令有哪些
1. 最常用的命令列表
下面列出十個在使用linux過程中使用頻率最高的命令。這里只作簡單介紹,具體用法請參考後面內容。
cat,顯示文件內容。
cd,改變目錄路徑。
cp,復制文件。
find,查找文件。
grep,搜索、過濾信息。
ls,列出目錄信息。
more,分頁顯示。
rm,刪除文件或目錄。
vi,調用vi文本編輯器。
who,顯示登錄用戶信息。
2. chmod----改變一個或多個文件的存取模式(mode)
chmod [options] mode files
只能文件屬主或特權用戶才能使用該功能來改變文件存取模式。mode可以是數字形式或以who opcode permission形式表示。who是可選的,默認是a(所有用戶)。只能選擇一個opcode(操作碼)。可指定多個mode,以逗號分開。
options:
-c,--changes
只輸出被改變文件的信息
-f,--silent,--quiet
當chmod不能改變文件模式時,不通知文件的用戶
--help
輸出幫助信息。
-R,--recursive
可遞歸遍歷子目錄,把修改應到目錄下所有文件和子目錄
--reference=filename
參照filename的許可權來設置許可權
-v,--verbose
無論修改是否成功,輸出每個文件的信息
--version
輸出版本信息。
who
u
用戶
g
組
o
其它
a
所有用戶(默認)
opcode
+
增加許可權
-
刪除許可權
=
重新分配許可權
permission
r
讀
w
寫
x
執行
s
設置用戶(或組)的ID號
t
設置粘著位(sticky bit),防止文件或目錄被非屬主刪除
u
用戶的當前許可權
g
組的當前許可權
o
其他用戶的當前許可權
作為選擇,我們多數用三位八進制數字的形式來表示許可權,第一位指定屬主的許可權,第二位指定組許可權,第三位指定其他用戶的許可權,每位通過4(讀)、2(寫)、1(執行)三種數值的和來確定許可權。如6(4+2)代表有讀寫權,7(4+2+1)有讀、寫和執行的許可權。
還可設置第四位,它位於三位許可權序列的前面,第四位數字取值是4,2,1,代表意思如下:
4,執行時設置用戶ID,用於授權給基於文件屬主的進程,而不是給創建此進程的用戶。
2,執行時設置用戶組ID,用於授權給基於文件所在組的進程,而不是基於創建此進程的用戶。
1,設置粘著位。
實例:
$ chmod u+x file 給file的屬主增加執行許可權
$ chmod 751 file 給file的屬主分配讀、寫、執行(7)的許可權,給file的所在組分配讀、執行(5)的許可權,給其他用戶分配執行(1)的許可權
$ chmod u=rwx,g=rx,o=x file 上例的另一種形式
$ chmod =r file 為所有用戶分配讀許可權
$ chmod 444 file 同上例
$ chmod a-wx,a+r 同上例
$ chmod -R u+r directory 遞歸地給directory目錄下所有文件和子目錄的屬主分配讀的許可權
$ chmod 4755 設置用ID,給屬主分配讀、寫和執行許可權,給組和其他用戶分配讀、執行的許可權。
3. chgrp----修改文件或目錄的所屬組
chgrp [options] newgroup files/directorys
組名可以用組的ID號,也可用/etc/group中的組名。只有文件的屬主或特權用戶(root)才可改變它的組。
options:
-c,--changes
只輸出被改變文件的信息
-f,--silent,--quiet
當不能改變文件組屬性時,不通知文件的用戶
--help
輸出幫助信息。
-R,--recursive
可遞歸遍歷子目錄,把修改應到目錄下所有文件和子目錄
--reference=filename
參照filename的組信息來設置當前文件的組
-v,--verbose
輸出詳細信息
--version
輸出版本信息。
實例:
$ chgrp root test 把test的所屬組更改root組
$ chgrp -R mysql test 遞歸地把test目錄及該目錄下所有文件和子目錄的組屬性設置成mysql
$ chgrp root * 把當前目錄中所有文件的組屬性設置成root
4. chown----設置一個或多個文件或目錄的屬主身份
chown [options] newowner files/directorys
新的屬主可以是用戶的ID號,也可以是/etc/passwd里的登錄名。chown也可接受這樣的形式:newowner:newgroup或newowner.newgroup。同時改變所屬組的屬性。如果句點和冒號後沒有組名,則組改變為新屬主的組。只有文件或目錄的當前屬主才有權改變它的屬性。
options:
-c,--changes
只輸出被改變文件的信息
--dereference
跟蹤符號鏈接
-h,--no-dereference
改變每一個符號鏈的屬主身份,而不是被引用文件的屬主身份
-f,--silent,--quiet
當不能改變文件屬主屬性時,不通知文件的用戶
--help
輸出幫助信息。
-R,--recursive
可遞歸遍歷子目錄,把修改應到目錄下所有文件和子目錄
--reference=filename
把屬主改變成filename文件的屬主
-v,--verbose
輸出詳細信息
--version
輸出版本信息。
實例:
$ chown root test 把test文件的屬主改進root
$ chown -R root test_directory 遞歸地把test_directory目錄下的所有文件屬主改成root
$ chown --dereference root test_link 把test_link鏈接的原文件屬主改成root,鏈接文件屬主不變
$ chown --no-dereference root test_link 把test_link的鏈接文件屬主改成root,原文件屬主不變
5. date----顯示、修改系統時間
date [options][+format][date]
$ date -s 06/09/2004 修改日期(按月日年格式)
$ date -s 13:56:00 修改時間(按時分秒格式)
$ date -r test 顯示test文件最後一次的修改時間
$ date +'%Y-%m-%d' 以yyyy-mm-dd格式顯示日期,其它格式請參考幫助
$ clock -r 查詢BIOS時間
$ clock -w 把修改後的時間寫回BIOS
6. df-----顯示已安裝文件系統的磁碟容量狀態
df [options][name]
$ df -h 以友好的格式輸出所有已安裝文件系統的磁碟容量狀態
$ df -m /home 以M為單位輸出home目錄的磁碟容量狀態
$ df -k 以K為單位輸出所有已安裝文件系統的磁碟容量狀態
$ df -i 報告空閑的、用過的或部份用過的(百份比)索引節點
$ df -t ext3 僅顯示文件類型為ext3的文件系統的磁碟狀態
$ df -x ext3 僅顯示文件類型不為ext3的文件系統的磁碟狀態
$ df -T 除顯示文件系統磁碟容量大小外還顯示文件系統類型
$ df -l 僅顯示本地文件系統。
7. fdisk----分區表查詢工具
fdisk [options][driver]
$ fdisk -l 列出所有分區信息
8. hdparm----硬碟管理
hdparm [options][driver]
$ hdparm -d /dev/hda 顯示硬碟的DMA模式是不打開,1代表on
$ hdparm -tT /dev/hda 測試硬碟的寫性能
$ hdparm -d1 /dev/hda 開啟dma功能
$ hdparm -d1 -X68 -c3 -m16 /dev/hda
選項說明:
-c3:把硬碟的IO模式從16位轉成32位。
-m16:改變硬碟的多路扇區的讀功能,-m16使硬碟在一次I/O中斷中讀入16個扇區的數據。
-d1:打開DMA模式。
-X68:支持ATA66的數據傳輸模式。下面是其它模式的設置對照
ATA33.......參數是-X66
ATA66.......參數是-X68
ATA100......參數是-X69
$ hdparm -k1 /dev/hda 保存設置
9. ln-----為文件建立別名
ln [options] sourcename [destname]
ln [options] sourcenames destdirectory
$ ln -s file1 file2 建立一個到file1的符號鏈接file2,刪除file2不會影響file1
$ ln -s -f file1 file2 建立一個到file1的符號鏈接file2,並不提示是否重寫
10. shutdown-----終止所有進程序,關閉計算機。
shutdown [options] when [message]
用when可以是指定的關機時間(以hh:mm格式)、關機前要等待的時間(以+m格式)、或者now。message指定一條廣播消息通知所有用戶退出系統。showdown給所有進程發送SIGTERM信號,並調用init 1執行實際的關機動作。
$ shutdown -c 取消正在進行的關閉操作
$ shutdown -f 快速重新啟動,在重新啟動時禁止對fsck的常規調用
$ shutdown -h 當關閉完成時停止系統
$ shutdown -k 輸出警告信息,但禁止實際的關閉
$ shutdown -n 不調用init就執行關閉
$ shutdown -r 當關閉完成時重新啟動系統
$ shutdown -t 5 在殺死進程和改變運行級別之間確保延時5秒
11. sleep-----執行另一個命令之前等待的時間
sleep amount [units]
units默認為秒(s),m表示分鍾,h表示小時,d表示天。
12. swapon/swapoff-----啟動和關閉交換分區
swapon/swapoff [options] device
$ swapon -s 顯示交換分區信息
$ swapon -a 激活所有在/etc/fstab中有sw標記的分區
$ swapon -p 1 設置交換分區優先順序為1
13. tune2fs-----調整Linux第二擴展文件系統的參數
tune2fs [options] device
$ tune2fs -l /dev/hda1 顯示hda1分區的超級塊內容
$ tune2fs -c 100 /dev/hda1 設置hda1分區每mount100次就進行磁碟檢查
14. uniq----過濾、統計、刪除重復行
uniq [options][file1 [files]]
$ uniq -c file file中的重復行輸出一次,並在每行前顯示重復次數
$ uniq -d file file中的重復行輸出一次,但不輸出唯一的行
$ uniq -u file 只輸出file中的唯一行
$ uniq file1 file2 把file1中的重復的相鄰行刪除,並把每行的一個拷貝送到file2
15. wc-----輸出每個文件中的字元數、單詞數及行數。
wc [options][files]
$ wc -l file 輸出file中的行數
$ wc -w file 輸出file中的單詞數
$ wc -c file 輸出file中的字元數
『叄』 linux文件許可權命令
有三種不同類型的用戶可對文件或目錄進行訪問:文件所有者,同組用戶、其他用戶。所有者一般是文件的創建者。所有者可以允許同組用戶有權訪問文件,還可以將文件的訪問許可權賦予系統中的其他用戶。在這種情況下,系統中每一位用戶都能訪問該用戶擁有的文件或目錄。
每一文件或目錄的訪問許可權都有三組,每組用三位表示,分別為文件屬主的讀、寫和執行許可權;與屬主同組的用戶的讀、寫和執行許可權;系統中其他用戶的讀、寫和執行許可權。當用ls -l命令顯示文件或目錄的詳細信息時,最左邊的一列為文件的訪問許可權。例如:
$ ls-l sobsrc.tgz
-rw-r--r--1root root483997Ju1l517:3lsobsrc.tgz
橫線代表空許可。r代表只讀,w代表寫,x代表可執行。注意這里共有10個位置。第一個字元指定了文件類型。在通常意義上,一個目錄也是一個文件。如果第一個字元是橫線,表示是一個非目錄的文件。如果是d,表示是一個目錄。例如:
– rw- r– r–
普通文件 文件主 組用戶 其他用戶
是文件sobsrc.tgz 的訪問許可權,表示sobsrc.tgz是一個普通文件;sobsrc.tgz的屬主有讀寫許可權;與sobsrc.tgz屬主同組的用戶只有讀許可權;其他用戶也只有讀許可權。
確定了一個文件的訪問許可權後,用戶可以利用Linux系統提供的chmod命令來重新設定不同的訪問許可權。也可以利用chown命令來更改某個文件或目錄的所有者。利用chgrp命令來更改某個文件或目錄的用戶組。
下面分別對這些命令加以介紹。
chmod 命令
chmod命令是非常重要的,用於改變文件或目錄的訪問許可權。用戶用它控制文件或目錄的訪問許可權。
以主文件夾下的一個名為「cc」的文件夾為例。下面一步一步介紹如何修改許可權:
1.打開終端。輸入」su」(沒有引號)
2.接下來會要你輸入密碼,輸入你的root密碼。
3.假設我的文件夾在主目錄里,地址為 /var/home/dengchao/cc 。假設我要修改文件許可權為777,則在終端輸入 chmod 777 /var/home/userid/cc 文件夾的許可權就變為了777。
如果是修改文件夾及子文件夾許可權可以用 chmod -R 777 /var/home/userid/cc
具體的許可權(例如777的含意等)在下面解釋下:
1.777有3位,最高位7是設置文件所有者訪問許可權,第二位是設置群組訪問許可權,最低位是設置其他人訪問許可權。
其中每一位的許可權用數字來表示。具體有這些許可權:
r(Read,讀取,許可權值為4):對文件而言,具有讀取文件內容的許可權;對目錄來說,具有瀏覽目 錄的許可權。
w(Write,寫入,許可權值為2):對文件而言,具有新增、修改文件內容的許可權;對目錄來說,具有刪除、移動目錄內文件的許可權。
x(eXecute,執行,許可權值為1):對文件而言,具有執行文件的許可權;對目錄了來說該用戶具有進入目錄的許可權。
2. 首先我們來看如何確定單獨一位上的許可權數值,例如最高位表示文件所有者許可權數值,當數字為7時,7用「rwx」表示 –{4(r)+2(w)+1(x)=7}–又如果數值為6,則用「rw-」表示–{4(r)+2(w)+0(x)=6}–,」-」表示不具備許可權,這里表 示不具備「執行」許可權。
假如我們設定其他用戶的訪問許可權為 「r–」,則數值為4+0+0=4
一開始許多初學者會被搞糊塗,其實很簡單,我們將rwx看成二進制數,如果有則用1表示,沒有則有0表示,那麼rwx則可以表示成為:111
而二進制的111就是7。
3.我們再來看下怎麼確定3個數位上的許可權。假如我們要給一個文件設置許可權,具體許可權如下:
文件所有者有「讀」、「寫」、「執行」許可權,群組用戶有「讀」許可權,其他用戶有「讀」許可權,則對應的字母表示為」rwx r– r–「,對應的數字為744
一般都是最高位表示文件所有者許可權值,第二位表示群組用戶許可權,最低位表示其他用戶許可權。
下面來舉些例子熟悉下。
許可權 數值
rwx rw- r– 764
rw- r– r– 644
rw- rw- r– 664
該命令有兩種用法。一種是包含字母和操作符表達式的文字設定法;另一種是包含數字的數字設定法。
1. 文字設定法
chmod [who] [+ | – | =] [mode] 文件名¼
命令中各選項的含義為:
操作對象who可是下述字母中的任一個或者它們的組合:
u 表示「用戶(user)」,即文件或目錄的所有者。
g 表示「同組(group)用戶」,即與文件屬主有相同組ID的所有用戶。
o 表示「其他(others)用戶」。
a 表示「所有(all)用戶」。它是系統默認值。
操作符號可以是:
+ 添加某個許可權。
– 取消某個許可權。
= 賦予給定許可權並取消其他所有許可權(如果有的話)。
設置mode所表示的許可權可用下述字母的任意組合:
r 可讀。
w 可寫。
x 可執行。
X 只有目標文件對某些用戶是可執行的或該目標文件是目錄時才追加x 屬性。
s 在文件執行時把進程的屬主或組ID置為該文件的文件屬主。方式「u+s」設置文件的用戶ID位,「g+s」設置組ID位。
t 保存程序的文本到交換設備上。
u 與文件屬主擁有一樣的許可權。
g 與和文件屬主同組的用戶擁有一樣的許可權。
o 與其他用戶擁有一樣的許可權。
-c:若該檔案許可權確實已經更改,才顯示其更改動作
-f:若該檔案許可權無法被更改也不要顯示錯誤訊息
-v:顯示許可權變更的詳細資料
-R:對目前目錄下的所有檔案與子目錄進行相同的許可權變更(即以遞回的方式逐個變更)
–help:顯示輔助說明
–version:顯示版本
文件名:以空格分開的要改變許可權的文件列表,支持通配符。在一個命令行中可給出多個許可權方式,其間用逗號隔開。例如:chmod g+r,o+r example使同組和其他用戶對文件example 有讀許可權。
例1:
$ chmod a+x sort
即設定文件sort的屬性為:
文件屬主(u) 增加執行許可權
與文件屬主同組用戶(g) 增加執行許可權
其他用戶(o) 增加執行許可權
例2:
$ chmod ug+w,o-x text
即設定文件text的屬性為:
文件屬主(u) 增加寫許可權
與文件屬主同組用戶(g) 增加寫許可權
其他用戶(o) 刪除執行許可權
例3:
$ chmod u+s a.out
假設執行chmod後a.out的許可權為(可以用ls – l a.out命令來看):
–rws--x--x1inin users7192Nov414:22a.out
並且這個執行文件要用到一個文本文件shiyan1.c,其文件存取許可權為「–rw——-」,即該文件只有其屬主具有讀寫許可權。
當其他用戶執行a.out這個程序時,他的身份因這個程序暫時變成inin(由於chmod命令中使用了s選項),所以他就能夠讀取shiyan1.c這個文件(雖然這個文件被設定為其他人不具備任何許可權),這就是s的功能。
因此,在整個系統中特別是root本身,最好不要過多的設置這種類型的文件(除非必要)這樣可以保障系統的安全,避免因為某些程序的bug而使系統遭到入侵。
例4:
$ chmod a–x mm.txt
$ chmod–x mm.txt
$ chmod ugo–x mm.txt
以上這三個命令都是將文件mm.txt的執行許可權刪除,它設定的對象為所有使用者。
2. 數字設定法
我們必須首先了解用數字表示的屬性的含義:0表示沒有許可權,1表示可執行許可權,2表示可寫許可權,4表示可讀許可權,然後將其相加。所以數字屬性的格式應為3個從0到7的八進制數,其順序是(u)(g)(o)。
例如,如果想讓某個文件的屬主有「讀/寫」二種許可權,需要把4(可讀)+2(可寫)=6(讀/寫)。
數字設定法的一般形式為:chmod [mode] 文件名¼
例1:
$ chmod644mm.txt
$ ls–l
即設定文件mm.txt的屬性為:
-rw-r--r--1inin users1155Nov511:22mm.txt
文件屬主(u)inin 擁有讀、寫許可權
與文件屬主同組人用戶(g) 擁有讀許可權
其他人(o) 擁有讀許可權
例2:
$ chmod750wch.txt
$ ls–l
-rwxr-x---1inin users44137Nov129:22wchtxt
即設定wchtxt這個文件的屬性為:
文件主本人(u)inin 可讀/可寫/可執行權
與文件主同組人(g) 可讀/可執行權
其他人(o) 沒有任何許可權
chgrp命令
功能:改變文件或目錄所屬的組。
語法:chgrp[選項] group filename¼
參數:
-c或–changes 效果類似」-v」參數,但僅回報更改的部分。
-f或–quiet或–silent 不顯示錯誤信息。
-h或–no-dereference 只對符號連接的文件作修改,而不更動其他任何相關文件。
-R或–recursive 遞歸處理,將指定目錄下的所有文件及子目錄一並處理。
-v或–verbose 顯示指令執行過程。
–help 在線幫助。
–reference=<參考文件或目錄> 把指定文件或目錄的所屬群組全部設成和參考文件或目錄的所屬群組相同。
–version 顯示版本信息。
該命令改變指定指定文件所屬的用戶組。其中group可以是用戶組ID,也可以是/etc/group文件中用戶組的組名。文件名是以空格分開的要改變屬組的文件列表,支持通配符。如果用戶不是該文件的屬主或超級用戶,則不能改變該文件的組。
該命令的各選項含義為:
– R 遞歸式地改變指定目錄及其下的所有子目錄和文件的屬組。
例1:
$chgrp-R book/opt/local/book
改變/opt/local /book/及其子目錄下的所有文件的屬組為book。
chown命令
功能:更改某個文件或目錄的屬主和屬組。這個命令也很常用。例如root用戶把自己的一個文件拷貝給用戶yusi,為了讓用戶yusi能夠存取這個文件,root用戶應該把這個文件的屬主設為yusi,否則,用戶yusi無法存取這個文件。
語法:chown[選項] 用戶或組 文件
說明:chown將指定文件的擁有者改為指定的用戶或組。用戶可以是用戶名或用戶ID。組可以是組名或組ID。文件是以空格分開的要改變許可權的文件列表,支持通配符。
參數說明:
user : 新的檔案擁有者的使用者 ID
group : 新的檔案擁有者的使用者群體(group)
-c : 若該檔案擁有者確實已經更改,才顯示其更改動作
-f : 若該檔案擁有者無法被更改也不要顯示錯誤訊息
-h : 只對於連結(link)進行變更,而非該 link 真正指向的檔案
-v : 顯示擁有者變更的詳細資料
-R : 對目前目錄下的所有檔案與子目錄進行相同的擁有者變更(即以遞回的方式逐個變更)
–help : 顯示輔助說明
–version : 顯示版本
例1:把文件yusi123.com的所有者改為yusi。
$chownyusi yusi123.com
例2:把目錄/demo及其下的所有文件和子目錄的屬主改成yusi,屬組改成users。
$ chown-R yusi.users/demo
例如:chown qq /home/qq (把home目錄下的qq目錄的擁有者改為qq用戶)
例如:chown -R qq /home/qq (把home目錄下的qq目錄下的所有子文件的擁有者改為qq用戶)
『肆』 linux內核3.8.5中mm文件夾中page_alloc.c文件中的類似#include <linux/mm.h>引用的mm.h在內核的什麼地方
一般這類系統頭文件都在/usr/src/linux-2.6.16.46-0.12/include/linux/mm.h 系統裡面,你可以用這個命令找 find / -name mm.h
『伍』 linux下如何解壓文件
linux解壓文件涉及命令以及常式
tar命令
tar 可以為文件和目錄創建檔案。利用tar,用戶可以為某一特定文件創建檔案(備份文件),也可以在檔案中改變文件,或者向檔案中加入新的文件。
語法:tar [主選項+輔選項] 文件或者目錄
主選項:
c 創建新的檔案文件。如果用戶想備份一個目錄或是一些文件,就要選擇這個選項。
r 把要存檔的文件追加到檔案文件的未尾。例如用戶已經作好備份文件,又發現還有一個目錄或是一些文件忘記備份了,這時可以使用該選項,將忘記的目錄或文件追加到備份文件中。
t 列出檔案文件的內容,查看已經備份了哪些文件。
u 更新文件。就是說,用新增的文件取代原備份文件,如果在備份文件中找不到要更新的文件,則把它追加到備份文件的最後。
x 從檔案文件中釋放文件。
輔助選項:
b 該選項是為磁帶機設定的。其後跟一數字,用來說明區塊的大小,系統預設值為20(20*512 bytes)。
f 使用檔案文件或設備,這個選項通常是必選的。
k 保存已經存在的文件。例如我們把某個文件還原,在還原的過程中,遇到相同的文件,不會進行覆蓋。
m 在還原文件時,把所有文件的修改時間設定為現在。
M 創建多卷的檔案文件,以便在幾個磁碟中存放。
v 詳細報告tar處理的文件信息。如無此選項,tar不報告文件信息。
w 每一步都要求確認。
z 用gzip來壓縮/解壓縮文件,加上該選項後可以將檔案文件進行壓縮,但還原時也一定要使用該選項進行解壓縮。
範例:
範例一:將整個 /etc 目錄下的文件全部打包成為 /tmp/etc.tar
[root@linux ~]# tar -cvf /tmp/etc.tar /etc<==僅打包,不壓縮!
[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc<==打包後,以 gzip 壓縮
[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc<==打包後,以 bzip2 壓縮
# 特別注意,在參數 f 之後的文件檔名是自己取的,我們習慣上都用 .tar 來作為辨識。
# 如果加 z 參數,則以 .tar.gz 或 .tgz 來代表 gzip 壓縮過的 tar file ~
# 如果加 j 參數,則以 .tar.bz2 來作為附檔名啊~
# 上述指令在執行的時候,會顯示一個警告訊息:
# 『tar: Removing leading `/" from member names』那是關於絕對路徑的特殊設定。
範例二:查閱上述 /tmp/etc.tar.gz 文件內有哪些文件?
[root@linux ~]# tar -ztvf /tmp/etc.tar.gz
# 由於我們使用 gzip 壓縮,所以要查閱該 tar file 內的文件時,
# 就得要加上 z 這個參數了!這很重要的!
範例三:將 /tmp/etc.tar.gz 文件解壓縮在 /usr/local/src 底下
[root@linux ~]# cd /usr/local/src
[root@linux src]# tar -zxvf /tmp/etc.tar.gz
# 在預設的情況下,我們可以將壓縮檔在任何地方解開的!以這個範例來說,
# 我先將工作目錄變換到 /usr/local/src 底下,並且解開 /tmp/etc.tar.gz ,
# 則解開的目錄會在 /usr/local/src/etc 呢!另外,如果您進入 /usr/local/src/etc
# 則會發現,該目錄下的文件屬性與 /etc/ 可能會有所不同喔!
範例四:在 /tmp 底下,我只想要將 /tmp/etc.tar.gz 內的 etc/passwd 解開而已
[root@linux ~]# cd /tmp
[root@linux tmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd
# 我可以透過 tar -ztvf 來查閱 tarfile 內的文件名稱,如果單只要一個文件,
# 就可以透過這個方式來下達!注意到! etc.tar.gz 內的根目錄 / 是被拿掉了!
範例五:將 /etc/ 內的所有文件備份下來,並且保存其許可權!
[root@linux ~]# tar -zxvpf /tmp/etc.tar.gz /etc
# 這個 -p 的屬性是很重要的,尤其是當您要保留原本文件的屬性時!
範例六:在 /home 當中,比 2005/06/01 新的文件才備份
[root@linux ~]# tar -N "2005/06/01" -zcvf home.tar.gz /home
範例七:我要備份 /home, /etc ,但不要 /home/dmtsai
[root@linux ~]# tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc
範例八:將 /etc/ 打包後直接解開在 /tmp 底下,而不產生文件!
[root@linux ~]# cd /tmp
[root@linux tmp]# tar -cvf - /etc | tar -xvf -
# 這個動作有點像是 cp -r /etc /tmp 啦~依舊是有其有用途的!
# 要注意的地方在於輸出檔變成 - 而輸入檔也變成 - ,又有一個 | 存在~
# 這分別代表 standard output, standard input 與管線命令啦!
# 這部分我們會在 Bash shell 時,再次提到這個指令跟大家再解釋啰!
.tar.gz
解壓:tar zxvf FileName.tar.gz
壓縮:tar zcvf FileName.tar.gz DirName
大致總結了一下linux下各種格式的壓縮包的壓縮、解壓方法。但是部分方法我沒有用到,也就不全,希望大家幫我補充,我將隨時修改完善,謝謝!
.tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(註:tar是打包,不是壓縮!)
---------------------------------------------
.gz
解壓1:gunzip FileName.gz
解壓2:gzip -d FileName.gz
壓縮:gzip FileName
.tar.gz 和 .tgz
解壓:tar zxvf FileName.tar.gz
壓縮:tar zcvf FileName.tar.gz DirName
---------------------------------------------
.bz2
解壓1:bzip2 -d FileName.bz2
解壓2:bunzip2 FileName.bz2
壓縮: bzip2 -z FileName
.tar.bz2
解壓:tar jxvf FileName.tar.bz2
壓縮:tar jcvf FileName.tar.bz2 DirName
---------------------------------------------
.bz
解壓1:bzip2 -d FileName.bz
解壓2:bunzip2 FileName.bz
壓縮:未知
.tar.bz
解壓:tar jxvf FileName.tar.bz
壓縮:未知
---------------------------------------------
.Z
解壓:uncompress FileName.Z
壓縮:compress FileName
.tar.Z
解壓:tar Zxvf FileName.tar.Z
壓縮:tar Zcvf FileName.tar.Z DirName
---------------------------------------------
.zip
解壓:unzip FileName.zip
壓縮:zip FileName.zip DirName
---------------------------------------------
.rar
解壓:rar x FileName.rar
壓縮:rar a FileName.rar DirName
rar請到:http://www.rarsoft.com/download.htm 下載!
解壓後請將rar_static拷貝到/usr/bin目錄(其他由$PATH環境變數指定的目錄也可以):
[root@www2 tmp]# cp rar_static /usr/bin/rar
---------------------------------------------
.lha
解壓:lha -e FileName.lha
壓縮:lha -a FileName.lha FileName
lha請到:http://www.infor.kanazawa-it.ac.jp/~ishii/lhaunix/下載!
>解壓後請將lha拷貝到/usr/bin目錄(其他由$PATH環境變數指定的目錄也可以):
[root@www2 tmp]# cp lha /usr/bin/
---------------------------------------------
.rpm
解包:rpm2cpio FileName.rpm | cpio -div
---------------------------------------------
.deb
解包:ar p FileName.deb data.tar.gz | tar zxf -
---------------------------------------------
.tar .tgz .tar.gz .tar.Z .tar.bz .tar.bz2 .zip .cpio .rpm
.deb .slp .arj .rar .ace .lha .lzh .lzx .lzs .arc .sda .sfx .lnx
.zoo .cab .kar .cpt .pit .sit .sea
解壓:sEx x FileName.*
壓縮:sEx a FileName.* FileName
sEx只是調用相關程序,本身並無壓縮、解壓功能,請注意!
sEx請到: http://sourceforge.net/projects/sex下載!
解壓後請將sEx拷貝到/usr/bin目錄(其他由$PATH環境變數指定的目錄也可以):
[root@www2 tmp]# cp sEx /usr/bin/
參考文獻:Linux 文件壓縮工具指南
(其實看幫助是最好的方法,一般各個命令都可以用「--help」參數得到常用使用方法!)
用戶經常需要備份計算機系統中的數據,為了節省存儲空間,常常將備份文件進行壓縮。下面分別介紹備份與壓縮的命令。
tar命令
tar可以為文件和目錄創建檔案。利用tar,用戶可以為某一特定文件創建檔案(備份文件),也可以在檔案中改變文件,或者向檔案中加入新的文件。 tar最初被用來在磁帶上創建檔案,現在,用戶可以在任何設備上創建檔案,如軟盤。利用tar命令,可以把一大堆的文件和目錄全部打包成一個文件,這對於備份文件或將幾個文件組合成為一個文件以便於網路傳輸是非常有用的。Linux上的tar是GNU版本的。
語法:tar [主選項+輔選項] 文件或者目錄
使用該命令時,主選項是必須要有的,它告訴tar要做什麼事情,輔選項是輔助使用的,可以選用。
主選項:
c 創建新的檔案文件。如果用戶想備份一個目錄或是一些文件,就要選擇這個選項。
r 把要存檔的文件追加到檔案文件的未尾。例如用戶已經作好備份文件,又發現還有一個目錄或是一些文件忘記備份了,這時可以使用該選項,將忘記的目錄或文件追加到備份文件中。
t 列出檔案文件的內容,查看已經備份了哪些文件。
u 更新文件。就是說,用新增的文件取代原備份文件,如果在備份文件中找不到要更新的文件,則把它追加到備份文件的最後。
x 從檔案文件中釋放文件。
輔助選項:
b 該選項是為磁帶機設定的。其後跟一數字,用來說明區塊的大小,系統預設值為20(20*512 bytes)。
f 使用檔案文件或設備,這個選項通常是必選的。
k 保存已經存在的文件。例如我們把某個文件還原,在還原的過程中,遇到相同的文件,不會進行覆蓋。
m 在還原文件時,把所有文件的修改時間設定為現在。
M 創建多卷的檔案文件,以便在幾個磁碟中存放。
v 詳細報告tar處理的文件信息。如無此選項,tar不報告文件信息。
w 每一步都要求確認。
z 用gzip來壓縮/解壓縮文件,加上該選項後可以將檔案文件進行壓縮,但還原時也一定要使用該選項進行解壓縮。
例1:把/home目錄下包括它的子目錄全部做備份文件,備份文件名為usr.tar。
$ tar cvf usr.tar /home
例2:把/home目錄下包括它的子目錄全部做備份文件,並進行壓縮,備份文件名為usr.tar.gz 。
$ tar czvf usr.tar.gz /home
例3:把usr.tar.gz這個備份文件還原並解壓縮。
$ tar xzvf usr.tar.gz
例4:查看usr.tar備份文件的內容,並以分屏方式顯示在顯示器上。
$ tar tvf usr.tar | more
要將文件備份到一個特定的設備,只需把設備名作為備份文件名。
例5:用戶在/dev/fd0設備的軟盤中創建一個備份文件,並將/home 目錄中所有的文件都拷貝到備份文件中。
$ tar cf /dev/fd0 /home
要恢復設備磁碟中的文件,可使用xf選項:
$ tar xf /dev/fd0
如果用戶備份的文件大小超過設備可用的存貯空間,如軟盤,您可以創建一個多卷的tar備份文件。M選項指示tar命令提示您使用一個新的存貯設備,當使用M選項向一個軟碟機進行存檔時,tar命令在一張軟盤已滿的時候會提醒您再放入一張新的軟盤。這樣您就可以把tar檔案存入幾張磁碟中。
$ tar cMf /dev/fd0 /home
要恢復幾張盤中的檔案,只要將第一張放入軟碟機,然後輸入有x和M選項的tar命令。在必要時您會被提醒放入另外一張軟盤。
$ tar xMf /dev/fd0
gzip命令
減少文件大小有兩個明顯的好處,一是可以減少存儲空間,二是通過網路傳輸文件時,可以減少傳輸的時間。gzip是在Linux系統中經常使用的一個對文件進行壓縮和解壓縮的命令,既方便又好用。
語法:gzip [選項] 壓縮(解壓縮)的文件名
各選項的含義:
-c 將輸出寫到標准輸出上,並保留原有文件。
-d 將壓縮文件解壓。
-l 對每個壓縮文件,顯示下列欄位:
壓縮文件的大小
未壓縮文件的大小
壓縮比
未壓縮文件的名字
-r 遞歸式地查找指定目錄並壓縮其中的所有文件或者是解壓縮。
-t 測試,檢查壓縮文件是否完整。
-v 對每一個壓縮和解壓的文件,顯示文件名和壓縮比。
-num 用指定的數字num調整壓縮的速度,-1或--fast表示最快壓縮方法(低壓縮比),-9或--best表示最慢壓縮方法(高壓縮比)。系統預設值為6。
假設一個目錄/home下有文件mm.txt、sort.txt、xx.com。
例1:把/home目錄下的每個文件壓縮成.gz文件。
$ cd /home
$ gzip *
$ ls
m.txt.gz sort.txt.gz xx.com.gz
例2:把例1中每個壓縮的文件解壓,並列出詳細的信息。
$ gzip -dv *
mm.txt.gz 43.1%-----replaced with mm.txt
sort.txt.gz 43.1%-----replaced with sort.txt
xx.com.gz 43.1%-----replaced with xx.com
$ ls
mm.txt sort.txt xx.com
例3:詳細顯示例1中每個壓縮的文件的信息,並不解壓。
$ gzip -l *
compressed uncompr. ratio uncompressed_name
277 445 43.1% mm.txt
278 445 43.1% sort.txt
277 445 43.1% xx.com
$ ls
mm.txt.gz sort.txt.gz xx.com.gz
例4:壓縮一個tar備份文件,如usr.tar,此時壓縮文件的擴展名為.tar.gz
$ gzip usr.tar
$ ls
usr.tar.gz
unzip命令
用MS Windows下的壓縮軟體winzip壓縮的文件如何在Linux系統下展開呢?可以用unzip命令,該命令用於解擴展名為.zip的壓縮文件。
語法:unzip [選項] 壓縮文件名.zip
各選項的含義分別為:
-x 文件列表 解壓縮文件,但不包括指定的file文件。
-v 查看壓縮文件目錄,但不解壓。
-t 測試文件有無損壞,但不解壓。
-d 目錄 把壓縮文件解到指定目錄下。
-z 只顯示壓縮文件的註解。
-n 不覆蓋已經存在的文件。
-o 覆蓋已存在的文件且不要求用戶確認。
-j 不重建文檔的目錄結構,把所有文件解壓到同一目錄下。
例1:將壓縮文件text.zip在當前目錄下解壓縮。
$ unzip text.zip
例2:將壓縮文件text.zip在指定目錄/tmp下解壓縮,如果已有相同的文件存在,要求unzip命令不覆蓋原先的文件。
$ unzip -n text.zip -d /tmp
例3:查看壓縮文件目錄,但不解壓。
$ unzip -v text.zip
zgrep命令
這個命令的功能是在壓縮文件中尋找匹配的正則表達式,用法和grep命令一樣,只不過操作的對象是壓縮文件。如果用戶想看看在某個壓縮文件中有沒有某一句話,便可用zgrep命令
01-.tar格式
解包:[*******]$ tar xvf FileName.tar
打包:[*******]$ tar cvf FileName.tar DirName(註:tar是打包,不是壓縮!)
02-.gz格式
解壓1:[*******]$ gunzip FileName.gz
解壓2:[*******]$ gzip -d FileName.gz
壓 縮:[*******]$ gzip FileName
03-.tar.gz格式
解壓:[*******]$ tar zxvf FileName.tar.gz
壓縮:[*******]$ tar zcvf FileName.tar.gz DirName
04-.bz2格式
解壓1:[*******]$ bzip2 -d FileName.bz2
解壓2:[*******]$ bunzip2 FileName.bz2
壓 縮: [*******]$ bzip2 -z FileName
05-.tar.bz2格式
解壓:[*******]$ tar jxvf FileName.tar.bz2
壓縮:[*******]$ tar jcvf FileName.tar.bz2 DirName
06-.bz格式
解壓1:[*******]$ bzip2 -d FileName.bz
解壓2:[*******]$ bunzip2 FileName.bz
07-.tar.bz格式
解壓:[*******]$ tar jxvf FileName.tar.bz
08-.Z格式
解壓:[*******]$ uncompress FileName.Z
壓縮:[*******]$ compress FileName
09-.tar.Z格式
解壓:[*******]$ tar Zxvf FileName.tar.Z
壓縮:[*******]$ tar Zcvf FileName.tar.Z DirName
10-.tgz格式
解壓:[*******]$ tar zxvf FileName.tgz
11-.tar.tgz格式
解壓:[*******]$ tar zxvf FileName.tar.tgz
壓縮:[*******]$ tar zcvf FileName.tar.tgz FileName
12-.zip格式
解壓:[*******]$ unzip FileName.zip
壓縮:[*******]$ zip FileName.zip DirName
13-.lha格式
解壓:[*******]$ lha -e FileName.lha
壓縮:[*******]$ lha -a FileName.lha FileName
14-.rar格式
解壓:[*******]$ rar a FileName.rar
壓縮:[*******]$ rar e FileName.rar
rar請到:http://www.rarsoft.com/download.htm 下載!
解壓後請將rar_static拷貝到/usr/bin目錄(其他由$PATH環境變數
指定的目錄也行):[*******]$ cp rar_static /usr/bin/rar
『陸』 linux命令的命令
tar與gzip
tar命令
tar [-cxtzjvfpPN] 文件與目錄....
參數:
-c :建立一個壓縮文件的參數指令(create 的意思);
-x :解開一個壓縮文件的參數指令!
-t :查看 tarfile 裡面的文件!
特別注意,在參數的下達中, c/x/t 僅能存在一個!不可同時存在!
因為不可能同時壓縮與解壓縮。
-z :是否同時具有 gzip 的屬性?亦即是否需要用 gzip 壓縮?
-j :是否同時具有 bzip2 的屬性?亦即是否需要用 bzip2 壓縮?
-v :壓縮的過程中顯示文件!這個常用,但不建議用在背景執行過程!
-f :使用檔名,請留意,在 f 之後要立即接檔名喔!不要再加參數!
例如使用『 tar -zcvfP tfile sfile』就是錯誤的寫法,要寫成
『 tar -zcvPf tfile sfile』才對喔!
-p :使用原文件的原來屬性(屬性不會依據使用者而變)
-P :可以使用絕對路徑來壓縮!
-N :比後面接的日期(yyyy/mm/dd)還要新的才會被打包進新建的文件中!
--exclude FILE:在壓縮的過程中,不要將 FILE 打包!
#tar -cvf [文件名.tar] [文件……目錄]
查看包文件的內容
#tar -tf 文件名.tar
向已有的包中添加新文件
#tar -rvf [文件名.tar] [新文件……]
釋放包文件#tar -xvf 文件名.tar
gz壓縮文件#gzip 文件名
解壓縮文件
#gzip -d 文件名.gz 或#gunzip 文件名.gz
創建壓縮包
#tar -zcvf [文件名.tar.gz] [文件1 文件2 …]
查看壓縮包中的內容
#tar -ztf 文件名.tar.gz
釋放壓縮包
#tar -zxvf 文件名.tar.gz
mount,umount
mount是Linux下的一個命令,它可以將分區作為Linux的一個「文件」掛接到Linux的一個空文件夾下,從而將分區和/mnt這個目錄聯系起來,因此我們只要訪問這個文件夾,就相當於訪問該分區了。目前mount已經不僅僅局限於Linux了,在Windows系統下的應用也越來越廣了,多用在虛擬光碟機類軟體上,比如Clone CD,Daemon tool,WinMount等。
注意事項
1、必須將光碟、U盤等放入驅動器在實施掛載操作
2、不能在掛載目錄下實施掛載操作,至少在上一級
3、不能在同一目錄下掛載兩個以上的文件系統
4、Linux預留掛載目錄為/mnt
5、不能在掛載目錄下實施卸載操作
6、掛載目錄必須事先存在
掛載光碟
#mount -t iso9660 /dev/cdrom /mnt/cdrom
卸載光碟
#umount /mnt/cdrom或#umount /dev/cdrom或#cd;eject
掛載U盤
#mount /dev/sdb1 /mnt/usb
掛載iso鏡像
#mount -t iso9660 -o loop iso鏡像文件/mnt/cdrom
基礎命令
* LINUX圖形界面和命令行界面的切換 進入Ubuntu桌面環境後,可以使用鍵盤上的「Ctrl+Alt+F1~F6「組合鍵來切換不同的tty界面,Linux默認提供了6個命令行界面(F1-F6),比如」Ctrl+Alt+F1″就是切換到tty1:1 /*最上面顯示的是Ubuntu的版本計算機名稱和tty號*/2 Ubuntu 12.04.1 LTS qingsword tty14 /*輸入用戶名和密碼即可登錄tty1*/5 qingsword login: root6 Password:在命令行模式下,想要切換回圖形界面可以使用組合鍵」Ctrl+Alt+F7「。另外,如果不是從圖形界面切換到tty模式,而是系統啟動時候直接進入的命令行模式,在登陸後可以使用」startx」來啟動圖形界面。PS:在圖形界面下使用」Ctrl+Alt+T「可以快速啟動Linux的命令行終端。
* 列出目錄中的文件(LS)在Linux命令行終端中使用的最多的命令就是這個ls,它可以幫助我們列出當前目錄下都有哪些文件,下面是一些實例:1 /*2 * 使用pwd,查看當前是在哪個目錄中,3 * 顯示為「/home/qingsword」,這就是當前命令行所在的目錄。4 */5 [qingsword@localhost ~]$ pwd6 /home/qingsword8 /*切換到根目錄*/9 [qingsword@localhost ~]$ cd /11 /*驗證一下,確實在根目錄下了*/12 [qingsword@localhost /]$ pwd13 /15 /*查看根目錄下面都有哪些文件和文件夾*/16 [qingsword@localhost /]$ ls17 bin dev home lost+found mnt proc sbin srv tmp var18 boot etc lib media opt root selinux sys usr20 /*可以使用兩個ll詳細輸出,這個命令和ls -l效果相同*/21 [qingsword@localhost /]$ ll22 total 7823 dr-xr-xr-x. 2 root root 4096 Aug 9 01:21 bin24 dr-xr-xr-x. 5 root root 1024 Aug 8 23:54 boot25 drwxr-xr-x. 18 root root 3820 Aug 8 17:41 dev26 drwxr-xr-x. 88 root root 4096 Dec 24 10:39 etc27 …../*省略部分輸出*/…..29 /*詳細輸出,並且顯示隱藏的文件和文件夾,或ls -al*/30 [qingsword@localhost /]$ ll -a31 total 8632 dr-xr-xr-x. 21 root root 4096 Aug 8 17:39 .33 dr-xr-xr-x. 21 root root 4096 Aug 8 17:39 ..34 -rw-r–r–. 1 root root 0 Aug 8 17:39 .autofsck35 dr-xr-xr-x. 2 root root 4096 Aug 9 01:21 bin36 …../*省略部分輸出*/…..上面為ls常見的用法,下面是一些其他用法:1 /*2 * 使用遞歸模式,顯示目錄以及下級子目錄,3 * 後面的more是當輸出超出終端顯示範圍時,顯示一個more,4 * 按任意鍵可以繼續顯示下面的內容。5 */6 [qingsword@localhost /]$ ls -R | more8 /*按時間先後顯示*/9 [qingsword@localhost /]$ ls -t11 /*橫排輸出,中間用逗號分隔*/12 [qingsword@localhost /]$ ls -m14 /*按大小排列,先大後小*/15 [qingsword@localhost /]$ ls -S除此之外ls會顯示不同顏色,下面是這些顏色的含義:藍色—目錄綠色—可執行文件紅色—壓縮文件淺藍色—鏈接文件粉紅色—圖片文件黃色—設備文件灰色—其他文件可以切換到/dev目錄下用ls查看一下,會看到大部分為設備文件。* 目錄切換(CD)使用cd(Change Directory)命令可以在不同目錄之間切換,下面是一些實例:1 /*當前目錄是根目錄*/2 [qingsword@localhost /]$ pwd3 /5 /*使用cd切換到/dev這個目錄*/6 [qingsword@localhost /]$ cd /dev78 [qingsword@localhost dev]$ pwd9 /dev11 /*查看一下當前目錄下面的文件*/12 [qingsword@localhost dev]$ ls14 /*這條命令可以用來跳到前一個工作目錄,即根目錄*/15 [qingsword@localhost dev]$ cd -16 /18 /*跳到當前用戶的家目錄*/19 [qingsword@localhost /]$ cd ~20 [qingsword@localhost ~]$ pwd21 /home/qingsword23 /*返回上一層目錄*/24 [qingsword@localhost ~]$ cd ..25 [qingsword@localhost home]$ pwd26 /home* 創建、移動、復制、刪除文件的操作可以使用下面的命令來創建一個目錄,或者嵌套的目錄:1 /*我在當前用戶的家目錄中,首先創建一個單層目錄*/2 [qingsword@localhost ~]$ mkdir qing3 [qingsword@localhost ~]$ ls4 qing6 /*試著創建一個嵌套的目錄,提示錯誤*/7 [qingsword@localhost ~]$ mkdir top/sub/sub28 mkdir: cannot create directory `top/sub/sub2′: No such file or directory10 /*添加-p參數才能創建多層的嵌套目錄*/11 [qingsword@localhost ~]$ mkdir -p top/sub/sub212 [qingsword@localhost ~]$ ls13 qing top15 /*16 * 使用遞歸顯示當前目錄下面文件,17 * 「.」代表當前目錄,下面表示這個目錄下面的子目錄和文件。18 */19 [qingsword@localhost ~]$ ls -R20 .:21 qing top23 /*」qing」這個目錄下面是空的,沒有其他文件和文件夾*/24 ./qing:26 /*」top」目錄下還有個子目錄」sub」*/27 ./top:28 sub30 /*sub目錄下還有個sub2*/31 ./top/sub:32 sub234 /*sub2下面是空的*/35 ./top/sub/sub2:刪除目錄或者文件:1 /*強制刪除剛才創建的top目錄,」rm -rf」後面可以接任何目錄或者文件*/2 [qingsword@localhost ~]$ rm -rf top創建文本文件:1 /*使用touch命令可以創建一個空文本文件*/2 [qingsword@localhost ~]$ touch testfile4 /*使用echo命令將hello這幾個字元寫入這個文件中*/5 [qingsword@localhost ~]$ echo hello>>testfile7 /*使用more命令顯示這個文件中的內容*/8 [qingsword@localhost ~]$ more testfile9 hello11 /*追加一行,再次顯示*/12 [qingsword@localhost ~]$ echo My name is QingSword>>testfile13 [qingsword@localhost ~]$ more testfile14 hello15 My name is QingSword復制文件或文件夾:1 /*首先創建兩個文件夾*/2 [qingsword@localhost ~]$ mkdir dir13 [qingsword@localhost ~]$ mkdir dir24 [qingsword@localhost ~]$ ls5 dir1 dir2 qing testfile7 /*將testfile這個文本文件復制到dir2目錄中*/8 [qingsword@localhost ~]$ cp testfile dir29 [qingsword@localhost ~]$ ls dir210 testfile12 /*將dir2目錄復制到dir1目錄中,復制非空目錄要添加參數-r*/13 [qingsword@localhost ~]$ cp -r dir2 dir114 [qingsword@localhost ~]$ ls -R dir115 dir1:16 dir218 dir1/dir2:19 testfile21 /*22 * 復制多個目標到一個文件夾中,23 * 將dir1和dir2這兩個文件夾以及testfile這個文本文件,復制到後面的qing文件夾中。24 */25 [qingsword@localhost ~]$ cp -r dir1 dir2 testfile qing移動目錄或文件(剪切):1 /*mv可以操作目錄和文件,同樣可以一次性操作多個目標*/2 [qingsword@localhost ~]$ mv dir1 qing3 [qingsword@localhost ~]$ ls4 dir2 qing testfile6 [qingsword@localhost ~]$ mv testfile dir2 qing7 [qingsword@localhost ~]$ ls8 qing9 [qingsword@localhost ~]$* 重啟和關機使用下面的命令重啟和關機(這個命令必須使用root用戶才能執行):1 /*首先切換到root許可權*/2 [qingsword@localhost ~]$ su3 Password:5 /*一分鍾後關機*/6 [qingsword@localhost ~]# shutdown -h 18 /*如果是定時關機,可以打開另外一個終端,使用下面這個命令取消關機*/9 [qingsword@localhost ~]# shutdown -c11 /*馬上關機*/12 [qingsword@localhost ~]# shutdown -h now14 /*下面這兩條命令也是馬上關機*/15 [qingsword@localhost ~]# init 016 [qingsword@localhost ~]# poweroff18 /*下面這兩條命令都能馬上重啟*/19 [qingsword@localhost ~]# reboot20 [qingsword@localhost ~]# init 6
uniq
–去除重復行
下面的示例演示如何grep的唯一相關的交易,削減不必要的信息,並獲得計數。
jfields$ cat order.out.log | grep (Kindle|Hardcover) | cut -d, -f3 | sort | uniq -c
1 Joy of Clojure
2 Patterns of Enterprise Architecture
jfields$ cat order.out.log | grep (Kindle|Hardcover) | cut -d, -f3 | sort | uniq
Joy of Clojure
Patterns of Enterprise Architecture
命令ls
ls [list]
這個命令就相當於dos下的dir命令一樣,這也是Linux控制台命令中最為重要幾個命令之一。Linux上的文件以「.」開頭的文件被系統視為隱藏文件,僅用ls命令是看不到他們的,而用ls -a除了顯示 一般文件名外,連隱藏文件也會顯示出來。
ls -l(這個參數是字母L的小寫,不是數字1)【直接輸入ll 等價於 ls -l的效果】
這個命令可以使用長格式顯示文件內容,如果需要察看更詳細的文件資料,就要用到ls -l這個指令。例如我在某個目錄下鍵入ls -l可能會顯示如下信息(最上面兩行是我自己加的):
位置1 2 3 4 5 6 7
文件屬性文件數 擁有者 所屬者group 文件大小 建檔日期 文件名
drwx------ 2 Guest users 1024 Nov 21 21:05 Mail
-rwx--x--x 1 root root 89080 Nov 7 22:41 tar*
-rwxr-xr-x 1 root bin 5013 Aug 15 9:32 uname*
lrwxrwxrwx 1 root root 4 Nov 24 19:30 zcat->gzip
-rwxr-xr-x 1 root bin 308364 Nov 29 7:43 zsh*
-rwsr-x--- 1 root bin 9853 Aug 15 5:46 su*
下面,我為大家解釋一下這些顯示內容的意義。
第一個欄位,表示文件的屬性。Linux的文件基本上分為三個屬性:可讀(r),可寫(w),可執行(x)。但是這里有十個格子可以添(具體程序實現時,實際上是十個bit位)。第一個小格是特殊表示格,表示目錄或連結文件等等,d表示目錄,例如drwx------;l表示連結文件,如lrwxrwxrwx;如果是以一橫「-」表示,則表示這是文件。其餘剩下的格子就以每3格為一個單位。因為Linux是多用戶多任務系統,所以一個文件可能同時被許多人使用,所以我們一定要設好每個文件的許可權,其文件的許可權位置排列順序是(以-rwxr-xr-x為例):
rwx(Owner)r-x(Group)r-x(Other)
這個例子表示的許可權是:使用者自己可讀,可寫,可執行;同一組的用戶可讀,不可寫,可執行;其它用戶可讀,不可寫,可執行。另外,有一些程序屬性的執行部分不是X,而是S,這表示執行這個程序的使用者,臨時可以有和擁有者一樣權力的身份來執行該程序。一般出現在系統管理之類的指令或程序,讓使用者執行時,擁有root身份。
第二個欄位,表示文件個數。如果是文件的話,那這個數目自然是1了,如果是空目錄的話,那它的數目就是2,非空目錄等於該目錄中的目錄個數加上2了。
第三個欄位,表示該文件或目錄的擁有者。若使用者目前處於自己的Home,那這一欄大概都是它的賬號名稱。
第四個欄位,表示所屬的組(group)。每一個使用者都可以擁有一個以上的組,不過大部分的使用者應該都只屬於一個組,只有當系統管理員希望給予某使用者特殊許可權時,才可能會給他另一個組。
第五欄位,表示文件大小。文件大小用byte來表示,而空目錄一般都是1024byte,你當然可以用其它參數使文件顯示的單位不同,如使用ls –k就是用kb來顯示一個文件的大小單位,不過一般我們還是以byte為主。
第六個欄位,表示創建日期。以「月,日,時間」的格式表示,如Aug 15 5:46表示8月15日早上5:46分。
第七個欄位,表示文件名。我們可以用ls –a顯示隱藏的文件名。
ls –F(注意,是大寫的F)
使用這個參數表示在文件的後面多添加表示文件類型的符號,例如*表示可執行,/表示目錄,@表示連結文件,這都是因為使用了-F這個參數。但是現在基本上所有的Linux發行版本的ls都已經內建了-F參數,也就是說,不用輸入這個參數,我們也能看到各種分辨符號。
cd
cd [change directory]
這個命令是用來進出目錄的,它的使用方法和在dos下差不多,但要注意以下兩點:首先,和dos不同的是Linux的目錄對大小寫是敏感的,如果大小寫沒寫對,cd操作不會成功;其次,cd如果直接輸入,cd後面不加任何東西,會回到使用者自己的Home Directory。假設如果是root,則回到/root,與輸入cd ~是一樣的效果。
『柒』 LINUX環境變數問題!!!
修改bashrc文件,這種方法更為安全,它可以把使用這些環境變數的許可權控制到用戶級別,這里是針對某一特定的用戶,如果你需要給某個用戶許可權使用這些環境變數,你只需要修改其個人用戶主目錄下的 .bashrc文件就可以了。
在下面添加:
Export PATH="$PATH:/usr/lpp/mmfs/bin/mmgetstate"
『捌』 android源代碼有build目錄,我怎麼找不到啊
LZ是down Source code的?
按照developer.android.com上的步驟來獲取源碼是肯定有build目錄的
我已經下了無數回啦
mm命令是android的編譯工具,跟Linux的makefile很像
在你需要的模塊目錄下都有個Android.mk,這時就可以在哪裡目錄下使用mm命令
LZ可以下Android.mk的模式,很簡單的
『玖』 如何在Linux平台下編譯android工程
我是在windows下做開發的,但是編譯環境還是在linux上。。大體的步驟如下:
1.首先在windows環境下編寫工程(eclipse下編寫android工程)
2.打開linux開發環境(tcl平台:\\10.120.90.207\longc\workspace\code\project\kernel\android\JB)
3.將運行環境的腳本文件運行./evnsetup:配置android運行環境
/JB/build/
找到envsetup.sh
運行.envsetup.sh(source envsetup.h或./envsetup)
所有操作都在終端完成
4.將工程文件拷貝到指定目錄下(TCL平台下的自帶程序在package\TCL_Apps目錄下)
5.刪除一些文件
保留/res,/src,AndroidManifest.xml三個文件
創建Android.mk(makefile文件,linux下用makefile文件來集成一些命令,運行程序的指令和設置都在此處)Android.mk的編寫
6.編譯
進入工程文件目錄
輸入mm命令進行編譯。
7.生成apk文件,編譯完成