VMware實現Android x86 8.1 從安裝到使用

VMware實現Android x86 8.1 從安裝到使用
虛擬機--Android
安裝
Android系統配置
安裝軟件
個性化設計
托坑指南
一些終端模擬器的指令
虛擬機–Android
發現現在安卓虛擬機已經到了8.1,我就試試能不能安裝并正常使用。由于版本過新,網上也沒有一些系統的教程,現有的基本上還是Android4的安裝教程。經過了一些小曲折,我終于在VMware上實現了Android。

安裝
1.安裝VMware或者VirtualBox,看你個人愛好,我選擇了VM的15版本
2.在官網下載androidx86的VMDK文件 官方下載地址

附:VMDK文件是VMware的專用文件,比iso鏡像文件安裝要簡便許多,內部已經配置好了,只需要按照虛擬機安裝普通流程即可,這里我附一個鏈接原生Android8.1講解很詳細,具體不再贅述。{傳送門}

3.安裝完畢

Android系統配置
此時你應該已經可以正常開機了,打開了桌面,一個谷歌原生系統呈現在眼前

簡單配置
1.更改語言,跟普通安卓一樣,在setting->language中更改。
2.更改時區,因為有的軟件會識別你的時間是否正確,才可使用。同樣在setting中找。
3.其余的自己探索吧
安裝軟件
咳咳
劃重點

因為是谷歌原生系統,你會發現里面的好多軟件基本都用不了。中國大陸地區不能使用,你現在只能打開瀏覽器,逛逛百度。這當然不行,所以我們要安裝軟件。

1.由于Android 8.1的chrome不能直接安裝軟件,所以我們要用技術手段在系統中安裝一個酷安。這里我要感謝藍點網的幫助,在他們的服務器上有apk可以直接下載。

2.強調
打開終端模擬器,按照下圖輸入

隨后回車,成功安裝后,打開桌面的文件管理器,打開Download,會發現已經有安裝包了,直接安裝就OK了!在酷安里就可以下載各類軟件了。
PS:還可以使用郵件等通信工具在網絡中完成主機與虛擬機的文件傳輸,同樣也可以傳送apk文件


個性化設計
壁紙可以隨意換,應用排序,就把它當作自己的安卓系統一樣就可以使用了!

托坑指南
使用VMDK文件安裝,避免繁瑣步驟
網絡使用NAT轉換可以直接上網
安裝apk盡量使用網絡互傳或者上傳到MINISEVER用終端模擬器安裝,別使用AVD來安裝,對于沒有JAVA的電腦根本用不了
了解一些終端模擬器的指令可以輕松快捷的使用虛擬Android
一些終端模擬器的指令
free
1.作用
free命令用來顯示內存的使用情況,使用權限是所有用戶。
2.格式
free [-b|-k|-m] [-o] [-s delay] [-t] [-V]
3.主要參數
-b -k -m:分別以字節(KB、MB)為單位顯示內存使用情況。
-s delay:顯示每隔多少秒數來顯示一次內存使用情況。
-t:顯示內存總和列。
-o:不顯示緩沖區調節列。
4.應用實例
free命令是用來查看內存使用情況的主要命令。和top命令相比,它的優點是使用簡單,并且只占用很少的系統資源。通過-S參數可以使用free命令不間斷地監視有多少內存在使用,這樣可以把它當作一個方便實時監控器。
#free -b -s5
使用這個命令后終端會連續不斷地報告內存使用情況(以字節為單位),每5秒更新一次。


busybox
BusyBox 是標準 Linux 工具的一個單個可執行實現。BusyBox 包含了一些簡單的工具,例如 cat 和 echo,還包含了一些更大、更復雜的工具,例如 grep、find、mount 以及 telnet。有些人將 BusyBox 稱為 Linux 工具里的瑞士軍刀.簡單的說BusyBox就好像是個大工具箱,它集成壓縮了 Linux 的許多工具和命令。
1、 BusyBox 的誕生
  BusyBox 最初是由 Bruce Perens 在 1996 年為 Debian GNU/Linux 安裝盤編寫的。其目標是在一張軟盤上創建一個可引導的 GNU/Linux 系統,這可以用作安裝盤和急救盤。
  2、busybox的用法
  可以這樣用busybox
  #busybox ls
  他的功能就相當運行ls命令
  最常用的用法是建立指向busybox的鏈接,不同的鏈接名完成不同的功能.
  #ln -s busybox ls
  #ln -s busybox rm
  #ln -s busybox mkdir
  然后分別運行這三個鏈接:
  #./ls
  #./rm
  #./mkdir
  就可以分別完成了ls rm 和mkdir命令的功能.雖然他們都指向同一個可執行程序busybox,但是只要鏈接名不同,完成的功能就不同,很多linux網站都提供busybox的源代碼下載。
  3、配置busybox
  busybox的配置程序和linux內核菜單配置方式簡直一模一樣.熟悉用make menuconfig方式配置linux內核的朋友很容易上手.
  #cp busybox-1.00.tar.gz /babylinux
  #cd /babylinux
  #tar xvfz busybox-1.00.tar.gz
  #cd busybox-1.00
  #make menuconfig
  下面是需要編譯進busybox的功能選項。
  General Configuration應該選的選項
  Show verbose applet usage messages
  Runtime SUID/SGID configuration via /etc/busybox.conf
  Build Options
  Build BusyBox as a static binary (no shared libs)
  這個選項是一定要選擇的,這樣才能把busybox編譯成靜態鏈接的可執行文件,運行時才獨立于其他函數庫.否則必需要其他庫文件才能運行,在單一個linux內核不能使它正常工作.
  Installation Options
  Don’t use /usr
  這個選項也一定要選,否則make install 后busybox將安裝在原系統的/usr下,這將覆蓋掉系統原有的命令.選擇這個選項后,make install后會在busybox目錄下生成一個叫_install的目錄,里面有busybox和指向它的鏈接.
  其它選項都是一些linux基本命令選項,自己需要哪些命令就編譯進去,一般用默認的就可以了,配置好后退出并保存。
  4、編譯并安裝busybox
  #make
  #make install
  編譯好后在busybox目錄下生成子目錄_install,里面的內容:
  drwxr-xr-x 2 root root 4096 11月 24 15:28 bin
  rwxrwxrwx 1 root root 11 11月 24 15:28 linuxrc -> bin/busybox
  drwxr-xr-x 2 root root 4096 11月 24 15:28 sbin
  其中可執行文件busybox在bin目錄下,其他的都是指向他的符號鏈接.

一、安裝和登錄命令
reboot
1.作用
reboot命令的作用是重新啟動計算機,它的使用權限是系統管理者。
2.格式
reboot [-n] [-w] [-d] [-f] [-i]
3.主要參數
-n: 在重開機前不做將記憶體資料寫回硬盤的動作。
-w: 并不會真的重開機,只是把記錄寫到/var/log/wtmp文件里。
-d: 不把記錄寫到/var/log/wtmp文件里(-n這個參數包含了-d)。
-i: 在重開機之前先把所有與網絡相關的裝置停止。

mount
1.作用
mount命令的作用是加載文件系統,它的用權限是超級用戶或/etc/fstab中允許的使用者。
2.格式
mount -a [-fv] [-t vfstype] [-n] [-rw] [-F] device dir
3.主要參數
-h:顯示輔助信息。
-v:顯示信息,通常和-f用來除錯。
-a:將/etc/fstab中定義的所有文件系統掛上。
-F:這個命令通常和-a一起使用,它會為每一個mount的動作產生一個行程負責執行。在系統需要掛上大量NFS文件系統時可以加快加載的速度。
-f:通常用于除錯。它會使mount不執行實際掛上的動作,而是模擬整個掛上的過程,通常會和-v一起使用。
-t vfstype:顯示被加載文件系統的類型。
-n:一般而言,mount掛上后會在/etc/mtab中寫入一筆資料,在系統中沒有可寫入文件系統的情況下,可以用這個選項取消這個動作。

umount
1.作用
umount命令的作用是卸載一個文件系統,它的使用權限是超級用戶或/etc/fstab中允許的使用者。
2.格式
unmount -a [-fFnrsvw] [-t vfstype] [-n] [-rw] [-F] device dir
3.使用說明
umount
命令是mount命令的逆操作,它的參數和使用方法和mount命令是一樣的。Linux掛裝CD-ROM后,會鎖定CD—ROM,這樣就不能用CD-
ROM面板上的Eject按鈕彈出它。但是,當不再需要光盤時,如果已將/cdrom作為符號鏈接,請使用umount/cdrom來卸裝它。僅當無用戶
正在使用光盤時,該命令才會成功。該命令包括了將帶有當前工作目錄當作該光盤中的目錄的終端窗口。

exit
1.作用
exit命令的作用是退出系統,它的使用權限是所有用戶。
2.格式
exit
3.參數
exit命令沒有參數,運行后退出系統進入登錄界面。


二、文件處理命令
mkdir
1.作用
mkdir命令的作用是建立名稱為dirname的子目錄,與MS DOS下的md命令類似,它的使用權限是所有用戶。
2.格式
mkdir [options] 目錄名
3.[options]主要參數
-m, --mode=模式:設定權限,與chmod類似。
-p, --parents:需要時創建上層目錄;如果目錄早已存在,則不當作錯誤。
-v, --verbose:每次創建新目錄都顯示信息。
--version:顯示版本信息后離開。
4.應用實例
在進行目錄創建時可以設置目錄的權限,此時使用的參數是“-m”。假設要創建的目錄名是“tsk”,讓所有用戶都有rwx(即讀、寫、執行的權限),那么可以使用以下命令:
$ mkdir -m 777 tsk
grep
1.作用
grep命令可以指定文件中搜索特定的內容,并將含有這些內容的行標準輸出。grep全稱是Global Regular Expression Print,表示全局正則表達式版本,它的使用權限是所有用戶。
2.格式
grep [options]
3.主要參數
[options]主要參數:
-c:只輸出匹配行的計數。
-I:不區分大小寫(只適用于單字符)。
-h:查詢多文件時不顯示文件名。
-l:查詢多文件時只輸出包含匹配字符的文件名。
-n:顯示匹配行及行號。
-s:不顯示不存在或無匹配文本的錯誤信息。
-v:顯示不包含匹配文本的所有行。
pattern正則表達式主要參數:
\:忽略正則表達式中特殊字符的原有含義。
^:匹配正則表達式的開始行。
$: 匹配正則表達式的結束行。
\:到匹配正則表達式的行結束。
[ ]:單個字符,如[A]即A符合要求 。
[ - ]:范圍,如[A-Z],即A、B、C一直到Z都符合要求 。
。:所有的單個字符。
* :有字符,長度可以為0。
正則表達式是Linux/Unix系統中非常重要的概念。正則表達式(也稱為“regex”或“regexp”)是一個可以描述一類字符串的模式(Pattern)。如果一個字符串可以用某個正則表達式來描述,我們就說這個字符和該正則表達式匹配(Match)。這和DOS中用戶可以使用通配符
“*”代表任意字符類似。在Linux系統上,正則表達式通常被用來查找文本的模式,以及對文本執行“搜索-替換”操作和其它功能。
4.應用實例
查詢DNS服務是日常工作之一,這意味著要維護覆蓋不同網絡的大量IP地址。有時IP地址會超過2000個。如果要查看nnn.nnn網絡地址,但是卻忘了第二部分中的其余部分,只知到有兩個句點,例如nnn nn..。要抽取其中所有nnn.nnn IP地址,使用[0-9 ]\{3
\}\.[0-0\{3\}\。含義是任意數字出現3次,后跟句點,接著是任意數字出現3次,后跟句點。
$grep ’[0-9 ]\{3 \}\.[0-0\{3\}\’ ipfile
補充說明,grep家族還包括fgrep和egrep。fgrep是fix grep,允許查找字符串而不是一個模式;egrep是擴展grep,支持基本及擴展的正則表達式,但不支持\q模式范圍的應用及與之相對應的一些更加規范的模式。
dd
1.作用
dd命令用來復制文件,并根據參數將數據轉換和格式化。
2.格式
dd [options]
3.[opitions]主要參數
bs=字節:強迫 ibs=及obs=。
cbs=字節:每次轉換指定的。
conv=關鍵字:根據以逗號分隔的關鍵字表示的方式來轉換文件。
count=塊數目:只復制指定的輸入數據。
ibs=字節:每次讀取指定的。
if=文件:讀取內容,而非標準輸入的數據。
obs=字節:每次寫入指定的。
of=文件:將數據寫入,而不在標準輸出顯示。
seek=塊數目:先略過以obs為單位的指定的輸出數據。
skip=塊數目:先略過以ibs為單位的指定的輸入數據。
4.應用實例
dd命令常常用來制作Linux啟動盤。先找一個可引導內核,令它的根設備指向正確的根分區,然后使用dd命令將其寫入軟盤:
$ rdev vmlinuz /dev/hda
$dd if=vmlinuz of=/dev/fd0
上面代碼說明,使用rdev命令將可引導內核vmlinuz中的根設備指向/dev/hda,請把“hda”換成自己的根分區,接下來用dd命令將該內核寫入軟盤。


find
1.作用
find命令的作用是在目錄中搜索文件,它的使用權限是所有用戶。
2.格式
find [path][options][expression]
path指定目錄路徑,系統從這里開始沿著目錄樹向下查找文件。它是一個路徑列表,相互用空格分離,如果不寫path,那么默認為當前目錄。
3.主要參數
[options]參數:
-depth:使用深度級別的查找過程方式,在某層指定目錄中優先查找文件內容。
-maxdepth levels:表示至多查找到開始目錄的第level層子目錄。level是一個非負數,如果level是0的話表示僅在當前目錄中查找。
-mindepth levels:表示至少查找到開始目錄的第level層子目錄。
-mount:不在其它文件系統(如Msdos、Vfat等)的目錄和文件中查找。
-version:打印版本。
[expression]是匹配表達式,是find命令接受的表達式,find命令的所有操作都是針對表達式的。它的參數非常多,這里只介紹一些常用的參數。
—name:支持統配符*和?。
-atime n:搜索在過去n天讀取過的文件。
-ctime n:搜索在過去n天修改過的文件。
-group grpoupname:搜索所有組為grpoupname的文件。
-user 用戶名:搜索所有文件屬主為用戶名(ID或名稱)的文件。
-size n:搜索文件大小是n個block的文件。
-print:輸出搜索結果,并且打印。
4.應用技巧
find命令查找文件的幾種方法:
(1)根據文件名查找
例如,我們想要查找一個文件名是lilo.conf的文件,可以使用如下命令:
find / -name lilo.conf
find命令后的“/”表示搜索整個硬盤。
(2)快速查找文件
根據文件名查找文件會遇到一個實際問題,就是要花費相當長的一段時間,特別是大型Linux文件系統和大容量硬盤文件放在很深的子目錄中時。如果我們知道了這個文件存放在某個目錄中,那么只要在這個目錄中往下尋找就能節省很多時間。比如smb.conf文件,從它的文件后綴“.conf”可以判斷這是一個配置文件,那么它應該在/etc目錄內,此時可以使用下面命令:
find /etc -name smb.conf
這樣,使用“快速查找文件”方式可以縮短時間。
(3)根據部分文件名查找方法
有時我們知道只某個文件包含有abvd這4個字,那么要查找系統中所有包含有這4個字符的文件可以輸入下面命令:
find / -name ’*abvd*’
輸入這個命令以后,Linux系統會將在/目錄中查找所有的包含有abvd這4個字符的文件(其中*是通配符),比如abvdrmyz等符合條件的文件都能顯示出來。
(4) 使用混合查找方式查找文件
find命令可以使用混合查找的方法,例如,我們想在/etc目錄中查找大于500000字節,并且在24小時內修改的某個文件,則可以使用-and (與)把兩個查找參數鏈接起來組合成一個混合的查找方式。
find /etc -size +500000c -and -mtime +1
mv
1.作用
mv命令用來為文件或目錄改名,或者將文件由一個目錄移入另一個目錄中,它的使用權限是所有用戶。該命令如同DOS命令中的ren和move的組合。
2.格式
mv[options] 源文件或目錄 目標文件或目錄
3.[options]主要參數
-i:交互方式操作。如果mv操作將導致對已存在的目標文件的覆蓋,此時系統詢問是否重寫,要求用戶回答“y”或“n”,這樣可以避免誤覆蓋文件。
-f:禁止交互操作。mv操作要覆蓋某個已有的目標文件時不給任何指示,指定此參數后i參數將不再起作用。
4.應用實例
(1)將/usr/cbu中的所有文件移到當前目錄(用“.”表示)中:
$ mv /usr/cbu/ * .
(2)將文件cjh.txt重命名為wjz.txt:
$ mv cjh.txt wjz.txt 
ls
1.作用
ls命令用于顯示目錄內容,類似DOS下的dir命令,它的使用權限是所有用戶。
2.格式
ls [options][filename]
3.options主要參數
-a, --all:不隱藏任何以“.” 字符開始的項目。
-A, --almost-all:列出除了“ . ”及 “.. ”以外的任何項目。
--author:印出每個文件著作者。
-b, --escape:以八進制溢出序列表示不可打印的字符。
--block-size=大小:塊以指定的字節為單位。
-B, --ignore-backups:不列出任何以 ~ 字符結束的項目。
-f:不進行排序,-aU參數生效,-lst參數失效。
-F, --classify:加上文件類型的指示符號 (*/=@| 其中一個)。
-g:like -l, but do not list owner。
-G, --no-group:inhibit display of group information。
-i, --inode:列出每個文件的inode號。
-I, --ignore=樣式:不印出任何符合Shell萬用字符的項目。
-k:即--block-size=1K。
-l:使用較長格式列出信息。
-L, --dereference:當顯示符號鏈接的文件信息時,顯示符號鏈接所指示的對象,而并非符號鏈接本身的信息。
-m:所有項目以逗號分隔,并填滿整行行寬。
-n, --numeric-uid-gid:類似-l,但列出UID及GID號。
-N, --literal:列出未經處理的項目名稱,例如不特別處理控制字符。
-p, --file-type:加上文件類型的指示符號 (/=@| 其中一個)。
-Q, --quote-name:將項目名稱括上雙引號。
-r, --reverse:依相反次序排列。
-R, --recursive:同時列出所有子目錄層。
-s, --size:以塊大小為序。
4.應用舉例
ls
命令是Linux系統使用頻率最多的命令,它的參數也是Linux命令中最多的。使用ls命令時會有幾種不同的顏色,其中藍色表示是目錄,綠色表示是可執
行文件,紅色表示是壓縮文件,淺藍色表示是鏈接文件,加粗的黑色表示符號鏈接,灰色表示是其它格式文件。ls最常使用的是ls- l。

件類型開頭是由10個字符構成的字符串。其中第一個字符表示文件類型,它可以是下述類型之一:-(普通文件)、d(目錄)、l(符號鏈接)、b(塊設備文件)、c(字符設備文件)。后面的9個字符表示文件的訪問權限,分為3組,每組3位。第一組表示文件屬主的權限,第二組表示同組用戶的權限,第三組表示其他用戶的權限。每一組的三個字符分別表示對文件的讀(r)、寫(w)和執行權限(x)。對于目錄,表示進入權限。s表示當文件被執行時,把該文件的UID或GID賦予執行進程的UID(用戶ID)或GID(組ID)。t表示設置標志位(留在內存,不被換出)。如果該文件是目錄,那么在該目錄中的文件只能被超級用戶、目錄擁有者或文件屬主刪除。如果它是可執行文件,那么在該文件執行后,指向其正文段的指針仍留在內存。這樣再次執行它時,系統就能更快地裝入該文件。接著顯示的是文件大小、生成時間、文件或命令名稱。


diff
1.作用
diff命令用于兩個文件之間的比較,并指出兩者的不同,它的使用權限是所有用戶。
2.格式
diff [options] 源文件 目標文件
3.[options]主要參數
-a:將所有文件當作文本文件來處理。
-b:忽略空格造成的不同。
-B:忽略空行造成的不同。
-c:使用綱要輸出格式。
-H:利用試探法加速對大文件的搜索。
-I:忽略大小寫的變化。
-n –rcs:輸出RCS格式。
cmp
1.作用
cmp(“compare”的縮寫)命令用來簡要指出兩個文件是否存在差異,它的使用權限是所有用戶。
2.格式
cmp[options] 文件名
3.[options]主要參數
-l: 將字節以十進制的方式輸出,并方便將兩個文件中不同的以八進制的方式輸出。
cat
1.作用
cat(“concatenate”的縮寫)命令用于連接并顯示指定的一個和多個文件的有關信息,它的使用權限是所有用戶。
2.格式
cat [options] 文件1 文件2……
3.[options]主要參數
-n:由第一行開始對所有輸出的行數編號。
-b:和-n相似,只不過對于空白行不編號。
-s:當遇到有連續兩行以上的空白行時,就代換為一行的空白行。
4.應用舉例
(1)cat命令一個最簡單的用處是顯示文本文件的內容。例如,我們想在命令行看一下README文件的內容,可以使用命令:
$ cat README 
(2)有時需要將幾個文件處理成一個文件,并將這種處理的結果保存到一個單獨的輸出文件。cat命令在其輸入上接受一個或多個文件,并將它們作為一個單獨的文件打印到它的輸出。例如,把README和INSTALL的文件內容加上行號(空白行不加)之后,將內容附加到一個新文本文件File1 中:
$ cat README INSTALL File1
(3)cat還有一個重要的功能就是可以對行進行編號。這種功能對于程序文檔的編制,以及法律和科學文檔的編制很方便,打印在左邊的行號使得參考文檔的某一部分變得容易,這些在編程、科學研究、業務報告甚至是立法工作中都是非常重要的。對行進行編號功能有-b(只能對非空白行進行編號)和-n(可以對所有行進行編號)兩個參數:
$ cat -b /etc/named.conf
ln
1.作用
ln命令用來在文件之間創建鏈接,它的使用權限是所有用戶。
2.格式
ln [options] 源文件 [鏈接名]
3.參數
-f:鏈結時先將源文件刪除。
-d:允許系統管理者硬鏈結自己的目錄。
-s:進行軟鏈結(Symbolic Link)。
-b:將在鏈結時會被覆蓋或刪除的文件進行備份。
鏈接有兩種,一種被稱為硬鏈接(Hard Link),另一種被稱為符號鏈接(Symbolic Link)。默認情況下,ln命令產生硬鏈接。硬連接指通過索引節點來進行的連接。在Linux的文件系統中,保存在磁盤分區中的文件不管是什么類型都給它分配一個編號,稱為索引節點號(InodeIndex)。在Linux中,多個文件名指向同一索引節點是存在的。一般這種連接就是硬連接。硬連接的作用是允許一個文件擁有多個有效路徑名,這樣用戶就可以建立硬連接到重要文件,以防止“誤刪”的功能。其原因如上所述,因為對應該目錄的索引節點有一個以上的連接。只刪除一個連接并不影響索引節點本身和其它的連接,只有當最后一個連接被刪除后,文件的數據塊及目錄的連接才會被釋放。也就是說,文件才會被真正刪除。與硬連接相對應,Lnux系統中還存在另一種連接,稱為符號連接(Symbilc Link),也叫軟連接。軟鏈接文件有點類似于Windows的快捷方式。它實際上是特殊文件的一種。在符號連接中,文件實際上是一個文本文件,其中包含的有另一文件的位置信息。


系統管理命令
df
1.作用
df命令用來檢查文件系統的磁盤空間占用情況,使用權限是所有用戶。
2.格式
df [options]
3.主要參數
-s:對每個Names參數只給出占用的數據塊總數。
-a:遞歸地顯示指定目錄中各文件及子目錄中各文件占用的數據塊數。若既不指定-s,也不指定-a,則只顯示Names中的每一個目錄及其中的各子目錄所占的磁盤塊數。
-k:以1024字節為單位列出磁盤空間使用情況。
-x:跳過在不同文件系統上的目錄不予統計。
-l:計算所有的文件大小,對硬鏈接文件則計算多次。
-i:顯示inode信息而非塊使用量。
-h:以容易理解的格式印出文件系統大小,例如136KB、254MB、21GB。
-P:使用POSIX輸出格式。
-T:顯示文件系統類型。
4.說明
df命令被廣泛地用來生成文件系統的使用統計數據,它能顯示系統中所有的文件系統的信息,包括總容量、可用的空閑空間、目前的安裝點等。超級權限用戶使用df命令時會發現這樣的情況:某個分區的容量超過了100%。這是因為Linux系統為超級用戶保留了10%的空間,由其單獨支配。也就是說,對于超級用戶而言,他所見到的硬盤容量將是110%。這樣的安排對于系統管理而言是有好處的,當硬盤被使用的容量接近100%時系統管理員還可以正常工作。
5.應用實例
Linux支持的文件系統非常多,包括JFS、ReiserFS、ext、ext2、ext3、ISO9660、XFS、Minx、vfat、MSDOS等。使用df -T命令查看磁盤空間時還可以得到文件系統的信息:
#df -T
文件系統 類型 容量 已用 可用 已用% 掛載點
/dev/hda7 reiserfs 5.2G 1.6G 3.7G 30% /
/dev/hda1 vfat 2.4G 1.6G 827M 66% /windows/C
/dev/hda5 vfat 3.0G 1.7G 1.3G 57% /windows/D
/dev/hda9 vfat 3.0G 2.4G 566M 82% /windows/E
/dev/hda10 NTFS 3.2G 573M 2.6G 18% /windows/F
/dev/hda11 vfat 1.6G 1.5G 23M 99% /windows/G
從上面除了可以看到磁盤空間的容量、使用情況外,分區的文件系統類型、掛載點等信息也一覽無遺。
top
1.作用
top命令用來顯示執行中的程序進程,使用權限是所有用戶。
2.格式
top [-] [d delay] [q] [c] [S] [s] [n]
3.主要參數
d:指定更新的間隔,以秒計算。
q:沒有任何延遲的更新。如果使用者有超級用戶,則top命令將會以最高的優先序執行。
c:顯示進程完整的路徑與名稱。
S:累積模式,會將己完成或消失的子行程的CPU時間累積起來。
s:安全模式。
i:不顯示任何閑置(Idle)或無用(Zombie)的行程。
n:顯示更新的次數,完成后將會退出top。
4.說明
top命令是Linux系統管理的一個主要命令,通過它可以獲得許多信息。
下面列出了詳細解釋。
PID(Process ID):進程標示號。
USER:進程所有者的用戶名。
PR:進程的優先級別。
NI:進程的優先級別數值。
VIRT:進程占用的虛擬內存值。
RES:進程占用的物理內存值。
SHR:進程使用的共享內存值。
S:進程的狀態,其中S表示休眠,R表示正在運行,Z表示僵死狀態,N表示該進程優先值是負數。
%CPU:該進程占用的CPU使用率。
%MEM:該進程占用的物理內存和總內存的百分比。
TIME+:該進程啟動后占用的總的CPU時間。
Command:進程啟動的啟動命令名稱,如果這一行顯示不下,進程會有一個完整的命令行。
top命令使用過程中,還可以使用一些交互的命令來完成其它參數的功能。這些命令是通過快捷鍵啟動的。
:立刻刷新。
P:根據CPU使用大小進行排序。
T:根據時間、累計時間排序。
q:退出top命令。
m:切換顯示內存信息。
t:切換顯示進程和CPU狀態信息。
c:切換顯示命令名稱和完整命令行。
M:根據使用內存大小進行排序。
W:將當前設置寫入~/.toprc文件中。這是寫top配置文件的推薦方法。
可以看到,top命令是一個功能十分強大的監控系統的工具,對于系統管理員而言尤其重要。但是,它的缺點是會消耗很多系統資源。
free
1.作用
free命令用來顯示內存的使用情況,使用權限是所有用戶。
2.格式
free [-b|-k|-m] [-o] [-s delay] [-t] [-V]
3.主要參數
-b -k -m:分別以字節(KB、MB)為單位顯示內存使用情況。
-s delay:顯示每隔多少秒數來顯示一次內存使用情況。
-t:顯示內存總和列。
-o:不顯示緩沖區調節列。
4.應用實例
free命令是用來查看內存使用情況的主要命令。和top命令相比,它的優點是使用簡單,并且只占用很少的系統資源。通過-S參數可以使用free命令不間斷地監視有多少內存在使用,這樣可以把它當作一個方便實時監控器。
#free -b -s5
使用這個命令后終端會連續不斷地報告內存使用情況(以字節為單位),每5秒更新一次。

Android系統在超級終端下必會的命令大全(六)

kill
1.作用
kill命令用來中止一個進程。
2.格式
kill [ -s signal | -p ] [ -a ] pid …
kill -l [ signal ]
3.參數
-s:指定發送的信號。
-p:模擬發送信號。
-l:指定信號的名稱列表。
pid:要中止進程的ID號。
Signal:表示信號。
4.說明
進程是Linux系統中一個非常重要的概念。Linux是一個多任務的操作系統,系統上經常同時運行著多個進程。我們不關心這些進程究竟是如何分配的,或者是內核如何管理分配時間片的,所關心的是如何去控制這些進程,讓它們能夠很好地為用戶服務。
Linux
操作系統包括三種不同類型的進程,每種進程都有自己的特點和屬性。交互進程是由一個Shell啟動的進程。交互進程既可以在前臺運行,也可以在后臺運行。
批處理進程和終端沒有聯系,是一個進程序列。監控進程(也稱系統守護進程)時Linux系統啟動時啟動的進程,并在后臺運行。例如,httpd是著名的
Apache服務器的監控進程。
kill命令的工作原理是,向Linux系統的內核發送一個系統操作信號
和某個程序的進程標識號,然后系統內核就可以對進程標識號指定的進程進行操作。比如在top命令中,我們看到系統運行許多進程,有時就需要使用kill中
止某些進程來提高系統資源。在講解安裝和登陸命令時,曾提到系統多個虛擬控制臺的作用是當一個程序出錯造成系統死鎖時,可以切換到其它虛擬控制臺工作關閉
這個程序。此時使用的命令就是kill,因為kill是大多數Shell內部命令可以直接調用的。
5.應用實例
(1)強行中止(經常使用殺掉)一個進程標識號為324的進程:
#kill -9 324
(2)解除Linux系統的死鎖
在Linux
中有時會發生這樣一種情況:一個程序崩潰,并且處于死鎖的狀態。此時一般不用重新啟動計算機,只需要中止(或者說是關閉)這個有問題的程序即可。當
kill處于X-Window界面時,主要的程序(除了崩潰的程序之外)一般都已經正常啟動了。此時打開一個終端,在那里中止有問題的程序。比如,如果
Mozilla瀏覽器程序出現了鎖死的情況,可以使用kill命令來中止所有包含有Mozolla瀏覽器的程序。首先用top命令查處該程序的PID,然
后使用kill命令停止這個程序:
#kill -SIGKILL XXX
其中,XXX是包含有Mozolla瀏覽器的程序的進程標識號。
(3)使用命令回收內存
我們知道內存對于系統是非常重要的,回收內存可以提高系統資源。kill命令可以及時地中止一些“越軌”的程序或很長時間沒有相應的程序。例如,使用top命令發現一個無用 (Zombie) 的進程,此時可以使用下面命令:
#kill -9 XXX
其中,XXX是無用的進程標識號。
然后使用下面命令:
#free
此時會發現可用內存容量增加了。
(4)killall命令
Linux下還提供了一個killall命令,可以直接使用進程的名字而不是進程標識號,例如:
# killall -HUP inetd
四、網絡操作命令
ifconfig
1.作用
ifconfig用于查看和更改網絡接口的地址和參數,包括IP地址、網絡掩碼、廣播地址,使用權限是超級用戶。
2.格式
ifconfig -interface [options] address
3.主要參數
-interface:指定的網絡接口名,如eth0和eth1。
up:激活指定的網絡接口卡。
down:關閉指定的網絡接口。
broadcast address:設置接口的廣播地址。
pointopoint:啟用點對點方式。
address:設置指定接口設備的IP地址。
netmask address:設置接口的子網掩碼。
4.應用說明
ifconfig是用來設置和配置網卡的命令行工具。為了手工配置網絡,這是一個必須掌握的命令。使用該命令的好處是無須重新啟動機器。要賦給eth0接口IP地址207.164.186.2,并且馬上激活它,使用下面命令:
#fconfig eth0 210.34.6.89 netmask 255.255.255.128 broadcast 210.34.6.127

命令的作用是設置網卡eth0的IP地址、網絡掩碼和網絡的本地廣播地址。若運行不帶任何參數的ifconfig命令,這個命令將顯示機器所有激活接口的
信息。帶有“-a”參數的命令則顯示所有接口的信息,包括沒有激活的接口。注意,用ifconfig命令配置的網絡設備參數,機器重新啟動以后將會丟失。
如果要暫停某個網絡接口的工作,可以使用down參數:
#ifconfig eth0 down
ip
1.作用
ip是iproute2軟件包里面的一個強大的網絡配置工具,它能夠替代一些傳統的網絡管理工具,例如ifconfig、route等,使用權限為超級用戶。幾乎所有的Linux發行版本都支持該命令。
2.格式
ip [OPTIONS] OBJECT [COMMAND [ARGUMENTS]]
3.主要參數
OPTIONS是修改ip行為或改變其輸出的選項。所有的選項都是以-字符開頭,分為長、短兩種形式。目前,ip支持如表1所示選項。
OBJECT是要管理者獲取信息的對象。目前ip認識的對象見表2所示。
表1 ip支持的選項
-V,-Version 打印ip的版本并退出。
-s,-stats,-statistics 輸出更為詳盡的信息。如果這個選項出現兩次或多次,則輸出的信息將更為詳盡。
-f,-family 這個選項后面接協議種類,包括inet、inet6或link,強調使用的協議種類。如果沒有足夠的信息告訴ip使用的協議種類,ip就會使用默認值inet或any。link比較特殊,它表示不涉及任何網絡協議。
-4 是-family inet的簡寫。
-6 是-family inet6的簡寫。
-0 是-family link的簡寫。
-o,-oneline 對每行記錄都使用單行輸出,回行用字符代替。如果需要使用wc、grep等工具處理ip的輸出,則會用到這個選項。
-r,-resolve 查詢域名解析系統,用獲得的主機名代替主機IP地址
COMMAND
設置針對指定對象執行的操作,它和對象的類型有關。一般情況下,ip支持對象的增加(add)、刪除(delete)和展示(show或list)。有些
對象不支持這些操作,或者有其它的一些命令。對于所有的對象,用戶可以使用help命令獲得幫助。這個命令會列出這個對象支持的命令和參數的語法。如果沒
有指定對象的操作命令,ip會使用默認的命令。一般情況下,默認命令是list,如果對象不能列出,就會執行help命令。
ARGUMENTS
是命令的一些參數,它們倚賴于對象和命令。ip支持兩種類型的參數:flag和parameter。flag由一個關鍵詞組成;parameter由一個
關鍵詞加一個數值組成。為了方便,每個命令都有一個可以忽略的默認參數。例如,參數dev是ip link命令的默認參數,因此ip link ls
eth0等于ip link ls dev eth0。我們將在后面的詳細介紹每個命令的使用,命令的默認參數將使用default標出。
4.應用實例
添加IP地址192.168.2.2/24到eth0網卡上:
#ip addr add 192.168.1.1/24 dev eth0
丟棄源地址屬于192.168.2.0/24網絡的所有數據報:
#ip rule add from 192.168.2.0/24 prio 32777 reject
ping
1.作用
ping檢測主機網絡接口狀態,使用權限是所有用戶。
2.格式
ping [-dfnqrRv][-c][-i][-I][-l][-p][-s][-t] IP地址
3.主要參數
-d:使用Socket的SO_DEBUG功能。
-c:設置完成要求回應的次數。
-f:極限檢測。
-i:指定收發信息的間隔秒數。
-I:網絡界面使用指定的網絡界面送出數據包。
-l:前置載入,設置在送出要求信息之前,先行發出的數據包。
-n:只輸出數值。
-p:設置填滿數據包的范本樣式。
-q:不顯示指令執行過程,開頭和結尾的相關信息除外。
-r:忽略普通的Routing Table,直接將數據包送到遠端主機上。
-R:記錄路由過程。
-s:設置數據包的大小。
-t:設置存活數值TTL的大小。
-v:詳細顯示指令的執行過程。
ping
命令是使用最多的網絡指令,通常我們使用它檢測網絡是否連通,它使用ICMP協議。但是有時會有這樣的情況,我們可以瀏覽器查看一個網頁,但是卻無法
ping通,這是因為一些網站處于安全考慮安裝了防火墻。另外,也可以在自己計算機上試一試,通過下面的方法使系統對ping沒有反應:
# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

Android系統在超級終端下必會的命令大全(七)

netstat
1.作用
檢查整個Linux網絡狀態。
2.格式
netstat [-acCeFghilMnNoprstuvVwx][-A][--ip]
3.主要參數
-a–all:顯示所有連線中的Socket。
-A:列出該網絡類型連線中的IP相關地址和網絡類型。
-c–continuous:持續列出網絡狀態。
-C–cache:顯示路由器配置的快取信息。
-e–extend:顯示網絡其它相關信息。
-F–fib:顯示FIB。
-g–groups:顯示多重廣播功能群組組員名單。
-h–help:在線幫助。
-i–interfaces:顯示網絡界面信息表單。
-l–listening:顯示監控中的服務器的Socket。
-M–masquerade:顯示偽裝的網絡連線。
-n–numeric:直接使用IP地址,而不通過域名服務器。
-N–netlink–symbolic:顯示網絡硬件外圍設備的符號連接名稱。
-o–timers:顯示計時器。
-p–programs:顯示正在使用Socket的程序識別碼和程序名稱。
-r–route:顯示Routing Table。
-s–statistice:顯示網絡工作信息統計表。
-t–tcp:顯示TCP傳輸協議的連線狀況。
-u–udp:顯示UDP傳輸協議的連線狀況。
-v–verbose:顯示指令執行過程。
-V–version:顯示版本信息。
-w–raw:顯示RAW傳輸協議的連線狀況。
-x–unix:和指定“-A unix”參數相同。
–ip–inet:和指定“-A inet”參數相同。
4.應用實例
netstat
主要用于Linux察看自身的網絡狀況,如開啟的端口、在為哪些用戶服務,以及服務的狀態等。此外,它還顯示系統路由表、網絡接口狀態等。可以說,它是一
個綜合性的網絡狀態的察看工具。在默認情況下,netstat只顯示已建立連接的端口。如果要顯示處于監聽狀態的所有端口,使用-a參數即可:
#netstat -a
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:32768 *:* LISTEN
tcp 0 0 *:32769 *:* LISTEN
tcp 0 0 *:nfs *:* LISTEN
tcp 0 0 *:32770 *:* LISTEN
tcp 0 0 *:868 *:* LISTEN
tcp 0 0 *:617 *:* LISTEN
tcp 0 0 *:mysql *:* LISTEN
tcp 0 0 *:netbios-ssn *:* LISTEN
tcp 0 0 *:sunrpc *:* LISTEN
tcp 0 0 *:10000 *:* LISTEN
tcp 0 0 *:http *:* LISTEN
……
上面顯示出,這臺主機同時提供HTTP、FTP、NFS、MySQL等服務。
telnet
1.作用
telnet表示開啟終端機階段作業,并登入遠端主機。telnet是一個Linux命令,同時也是一個協議(遠程登陸協議)。
2.格式
telnet [-8acdEfFKLrx][-b][-e][-k][-l][-n][-S][-X][主機名稱IP地址]
3.主要參數
-8:允許使用8位字符資料,包括輸入與輸出。
-a:嘗試自動登入遠端系統。
-b:使用別名指定遠端主機名稱。
-c:不讀取用戶專屬目錄里的.telnetrc文件。
-d:啟動排錯模式。
-e:設置脫離字符。
-E:濾除脫離字符。
-f:此參數的效果和指定“-F”參數相同。
-F:使用Kerberos V5認證時,加上此參數可把本地主機的認證數據上傳到遠端主機。
-k:使用Kerberos認證時,加上此參數讓遠端主機采用指定的領域名,而非該主機的域名。
-K:不自動登入遠端主機。
-l:指定要登入遠端主機的用戶名稱。
-L:允許輸出8位字符資料。
-n:指定文件記錄相關信息。
-r:使用類似rlogin指令的用戶界面。
-S:服務類型,設置telnet連線所需的IP TOS信息。
-x:假設主機有支持數據加密的功能,就使用它。
-X:關閉指定的認證形態。
4.應用說明

戶使用telnet命令可以進行遠程登錄,并在遠程計算機之間進行通信。用戶通過網絡在遠程計算機上登錄,就像登錄到本地機上執行命令一樣。為了通過
telnet登錄到遠程計算機上,必須知道遠程機上的合法用戶名和口令。雖然有些系統確實為遠程用戶提供登錄功能,但出于對安全的考慮,要限制來賓的操作
權限,因此,這種情況下能使用的功能是很少的。
telnet只為普通終端提供終端仿真,而不支持X-
Window等圖形環境。當允許遠程用戶登錄時,系統通常把這些用戶放在一個受限制的Shell中,以防系統被懷有惡意的或不小心的用戶破壞。用戶還可以
使用telnet從遠程站點登錄到自己的計算機上,檢查電子郵件、編輯文件和運行程序,就像在本地登錄一樣。
route
1.作用
route表示手工產生、修改和查看路由表。
2.格式
#route [-add][-net|-host] targetaddress [-netmask Nm][dev]If]
#route [-delete][-net|-host] targetaddress [gw Gw] [-netmask Nm] [dev]If]
3.主要參數
-add:增加路由。
-delete:刪除路由。
-net:路由到達的是一個網絡,而不是一臺主機。
-host:路由到達的是一臺主機。
-netmask Nm:指定路由的子網掩碼。
gw:指定路由的網關。
[dev]If:強迫路由鏈指定接口。
4.應用實例
route命令是用來查看和設置Linux系統的路由信息,以實現與其它網絡的通信。要實現兩個不同的子網之間的通信,需要一臺連接兩個網絡的路由器,或者同時位于兩個網絡的網關來實現。
在Linux系統中,設置路由通常是為了解決以下問題:該Linux系統在一個局域網中,局域網中有一個網關,能夠讓機器訪問Internet,那么就需要將這臺機器的IP地址設置為Linux機器的默認路由。使用下面命令可以增加一個默認路由:
route add 0.0.0.0 192.168.1.1

Android系統在超級終端下必會的命令大全(八)

五、系統安全相關命令
su
1.作用
su的作用是變更為其它使用者的身份,超級用戶除外,需要鍵入該使用者的密碼。
2.格式
su [選項]… [-] [USER [ARG]…]
3.主要參數
-f , –fast:不必讀啟動文件(如 csh.cshrc 等),僅用于csh或tcsh兩種Shell。
-l , –login:加了這個參數之后,就好像是重新登陸為該使用者一樣,大部分環境變量(例如HOME、SHELL和USER等)都是以該使用者(USER)為主,并且工作目錄也會改變。如果沒有指定USER,缺省情況是root。
-m, -p ,–preserve-environment:執行su時不改變環境變數。
-c command:變更賬號為USER的使用者,并執行指令(command)后再變回原來使用者。
USER:欲變更的使用者賬號,ARG傳入新的Shell參數。
4.應用實例
變更賬號為超級用戶,并在執行df命令后還原使用者。 su -c df root
umask
1.作用
umask設置用戶文件和目錄的文件創建缺省屏蔽值,若將此命令放入profile文件,就可控制該用戶后續所建文件的存取許可。它告訴系統在創建文件時不給誰存取許可。使用權限是所有用戶。
2.格式
umask [-p] [-S] [mode]
3.參數
-S:確定當前的umask設置。
-p:修改umask 設置。
[mode]:修改數值。
4.說明
傳統Unix的umask值是022,這樣就可以防止同屬于該組的其它用戶及別的組的用戶修改該用戶的文件。既然每個用戶都擁有并屬于一個自己的私有組,那么這種“組保護模式”就不在需要了。嚴密的權限設定構成了Linux安全的基礎,在權限上犯錯誤是致命的。需要注意的是,umask命令用來設置進程所創建的文件的讀寫權限,最保險的值是0077,即關閉創建文件的進程以外的所有進程的讀寫權限,表示為-rw——-。在
~/.bash_profile中,加上一行命令umask 0077可以保證每次啟動Shell后, 進程的umask權限都可以被正確設定。
5.應用實例
umask -S
u=rwx,g=rx,o=rx
umask -p 177
umask -S
u=rw,g=,o=
上述5行命令,首先顯示當前狀態,然后把umask值改為177,結果只有文件所有者具有讀寫文件的權限,其它用戶不能訪問該文件。這顯然是一種非常安全的設置。
chgrp
1.作用
chgrp表示修改一個或多個文件或目錄所屬的組。使用權限是超級用戶。
2.格式
chgrp [選項]… 組 文件…

chgrp [選項]… –reference=參考文件 文件…
將每個的所屬組設定為。
3.參數
-c, –changes :像 –verbose,但只在有更改時才顯示結果。
–dereference:會影響符號鏈接所指示的對象,而非符號鏈接本身。
-h, –no-dereference:會影響符號鏈接本身,而非符號鏈接所指示的目的地(當系統支持更改符號鏈接的所有者,此選項才有效)。
-f, –silent, –quiet:去除大部分的錯誤信息。
–reference=參考文件:使用的所屬組,而非指定的。
-R, –recursive:遞歸處理所有的文件及子目錄。
-v, –verbose:處理任何文件都會顯示信息。
4.應用說明
該命令改變指定指定文件所屬的用戶組。其中group可以是用戶組ID,也可以是/etc/group文件中用戶組的組名。文件名是以空格分開的要改變屬組的文件列表,支持通配符。如果用戶不是該文件的屬主或超級用戶,則不能改變該文件的組。
5.應用實例
改變/opt/local /book/及其子目錄下的所有文件的屬組為book,命令如下:
$ chgrp – R book /opt/local /book
chmod
1.作用
chmod命令是非常重要的,用于改變文件或目錄的訪問權限,用戶可以用它控制文件或目錄的訪問權限,使用權限是超級用戶。
2.格式
chmod命令有兩種用法。一種是包含字母和操作符表達式的字符設定法(相對權限設定);另一種是包含數字的數字設定法(絕對權限設定)。
(1)字符設定法
chmod [who] [+ | - | =] [mode] 文件名
◆操作對象who可以是下述字母中的任一個或它們的組合
u:表示用戶,即文件或目錄的所有者。
g:表示同組用戶,即與文件屬主有相同組ID的所有用戶。
o:表示其它用戶。
a:表示所有用戶,它是系統默認值。
◆操作符號
+:添加某個權限。
-:取消某個權限。
=:賦予給定權限,并取消其它所有權限(如果有的話)。
◆設置mode的權限可用下述字母的任意組合
r:可讀。
w:可寫。
x:可執行。
X:只有目標文件對某些用戶是可執行的或該目標文件是目錄時才追加x屬性。
s:文件執行時把進程的屬主或組ID置為該文件的文件屬主。方式“u+s”設置文件的用戶ID位,“g+s”設置組ID位。
t:保存程序的文本到交換設備上。
u:與文件屬主擁有一樣的權限。
g:與和文件屬主同組的用戶擁有一樣的權限。
o:與其它用戶擁有一樣的權限。
文件名:以空格分開的要改變權限的文件列表,支持通配符。
一個命令行中可以給出多個權限方式,其間用逗號隔開。
(2) 數字設定法
數字設定法的一般形式為: chmod [mode] 文件名
數字屬性的格式應為3個0到7的八進制數,其順序是(u)(g)(o)文件名,以空格分開的要改變權限的文件列表,支持通配符。
數字表示的權限的含義如下:0001為所有者的執行權限;0002為所有者的寫權限;0004為所有者的讀權限;0010為組的執行權限;0020為組的寫
權限;0040為組的讀權限;0100為其他人的執行權限;0200為其他人的寫權限;0400為其他人的讀權限;1000為粘貼位置位;2000表示假
如這個文件是可執行文件,則為組ID為位置位,否則其中文件鎖定位置位;4000表示假如這個文件是可執行文件,則為用戶ID為位置位。
3.實例
如果一個系統管理員寫了一個表格(tem)讓所有用戶填寫,那么必須授權用戶對這個文件有讀寫權限,可以使用命令:#chmod 666 tem
上面代碼中,這個666數字是如何計算出來的呢?0002為所有者的寫權限,0004為所有者的讀權限,0020為組的寫權限,0040為組的讀權限,
0200為其他人的寫權限,0400為其他人的讀權限,這6個數字相加就是666(注以上數字都是八進制數),結果見圖1所示。
圖1 用chmod數字方法設定文件權限
從圖1可以看出,tem文件的權限是-rw-rw-rw-,即用戶對這個文件有讀寫權限。
如果用字符權限設定使用下面命令:
#chmod a =wx tem

Android系統在超級終端下必會的命令大全(九)

chown
1.作用
更改一個或多個文件或目錄的屬主和屬組。使用權限是超級用戶。
2.格式
chown [選項] 用戶或組 文件
3.主要參數
–dereference:受影響的是符號鏈接所指示的對象,而非符號鏈接本身。
-h, –no-dereference:會影響符號鏈接本身,而非符號鏈接所指示的目的地(當系統支持更改符號鏈接的所有者,此選項才有效)。
–from=目前所有者:目前組只當每個文件的所有者和組符合選項所指定的,才會更改所有者和組。其中一個可以省略,這已省略的屬性就不需要符合原有的屬性。
-f, –silent, –quiet:去除大部分的錯誤信息。
-R, –recursive:遞歸處理所有的文件及子目錄。
-v, –verbose:處理任何文件都會顯示信息。
4.說明
chown 將指定文件的擁有者改為指定的用戶或組,用戶可以是用戶名或用戶ID;組可以是組名或組ID;文件是以空格分開的要改變權限的文件列表,支持通配符。系統管理員經常使用chown命令,在將文件拷貝到另一個用戶的目錄下以后,讓用戶擁有使用該文件的權限。
5.應用實例
1.把文件shiyan.c的所有者改為wan
$ chown wan shiyan.c
2.把目錄/hi及其下的所有文件和子目錄的屬主改成wan,屬組改成users。
$ chown – R wan.users /hi
chattr
1.作用
修改ext2和ext3文件系統屬性(attribute),使用權限超級用戶。
2.格式
chattr [-RV] [-+=AacDdijsSu] [-v version] 文件或目錄
3.主要參數
-R:遞歸處理所有的文件及子目錄。
-V:詳細顯示修改內容,并打印輸出。
-:失效屬性。
+:激活屬性。
= :指定屬性。
A:Atime,告訴系統不要修改對這個文件的最后訪問時間。
S:Sync,一旦應用程序對這個文件執行了寫操作,使系統立刻把修改的結果寫到磁盤。
a:Append Only,系統只允許在這個文件之后追加數據,不允許任何進程覆蓋或截斷這個文件。如果目錄具有這個屬性,系統將只允許在這個目錄下建立和修改文件,而不允許刪除任何文件。
i:Immutable,系統不允許對這個文件進行任何的修改。如果目錄具有這個屬性,那么任何的進程只能修改目錄之下的文件,不允許建立和刪除文件。
D:檢查壓縮文件中的錯誤。
d:No dump,在進行文件系統備份時,dump程序將忽略這個文件。
C:Compress,系統以透明的方式壓縮這個文件。從這個文件讀取時,返回的是解壓之后的數據;而向這個文件中寫入數據時,數據首先被壓縮之后才寫入磁盤。
s:Secure Delete,讓系統在刪除這個文件時,使用0填充文件所在的區域。
u:Undelete,當一個應用程序請求刪除這個文件,系統會保留其數據塊以便以后能夠恢復刪除這個文件。
4.說明
chattr
命令的作用很大,其中一些功能是由Linux內核版本來支持的,如果Linux內核版本低于2.2,那么許多功能不能實現。同樣-D檢查壓縮文件中的錯誤
的功能,需要2.5.19以上內核才能支持。另外,通過chattr命令修改屬性能夠提高系統的安全性,但是它并不適合所有的目錄。chattr命令不能
保護/、/dev、/tmp、/var目錄。
5.應用實例
1.恢復/root目錄,即子目錄的所有文件
# chattr -R +u/root
2.用chattr命令防止系統中某個關鍵文件被修改
在Linux下,有些配置文件(passwd ,fatab)是不允許任何人修改的,為了防止被誤刪除或修改,可以設定該文件的“不可修改位(immutable)”,命令如下:
# chattr +i /etc/fstab
ps
1.作用
ps顯示瞬間進程 (process) 的動態,使用權限是所有使用者。
2.格式
ps [options] [--help]
3.主要參數
ps的參數非常多, 此出僅列出幾個常用的參數。
-A:列出所有的進程。
-l:顯示長列表。
-m:顯示內存信息。
-w:顯示加寬可以顯示較多的信息。
-e:顯示所有進程。
a:顯示終端上的所有進程,包括其它用戶的進程。
-au:顯示較詳細的信息。
-aux:顯示所有包含其它使用者的進程。
4.說明

對進程進行監測和控制,首先要了解當前進程的情況,也就是需要查看當前進程。ps命令就是最基本、也是非常強大的進程查看命令。使用該命令可以確定有哪些
進程正在運行、運行的狀態、進程是否結束、進程有沒有僵尸、哪些進程占用了過多的資源等。圖2給出了ps-aux命令詳解。大部分信息都可以通過執行該命
令得到。最常用的三個參數是u、a、x。下面就結合這三個參數詳細說明ps命令的作用:ps aux
圖2 ps-aux命令詳解
圖2第2行代碼中,USER表示進程擁有者;PID表示進程標示符;%CPU表示占用的CPU使用率;%MEM占用的物理內存使用率;VSZ表示占用的虛擬內存大小;RSS為進程占用的物理內存值;TTY為終端的次要裝置號碼。
STAT
表示進程的狀態,其中D為不可中斷的靜止(I/O動作);R正在執行中;S靜止狀態;T暫停執行;Z不存在,但暫時無法消除;W沒有足夠的內存分頁可分
配;高優先序的進程;N低優先序的進程;L有內存分頁分配并鎖在內存體內 (實時系統或
I/O)。START為進程開始時間。TIME為執行的時間。COMMAND是所執行的指令。
4.應用實例
在進行系統維護時,經常會出現內存使用量驚人,而又不知道是哪一個進程占用了大量進程的情況。除了可以使用top命令查看內存使用情況之外,還可以使用下面的命令:
ps aux | sort +5n

Android系統在超級終端下必會的命令大全(十)

六、其他命令
tar
1.作用
tar命令是Unix/Linux系統中備份文件的可靠方法,幾乎可以工作于任何環境中,它的使用權限是所有用戶。
2.格式
tar [主選項+輔選項] 文件或目錄
3.主要參數
使用該命令時,主選項是必須要有的,它告訴tar要做什么事情,輔選項是輔助使用的,可以選用。
主選項:
-c 創建新的檔案文件。如果用戶想備份一個目錄或是一些文件,就要選擇這個選項。
-r 把要存檔的文件追加到檔案文件的未尾。例如用戶已經做好備份文件,又發現還有一個目錄或是一些文件忘記備份了,這時可以使用該選項,將忘記的目錄或文件追加到備份文件中。
-t 列出檔案文件的內容,查看已經備份了哪些文件。
-u 更新文件。就是說,用新增的文件取代原備份文件,如果在備份文件中找不到要更新的文件,則把它追加到備份文件的最后。
-x 從檔案文件中釋放文件。
輔助選項:
-b 該選項是為磁帶機設定的,其后跟一數字,用來說明區塊的大小,系統預設值為20(20×512 bytes)。
-f 使用檔案文件或設備,這個選項通常是必選的。
-k 保存已經存在的文件。例如把某個文件還原,在還原的過程中遇到相同的文件,不會進行覆蓋。
-m 在還原文件時,把所有文件的修改時間設定為現在。
-M 創建多卷的檔案文件,以便在幾個磁盤中存放。
-v 詳細報告tar處理的文件信息。如無此選項,tar不報告文件信息。
-w 每一步都要求確認。
-z 用gzip來壓縮/解壓縮文件,加上該選項后可以將檔案文件進行壓縮,但還原時也一定要使用該選項進行解壓縮。
4.應用說明
tar 是Tape Archive(磁帶歸檔)的縮寫,最初設計用于將文件打包到磁帶上。如果下載過Linux的源代碼,或許已經碰到過tar文件
請注意,不要忘了Linux是區分大小寫的。例如,tar命令應該總是以小寫的形式執行。命令行開關可以是大寫、小寫或大小寫的混合。例如,-t和-T執行不同的功能。文件或目錄名稱可以混合使用大小寫,而且就像命令和命令行開關一樣是區分大小寫的。
5.應用實例
tar是一個命令行的工具,沒有圖形界面。使用Konsole打開一個終端窗口,接下來是一個簡單的備份命令(在/temp目錄中創建一個back.tar的文件,/usr目錄中所有內容都包含在其中。):
$tar cvf – /usr > /temp/back.tar

外,tar命令支持前面第三講中講過的crontab命令,可以用crontab工具設置成基于時間的有規律地運行。例如,每晚6點把/usr目錄備份到
hda—第一個IDE接口的主驅動器 (總是位于第一個硬盤)中,只要將下面語句添加到root的crontab中即可:
$00 06 * * * tar cvf /dev/hda1/usrfiles.tar – /usr
一般情況下,以下這些目錄是需要備份的:
◆/etc 包含所有核心配置文件,其中包括網絡配置、系統名稱、防火墻規則、用戶、組,以及其它全局系統項。
◆ /var 包含系統守護進程(服務)所使用的信息,包括DNS配置、DHCP租期、郵件緩沖文件、HTTP服務器文件、dB2實例配置等。
◆/home 包含所有默認用戶的主目錄,包括個人設置、已下載的文件和用戶不希望失去的其它信息。
◆/root 根(root)用戶的主目錄。
◆/opt 是安裝許多非系統文件的地方。IBM軟件就安裝在這里。OpenOffice、JDK和其它軟件在默認情況下也安裝在這里。
有些目錄是可以不備份的:
◆ /proc 應該永遠不要備份這個目錄。它不是一個真實的文件系統,而是運行內核和環境的虛擬化視圖,包括諸如/proc/kcore這樣的文件,這個文件是整個運行內存的虛擬視圖。備份這些文件只是在浪費資源。
◆/dev 包含硬件設備的文件表示。如果計劃還原到一個空白的系統,就可以備份/dev。然而,如果計劃還原到一個已安裝的Linux 系統,那么備份/dev是沒有必要的。
unzip
1.作用
unzip
命令位于/usr/bin目錄中,它們和MS DOS下的pkzip、pkunzip及MS
Windows中的Winzip軟件功能一樣,將文件壓縮成.zip文件,以節省硬盤空間,當需要的時候再將壓縮文件用unzip命令解開。該命令使用權
限是所有用戶。
2.格式
unzip [-cflptuvz][-agCjLMnoqsVX][-P ][.zip文件][文件][-d ][-x ]
3.主要參數
-c:將解壓縮的結果顯示到屏幕上,并對字符做適當的轉換。
-f:更新現有的文件。
-l:顯示壓縮文件內所包含的文件。
-p:與-c參數類似,會將解壓縮的結果顯示到屏幕上,但不會執行任何的轉換。
-t:檢查壓縮文件是否正確。
-u:與-f參數類似,但是除了更新現有的文件外,也會將壓縮文件中的其它文件解壓縮到目錄中。
-v:執行是時顯示詳細的信息。
-z:僅顯示壓縮文件的備注文字。
-a:對文本文件進行必要的字符轉換。
-b:不要對文本文件進行字符轉換。
-C:壓縮文件中的文件名稱區分大小寫。
-j:不處理壓縮文件中原有的目錄路徑。
-L:將壓縮文件中的全部文件名改為小寫。
-M:將輸出結果送到more程序處理。
-n:解壓縮時不要覆蓋原有的文件。
-o:不必先詢問用戶,unzip執行后覆蓋原有文件。
-P:使用zip的密碼選項。
-q:執行時不顯示任何信息。
-s:將文件名中的空白字符轉換為底線字符。
-V:保留VMS的文件版本信息。
-X:解壓縮時同時回存文件原來的UID/GID。
[.zip文件]:指定.zip壓縮文件。
[文件]:指定要處理.zip壓縮文件中的哪些文件。
-d:指定文件解壓縮后所要存儲的目錄。
-x:指定不要處理.zip壓縮文件中的哪些文件。
-Z unzip:-Z等于執行zipinfo指令。在Linux中,還提供了一個叫zipinfo的工具,能夠察看zip壓縮文件的詳細信息。
gunzip
1.作用
gunzip命令作用是解壓文件,使用權限是所有用戶。
2.格式
gunzip [-acfhlLnNqrtvV][-s ][文件...]
或者
gunzip [-acfhlLnNqrtvV][-s ][目錄]
3.主要參數
-a或–ascii:使用ASCII文字模式。
-c或–stdout或–to-stdout:把解壓后的文件輸出到標準輸出設備。
-f或-force:強行解開壓縮文件,不理會文件名稱或硬連接是否存在,以及該文件是否為符號連接。
-h或–help:在線幫助。
-l或–list:列出壓縮文件的相關信息。
-L或–license:顯示版本與版權信息。
-n或–no-name:解壓縮時,若壓縮文件內含有原來的文件名稱及時間戳記,則將其忽略不予處理。
-N或–name:解壓縮時,若壓縮文件內含有原來的文件名稱及時間戳記,則將其回存到解開的文件上。
-q或–quiet:不顯示警告信息。
-r或–recursive:遞歸處理,將指定目錄下的所有文件及子目錄一并處理。
-S或–suffix:更改壓縮字尾字符串。
-t或–test:測試壓縮文件是否正確無誤。
-v或–verbose:顯示指令執行過程。
-V或–version:顯示版本信息。
4.說明

gunzip是個使用廣泛的解壓縮程序,它用于解開被gzip壓縮過的文件,這些壓縮文件預設最后的擴展名為“.gz”。事實上,gunzip就是gzip的硬連接,因此不論是壓縮或解壓縮,都可通過gzip指令單獨完成。gunzip最新版本是1.3.3 。?


---------------------?
?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/457802.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/457802.shtml
英文地址,請注明出處:http://en.pswp.cn/news/457802.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

frame越過另一個frame_擁抱swoole(三)之用php實現一個混合服務器

混合服務器,就是可以同時支持http,websocket,tcp等的服務器,用swoole就是這么簡單,分分鐘,就可以愉快地搞物聯網開發了,啥都支持,我采用官方的例子,創建一個混合服務器&a…

Hibernate學習系列————注解一對多單向實例

2019獨角獸企業重金招聘Python工程師標準>>> 開發環境:MysqlEclipse 一對多單向的列子原理:一個班級,多個學生,學生端為多的一端,他們擁有一個外鍵指向相同的班級。 項目結構 需要的jar包 hibernate.cfg.xm…

Spring學習筆記--自動裝配Bean屬性

Spring提供了四種類型的自動裝配策略: byName – 把與Bean的屬性具有相同名字(或者ID)的其他Bean自動裝配到Bean的對應屬性中。byType – 把與Bean的屬性具有相同類型的其他Bean自動裝配到Bean的對應屬性中。constructor – 把與Bean的構造器入參具有相同類型的其他…

sudo apt-get nmap 報錯鎖占用

在Ubuntu中用apt-get命令安裝軟件是出現如下錯誤: 網上搜了一下原因,說是有另外一個程序在運行,導致鎖不可用,原因可能是賞析運行更新或安裝沒有正常完成。這是因為上次更新或者安裝沒有正常完成。 網上的兩種解決方法&#xff1…

python逐行讀取txt寫入excel_用python從符合一定格式的txt文檔中逐行讀取數據并按一定規則寫入excel(openpyxl支持Excel 2007 .xlsx格式)...

前幾天接到一個任務,從gerrit上通過ssh命令獲取一些commit相關的數據到文本文檔中,隨后將這些數據存入Excel中。數據格式如下圖所示觀察上圖可知,存在文本文檔中的數據符合一定的格式,通過python讀取、正則表達式處理并寫入Excel文…

筋斗云newcloud錯誤碼列表

響應碼信息備注440Ip Error客戶送IP錯誤441Callee Number Error被叫號碼位數錯誤(標準11位正確,錯誤加前綴0,或其他前綴)442Called Operator Error被叫運營商錯誤(支持移動,不支持聯通電信)443N…

Extjs 之 initComponent 和 constructor的區別(轉)

在創建自定義類時,先構造(constructor)后初始化(initComponent)。如:(在舊的Extjs 版本中使用 Ext.extend 實現擴展) Ext.define(Btn,{ extend:Ext.button.Button, init…

hive遍歷_從Hive中的stored as file_foramt看hive調優

一、行式數據庫和列式數據庫的對比1、存儲比較行式數據庫存儲在hdfs上式按行進行存儲的,一個block存儲一或多行數據。而列式數據庫在hdfs上則是按照列進行存儲,一個block可能有一列或多列數據。2、壓縮比較對于行式數據庫,必然按行壓縮&#…

oracle sql語句 從指定條數查詢

現有表A 查詢從第10行之后的數據 select a from ( select a, rownum r from A ) where r > 10 order by r; 實際工作中例子 select account,acct_name from ( select account, acct_name, rownum r from pmctl_nonsleep_acct ) where r > 10 order by

幫助孩子學會感恩_頁數204_出版日期2015.03_完整版PDF電子書下載

幫助孩子學會感恩_頁數204_出版日期2015.03_完整版PDF電子書下載 帶索引書簽目錄高清版_13813212 下載鏈接http://pan.baidu.com/s/1geEmUeZ 【作 者】(英)蒂姆惠特尼(TimWhitney)著【叢書名】陪孩子成長系列叢書【形態項】 204 …

xwpftablecell設置字體樣式_HTML的文字樣式

font 屬性可以用來作為 font-style, font-variant, font-weight, font-size, line-height 和 font-family 屬性的簡寫,或將元素的字體設置為系統字體。字體修改font-family 屬性:設置HTML頁面中的字體font-size 屬性:設置字體大小font-weight…

將中文標點符號替換成英文標點符號

/// 轉全角的函數(SBC case) /// ///任意字符串 /// 全角字符串 /// ///全角空格為12288,半角空格為32 ///其他字符半角(33-126)與全角(65281-65374)的對應關系是:均相差65248 ///public string ToSBC(string input) { //半角轉全角:char[] cinput.ToCh…

Centos6.5升級GCC

由于CentOS自帶的gcc實在是老掉牙了,所以決定升級一下gcc,下面介紹如何進行源碼編譯,升級gcc。 從GNU網站下載你想要的gcc版本,鏈接:ftp://ftp.gnu.org/gnu/gcc/,選擇合適的gcc版本,然后下載&am…

oracle sql語句 exists

exists 這個關鍵字只是個查詢條件 用來判斷后面跟的查詢語句是否查找到記錄 查找到為真 反之為假 例子 select * from ammst_corp a where account 999999999999999999 and exists ( select 1 from pmrgt_unit where unit_code a.open_unit ) 查找 9999999999999999…

python金字塔_高斯金字塔與拉普拉斯金字塔的原理與python構建

高斯金字塔和拉普拉斯金字塔【1】在圖像相關領域應用廣泛,尤其是圖像融合和圖像分割方面。本文從理論和opencv實現兩個方面對兩種金字塔進行了介紹,并給出了二者的視覺效果。1、高斯金字塔在計算機視覺與圖像處理相關任務中,經常需要使用同一…

mongodb在32位機的連接

Windows 32bit版本安裝Mongodb時,會發生的下面問題 2016-05-09T00:09:45.1240800 I STORAGE [initandlisten] exception in initAndListen: 28663 Cannot start server. The default storage engine wiredTiger is not available with this build of mongod. Pleas…

oracle sql 語句 start with ...... connect by prior .......

這個查詢條件可以理解為遞歸查詢 select up_unit_code from pmctl_nuit START WITH unit_code 1188899Q CONNECT BY PRIOR up_unit_code unit_code 語句理解: 首先根據條件 START WITH unit_code 查詢到 up_unit_code 顯示 然后 CONNECT BY P…

cnetos7安裝zabbix3.0.3安裝手冊

親測可用呀。學習好幾天 最好用的文檔詳見附件http://down.51cto.com/data/2251232轉載于:https://blog.51cto.com/11802086/1863554

python文件夾目錄_Python 操作文件、文件夾、目錄大全

#-*- coding: utf-8 -*-importosimportshutil#一. 路徑操作:判斷、獲取和刪除#1. 得到當前工作目錄,即當前Python腳本工作的目錄路徑: os.getcwd()#print: currentpath: f:\LearnPythoncurrentpath os.getcwd()print "currentpath:",currentpa…

LightOJ 1370 Bi-shoe and Phi-shoe(歐拉函數)

題意:題目給出一個歐拉函數值F(X),讓我們求>這個函數值的最小數N,使得F(N) > F(X); 分析:這個題目有兩種做法。第一種,暴力打出歐拉函數表,然后將它調整…