使用ls -l 命令可以查看當(dāng)前目錄下各個(gè)文件的權(quán)限 也可以用ll命令。\x0d\x0a例如:\x0d\x0abash: lsl: command not found\x0d\x0a[root@liuxiting Documents]# ll\x0d\x0atotal 56\x0d\x0alrwxrwxrwx 1 root root 4 2012-07-02 11:48 1 - 1.sh\x0d\x0a-rwxr-xr-x 1 root root 44 2012-06-20 14:01 1.sh\x0d\x0adrwxr-xr-x 2 root root 4096 2012-07-16 12:11 filetest
目前成都創(chuàng)新互聯(lián)公司已為1000多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、網(wǎng)站運(yùn)營、企業(yè)網(wǎng)站設(shè)計(jì)、土默特右旗網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
1、linux分區(qū)
--在linux里面所有的設(shè)備、任何東西,在linux看來都是文件。
--文件在它看來,有兩種形式:
第一種是字符型(鍵盤輸入、打印機(jī));
第二種是二進(jìn)制型(硬盤、光驅(qū)、U盤)
--linux中所有硬件
--手動(dòng)分區(qū)
--A、至少有兩個(gè)分區(qū)
/ 根分區(qū)
SWAP 交換分區(qū)(物理內(nèi)存大小的兩倍)
--B、個(gè)人桌面分區(qū)
/
/boot 128MB is enough
/usr
SWAP
/tmp(用于光盤刻錄)
2、linux目錄說明
--/dev/xxyN
--xx (分區(qū)所在設(shè)備類型:hd--IDE硬盤 sd--SCSI硬盤)
--y (標(biāo)明分區(qū)所在設(shè)備
例如:/dev/hda 第一個(gè)IDE硬盤 或 /dev/hdb 第二個(gè)IDE硬盤 或 /dev/sdb 第二個(gè)SCSI硬盤)
--N (數(shù)字代表分區(qū):1-4--主分區(qū)或擴(kuò)展分區(qū);邏輯分區(qū)從5開始!
例如:/dev/hda3 第一個(gè)IDE硬盤上的第三個(gè)主分區(qū)或擴(kuò)展分區(qū)
/dev/sdb6 第二個(gè)SCSI硬盤上的第二個(gè)邏輯分區(qū))
3、linux目錄結(jié)構(gòu)
/ 根目錄,最高級(jí)別
/bin 系統(tǒng)基本命令存放目錄(/usr/bin)
/boot linux的內(nèi)核及引導(dǎo)系統(tǒng)程序文件存放目錄(如:vmlinuz、initrd.img)
一般情況下,GRUB或LILO系統(tǒng)引導(dǎo)管理也位于這個(gè)目錄
/dev 設(shè)備文件存儲(chǔ)目錄,如聲卡、光驅(qū)...
/ect 存放系統(tǒng)設(shè)置文件(如用戶賬號(hào)密碼、服務(wù)器配置文件等)
/home 普通用戶家目錄,默認(rèn)存放目錄
/lib 庫文件存放目錄
/lost+found 在ext2或ext3文件系統(tǒng)中,當(dāng)系統(tǒng)以外崩潰或機(jī)器意外關(guān)機(jī),而產(chǎn)生一些文件碎片放在這里。
當(dāng)系統(tǒng)啟動(dòng)的過程中,fsck工具會(huì)檢查這里,并修復(fù)已經(jīng)損壞的文件系統(tǒng)。
有事喜用發(fā)生問題,有很多的文件被移到這個(gè)目錄中,可能會(huì)用手工的方式來修復(fù),或者移文件到原來的位置上。
/media 即插即用型存儲(chǔ)設(shè)備的掛載點(diǎn)自動(dòng)在這個(gè)目錄下創(chuàng)建。
如USB盤系統(tǒng)自動(dòng)掛在后,會(huì)在這個(gè)目錄下產(chǎn)生一個(gè)目錄;
類似cdrom的目錄
/mnt 存放掛載存儲(chǔ)設(shè)備的掛載目錄,如cdrom等目錄
/opt 表示可選的意思,有些軟件包也會(huì)被安裝在此,也就是自定義軟件包,
比如OpenOffice,或者一些我們自己編譯的軟件包,也可安裝此處。
/proc 操作系統(tǒng)運(yùn)行時(shí),進(jìn)程(正在運(yùn)行的程序)信息及內(nèi)核信息(比如CPU、硬盤分區(qū)、內(nèi)存信息等)存放在此。
/proc目錄是偽裝的文件系統(tǒng)proc的掛載目錄,proc并不是真正的文件系統(tǒng)
/root linux超級(jí)權(quán)限用戶root的家目錄
/sbin 大多是涉及系統(tǒng)管理的命令的存放,只有超級(jí)權(quán)限用戶root才可執(zhí)行命令存放,普通用戶無權(quán)限執(zhí)行此目錄下的命令
與 /usr/sbin; /usr/X11R6/sbin; usr/local/sbin 目錄相似
(sbin,只有root權(quán)限才能執(zhí)行)
/tmp 臨時(shí)文件目錄,有時(shí)用戶運(yùn)行程序的時(shí)候,會(huì)產(chǎn)生臨時(shí)文件。
/var/tmp目錄和此目錄相似
/usr 系統(tǒng)存放程序的目錄,如命令、幫助文件等。這個(gè)目錄下有很多的文件和目錄。
大部分Linux發(fā)行版提供的軟件包都安裝在此,涉及服務(wù)器的配置文件就安裝在/ect中。
/usr/share/fonts 字體目錄
/usr/share/man 或 /usr/share/doc 幫助目錄
/usr/bin 或 /usr/local/bin 或 /usr/X11R6/bin 普通用戶可執(zhí)行文件目錄
/usr/sbin 或 /usr/local/sbin 或 /usr/X11R6/sbin 超級(jí)權(quán)限用戶root可執(zhí)行命令存放目錄
/usr/include 程序頭文件存放目錄
/var (vary)此目錄經(jīng)常變動(dòng)
/var/log 用來存放系統(tǒng)日志
/var/www 用來定義Apache服務(wù)器站點(diǎn)存放
/var/lib 用來存放一些庫文件,如MySQL的,以及MySQL數(shù)據(jù)庫的存放地。
4、基本命令
--查看幫助 *** --help *** --?
--查看詳細(xì)幫助 man ***
--登錄 login
--退出窗口 exit
--關(guān)機(jī) shutdown
--重啟 reboot
--初始化 init (run level -/etc/inittab),0-6看第六部分的g
--進(jìn)入根目錄 cd /
--回上層目錄 cd ..
--相對(duì)路徑 cd dev
--絕對(duì)路徑 cd /dev
--查用戶名 whoami
--查當(dāng)前目錄 pwd
--列出當(dāng)前目錄內(nèi)容 ls
-l(樹詳細(xì)顯示目錄內(nèi)容)
-m(橫列顯示目錄內(nèi)容,是屏幕長度顯示)
-a(列出全部文件,包括隱藏文件)
-S(以文檔大小排序)
--創(chuàng)建目錄 mkdir dname
--刪除目錄 rmdir dname
rm -r *** -(遞歸刪除該目錄下所有內(nèi)容,詢問每個(gè)準(zhǔn)備刪除的文件)
rm -rf ***-(強(qiáng)制刪除該目錄下所有內(nèi)容,不詢問)
--創(chuàng)建空白文件 touch ***
(ps:從技術(shù)的角度來講,linux的文件后綴名沒有任何意義)
--復(fù)制 cp
cp -r **1 **2 (復(fù)制1到2中)
--移動(dòng) mv
mv -t **1 **2 (把2移動(dòng)到1中)
--編輯文本 vi [文件名]
--查看文本 cat 由第一行開始顯示文本內(nèi)容
tac 從最后一行顯示,可以看出 tac 是 cat 的倒著寫
more 一頁一頁的顯示文檔內(nèi)容
less 與 more 類似,可以往前翻頁
head 只看頭幾行
-N(數(shù)字,可根據(jù)行數(shù)顯示)
tail 只看后幾行
-N(數(shù)字,可根據(jù)行數(shù)顯示)
nl 顯示的時(shí)候,順序輸出行號(hào)
od 以二進(jìn)制位的方式讀取檔案內(nèi)容
--查找文本 find [路徑][查找類型][搜索文件名]
如查找rc.local find /etc -name *.local
--查找命令信息及其位置 whereis 命令
如 whereis ls
--查看環(huán)境變量 echo $SHELL
如 echo $PATH (分大小寫:分隔符是:,windows是echo %path%;)
--鏈接 ln
如 ln joe.txt a (硬鏈接,如同復(fù)制一個(gè)新文件,joe.txt刪除后,a還存在)
a是鏈接的名稱,a和joe.txt同步,然后a的內(nèi)容和joe.txt一樣
joe.txt改變,a也跟著變
如 ln -s joe.txt b (軟鏈接,如同創(chuàng)建一個(gè)快捷方式,joe.txt刪除后,b不存在)
--wc 統(tǒng)計(jì)指定文本文件的行數(shù)、字?jǐn)?shù)、字符數(shù)
--grep(很常用) 在指定的文本文件中查找指定的字符串
grep 字符串 文件名
--col 見管道..
--------------------
----信息顯示命令----
--------------------
--date 顯示和設(shè)置日期
--stat 顯示指定文件的相關(guān)信息
--who、w 顯示在線登錄用戶
--whoami 顯示用戶自己的身份
--id 顯示當(dāng)前用戶的id信息
--hostname 顯示主機(jī)名稱
--uname 顯示操作系統(tǒng)信息
--dmesg 顯示系統(tǒng)啟動(dòng)信息
--du 顯示指定的文件(目錄)已使用的磁盤空間
--df 顯示文件系統(tǒng)磁盤空間的使用情況
--free 顯示當(dāng)前內(nèi)存和交換空間的使用情況
--fdisk -l 顯示磁盤信息
--locale 顯示當(dāng)前語言環(huán)境
5、掛載點(diǎn)(mount 設(shè)備目錄 掛載目錄)
--訪問設(shè)備 (那設(shè)備當(dāng)成一個(gè)文件,和另外一個(gè)文件夾進(jìn)行綁定)
--例如掛載光驅(qū):步驟 [cd /mnt]---[mkdir cdr]---[mount /dev/cdrom /mnt/cdr]---[cd cdr]--OK!直接訪問光驅(qū)內(nèi)容
--卸載掛載設(shè)備(umount /dev/cdrom)--注意必須先退出掛載目錄,否則出現(xiàn)"device is busy"錯(cuò)誤.
6、startup-shutdown(linux啟動(dòng)流程)
--A、boot sequence(important) linux啟動(dòng)過程
a. load bios(hardware information)
b. read MBR's config to find out the OS
(MBR--Master Boot Record,硬盤第一個(gè)物理扇區(qū),柱面0、磁頭0、扇區(qū)1,包含主引導(dǎo)程序和硬盤分區(qū)表)
c. load the kernel of the OS
(加載為kernel核心的OS)
d. init process starts...
(啟動(dòng)linux第一個(gè)進(jìn)程init)
e. execute /etc/rc.d/sysinit
(執(zhí)行系統(tǒng)最重要的配置文件,后臺(tái)啟用進(jìn)程)
(rc.d--run command)
f. start other modules(stc/modules.conf)
(開啟各種模塊,如內(nèi)存管理模塊、硬盤管理模塊)
g. execute the run level scripts
(系統(tǒng)啟動(dòng)是分層次的,根據(jù)情況執(zhí)行,每個(gè)層次之間沒關(guān)系)
0 - 系統(tǒng)停機(jī)狀態(tài)
1 - 單用戶工作狀態(tài) root
2 - 多用戶狀態(tài)(沒有NFS)
3 - 多用戶狀態(tài)(有NFS)
NFS - Network File System 網(wǎng)絡(luò)文件系統(tǒng),聯(lián)網(wǎng)系統(tǒng)
4 - 系統(tǒng)未使用,留給用戶
5 - 圖形界面
6 - 系統(tǒng)正常關(guān)閉并重新啟動(dòng)
如:cd /etc -- 有rc0.d、rc1.d、rc2.d、rc3.d、rc4.d、rc5.d等多個(gè)文件夾,保存著各個(gè)層次執(zhí)行的進(jìn)程文件
h. execute /etc/rc.d/rc.local (重要)
(保存其它進(jìn)程腳本,如tomcat自動(dòng)啟動(dòng),要修改此配置文件)
i. execute /bin/login
(登錄界面)
j. shell started...
7、vi 文本編輯器
--兩種模式:命令模式 編輯模式
--vi [文件名]
(切換到編輯模式)
a append-光標(biāo)后添加
i insert-光標(biāo)前插入
o open-另起一行編輯
esc (切換回命令模式)
:w 存盤
:wq 存盤退出
:q 退出
:q! 不存盤退出
dd 刪除其中一行
dw 刪除一個(gè)單詞
(sudo gedit 文本 常用linux下的文本編輯器,比vi好用)
8、用戶設(shè)置
--切換用戶(switch user) su username
小技巧:直接exit切換
--添加用戶 useradd username [-g] [組名](分配到某個(gè)用戶組)
(創(chuàng)建后會(huì)自動(dòng)在/home目錄下創(chuàng)建該新用戶的文件夾,如/home/username)
--設(shè)置密碼 passwd username
--cd /etc
--查看用戶信息 more password
如新增的用戶信息:username:x:500:500::/home/username:/bin/bash
第一個(gè)數(shù)字,代表用戶組,當(dāng)添加用戶沒有指定用戶組時(shí),系統(tǒng)會(huì)創(chuàng)建一個(gè)和用戶ID一樣的組ID;
第二個(gè)數(shù)字:用戶ID號(hào);
用戶的目錄是/home/username;
用戶的SHELL是/bin/bash
(命令---SHELL[解釋命令]---kenrel內(nèi)核)
SHELL有多種類型,如csh、bash(常用)、bsh、ksh、sh(最原始)
--添加用戶組 groupadd groupname
--查看用戶組信息 more group
--刪除用戶組 groupdel groupname
--修改用戶 usermod [-g] [組名] [用戶名]
--刪除用戶 userdel username
然后把/home的文件夾刪除了 rm -rf 文件夾
9、權(quán)限file privilege
--linux把文件的權(quán)限分成四種:r:read w:write x:execute -:none
如:-rw-r--r--
lrwxrwxrwx
drwxr-xr-x
drwxr-xr-x
第一個(gè)數(shù)字'-'代表文件,其余是文件夾,后9位分為3組,每組有四種權(quán)限設(shè)置rwx-
第一位表示文件所有者
第二位表示和所有者在同一用戶組的用戶
第三位表示不在同一用戶組的用戶權(quán)限
--設(shè)置權(quán)限 (隨意應(yīng)用,靈活組合!)
1、普通用法
--添加權(quán)限 [chmod +x 文件]
如:-rw-r--r-- --- -rwxr-xr-x
--刪除權(quán)限 [chmod -x 文件]
如:-rwxr-xr-x --- -rw-r--r--
--給自己添加權(quán)限 [chmod ?+x 文件]
如此類推,組--g,其他人--o
如:chmod u+x -rw-r--r-- --- -rwxr--r--
chmod g+x -rw-r--r-- --- -rw-r-xr--
chmod o+x -rw-r--r-- --- -rw-r--r-x
2、專業(yè)用法 chmod 755/777
--原理,八進(jìn)制轉(zhuǎn)二進(jìn)制
如755,111 101 101, rwx r-x r-x
777,111 111 111, rwx rwx rwx
--修改所有者權(quán)限 chown (change owner)
如:chown 原來文件 file1 的所有者是 root,改成joe的
chown joe file1
10、管道(把上一個(gè)命令執(zhí)行的結(jié)果交給下一個(gè)命令)
--使用方法:
命令1|命令2|命令3......|命令n
--使用舉例
--$ls -Rl /etc | more
(如 ls -Rl /etc (在控制臺(tái)模式下,無法返回前面過去的信息),因此需要管道執(zhí)行該查詢,實(shí)現(xiàn)分頁的工作, ls -Rl /etc | more)
--$cat /etc/passwd | wc
(顯示文件結(jié)果,再數(shù)數(shù)有多少行)
--$cat /etc/passwd | grep lrj
(顯示文件結(jié)果,再查找包含lrj的行)
--#dmesg | grep eth0
(顯示系統(tǒng)啟動(dòng)的信息,再查找包含eth0的行--真正含義,檢查網(wǎng)卡執(zhí)行信息是否正常)
--$man bash | col -b bash.txt
語法:col [-bfx][-l緩沖區(qū)列數(shù)]
補(bǔ)充說明:在許多UNIX說明文件里,都有RLF控制字符。當(dāng)我們運(yùn)用shell特殊字符""和"",把說明文件的內(nèi)容輸出成純文本文件時(shí),控制字符會(huì)變成亂碼,col指令則能有效濾除這些控制字符。
參數(shù):
-b 過濾掉所有的控制字符,包括RLF和HRLF。
-f 濾除RLF字符,但允許將HRLF字符呈現(xiàn)出來。
-x 以多個(gè)空格字符來表示跳格字符。
-l緩沖區(qū)列數(shù) 預(yù)設(shè)的內(nèi)存緩沖區(qū)有128列,您可以自行指定緩沖區(qū)的大小。
--$ls -l | grep "^d"
(用正則表達(dá)式篩選出目錄列表中 頭字母為'd' 的內(nèi)容--目錄)(^是正則表達(dá)式開頭部分)
--$ls -l * | grep "^-" | wc -l
(列出目錄列表中 頭字符為'-'的內(nèi)容--文件,并統(tǒng)計(jì)顯示的行數(shù)wc -l)
11、其他命令
--wall(warning all) 通知所有人
a.命令替換
如 wall `date`、 cd 'pwd'、mkbootdisk $(uname -r)
b.重定向
重定向輸出:
如 ls cmd.txt ,把文件寫到cmd.txt,不輸出在控制臺(tái)
ls cmd.txt ,把文件追加寫到cmd.txt
重定向輸入:
如 wall cmd.txt,把文本內(nèi)容發(fā)給所有人
12、修改系統(tǒng)的默認(rèn)系統(tǒng)級(jí)別
常用3和5
3 - 多用戶狀態(tài)(有NFS)
NFS - Network File System 網(wǎng)絡(luò)文件系統(tǒng),聯(lián)網(wǎng)系統(tǒng)
5 - 圖形界面
PS.設(shè)置用戶權(quán)限: sudo chmod 777 目錄
4表示讀,2表示寫,1表示執(zhí)行.
第一位表示文件所有者,第二位表示和所有者在同一用戶組的用戶,第三位表示不在同一用戶組的用戶權(quán)限.
755表示文件所有者可讀寫,執(zhí)行.
第二位5表示與所有者在同一用戶組的可讀,可執(zhí)行,不可寫.
第三位5表示其它組可讀,可執(zhí)行,不可寫. 轉(zhuǎn)載于Joewalker在本人空間也有詳細(xì)說明
1.開機(jī)進(jìn)入
---- Linux系統(tǒng)的開機(jī)同正常的DOS、Windows開關(guān)機(jī)順序相同。若是多操作系統(tǒng)則在LILO boot:后輸入Linux,就可進(jìn)入Linux的注冊(cè)提示符Login:,在其后輸入用戶名,在口令提示符password:輸入口令,注冊(cè)正確后,可進(jìn)入相應(yīng)的用戶環(huán)境。如輸入:root,及其密碼,可進(jìn)入超級(jí)用戶環(huán)境#,輸入其他用戶名及口令,可進(jìn)入該用戶環(huán)境$。
---- 2.關(guān)機(jī)退出
---- 在超級(jí)用戶提示符#下輸入halt(立即關(guān)機(jī))或shutdown time(延遲time分后關(guān)機(jī),給各用戶每隔一段時(shí)間發(fā)出還有多長時(shí)間將關(guān)機(jī)的警告)后,計(jì)算機(jī)將進(jìn)行一系列的關(guān)機(jī)工作,最后出現(xiàn)System halt,就是關(guān)機(jī)結(jié)束,可以關(guān)閉電源了。非超級(jí)用戶則需用exit退出操作環(huán)境,再進(jìn)入超級(jí)用戶環(huán)境,方可進(jìn)行關(guān)機(jī)工作。
---- 3.命令操作注意事項(xiàng)
---- 在Linux中有一些與DOS不完全相同的地方,見下表:
DOS Linux
命令行字母 不區(qū)分大小寫 區(qū)分大小寫
提示符 #、$
路徑分隔符 \ /
通配符 *、? *、?、[]
---- 在Linux系統(tǒng)中,超級(jí)用戶的系統(tǒng)提示符是#,一般情況下普通用戶的系統(tǒng)提示符是$,普通用戶的系統(tǒng)提示符也同DOS一樣可以進(jìn)行更改。通配符中*與?的含義是一樣的,[]是僅包括括號(hào)內(nèi)的符號(hào),連續(xù)的符號(hào)可用“-”連接首尾的符號(hào)代替,如[12345678]可以用[1-8]代替,[abcdefijk]可用[a-fi-j]表示。
---- 4.文件類型
---- 與DOS、Windows不同的是,在Linux系統(tǒng)中,目錄和設(shè)備都被視為文件,共有四種文件類型,它們是:⑴普通文件,即我們通常所說的文件,在長列目錄方式時(shí)行首前用一符號(hào)“-”表示。⑵目錄文件,即我們通常所說的目錄,在長列目錄方式時(shí)行用首前用一字母“d”表示。⑶字符設(shè)備文件,如顯示器、打印機(jī)、終端等,在長列目錄方式時(shí)行首前用一字母 “c”表示。⑷塊設(shè)備文件,如硬盤、軟盤、光盤在長列目錄方式時(shí)行首前用一字母“b”表示。
---- 在Linux中用長格式列目錄命令ls -l時(shí),如下例:
---- 文件類型
-rwxrw-r-- 5 user group 1089
Nov 18 1998 filename
存取權(quán) 用戶 組名
字節(jié)數(shù) 最后修改時(shí)間 文件名
---- 大家對(duì)DOS下的8.3格式的文件名都一定很熟悉了,由于它的表達(dá)能力有限,所以在Windows95之后加入了長文件名支持,Linux繼承了UNIX的優(yōu)點(diǎn),也可以用長長的一串字符作文件名。但是在Linux中文件類型可不像在DOS下那樣容易從文件的擴(kuò)展名上了解到,在DOS下的可執(zhí)行文件的擴(kuò)展名為com或exe,而在Linux中只能通過文件屬性得知,采用命令ls –F可區(qū)分目錄和文件,在目錄后有“/”符號(hào),可執(zhí)行文件后有“*”符號(hào),用ls –aF可見所有的文件和目錄列出,包括隱藏的文件和目錄,隱藏文件的文件名以點(diǎn)號(hào)“.”開頭。
---- 5.讀取權(quán)限
---- 在Linux中,文件的主人即所有者,其他使用者分別稱為同組者、其他人,為保證各用戶文件的安全,Linux同UNIX一樣通過限制某些用戶對(duì)文件的隨意存取。共有三個(gè)級(jí)別的存取權(quán):讀權(quán)r、寫權(quán)w、執(zhí)行權(quán)x。在存取權(quán)中共有九個(gè)字符的位置其順序是:所有者、同組人、其他人。在上例中分別表示:主人對(duì)文件擁有讀寫權(quán)和執(zhí)行權(quán),同組人對(duì)文件擁有讀寫權(quán)、其他人對(duì)文件只擁有讀權(quán)。
---- 6.獲取在線幫助命令
---- 在Linux中有一條專門用于取得在線幫助的命令man ,其使用方式為# man command。man有一套它自己的命令,通常由單個(gè)鍵組成,按空格鍵和F鍵將翻到下一頁,按B鍵翻到上一頁,按Q鍵退出man工具,回到命令行。掌握了以上的基礎(chǔ)知識(shí),結(jié)合熟知的DOS命令進(jìn)行比較,對(duì)于學(xué)習(xí)Linux的基本命令就可以很快地運(yùn)用自如,為進(jìn)一步深入學(xué)習(xí)Linux打下深厚的基礎(chǔ).。
---- 二、文件管理和目錄操作
---- 與DOS、Windows一樣,在Linux中也有許多關(guān)于文件管理和目錄操作方面的命令,對(duì)二者的主要命令列表如下:
---- 1.文件管理
功能 DOS Linux 注意事項(xiàng)
顯示文件內(nèi)容 type、more cat 、more type、cat
是全部顯示,more是分頁顯示
打印文件 print lpr
拷貝文件 copy cp
移動(dòng)文件及改名 move mv
刪除文件 del, erase rm
---- 2.目錄操作
功能 DOS Linux 注意事項(xiàng)
列目錄及文件 dir/選項(xiàng) ls –選項(xiàng)
在Linux中cd/直接返回登錄時(shí)的目錄而不是根目錄,
顯示工作目錄 cd pwd
變更工作目錄 cd\目錄 cd/目錄
建立目錄 md,mkdir mkdir
刪除目錄 rd,rmdir rmdir
目錄更名 move mv
拷貝目錄 xcopy copy
---- 在二者中,命令的格式都是一樣的,只是選項(xiàng)、參數(shù)不相同而已,也可以進(jìn)行組合操作,具體運(yùn)用時(shí)可使用幫助命令,只不過Linux的命令的功能更為強(qiáng)大,據(jù)記載DOS中的不少命令都是借鑒UNIX而來的,而Linux正是居于UNIX發(fā)展起來的,這也是二者有著幾乎相同的命令和格式的原因之一。
---- 三、軟、硬盤及光驅(qū)的使用
---- 1.軟、硬盤及光驅(qū)的使用
---- 在Linux中對(duì)其他硬盤邏輯分區(qū)、軟盤,光盤的使用與我們通常在DOS與Windows中的使用方法是不一樣的,不能直接訪問,因?yàn)樵贚inux中它們都被視為文件,因此在訪問使用前必須使用裝載命令mount將它們裝載到系統(tǒng)的/mnt目錄中來,使用結(jié)束,必須進(jìn)行卸載。命令格式如下:
mount –t 文件系統(tǒng)類型 設(shè)備名 裝載目錄
文件類型常用的有:
msdos dos分區(qū)文件
ext2 Linux的文件系統(tǒng)
swap Linux swap分區(qū)或swap文件
iso9660 安裝CD-ROM的文件系統(tǒng)
vfat 支持長文件名的dos分區(qū)
hpfs OS/2分區(qū)文件系統(tǒng)
---- 設(shè)備名是指要裝載的設(shè)備的名稱,如軟盤、硬盤、光盤等,軟盤一般為/dev/fd0 fd1,硬盤一般為/dev/hda hdb ,硬盤邏輯分區(qū)一般為期hda1 hda2…等等,光盤一般為/dev/hdc。在裝載前一般要在/dev/mnt目錄下建立一個(gè)空的目錄,如軟盤為floppy,硬盤分區(qū)為其盤符如c、d等等,光盤為cd-rom,使用命令:
mount –t msdos /dev/fd0 /mnt/floppy
裝載一個(gè)mddos格式的軟盤
mount –t ext2 /dev/fd0 /mnt/floppy
裝載一個(gè)Linux格式的軟盤
mount –t vfat /dev/hda1 /mnt/c
裝載Windows98格式的硬盤分區(qū)
mount –t iso9660 /dev/hdc /mnt/cd-rom
裝載一個(gè)光盤
---- 裝載完成之后便可對(duì)該目錄進(jìn)行操作,在使用新的軟盤及光盤前必須退出該目錄,使用卸載命令進(jìn)行卸載,方可使用新的軟盤及光盤,否則系統(tǒng)不會(huì)承認(rèn)該軟盤的,光盤在卸載前是不能用光驅(qū)面板前的彈出鍵退出的。
---- 2.格式化命令mkfs
---- 格式化軟盤時(shí)不需事先安裝空盤,只需將軟盤放入軟驅(qū)中,使用如下命令,便可格式化一張?jiān)贚inux中使用的軟盤:
#mkfs –t ext2 /dev/fd0 1440
---- 在熟悉以上基本命令之后,就可以進(jìn)行其他命令的進(jìn)一步學(xué)習(xí),例如:文件編輯軟件vi,存取權(quán)限的修改,檢查修復(fù)文件系統(tǒng),增減用戶及修改密碼,安裝其他Linux文件,及一些Linux的實(shí)用工具軟件,建立x-Windows圖形界面,利用Linux上網(wǎng)等等,來增加對(duì)Linux的感性認(rèn)識(shí)。
01
linux常用命令有pwd命令、cd命令、ls命令、cat命令、grep命令、touch命令、cp命令、mv命令、rm命令、rmdir命令等。
linux常用命令:
1、 pwd命令
該命令的英文解釋為print working directory(打印工作目錄)。輸入pwd命令,Linux會(huì)輸出當(dāng)前目錄。
2、 cd命令
cd命令用來改變所在目錄。
cd / 轉(zhuǎn)到根目錄中
cd ~ 轉(zhuǎn)到/home/user用戶目錄下
cd /usr 轉(zhuǎn)到根目錄下的usr目錄中-------------絕對(duì)路徑
cd test 轉(zhuǎn)到當(dāng)前目錄下的test子目錄中-------相對(duì)路徑
3、 ls命令
ls命令用來查看目錄的內(nèi)容。 選項(xiàng) 含義 -a 列舉目錄中的全部文件,包括隱藏文件 -l 列舉目錄中的細(xì)節(jié),包括權(quán)限、所有者、組群、大小、創(chuàng)建日期、文件是否是鏈接等 -f 列舉的文件顯示文件類型 -r 逆向,從后向前地列舉目錄中內(nèi)容 -R 遞歸,該選項(xiàng)遞歸地列舉當(dāng)前目錄下所有子目錄內(nèi)的內(nèi)容 -s 大小,按文件大小排序 -h 以人類可讀的方式顯示文件的大小,如用K、M、G作單位 ls -l examples.doc 列舉文件examples.doc的所有信息
4、 cat命令
cat命令可以用來合并文件,也可以用來在屏幕上顯示整個(gè)文件的內(nèi)容。
cat snow.txt 該命令顯示文件snow.txt的內(nèi)容,ctrl+D退出cat。
5、 grep命令
grep命令的最大功能是在一堆文件中查找一個(gè)特定的字符串。
grep money test.txt
以上命令在test.txt中查找money這個(gè)字符串,grep查找是區(qū)分大小寫的。
6 、touch命令
touch命令用來創(chuàng)建新文件,他可以創(chuàng)建一個(gè)空白的文件,可以在其中添加文本和數(shù)據(jù)。
touch newfile 該命令創(chuàng)建一個(gè)名為newfile的空白文件。
7 、cp命令
cp命令用來拷貝文件,要復(fù)制文件,輸入命令:
cp
cp t.txt Document/t 該命令將把文件t.txt復(fù)制到Document目錄下,并命名為t。 選項(xiàng) 含義 -i 互動(dòng):如果文件將覆蓋目標(biāo)中的文件,他會(huì)提示確認(rèn) -r 遞歸:這個(gè)選項(xiàng)會(huì)復(fù)制整個(gè)目錄樹、子目錄以及其他 -v 詳細(xì):顯示文件的復(fù)制進(jìn)度
8 、mv命令
mv命令用來移動(dòng)文件。 選項(xiàng) 說明 -i 互動(dòng):如果選擇的文件會(huì)覆蓋目標(biāo)中的文件,他會(huì)提示確認(rèn) -f 強(qiáng)制:它會(huì)超越互動(dòng)模式,不提示地移動(dòng)文件,屬于很危險(xiǎn)的選項(xiàng) -v 詳細(xì):顯示文件的移動(dòng)進(jìn)度
mv t.txt Document 把文件t.txt 移動(dòng)到目錄Document中。
9 、rm命令
rm命令用來刪除文件。 選項(xiàng) 說明 -i 互動(dòng):提示確認(rèn)刪除 -f 強(qiáng)制:代替互動(dòng)模式,不提示確認(rèn)刪除 -v 詳細(xì):顯示文件的刪除進(jìn)度 -r 遞歸:將刪除某個(gè)目錄以及其中所有的文件和子目錄
rm t.txt 該命令刪除文件t.txt
10、 rmdir命令
rmdir命令用來刪除目錄。
列出當(dāng)前目錄的文件
常用參數(shù):?
-a: 顯示當(dāng)前目錄的所有文件,包含隱藏文件;?
-l: 顯示文件詳情;?
-Z: 顯示文件的 SE Linux context。?
示例:ls -laZ [if !vml] [endif] 以 acct 為例: drwxr-xr-x:其中 d 代表該文件為目錄,若為 l 則為軟鏈接,軟連接后又箭頭代表其實(shí)際指向的文件,如etc - /system/etc 則訪問 etc 實(shí)際等同訪問/system/etc,留空則代表該文件為一個(gè)文件;rwxr-xr-x 代表其權(quán)限為 755,具體算法為將上述字段每 3 個(gè)分為 1 組得 rwx,r-x,r-x,凡是有字母標(biāo)記的皆計(jì)數(shù) 1,反之為 0,得二進(jìn)制 111,101,101,轉(zhuǎn)為 10 進(jìn)制數(shù)字即得7, 5,5 ,即為該文件權(quán)限; root root :依次代表該文件的所有者(owner)為 root,用戶組(group)為 root,上述屬性可通過 chown 命令修改,日常替換文件需與原文件該屬性維持一致; unlabeled:代表 SE Linux context。
前往指定目錄
更改文件所有者和用戶組? ?示例:chown root:root temfile?將 tmpfile文件 的所有者和用戶組從 meidia:media 更改為 root:root
將文件內(nèi)容顯示出來。
注意不要隨便去 cat 一個(gè)很大的文件或與 log 驅(qū)動(dòng)節(jié)點(diǎn)無關(guān)的文件,否則將造成串口輸出亂碼或死機(jī)?。?!示例:cat /proc/kmsg 將打印出所有 kernel log。
用于抓取 android logcat 打印。
常用參數(shù):
-v : 設(shè)置打印格式,可用選項(xiàng)為 brief process tag thread raw time threadtime long,我們比較常用 logcat -v time,此時(shí)抓的 log 將在每一行開頭添加時(shí)間信息;
-s : 設(shè)置過濾器,過濾器的選擇取決于軟件中打印 log 時(shí)使用的 TAG ,如
ActivityManagerService.java 中的打印使用的 TAG = ActivityManager,則抓相關(guān)打印方法為 logcat -s ActivityManager;
-c : 清除 log 緩存,常用于清除之前的打印緩存,如復(fù)現(xiàn)某個(gè)必現(xiàn)問題,則可先執(zhí)行 logcat -c 再抓 logcat 重現(xiàn)必現(xiàn)手法以排除無關(guān) log 冗余信息影響問題定位; pm
包管理命令,用于管理安卓 app 應(yīng)用。
常用參數(shù):
-l : 顯示所有安裝包應(yīng)用,等同于 pm list packages
以 package:/system/priv-app/Launcher2.apk=com.android.launcher 為例:
Apk Launcher2 路徑位于/system/priv-app/Launcher2.apk,其包名為 com.android.launcher
path : 根據(jù)報(bào)名返回所在 apk 路徑
install : 安裝 apk
-r :安裝一個(gè)已經(jīng)存在的 apk 并保留其數(shù)據(jù);
-d : 允許降級(jí)安裝
如:pm install -r xxx.apk
uninstall : 卸載 apk,命令僅支持卸載 data/app,后接包名;
如:pm uninstall com.sys.migusmartlink.ott.tv //卸載包名為 com.sys.migusmartlink.ott.tv 的 apk
隨機(jī)測(cè)試指令,會(huì)自動(dòng)模擬一些用戶操作對(duì) APP 進(jìn)行壓力測(cè)試。
常用參數(shù):
-p :指定啟動(dòng)的 APK,我們比較常用的是 monkey -p com.xxx.yyy 1 來啟動(dòng)一個(gè) apk 的隨機(jī)頁面。
用于啟動(dòng)和管理 activity 和 service
常用參數(shù):
start : 后接 intent 啟動(dòng)一個(gè)頁面;
startservice : 后接 intent 啟動(dòng)一個(gè) service; stopservice :后接 intent 停止一個(gè) service; broadcast :后接一個(gè) intent 發(fā)送一個(gè)廣播; kill :后接一個(gè) app 包名,殺掉該 app 所有進(jìn)程;在 shell 環(huán)境下用如下參數(shù)表述一個(gè) intent:
[-a ACTION] [-d DATA_URI] [-t MIME_TYPE]
[-c CATEGORY [-c CATEGORY] ...]
[-e|--es EXTRA_KEY EXTRA_STRING_VALUE ...]
[--esn EXTRA_KEY ...]
[--ez EXTRA_KEY EXTRA_BOOLEAN_VALUE ...]
[--ei EXTRA_KEY EXTRA_INT_VALUE ...]
[--el EXTRA_KEY EXTRA_LONG_VALUE ...]
[--ef EXTRA_KEY EXTRA_FLOAT_VALUE ...]
[--eu EXTRA_KEY EXTRA_URI_VALUE ...]
[--ecn EXTRA_KEY EXTRA_COMPONENT_NAME_VALUE]
[--eia EXTRA_KEY EXTRA_INT_VALUE[,EXTRA_INT_VALUE...]]
[--ela EXTRA_KEY EXTRA_LONG_VALUE[,EXTRA_LONG_VALUE...]]
[--efa EXTRA_KEY EXTRA_FLOAT_VALUE[,EXTRA_FLOAT_VALUE...]]
[-n COMPONENT] [-f FLAGS]
示例:
如我們?cè)?logcat 抓到如下打印啟動(dòng)了播放器:
START u0 {act=android.intent.action.VIEW dat=[4KH265_60.000fps_9Mbps]Wetek-Astra-2m.mp4 typ=video/* flg=0x13000000 cmp=com.meson.videoplayer/.VideoPlayer} from pid 15204
則我們可以使用如下 am 指令來啟動(dòng)它:
am start -a android.intent.action.VIEW -d [4KH265_60.000fps_9Mbps]Wetek-Astra-2m.mp4 -t video/* -f 0x13000000 -n com.meson.videoplayer/.VideoPlayer am start -n com.android.settings/.Settings //啟動(dòng)原生安卓設(shè)置主頁
am broadcast -a com.chinamobile.action.KEY_PRESS_DOWN --ei keyCode 11 am broadcast -a com.chinamobile.action.IR_TEST --es irphycode "0x008EDD22" //發(fā)送廣播
查找命令,查找文件中是否包含指定字符串并輸出該行示例:
grep -rns "repeat" /system/etc/remote1.conf //找出/system/etc/remote1.conf 所有包含 repeat 的行并展示行號(hào)
參數(shù)說明:
-a:此選項(xiàng)通常在復(fù)制目錄時(shí)使用,它保留鏈接、文件屬性,并復(fù)制目錄下的所有內(nèi)容。其作用等于dpR參數(shù)組合。
-d:復(fù)制時(shí)保留鏈接。這里所說的鏈接相當(dāng)于Windows系統(tǒng)中的快捷方式。
-f:覆蓋已經(jīng)存在的目標(biāo)文件而不給出提示。
-i:與-f選項(xiàng)相反,在覆蓋目標(biāo)文件之前給出提示,要求用戶確認(rèn)是否覆蓋,回答"y"時(shí)目標(biāo)文件將被覆蓋。
-p:除復(fù)制文件的內(nèi)容外,還把修改時(shí)間和訪問權(quán)限也復(fù)制到新文件中。
-r:若給出的源文件是一個(gè)目錄文件,此時(shí)將復(fù)制該目錄下所有的子目錄和文件。
-l:不復(fù)制文件,只是生成鏈接文件。
命令示例:cp -a a? parentPath/sonPath/ a對(duì)應(yīng)當(dāng)前文件夾下目錄或文件名? 可替換為絕對(duì)路徑?
移動(dòng)指令,等效于 windows 的移動(dòng)和重命名。
示例:
mv /data/tmp1 /data/local/tmp2 //將 data/tmp1移動(dòng)到/data/local/ 并重命名為 tmp2
刪除指令,用于刪除文件和文件夾,示例:
rm -rf tmp // 刪除 tmp,建議加上-rf參數(shù),其會(huì)刪除 tmp 所有的目錄和文件。
創(chuàng)建目錄。常用參數(shù):
-p :若 mkdir -p 后接路徑包含不存在路徑則一并創(chuàng)建。
同步命令,常用于 cp 替換文件或指令結(jié)束后同步狀態(tài),有益無害。
重定向,即將一個(gè)命令的輸出指向另外路徑的文件,使用覆蓋模式,即重定向到的文件若存在將覆蓋里面的內(nèi)容。
示例:
logcat /data/xxx.log; //將 logcat輸出到/data/xxx.log;
cat /proc/kmsg /data/kmsg.log; //將 kmsg 打印輸出重定向到/data/kmsg.log
重定向,即將一個(gè)命令的輸出指向另外路徑的文件,使用拼接模式,即重定向到的文件若存在則將輸出拼接到原文件的后面。
示例:
logcat /data/xxx.log; //例如我們做 netreboot的時(shí)候需要每一次開關(guān)機(jī)的 log,則會(huì)用拼接模式記錄log。
將指令放至后臺(tái)靜默執(zhí)行。
依次執(zhí)行指令,若有指令執(zhí)行失敗,則后續(xù)指令不會(huì)執(zhí)行。
示例:
logcat -c logcat //先清除 logcat 緩存再抓取 log
命令名稱:chmod
命令英文原意:change the permissions mode of a file
有兩種角色可以執(zhí)行該命令,一種是 root 用戶,另一種就是文件的所有者。
語法:
大括號(hào)里的內(nèi)容表示只能選一個(gè),其中 u 表示該文件的所有者,g 表示所屬組,o 表示其他人,a 表示所有角色。
比如,給 abc.txt 文件的所屬組加一個(gè)寫的權(quán)限:
也可以同時(shí)做多個(gè)授權(quán),比如給文件所有者加上執(zhí)行權(quán)限,給其他人去掉寫權(quán)限:
還可以用數(shù)字表示權(quán)限。權(quán)限的數(shù)字表示:
如果一個(gè)文件的權(quán)限是 rw-r--r--,那么翻譯成數(shù)字就是 644,反過來,如果要更改文件的權(quán)限,可以這樣寫:
這樣文件的權(quán)限就改成 rw-r----- 了。
還有一個(gè)選項(xiàng) -R 是遞歸修改權(quán)限,該選項(xiàng)的功能是更改某個(gè)目錄的權(quán)限的同時(shí)更改該目錄下所有的子目錄和文件的權(quán)限。
命令名稱: chown
英文原意:change owner
語法:chown 用戶名 文件
只有管理員賬戶可以更改文件的所屬用戶。
例如:
命令名稱:chgrp
英文原意:change group
語法:chgrp 組名 文件
例如:
命令名稱:umask
使用命令 umask -S 可以查看新建文件或目錄的默認(rèn)權(quán)限。
現(xiàn)在顯示的是新建目錄的默認(rèn)權(quán)限,該目錄的所有者的默認(rèn)權(quán)限是 rwx,所屬組的默認(rèn)權(quán)限是 rx,其他人的默認(rèn)權(quán)限是 rx。為什么說這是新建目錄的默認(rèn)權(quán)限而不是新建文件的默認(rèn)權(quán)限,如果你查看新建文件的權(quán)限,會(huì)發(fā)現(xiàn)是 rw-r--r-- ,與新建目錄的權(quán)限 rwxr-xr-x 相比,每種角色的權(quán)限都少了 x。所以說,只要知道了新建目錄的默認(rèn)權(quán)限,再去掉 x 權(quán)限,就是新建文件的默認(rèn)權(quán)限。
如果直接執(zhí)行 umask 命令,會(huì)顯示一個(gè)數(shù)字。
這個(gè)數(shù)字叫做權(quán)限掩碼,用 777 減去其后三位 022 就得到了每種角色的權(quán)限,即 755。翻譯成字母就是 rwxr-xr-x 。
若想更改新建目錄或文件的默認(rèn)權(quán)限,只需執(zhí)行 umask 權(quán)限掩碼 即可。
例如,我想把新建目錄的默認(rèn)權(quán)限改成 rwxr-r-- ,翻譯成數(shù)字就是 744,再用 777 減去 744 就得到了權(quán)限掩碼 033。
雖然 Linux 系統(tǒng)的目錄或文件的默認(rèn)權(quán)限可以修改,但是 Linux 這樣分配權(quán)限是有一定道理的,最好不要輕易修改。