做JAVA基礎(chǔ)編程題什么網(wǎng)站好汕頭seo排名
參考正點原子Linux開發(fā)文檔。記錄下知識點。
Shell 基本操作
前面我們說 Shell 就是“敲命令”,那么既然是命令,那肯定是有格式的,Shell 命令的格式
如下:
command -options [argument]
command: Shell 命令名稱。
options:選項,同一種命令可能有不同的選項,不同的選項其實現(xiàn)的功能不同。
argument:Shell 命令是可以帶參數(shù)的,也可以不帶參數(shù)運行。
下面來看一些常用的shell命令:
1 ls
文件瀏覽是最基本的操作了,Shell 下文件瀏覽命令為 ls,格式如下:
ls [選項] [路徑]
ls 命令主要用于顯示指定目錄下的內(nèi)容,列出指定目錄下包含的所有的文件以及子目錄,
它的主要參數(shù)有:
-a 顯示所有的文件以及子目錄,包括以“.”開頭的隱藏文件。
-l 顯示文件的詳細(xì)信息,比如文件的形態(tài)、權(quán)限、所有者、大小等信息。
-t 將文件按照創(chuàng)建時間排序列出。
-A 和-a 一樣,但是不列出“.”(當(dāng)前目錄)和“..”(父目錄)。
-R 遞歸列出所有文件,包括子目錄中的文件。
從上述圖我們看到對應(yīng)命令的效果,并且linux顏色不同代表的含義則就不同。具體為下圖。
2、目錄切換命令 cd
要想在 Shell 中切換到其它的目錄,使用的命令是 cd,命令格式如下:
cd [路徑]
路徑就是我們要進(jìn)入的目錄路徑,比如下面所示操作:
cd / //進(jìn)入到根目錄“/”下,Linux 系統(tǒng)的根目錄為“/”,
cd /usr //進(jìn)入到目錄“/usr”里面。
cd .. //進(jìn)入到上一級目錄。
cd ~ //切換到當(dāng)前用戶主目錄
3、當(dāng)前路徑顯示命令 pwd
pwd 命令用來顯示當(dāng)前工作目錄的絕對路徑,不需要任何的參數(shù)。
4、系統(tǒng)信息查看命令 uname
要查看當(dāng)前系統(tǒng)信息,可以使用命令 uname,命令格式如下:
uname [選項]
可選的選項參數(shù)如下:
-r 列出當(dāng)前系統(tǒng)的具體內(nèi)核版本號。
-s 列出系統(tǒng)內(nèi)核名稱。
-o 列出系統(tǒng)信息。
使用如圖 所示:
5、清屏命令 clear
clear 命令用于清除終端上的所有內(nèi)容,只留下一行提示符。
6、切換用戶執(zhí)行身份命令 sudo
Ubuntu(Linux)是一個允許多用戶的操作系統(tǒng),其中權(quán)限最大的就是超級用戶 root,有時候我們執(zhí)行一些操作的時候是需要用 root 用戶身份才能執(zhí)行,比如安裝軟件。通過 sudo 命令可以使我們暫時將身份切換到 root 用戶。當(dāng)使用 sudo 命令的時候是需要輸入密碼的,這里要注意輸入密碼的時候是沒有任何提示的!命令格式如下:
sudo [選項] [命令]
選項主要參數(shù)如下:
-h 顯示幫助信息
-l 列出當(dāng)前用戶可執(zhí)行與不可執(zhí)行的命令
-p 改變詢問密碼的提示符。
7、添加用戶命令 adduser
在講解 sudo 命令的時候我們已經(jīng)用過命令“adduser”,此命令需要 root 身份去運行。命令格式如下:
adduser [參數(shù)] [用戶名]
常用的參數(shù)如下:
-system 添加一個系統(tǒng)用戶
-home DIR DIR 表示用戶的主目錄路徑
-uid ID ID 表示用戶的 uid。
-ingroup GRP 表示用戶所屬的組名。
8、刪除用戶命令 deluser
前面講了添加用戶的命令,那肯定也有刪除用戶的命令,刪除用戶使用命令“deluser”,命令參數(shù)如下:
deluser [參數(shù)] [用戶名]
主要參數(shù)有:
-system 當(dāng)用戶是一個系統(tǒng)用戶的時候才能刪除。
-remove-home 刪除用戶的主目錄
-remove-all-files 刪除與用戶有關(guān)的所有文件。
-backup 備份用戶信息
9、切換用戶命令 su
前面在講解命令“sudo”的時候說過,“sudo”是以 root 用戶身份執(zhí)行一個命令,并沒有更改當(dāng)前的用戶身份,所有需要 root 身份執(zhí)行的命令都必須在前面加上“sudo”。命令“su”可以直接將當(dāng)前用戶切換為 root 用戶,切換到 root 用戶以后就可以盡情的進(jìn)行任何操作了!因為你已經(jīng)獲得了系統(tǒng)最高權(quán)限,在 root 用戶下,所有的命令都可以無障礙執(zhí)行,不需要在前面加上“sudo”,“su”命令格式如下:
su [選項] [用戶名]
常用選項參數(shù)如下:
-c –command 執(zhí)行指定的命令,執(zhí)行完畢以后恢復(fù)原用戶身份。
-login 改變用戶身份,同時改變工作目錄和 PATH 環(huán)境變量。
-m 改變用戶身份的時候不改變環(huán)境變量
-h 顯示幫助信息
10、顯示文件內(nèi)容命令 cat
查看文件內(nèi)容是最常見的操作了,在 windows 下可以直接使用記事本查看一個文本文件內(nèi)容,linux 下也有類似記事本的軟件,叫做 gedit,找到一個文本文件,雙擊打開,默認(rèn)使用的就是 gedit,如圖 2.2.4.10 所示:
命令“cat”,命令格式如下:
cat [選項] [文件]
選項主要參數(shù)如下:
-n 由 1 開始對所有輸出的行進(jìn)行編號。
-b 和-n 類似,但是不對空白行編號。
-s 當(dāng)遇到連續(xù)兩個行以上空白行的話就合并為一個行空白行。
11、顯示和配置網(wǎng)絡(luò)屬性命令 ifconfig
ifconfig 是一個跟網(wǎng)絡(luò)屬性配置和顯示密切相關(guān)的命令,通過此命令我們可以查看當(dāng)前網(wǎng)絡(luò)
屬性,也可以通過此命令配置網(wǎng)絡(luò)屬性,比如設(shè)置網(wǎng)絡(luò) IP 地址等等,此命令格式如下:
ifconfig interface options | address
主要參數(shù)如下:
interface 網(wǎng)絡(luò)接口名稱,比如 eth0 等。
up 開啟網(wǎng)絡(luò)設(shè)備。
down 關(guān)閉網(wǎng)絡(luò)設(shè)備。
add IP 地址,設(shè)置網(wǎng)絡(luò) IP 地址。
netmask add 子網(wǎng)掩碼。
12、系統(tǒng)幫助命令 man
Ubuntu 系統(tǒng)中有很多命令,這些命令都有不同的格式,不同的格式對應(yīng)不同的功能,要完全記住這些命令和格式幾乎是不可能的,必須有一個幫助手冊,當(dāng)我們需要了解一個命令的詳細(xì)信息的時候查閱這個幫助手冊就行了。Ubuntu 提供了一個命令來幫助用戶完成這個功能,那就是“man”命令,通過“man”命令可以查看其它命令的語法格式、主要功能、主要參數(shù)說明
“man”命令格式如下:
man [命令名]
VIM編輯器使用
我們要切換到輸入模式,切換到輸入模式的命令如下:
i 在當(dāng)前光標(biāo)所在字符的前面,轉(zhuǎn)為輸入模式。
I 在當(dāng)前光標(biāo)所在行的行首轉(zhuǎn)換為輸入模式。
a 在當(dāng)前光標(biāo)所在字符的后面,轉(zhuǎn)為輸入模式。
A 在光標(biāo)所在行的行尾,轉(zhuǎn)換為輸入模式。
o 在當(dāng)前光標(biāo)所在行的下方,新建一行,并轉(zhuǎn)為輸入模式。
O 在當(dāng)前光標(biāo)所在行的上方,新建一行,并轉(zhuǎn)為輸入模式。
s 刪除光標(biāo)所在字符。
r 替換光標(biāo)處字符。
最常用的就是“a”,我們在圖 2.5.2.2 中按下鍵盤上的“a”鍵,這時候終端左下角會提示“插入”字樣,表示我們進(jìn)入到了輸入模式,如圖 所示:
1、移動光標(biāo)指令:
h(或左方向鍵) 光標(biāo)左移一個字符。
l(或右方向鍵) 光標(biāo)右移一個字符。
j(或下方向鍵) 光標(biāo)下移一行。
k(或上方向鍵) 光標(biāo)上移一行。
nG 光標(biāo)移動到第 n 行首。
n+ 光標(biāo)下移 n 行。
n- 光標(biāo)上移 n 行。
2、屏幕翻滾指令
Ctrl+f 屏幕向下翻一頁,相當(dāng)于下一頁。
Ctrl+b 屏幕向上翻一頁,相當(dāng)于上一頁。
3、復(fù)制、刪除和粘貼指令
cc 刪除整行,并且修改整行內(nèi)容。
dd 刪除該行,不提供修改功能。
ndd 刪除當(dāng)前行向下 n 行。
x 刪除光標(biāo)所在的字符。
X 刪除光標(biāo)前面的一個字符。
nyy 復(fù)制當(dāng)前行及其下面 n 行。
p 粘貼最近復(fù)制的內(nèi)容。
在指令模式下輸入“:”進(jìn)入底行模式,如圖所示:
常用的命令如下:
x 保存當(dāng)前文檔并且退出。
q 退出。
w 保存文檔。
q! 退出 VI/VIM,不保存文檔。
如果我們要退出并保存文本的話需要在“:”底行模式下輸入“wq”,如圖 所示:
會發(fā)現(xiàn)已經(jīng)保存在text.txt文件當(dāng)中了。
指令模式下輸入“/”進(jìn)入底行模式,在“/”后面輸入要搜索的內(nèi)容,然后按下回車鍵就會在 test.txt 中找到與字符串使用匹配的部分:
Linux 文件系統(tǒng)
在 Windows 下有 FAT、NTFS 和 exFAT 這樣的文件系統(tǒng),在 Linux 下又有哪些文件系統(tǒng)呢,Linux 下的文件系統(tǒng)主要有 ext2、ext3、ext4 等文件系統(tǒng)。Linux 還支持其他的 UNIX 文件系統(tǒng),比如 XFS、JFS、UFS 等,也支持 Windows 的 FAT 文件系統(tǒng)和網(wǎng)絡(luò)文件系統(tǒng) NFS 等。這里我們主要講一下 Linux 自帶的 ext2、ext3 和 ext4 文件系統(tǒng)。?在 Linux 下創(chuàng)建一個分區(qū)并且格式化好以后我們要將其“掛載”到一個目錄下才能訪問這個分區(qū)。Windows 的文件系統(tǒng)掛載過程是其內(nèi)部完成的,用戶是看不到的,Linux 下我們使用 mount 命令來掛載磁盤。掛載磁盤的時候是需要確定掛載點的,也就是你的這個磁盤要掛載到哪個目錄下。
ext2 文件系統(tǒng):
ext2 是 Linux 早期的文件系統(tǒng),但是隨著技術(shù)的發(fā)展 ext2 文件系統(tǒng)已經(jīng)不推薦使用了,ext2是一個非日志文件系統(tǒng),大多數(shù)的 Linux 發(fā)行版都不支持 ext2 文件系統(tǒng)了。
ext3 文件系統(tǒng):
ext3 是在 ext2 的基礎(chǔ)上發(fā)展起來的文件系統(tǒng),完全兼容 ext2 文件系統(tǒng),ext3 是一個日志文件系統(tǒng),ext3 支持大文件,ext3 文件系統(tǒng)的特點有如下:
高可靠性:使用 ext3 文件系統(tǒng)的話,即使系統(tǒng)非正常關(guān)機(jī)、發(fā)生死機(jī)等情況,恢復(fù) ext3 文件系統(tǒng)也只需要數(shù)十秒。
數(shù)據(jù)完整性:ext3 提高了文件系統(tǒng)的完整性,避免意外死機(jī)或者關(guān)機(jī)對文件系統(tǒng)的傷害。文件系統(tǒng)速度:ext3 的日志功能對磁盤驅(qū)動器讀寫頭進(jìn)行了優(yōu)化,文件系統(tǒng)速度相對與 ext2來說沒有降低。
數(shù)據(jù)轉(zhuǎn)換:從 ext2 轉(zhuǎn)換到 ext3 非常容易,只需要兩條指令就可以完成轉(zhuǎn)換。用戶不需要花時間去備份、恢復(fù)、格式化分區(qū)等,用 ext3 文件系統(tǒng)提供的工具 tune2fs 即可輕松的將 ext2 文件系統(tǒng)轉(zhuǎn)換為 ext3 日志文件系統(tǒng)。ext3 文件系統(tǒng)不需要經(jīng)過任何修改,可以直接掛載成 ext2 文件系統(tǒng)。
ext4 文件系統(tǒng):
ext4 文件系統(tǒng)是在 ext3 上發(fā)展起來的,ext4 相比與 ext3 提供了更佳的性能和可靠性,并且功能更豐富,ext4 向下兼容 ext3 和 ext2,因此可以將 ext2 和 ext3 掛載為 ext4。那么我們安裝的 Ubuntu 使用的哪個版本的文件系統(tǒng)呢?在終端中輸入如下命令來查詢當(dāng)前磁盤掛載的啥文件系統(tǒng):
df -hT
在上圖中,框起來的就是我們安裝 Ubuntu 的這個磁盤,在 Linux 下一切皆為文件,“/dev/sda1”就是我們的磁盤分區(qū),可以看出這個磁盤分區(qū)類型是 ext4,它的掛載點是“/”,也就是根目錄。
Linux 文件系統(tǒng)結(jié)構(gòu)
我們點進(jìn)linux系統(tǒng)文件中,發(fā)現(xiàn)剛開始并不是處于根目錄,而是位于home目錄。
我們把鼠標(biāo)移動至home那里,輸入/定位到根目錄,然后就會切換到根目錄:
所謂的給每個用戶創(chuàng)建一個根目錄只是方便說而已,這個所謂的用戶根目錄其實就是“/”下的一個文件夾,以我的“zuozhongkai”這個用戶為例,其用戶根目錄就是:/home/zuozhongkai。只要你創(chuàng)建了一個用戶,那么系統(tǒng)就會在/home 這個目錄下創(chuàng)建一個以這個用戶名命名的文件夾,這個文件夾就是這個用戶的根目錄。
用戶可以對自己的用戶根目錄下的文件進(jìn)行隨意的讀寫操作,但是如果要修改根目錄“/”下的文件就會提示沒有權(quán)限。打開終端以后默認(rèn)進(jìn)入的是當(dāng)前用戶根目錄,比如我們打開終端以后輸入“l(fā)s”命令查看當(dāng)前目錄下有什么文件,結(jié)果如圖所示:
我們來看一下根目錄“/”中的一些重要的文件夾:
/bin 存儲一些二進(jìn)制可執(zhí)行命令文件,/usr/bin 也存放了一些基于用戶的命令文件。
/sbin 存儲了很多系統(tǒng)命令,/usr/sbin 也存儲了許多系統(tǒng)命令。
/root 超級用戶 root 的根目錄文件。
/home 普通用戶默認(rèn)目錄,在該目錄下,每個用戶都有一個以本用戶名命名的文件夾。
/boot 存放 Ubuntu 系統(tǒng)內(nèi)核和系統(tǒng)啟動文件。
/mnt 通常包括系統(tǒng)引導(dǎo)后被掛載的文件系統(tǒng)的掛載點。
/dev 存放設(shè)備文件,我們后面學(xué)習(xí) Linux 驅(qū)動主要是跟這個文件夾打交道的。
/etc 保存系統(tǒng)管理所需的配置文件和目錄。
/lib 保存系統(tǒng)程序運行所需的庫文件,/usr/lib 下存放了一些用于普通用戶的庫文件。
/lost+found 一般為空,當(dāng)系統(tǒng)非正常關(guān)機(jī)以后,此文件夾會保存一些零散文件。
/var 存儲一些不斷變化的文件,比如日志文件
/usr 包括與系統(tǒng)用戶直接有關(guān)的文件和目錄,比如應(yīng)用程序和所需的庫文件。
/media 存放 Ubuntu 系統(tǒng)自動掛載的設(shè)備文件。
/proc 虛擬目錄,不實際存儲在磁盤上,通常用來保存系統(tǒng)信息和進(jìn)程信息。
/tmp 存儲系統(tǒng)和用戶的臨時文件,該文件夾對所有的用戶都提供讀寫權(quán)限。
/opt 可選文件和程序的存放目錄。
/sys 系統(tǒng)設(shè)備和文件層次結(jié)構(gòu),并向用戶程序提供詳細(xì)的內(nèi)核數(shù)據(jù)信息
文件操作命令
1、創(chuàng)建新文件命令—touch
在前面學(xué)習(xí) VIM 的時候我們知道可以用 vi 指令來創(chuàng)建一個文本文檔,本節(jié)我們就學(xué)習(xí)一
個功能更全面的文件創(chuàng)建命令—touch。touch 不僅僅可以用用來創(chuàng)建文本文檔,其它類型的文
檔也可以創(chuàng)建,命令格式如下:
touch [參數(shù)] [文件名]
使用 touch 創(chuàng)建文件的時候,如果[文件名]的文件不存在,那就直接創(chuàng)建一個以[文件名]命
名的文件,如果[文件名]文件存在的話就僅僅修改一下此文件的最后修改日期,常用的命令參
數(shù)如下:
-a 只更改存取時間。
-c 不建立任何文件。
-d<日期> 使用指定的日期,而并非現(xiàn)在日期。
-t<時間> 使用指定的時間,而并非現(xiàn)在時間。
2、文件夾創(chuàng)建命令—mkdir
既然可以創(chuàng)建文件,那么肯定也可以創(chuàng)建文件夾,創(chuàng)建文件夾使用命令“mkdir”,命令格式如下:
mkdir [參數(shù)] [文件夾名目錄名]
主要參數(shù)如下:
-p 如所要創(chuàng)建的目錄其上層目錄目前還未創(chuàng)建,那么會一起創(chuàng)建上層目錄。
3、文件及目錄刪除命令—rm
既然有創(chuàng)建文件的命令,那肯定有刪除文件的命令,要刪除一個文件或者文件夾可以使用命令“rm”,此命令可以完成刪除一個文件或者多個文件及文件夾,它可以實現(xiàn)遞歸刪除。對于鏈接文件,只刪除鏈接,原文件保持不變,所謂的鏈接文件,其實就是 Windows 下的快捷方式文件,此命令格式如下:
rm [參數(shù)] [目的文件或文件夾目錄名]
命令主要參數(shù)如下:
-d 直接把要刪除的目錄的硬連接數(shù)據(jù)刪成 0,刪除該目錄。
-f 強(qiáng)制刪除文件和文件夾(目錄)。
-i 刪除文件或者文件夾(目錄)之前先詢問用戶。
-r 遞歸刪除,指定文件夾(目錄)下的所有文件和子文件夾全部刪除掉。
-v 顯示刪除過程。
4、文件夾(目錄)刪除命令—rmdir
上面我們講解了如何使用命令“rm”刪除文件夾,那就是要加上參數(shù)“-rf”,其實 Linux 提供了直接刪除文件夾(目錄)的命令—rmdir,它可以不加任何參數(shù)的刪除掉指定的文件夾(目錄),命令格式如下:
rmdir [參數(shù)] [文件夾(目錄)]
命令主要參數(shù)如下:
-p 刪除指定的文件夾(目錄)以后,若上層文件夾(目錄)為空文件夾(目錄)的話就將其一起
刪除。
5、文件復(fù)制命令—cp
在 Windows 下我們可以通過在文件上點擊鼠標(biāo)右鍵來進(jìn)行文件的復(fù)制和粘貼,在 Ubuntu下我們也可以通過點擊文件右鍵進(jìn)行文件的復(fù)制和粘貼。但是本節(jié)我們來講解如何在終端下使用命令來進(jìn)行文件的復(fù)制,Linux 下的復(fù)制命令為“cp”,命令描述如下:
cp [參數(shù)] [源地址] [目的地址]
主要參數(shù)描述如下:
-a 此參數(shù)和同時指定“-dpR”參數(shù)相同
-d 在復(fù)制有符號連接的文件時,保留原始的連接。
-f 強(qiáng)行復(fù)制文件,不管要復(fù)制的文件是否已經(jīng)存在于目標(biāo)目錄。
-I 覆蓋現(xiàn)有文件之前詢問用戶。
-p 保留源文件或者目錄的屬性。-r 或-R 遞歸處理,將指定目錄下的文件及子目錄一并處理
6、文件移動命令—mv
有時候我們需要將一個文件或者文件夾移動到另外一個地方去,或者給一個文件或者文件
夾進(jìn)行重命名,這個時候我們就可以使用命令“mv”了,此命令格式如下:
mv [參數(shù)] [源地址] [目的地址]
主要參數(shù)描述如下:
-b 如果要覆蓋文件的話覆蓋前先進(jìn)行備份。
-f 若目標(biāo)文件或目錄與現(xiàn)在的文件重復(fù),直接覆蓋目的文件或目錄。
-I 在覆蓋之前詢問用戶。
7、命令 zip
zip 命令看名字就知道是針對.zip 文件的,用于將一個或者多個文件壓縮成一個.zip 結(jié)尾的
文件,命令格式如下:
zip [參數(shù)] [壓縮文件名.zip] [被壓縮的文件]
主要參數(shù)函數(shù)如下:
-b<工作目錄> 指定暫時存放文件的目錄。
-d 從 zip 文件中刪除一個文件。
-F 嘗試修復(fù)已經(jīng)損毀的壓縮文件。
-g 將文件壓縮入現(xiàn)有的壓縮文件中,不需要新建壓縮文件。
-h 幫助。
-j 只保存文件的名,不保存目錄。
-m 壓縮完成以后刪除源文件。
-n<字尾符號> 不壓縮特定擴(kuò)展名的文件。
-q 不顯示壓縮命令執(zhí)行過程。
-r 遞歸壓縮,將指定目錄下的所有文件和子目錄一起壓縮。
-v 顯示指令執(zhí)行過程。
-num 壓縮率,為 1~9 的數(shù)值。
8、命令 unzip
unzip 命令用于對.zip 格式的壓縮包進(jìn)行解壓,命令格式如下:
unzip [參數(shù)] [壓縮文件名.zip]
主要參數(shù)如下:
-l 顯示壓縮文件內(nèi)所包含的文件。
-t 檢查壓縮文件是否損壞,但不解壓。
-v 顯示命令顯示的執(zhí)行過程。
-Z 只顯示壓縮文件的注解。
-C 壓縮文件中的文件名稱區(qū)分大小寫
-j 不處理壓縮文件中的原有目錄路徑。
-L 將壓縮文件中的全部文件名改為小寫。
-n 解壓縮時不要覆蓋原有文件。
-P<密碼> 解壓密碼。
-q 靜默執(zhí)行,不顯示任何信息。
-x<文件列表> 指定不要處理.zip 中的哪些文件。
-d<目錄> 把壓縮文件解到指定目錄下。
9、命令 tar
我們前面講的 zip 和 unzip 這兩個是命令只適用于.zip 格式的壓縮和解壓,其它壓縮格式就
用不了了,比如 Linux 下最常用的.bz2 和.gz 這兩種壓縮格式。其它格式的壓縮和解壓使用命令
tar,tar 將壓縮和解壓縮集合在一起,使用不同的參數(shù)即可,命令格式如下:
tar [參數(shù)] [壓縮文件名] [被壓縮文件名]
常用參數(shù)如下:
-c 創(chuàng)建新的壓縮文件。
-C<目的目錄> 切換到指定的目錄。
-f<備份文件> 指定壓縮文件。
-j 用 tar 生成壓縮文件,然后用 bzip2 進(jìn)行壓縮。
-k 解開備份文件時,不覆蓋已有的文件。
-m 還原文件時,不變更文件的更改時間。
-r 新增文件到已存在的備份文件的結(jié)尾部分。
-t 列出備份文件內(nèi)容。
-v 顯示指令執(zhí)行過程。
-w 遭遇問題時先詢問用戶。
-x 從備份文件中釋放文件,也就是解壓縮文件。
-z 用 tar 生成壓縮文件,用 gzip 壓縮。
-Z 用 tar 生成壓縮文件,用 compress 壓縮。
-vcjf 表示創(chuàng)建 bz2 格式的壓縮文件,-vczf 表示創(chuàng)建.gz 格式的壓縮文件。-vxjf 用來完成.bz2 格式壓縮文件的解壓,-vxzf 用來完成.gz 格式壓縮文件的解壓。
文件查詢和搜索
1、命令 find
find 命令用于在目錄結(jié)構(gòu)中查找文件,其命令格式如下:
find [路徑] [參數(shù)] [關(guān)鍵字]
路徑是要查找的目錄路徑,如果不寫的話表示在當(dāng)前目錄下查找,關(guān)鍵字是文件名的一部
分,主要參數(shù)如下:
-name<filename> 按照文件名稱查找,查找與 filename 匹配的文件,可使用通配符。
-depth 從指定目錄下的最深層的子目錄開始查找。
-gid<群組識別碼>查找符合指定的群組識別碼的文件或目錄。
-group<群組名稱> 查找符合指定的群組名稱的文件或目錄。
-size<文件大小> 查找符合指定文件大小的文件。
-type<文件類型> 查找符合指定文件類型的文件。
-user<擁有者名稱> 查找符合指定的擁有者名稱的文件或目錄。
2、命令 grep
find 命令用于在目錄中搜索文件,我們有時候需要在文件中搜索一串關(guān)鍵字,grep 就是完
成這個功能的,grep 命令用于查找包含指定關(guān)鍵字的文件,如果發(fā)現(xiàn)某個文件的內(nèi)容包含所指
定的關(guān)鍵字,grep 命令就會把包含指定關(guān)鍵字的這一行標(biāo)記出來,grep 命令格式如下:
grep [參數(shù)] 關(guān)鍵字 文件列表
grep 命令一次只能查一個關(guān)鍵字,主要參數(shù)如下:
-b 在顯示符合關(guān)鍵字的那一列前,標(biāo)記處該列第 1 個字符的位編號。
-c 計算符合關(guān)鍵字的列數(shù)。
-d<進(jìn)行動作> 當(dāng)指定要查找的是目錄而非文件時,必須使用此參數(shù)!否則 grep 指令
將回報信息并停止搜索。
-i 忽略字符大小寫。
-v 反轉(zhuǎn)查找,只顯示不匹配的行。
-r 在指定目錄中遞歸查找。
文件類型
每個文件的詳細(xì)信息占一行,每行最前面的符號標(biāo)記了當(dāng)前文件類型,- 普通文件,一些應(yīng)用程序創(chuàng)建的,比如文檔、圖片、音樂等等。
d 目錄文件。
c 字符設(shè)備文件,Linux 驅(qū)動里面的字符設(shè)備驅(qū)動,比如串口設(shè)備,音頻設(shè)備等。
b 塊設(shè)備文件,存儲設(shè)備驅(qū)動,比如硬盤,U 盤等。
l 符號連接文件,相當(dāng)于 Windwos 下的快捷方式。
s 套接字文件。
p 管道文件,主要指 FIFO 文件。
Linux 用戶權(quán)限管理
Ubuntu 是一個多用戶系統(tǒng),我們可以給不同的使用者創(chuàng)建不同的用戶賬號,每個用戶使用各自的賬號登陸,使用用戶賬號的目的一是方便系統(tǒng)管理員管理,控制不同用戶對系統(tǒng)的訪問權(quán)限,另一方面是為用戶提供安全性保護(hù)。我們前面在安裝 Ubuntu 系統(tǒng)的時候被要求創(chuàng)建一個賬戶,當(dāng)我們創(chuàng)建好賬號以后,系統(tǒng)會在目錄/home 下以該用戶名創(chuàng)建一個文件夾,所有與該用戶有關(guān)的文件都會被存儲在這個文件文件夾中。
裝系統(tǒng)的時候創(chuàng)建的用戶其權(quán)限比后面創(chuàng)建的用戶大一點,但是沒有 root 用戶權(quán)限大,
Ubuntu 下用戶類型分為以下 3 類:
● 初次創(chuàng)建的用戶,此用戶可以完成比普通用戶更多的功能。
● root 用戶,系統(tǒng)管理員,系統(tǒng)中的玉皇大帝,擁有至高無上的權(quán)利。
● 普通用戶,安裝完操作系統(tǒng)以后被創(chuàng)建的用戶。
權(quán)限管理
對于一個文件通常有三種權(quán)限:讀?、寫(w)和執(zhí)行(x),使用命令“l(fā)s -l”可以查看某個目錄下所有文件的權(quán)限信息,如圖 所示:
其中“-rw-rw-r–”表示文件權(quán)限與用戶和用戶組之間的關(guān)系,第一位表示文件類型,上一小節(jié)已經(jīng)說了。剩下的 9 位以 3 位為一組,分別表示文件擁有者的權(quán)限,文件擁有者所在用戶組的權(quán)限以及其它用戶權(quán)限。對于文件,可讀權(quán)限表示可以打開查看文件內(nèi)容,可寫權(quán)限表示可以對文件進(jìn)行修改,可執(zhí)行權(quán)限就是可以運行此文件(如果是軟件的話)。對于文件夾,擁有可讀權(quán)限才可以使用命令 ls查看文件夾中的內(nèi)容,擁有可執(zhí)行權(quán)限才能進(jìn)入到文件夾內(nèi)部。
文件的權(quán)限有三種:讀(r)、寫(w)和執(zhí)行(x),除了用 r、w 和 x 表示以外,我們也可以使用二進(jìn)制數(shù)表示,三種權(quán)限就可以使用 3 位二進(jìn)制數(shù)來表示,一種權(quán)限對應(yīng)一個二進(jìn)制位,如果該位為 1 就表示具備此權(quán)限,如果該位為 0 就表示沒不具備此權(quán)限,如下圖所示:
進(jìn)行排列組合可得下圖中的順序
權(quán)限所對應(yīng)的八進(jìn)制數(shù)字就是每個權(quán)限對應(yīng)的位相加,比如權(quán)限 rwx 就是4+2+1=7。前面的文件 test.txt 其權(quán)限為“rw-rw-r–”,因此其十進(jìn)制表示就是:664.
開始使用 a、u、g 和 o 表示文件的歸屬關(guān)系,用=、+和-表示文件權(quán)限的變化,
r 可讀權(quán)限
w 可寫權(quán)限
x 可執(zhí)行權(quán)限
a 所有用戶
u 歸屬用戶
g 歸屬組
o 其它用戶
= 具備權(quán)限
+ 添加某權(quán)限
- 去除某權(quán)限
主要用到“chmod”和“chown”這兩個命令,我們一個一個來看。
1、權(quán)限修改命令 chmod
命令“chmod”用于修改文件或者文件夾的權(quán)限,權(quán)限可以使用前面講的數(shù)字表示也可以使
用字母表示,命令格式如下:
chmod [參數(shù)] [文件名/目錄名]
主要參數(shù)如下:
-c 效果類似“-v”參數(shù),但僅回顯更改的部分。
-f 不顯示錯誤信息。
-R 遞歸處理,指定目錄下的所有文件及其子文件目錄一起處理。
-v 顯示指令的執(zhí)行過程。
2、文件歸屬者修改命令 chown
命令 chown 用來修改某個文件或者目錄的歸屬者用戶或者用戶組,命令格式如下:
chown [參數(shù)] [用戶名.<組名>] [文件名/目錄]
其中[用戶名.<組名>]表示要將文件或者目錄改為哪一個用戶或者用戶組,用戶名和組名用
“.”隔開,其中用戶名和組名中的任何一個都可以省略,命令主要參數(shù)如下:
-c 效果同-v 類似,但僅顯示更改的部分。
-f 不顯示錯誤信息。
-h 只對符號連接的文件做修改,不改動其它任何相關(guān)的文件。
-R 遞歸處理,將指定的目錄下的所有文件和子目錄一起處理。
-v 顯示處理過程。
Linux 磁盤管理
Linux 的磁盤管理體系和 Windows 有很大的區(qū)別,在 Windows 下經(jīng)常會遇到“分區(qū)”這個概念,在 Linux 中一般不叫“分區(qū)”而叫“掛載點”。 “掛載點”就是將一個硬盤的一部分做成文件夾的形式,這個文件夾的名字就是“掛載點”,不管在哪個發(fā)行版的 Linux 中,用戶是絕對看到不到 C 盤、D 盤這樣的概念的,只能看到以文件夾形式存在的“掛載點”.
查看/etc/fstab可以看到具體的掛載點,比如我們的系統(tǒng)就是掛載在/dev/sda1上??梢酝ㄟ^如下命令查看當(dāng)前系統(tǒng)中的磁盤:
ls /dev/sd*
其中 sd 表示是 SATA 硬盤或者其它外部設(shè)備,最后面的數(shù)字表示該硬盤上的第 n 個分區(qū),比如/dev/sda1 就表示磁盤 sda 上的第一個分區(qū)。圖中都是以/dev/sda 開頭的,說明當(dāng)前只有一個硬盤。如果再插上 U 盤、SD 卡啥的就可能會出現(xiàn)/dev/sdb,/dev/sdc 等等。
磁盤管理命令
1、磁盤分區(qū)命令 fdisk
如果要對某個磁盤進(jìn)行分區(qū),可以使用命令 fdisk,命令格如下:
fdisk [參數(shù)]
主要參數(shù)如下:
-b<分區(qū)大小> 指定每個分區(qū)的大小。
-l 列出指定設(shè)備的分區(qū)表。
-s<分區(qū)編號> 將指定的分區(qū)大小輸出到標(biāo)準(zhǔn)的輸出上,單位為塊。
-u 搭配“-l”參數(shù),會用分區(qū)數(shù)目取代柱面數(shù)目,來表示每個分區(qū)的起始地址。
2、格式化命令 mkfs
使用命令 fdisk 創(chuàng)建好一個分區(qū)以后,我們需要對其格式化,也就是在這個分區(qū)上創(chuàng)建一個
文件系統(tǒng),Linux 下的格式化命令為 mkfs,命令格式如下:
mkfs [參數(shù)] [-t 文件系統(tǒng)類型] [分區(qū)名稱]
主要參數(shù)如下:
fs 指定建立文件系統(tǒng)時的參數(shù)
-V 顯示版本信息和簡要的使用方法。
-v 顯示版本信息和詳細(xì)的使用方法。
比如我們要格式化 U 盤的分區(qū)/dev/sdb1 為 FAT 格式,那么就可以使用如下命令:
mkfs –t vfat /dev/sdb1
3、掛載分區(qū)命令 mount
我們創(chuàng)建好分區(qū)并且格式化以后肯定是要使用硬盤或者 U 盤的,那么如何訪問磁盤呢?比
如我的 U 盤就一個分區(qū),為/dev/sdb1,如果直接打開文件/dev/sdb1 會發(fā)現(xiàn)根本就不是我們要的
結(jié)果。我們需要將/dev/sdb1 這個分區(qū)掛載到一個文件夾中,然后通過這個文件訪問 U 盤,磁盤
掛載命令為 mount,命令格式如下:
mount [參數(shù)] -t [類型] [設(shè)備名稱] [目的文件夾]
命令主要參數(shù)有:
-V 顯示程序版本。
-h 顯示輔助信息。
-v 顯示執(zhí)行過程詳細(xì)信息。
-o ro 只讀模式掛載。
-o rw 讀寫模式掛載。
-s-r 等于-o ro。
-w 等于-o rw
4、卸載命令 umount
當(dāng)我們不再需要訪問已經(jīng)掛載的 U 盤,可以通過 umount 將其從卸載點卸除,命令格式如
下:
umount [參數(shù)] -t [文件系統(tǒng)類型] [設(shè)備名稱]
-a 卸載/etc/mtab 中的所有文件系統(tǒng)。
-h 顯示幫助。
-n 卸載時不要將信息存入到/etc/mtab 文件中
-r 如果無法成功卸載,則嘗試以只讀的方式重新掛載。
-t<文件系統(tǒng)類型> 僅卸載選項中指定的文件系統(tǒng)。
-v 顯示執(zhí)行過程。