linux的目錄樹(shù)命令,Linux用命令創(chuàng)建目錄樹(shù)

linux常用的命令有哪些

Linux運(yùn)維人員必會(huì)的120個(gè)命令

創(chuàng)新互聯(lián)建站從2013年開(kāi)始,先為云霄等服務(wù)建站,云霄等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為云霄企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

來(lái)自《跟老男孩學(xué)Linux運(yùn)維:核心系統(tǒng)命令實(shí)戰(zhàn)》一書(shū)

前言

第1章 Linux命令行簡(jiǎn)介 / 1

1.1Linux命令行概述 / 1

1.2在Linux命令行下查看命令幫助 / 4

1.3Linux shutdown reboot halt / 9

關(guān)機(jī):

shutdown -h now

halt

init 0

第2章 文件和目錄操作命令 / 13

2.1pwd:顯示當(dāng)前所在的位置 / 13

2.2cd:切換目錄 / 16

2.3tree:以樹(shù)形結(jié)構(gòu)顯示目錄下的內(nèi)容 / 18

2.4mkdir:創(chuàng)建目錄 / 22

2.5touch:創(chuàng)建空文件或改變文件的時(shí)間戳屬性 / 27

2.6ls:顯示目錄下的內(nèi)容及相關(guān)屬性信息 / 30

2.7cp:復(fù)制文件或目錄 / 39

2.8mv:移動(dòng)或重命名文件 / 42

2.9rm:刪除文件或目錄 / 45

2.10rmdir:刪除空目錄 / 48

2.11ln:硬鏈接與軟鏈接 / 49

2.12readlink:查看符號(hào)鏈接文件的內(nèi)容 / 54

2.13find:查找目錄下的文件 / 55

2.14xargs:將標(biāo)準(zhǔn)輸入轉(zhuǎn)換成命令行參數(shù) / 68

2.15rename:重命名文件 / 71

2.16basename:顯示文件名或目錄名 / 72

2.17dirname:顯示文件或目錄路徑 / 72

2.18chattr:改變文件的擴(kuò)展屬性 / 73

2.19lsattr:查看文件擴(kuò)展屬性 / 75

2.20file:顯示文件的類型 / 76

2.21md5sum:計(jì)算和校驗(yàn)文件的MD5值 / 77

2.22chown:改變文件或目錄的用戶和用戶組 / 80

2.23chmod:改變文件或目錄權(quán)限 / 81

2.24chgrp:更改文件用戶組 / 85

2.25umask:顯示或設(shè)置權(quán)限掩碼 / 86

2.26老男孩從新手成為技術(shù)大牛的心法 / 90

第3章 文件過(guò)濾及內(nèi)容編輯處理命令 / 91

3.1cat:合并文件或查看文件內(nèi)容 / 91

3.2tac:反向顯示文件內(nèi)容 / 103

3.3more:分頁(yè)顯示文件內(nèi)容 / 104

3.4less:分頁(yè)顯示文件內(nèi)容 / 107

3.5head:顯示文件內(nèi)容頭部 / 109

3.6tail:顯示文件內(nèi)容尾部 / 111

3.7tailf:跟蹤日志文件 / 114

3.8cut:從文本中提取一段文字并輸出 / 115

3.9split:分割文件 / 117

3.10paste:合并文件 / 118

3.11sort:文本排序 / 123

3.12join:按兩個(gè)文件的相同字段合并 / 127

3.13uniq:去除重復(fù)行 / 129

3.14wc:統(tǒng)計(jì)文件的行數(shù)、單詞數(shù)或字節(jié)數(shù) / 131

3.15iconv:轉(zhuǎn)換文件的編碼格式 / 133

3.16dos2unix:將DOS格式文件轉(zhuǎn)換成UNIX格式 / 134

3.17diff:比較兩個(gè)文件的不同 / 135

3.18vimdiff:可視化比較工具 / 138

3.19rev:反向輸出文件內(nèi)容 / 139

3.20tr:替換或刪除字符 / 140

3.21od:按不同進(jìn)制顯示文件 / 143

3.22tee:多重定向 / 145

3.23vi/vim:純文本編輯器 / 147

3.24老男孩逆襲思想:做Linux運(yùn)維的多個(gè)好處 / 152

第4章 文本處理三劍客 / 153

4.1grep:文本過(guò)濾工具 / 153

4.2sed:字符流編輯器 / 159

4.3awk基礎(chǔ)入門(mén) / 165

第5章 Linux信息顯示與搜索文件命令 / 176

5.1uname:顯示系統(tǒng)信息 / 176

5.2hostname:顯示或設(shè)置系統(tǒng)的主機(jī)名 / 178

5.3dmesg:系統(tǒng)啟動(dòng)異常診斷 / 179

5.4stat:顯示文件或文件系統(tǒng)狀態(tài) / 181

5.5du:統(tǒng)計(jì)磁盤(pán)空間使用情況 / 183

5.6date:顯示與設(shè)置系統(tǒng)時(shí)間 / 186

5.7echo:顯示一行文本 / 190

5.8watch:監(jiān)視命令執(zhí)行情況 / 193

5.9which:顯示命令的全路徑 / 195

5.10whereis:顯示命令及其相關(guān)文件全路徑 / 196

5.11locate:快速定位文件路徑 / 197

5.12updatedb:更新mlocate數(shù)據(jù)庫(kù) / 199

5.13老男孩逆襲思想:新手在工作中如何問(wèn)問(wèn)題不會(huì)被鄙視 / 200

第6章 文件備份與壓縮命令 / 201

6.1tar:打包備份 / 201

6.2gzip:壓縮或解壓文件 / 208

6.3zip:打包和壓縮文件 / 211

6.4unzip:解壓zip文件 / 212

6.5scp:遠(yuǎn)程文件復(fù)制 / 214

6.6rsync:文件同步工具 / 216

6.7老男孩逆襲思想:新手如何高效地提問(wèn) / 220

第7章 Linux用戶管理及用戶信息查詢命令 / 222

7.1 useradd:創(chuàng)建用戶 / 222

7.2usermod:修改用戶信息 / 227

7.3userdel:刪除用戶 / 229

7.4groupadd:創(chuàng)建新的用戶組 / 230

7.5groupdel:刪除用戶組 / 231

7.6passwd:修改用戶密碼 / 232

7.7chage:修改用戶密碼有效期 / 237

7.8chpasswd:批量更新用戶密碼 / 238

7.9su:切換用戶 / 240

7.10visudo:編輯sudoers文件 / 242

7.11sudo:以另一個(gè)用戶身份執(zhí)行命令 / 244

7.12id:顯示用戶與用戶組的信息 / 248

7.13w:顯示已登錄用戶信息 / 249

7.14who:顯示已登錄用戶信息 / 250

7.15users:顯示已登錄用戶 / 252

7.16whoami:顯示當(dāng)前登錄的用戶名 / 253

7.17last:顯示用戶登錄列表 / 253

7.18lastb:顯示用戶登錄失敗的記錄 / 254

7.19lastlog:顯示所有用戶的最近登錄記錄 / 255

第8章 Linux磁盤(pán)與文件系統(tǒng)管理命令 / 257

8.1fdisk:磁盤(pán)分區(qū)工具 / 257

8.2partprobe:更新內(nèi)核的硬盤(pán)分區(qū)表信息 / 265

8.3tune2fs:調(diào)整ext2/ext3/ext4文件系統(tǒng)參數(shù) / 266

8.4parted:磁盤(pán)分區(qū)工具 / 268

8.5mkfs:創(chuàng)建Linux文件系統(tǒng) / 272

8.6dumpe2fs:導(dǎo)出ext2/ext3/ext4文件系統(tǒng)信息 / 274

8.7resize2fs:調(diào)整ext2/ext3/ext4文件系統(tǒng)大小 / 275

8.8fsck:檢查并修復(fù)Linux文件系統(tǒng) / 278

8.9dd:轉(zhuǎn)換或復(fù)制文件 / 281

8.10mount:掛載文件系統(tǒng) / 284

8.11umount:卸載文件系統(tǒng) / 288

8.12df:報(bào)告文件系統(tǒng)磁盤(pán)空間的使用情況 / 289

8.13mkswap:創(chuàng)建交換分區(qū) / 293

8.14swapon:激活交換分區(qū) / 294

8.15swapoff:關(guān)閉交換分區(qū) / 295

8.16sync:刷新文件系統(tǒng)緩沖區(qū) / 296

第9章 Linux進(jìn)程管理命令 / 298

9.1ps:查看進(jìn)程 / 298

9.2pstree:顯示進(jìn)程狀態(tài)樹(shù) / 305

9.3pgrep:查找匹配條件的進(jìn)程 / 306

9.4kill:終止進(jìn)程 / 307

9.5killall:通過(guò)進(jìn)程名終止進(jìn)程 / 310

9.6pkill:通過(guò)進(jìn)程名終止進(jìn)程 / 311

9.7top:實(shí)時(shí)顯示系統(tǒng)中各個(gè)進(jìn)程的資源占用狀況 / 313

9.8nice:調(diào)整程序運(yùn)行時(shí)的優(yōu)先級(jí) / 320

9.9renice:調(diào)整運(yùn)行中的進(jìn)程的優(yōu)先級(jí) / 323

9.10nohup:用戶退出系統(tǒng)進(jìn)程繼續(xù)工作 / 324

9.11strace:跟蹤進(jìn)程的系統(tǒng)調(diào)用 / 325

9.12ltrace:跟蹤進(jìn)程調(diào)用庫(kù)函數(shù) / 332

9.13runlevel:輸出當(dāng)前運(yùn)行級(jí)別 / 334

9.14init:初始化Linux進(jìn)程 / 335

9.15service:管理系統(tǒng)服務(wù) / 335

第10章 Linux網(wǎng)絡(luò)管理命令 / 338

10.1ifconfig:配置或顯示網(wǎng)絡(luò)接口信息 / 338

10.2ifup:激活網(wǎng)絡(luò)接口 / 343

ifup eth0

10.3ifdown:禁用網(wǎng)絡(luò)接口 / 343

ifdown eth0

service network restart(/etc/init.d/network restart) 激活整個(gè)網(wǎng)絡(luò),所有網(wǎng)卡。

10.4route:顯示或管理路由表 / 344

10.5arp:管理系統(tǒng)的arp緩存 / 350

10.6ip:網(wǎng)絡(luò)配置工具 / 351

10.7netstat:查看網(wǎng)絡(luò)狀態(tài) / 358

10.8ss:查看網(wǎng)絡(luò)狀態(tài) / 362

10.9ping:測(cè)試主機(jī)之間網(wǎng)絡(luò)的連通性 / 363

10.10traceroute:追蹤數(shù)據(jù)傳輸路由狀況 / 366

10.11arping:發(fā)送arp請(qǐng)求 / 367

10.12telnet:遠(yuǎn)程登錄主機(jī) / 369

10.13nc:多功能網(wǎng)絡(luò)工具 / 370

10.14ssh:安全地遠(yuǎn)程登錄主機(jī) / 373

10.15wget:命令行下載工具 / 376

10.16mailq:顯示郵件傳輸隊(duì)列 / 379

10.17mail:發(fā)送和接收郵件 / 381

10.18nslookup:域名查詢工具 / 386

10.19dig:域名查詢工具 / 389

10.20host:域名查詢工具 / 393

10.21nmap:網(wǎng)絡(luò)探測(cè)工具和安全/端口掃描器 / 394

10.22tcpdump:監(jiān)聽(tīng)網(wǎng)絡(luò)流量 / 398

第11章 Linux系統(tǒng)管理命令 / 407

11.1lsof:查看進(jìn)程打開(kāi)的文件 / 407

11.2uptime:顯示系統(tǒng)的運(yùn)行時(shí)間及負(fù)載 / 411

11.3free:查看系統(tǒng)內(nèi)存信息 / 411

11.4iftop:動(dòng)態(tài)顯示網(wǎng)絡(luò)接口流量信息 / 413

11.5vmstat:虛擬內(nèi)存統(tǒng)計(jì) / 415

11.6mpstat:CPU信息統(tǒng)計(jì) / 419

11.7iostat:I/O信息統(tǒng)計(jì) / 420

11.8iotop:動(dòng)態(tài)顯示磁盤(pán)I/O統(tǒng)計(jì)信息 / 423

11.9sar:收集系統(tǒng)信息 / 425

11.10chkconfig:管理開(kāi)機(jī)服務(wù) / 430

11.11ntsysv:管理開(kāi)機(jī)服務(wù) / 433

11.12 setup:系統(tǒng)管理工具 / 434

11.13ethtool:查詢網(wǎng)卡參數(shù) / 436

11.14mii-tool:管理網(wǎng)絡(luò)接口的狀態(tài) / 437

11.19rpm:RPM包管理器 / 443

11.20yum:自動(dòng)化RPM包管理工具 / 446

top命令

第12章 Linux系統(tǒng)常用內(nèi)置命令 / 450

12.1Linux內(nèi)置命令概述 / 450

12.2Linux內(nèi)置命令簡(jiǎn)介 / 450

12.3Linux常用內(nèi)置命令實(shí)例 / 452

Linux 從 0 到 1(一) - 終端簡(jiǎn)介,文件與目錄以及相關(guān)操作,常用命令

模式:

當(dāng)打開(kāi)終端,第一行所見(jiàn)的就叫命令行提示符。我的是這樣的:

命令行提示符,顧名思義就是提示在其后面輸入命令。在你輸入新的一行命令前,這個(gè)命令提示符都會(huì)出現(xiàn)。分別解析一下上邊代表什么意思:

oscar 這是當(dāng)前用戶的名字。Linux是一個(gè)多用戶的操作系統(tǒng),Windows也可以。不過(guò)Linux的多用戶管理更方便。我們一般建議每個(gè)使用Linux系統(tǒng)的用戶都創(chuàng)建一個(gè)屬于自己的賬戶,便于隱私管理。

@ 這個(gè)符號(hào)我們應(yīng)該不陌生,我們的電子郵件一般都是 name@domain.com 這樣的不是嗎。這個(gè)@就表示英語(yǔ)里的at,是“在...里面,落戶在...的,在其中”的意思。@前面是用戶名,后面是所在的域。

oscar-laptop 這是當(dāng)前電腦/操作系統(tǒng)的名字。上面說(shuō)了在@后面的是一個(gè)域,所以 oscar@oscar-laptop 就表示oscar-laptop這臺(tái)電腦的oscar這個(gè)用戶。oscar-laptop這個(gè)名稱在安裝此Linux系統(tǒng)時(shí)可以任意指定。

: 這是分隔符,沒(méi)有什么特別的涵義。

~ 這是當(dāng)前所在目錄的名字,會(huì)隨著用戶進(jìn)入不同目錄而改變。~表示當(dāng)前用戶的家目錄,有點(diǎn)類似Windows系統(tǒng)的“我的文檔”這個(gè)目錄。

$ 指示你所具有的權(quán)限的字符。在Linux系統(tǒng)中有兩種可能:

因此, oscar@oscar-laptop:~$ 的意思就是:

你目前是以oscar這個(gè)用戶登錄;你的電腦名稱為oscar-laptop;你目前位于 ~ 目錄下,就是你的用戶家目錄。你是普通用戶,擁有有限的權(quán)限。

參數(shù)里可以包含多個(gè)參數(shù),由空格隔開(kāi),也可以包含數(shù)字,字母,等等??梢哉f(shuō),參數(shù)沒(méi)有固定的格式,但是一般來(lái)說(shuō)還是遵循一定的規(guī)范的。

如果我們要一次加好幾個(gè)短參數(shù),可以用空格隔開(kāi),例如:

多個(gè)短參數(shù)也可以合并在一起,例如上面的命令等價(jià)于:

請(qǐng)注意:參數(shù)的字母的大小寫(xiě)是有區(qū)別的,大寫(xiě)的T和小寫(xiě)的t通常表示不同意思。

如果有多個(gè)長(zhǎng)參數(shù),是不能像多個(gè)短參數(shù)那樣合并寫(xiě)的。而是只能以空格隔開(kāi),例如:

當(dāng)然我們也可以組合使用短參數(shù)和長(zhǎng)參數(shù),例如:

有時(shí)候,同一個(gè)意義的參數(shù)有短參數(shù)和長(zhǎng)參數(shù)兩種形式,效果是一樣的,可以任選哪一種。

有一些參數(shù)你還需要給它賦一個(gè)值才行。而且短參數(shù)和長(zhǎng)參數(shù)的賦值的方式不盡相同。

例如,短參數(shù)賦值,通常是這樣的:

表示把10賦值給p參數(shù)。

如果是長(zhǎng)參數(shù),則一般是這樣賦值:

長(zhǎng)參數(shù)的方式更加容易理解,但是不如短參數(shù)那么簡(jiǎn)潔。

正如我們說(shuō)過(guò)的,參數(shù)的形式?jīng)]有絕對(duì)的準(zhǔn)則。我們上面給出的規(guī)則是一般的,有些命令的參數(shù)格式可能是我們沒(méi)怎么見(jiàn)過(guò)的。

有些參數(shù)就不一樣,而且取決于命令。例如對(duì)于 ls 這個(gè)命令,假如后面帶了一個(gè)參數(shù),這個(gè)參數(shù)是一個(gè)目錄的路徑名的話,那么就會(huì)列出此目錄下的文件。

兩種類型的文件

簡(jiǎn)單起見(jiàn),我們把Linux下的文件分為兩大類:

在一個(gè)文件系統(tǒng)中,我們總有一個(gè)被稱為根目錄的東西,這個(gè)根目錄里包含了所有其他目錄和文件。Linux中有且只有一個(gè)根目錄,就是

是的,就是用一個(gè)斜杠表示。沒(méi)有比根目錄再高一階的目錄了,因?yàn)闆](méi)有目錄包含根目錄,根目錄就是Linux最頂層的目錄。

Linux系統(tǒng)安裝后,包含了很多的文件和目錄(雖然其實(shí)都是文件),我們很容易迷失在“茫茫文?!敝?。

當(dāng)然我們不可能一下子列出Linux中的所有文件,那不現(xiàn)實(shí)。但是我們可以向你展示如何在Linux的目錄樹(shù)中來(lái)回穿梭,你可以知道此刻你位于哪個(gè)目錄下。就好比能看懂Linux這個(gè)很大的“地圖”。

pwd 是英語(yǔ)Print Working Directory的縮寫(xiě),表示“打印當(dāng)前工作目錄”。

which 命令:獲取命令的可執(zhí)行文件的位置,which命令用于顯示一個(gè)命令的對(duì)應(yīng)的可執(zhí)行程序的位置??赡苈?tīng)起來(lái)有點(diǎn)拗口。

在Linux下,每一條命令其實(shí)對(duì)應(yīng)了一個(gè)可執(zhí)行程序。我們?cè)诮K端中輸入命令,再按回車的時(shí)候,其實(shí)就是執(zhí)行了對(duì)應(yīng)的那個(gè)程序。比如說(shuō),pwd命令對(duì)應(yīng)的pwd程序就是存在于Linux中的。

which命令接受一個(gè)參數(shù),也就是你想要知道其可執(zhí)行程序位于哪里的那個(gè)命令。

我們來(lái)測(cè)試一下,就拿pwd命令來(lái)測(cè)試好了:

得到:

因此,pwd命令對(duì)應(yīng)的pwd這個(gè)可執(zhí)行程序位于/bin目錄中。

我們也可以注意到Linux中的可執(zhí)行程序和Windows中不太一樣,在Windows中可執(zhí)行程序一般以.exe結(jié)尾,而Linux中一般是沒(méi)有后綴名的。

Linux中的可執(zhí)行程序也不是都位于相同目錄的。我們可以來(lái)測(cè)試一下which命令本身對(duì)應(yīng)的可執(zhí)行程序位于哪里:

我們可以看到,which命令對(duì)應(yīng)的可執(zhí)行程序which并不位于/bin中,而是在/usr/bin中。

Ubuntu的終端默認(rèn)是有顏色標(biāo)注的,一般來(lái)說(shuō):

如果在你的終端里沒(méi)有標(biāo)明顏色,那么你可以加上參數(shù) --color=auto 來(lái)開(kāi)啟顏色標(biāo)注。如下:

如果你不需要顏色標(biāo)注,那么可以用 --color=none 來(lái)關(guān)閉顏色標(biāo)注。如下:

當(dāng)然,為了避免每次都輸入這么一串額外的參數(shù),其實(shí)我們可以在一個(gè)配置文件里修改,使得永久顯示顏色或不顯示顏色。

在Linux,以點(diǎn)( . )開(kāi)頭的文件是隱藏文件,不過(guò)這里不包括開(kāi)頭的兩個(gè) . 和 .. ,這兩個(gè)的含義如下:

- . (一個(gè)點(diǎn))表示當(dāng)前目錄。在當(dāng)前情況下,就是 /home/oscar 。

- .. (兩個(gè)點(diǎn))表示上一級(jí)目錄。因?yàn)楫?dāng)前目錄是/home/oscar,所以上一級(jí)目錄就是 /home 。

我們有一個(gè)大寫(xiě)的參數(shù) -A,它的作用和小寫(xiě)的-a幾乎一樣,唯一不同就是-A不列出 . 和 .. 這兩個(gè)文件。

-l 這個(gè)參數(shù)算是ls命令最常用的了。加上-l參數(shù)使得ls命令列出一個(gè)顯示文件和目錄的詳細(xì)信息的列表。

當(dāng)我們僅用ls -l時(shí),列出的文件詳細(xì)信息中,文件的大小是以字節(jié)為單位的。有時(shí)這不是太直觀。我們可以再加一個(gè)參數(shù)-h,h是humain readable的縮寫(xiě),表示“適合人類閱讀的”。所以我們的命令變成了:

t是time的縮寫(xiě)。

du命令也是很有用的,因?yàn)樗梢宰屛覀冎牢募湍夸浰嫉目臻g大小。

雖然ls -l命令也可以顯示文件和目錄的大小,但是du命令統(tǒng)計(jì)的才是真正的文件大小。du命令會(huì)深入遍歷每個(gè)目錄的子目錄,把所有文件的大小都做一個(gè)統(tǒng)計(jì)。

du是英語(yǔ)disk usage的縮寫(xiě),表示“磁盤(pán)使用/占用”。

我們的du命令也可以使用參數(shù)。

cat命令和less命令:顯示文件內(nèi)容,這兩個(gè)命令只能顯示文件內(nèi)容,并不能對(duì)文件內(nèi)容進(jìn)行修改。

一次性顯示文件的所有內(nèi)容,如果你想要在顯示的文件內(nèi)容上加上行號(hào),那么你可以加上 -n 這個(gè)參數(shù)。

分頁(yè)顯示文件內(nèi)容

head命令和tail命令:顯示文件的開(kāi)頭和結(jié)尾。

顯示文件開(kāi)頭,默認(rèn)情況下,head會(huì)顯示文件的頭10行。我們也可以指定顯示的行數(shù),用 -n 這個(gè)參數(shù):

就會(huì)顯示文件的頭5行。

顯示文件結(jié)尾。默認(rèn)情況下,tail會(huì)顯示文件的尾10行。

我們也可以指定顯示的行數(shù),用 -n 這個(gè)參數(shù):

就會(huì)顯示文件的尾5行。

tail命令還可以配合 -f 參數(shù)來(lái)實(shí)時(shí)追蹤文件的更新:

這樣,就會(huì)檢查文件是否有追加內(nèi)容,如果有,就顯示新增內(nèi)容。

默認(rèn)地,tail -f會(huì)每過(guò)1秒檢查一下文件是否有新內(nèi)容。你也可以指定間隔檢查的秒數(shù),用 -s 參數(shù):

可以用快捷鍵 Ctrl + c 來(lái)終止tail -f 命令。

touch命令和mkdir命令:創(chuàng)建文件和目錄

創(chuàng)建一個(gè)空白文件。事實(shí)上,Linux沒(méi)有一個(gè)命令是專門(mén)用來(lái)創(chuàng)建一個(gè)空白文件的。touch命令其實(shí)一開(kāi)始的設(shè)計(jì)初衷是修改文件的時(shí)間戳,就是可以修改文件的創(chuàng)建時(shí)間或修改時(shí)間,讓電腦以為文件是在那個(gè)時(shí)候被修改或創(chuàng)建的。但是touch命令如果后面跟著的文件名是不存在的,那么它就會(huì)新建一個(gè)。

事實(shí)上,我們可以用touch命令同時(shí)創(chuàng)建多個(gè)文件:

如果我所要?jiǎng)?chuàng)建的文件的名字里有空格怎么辦呢?

很簡(jiǎn)單,加上雙引號(hào):

創(chuàng)建一個(gè)目錄。

mkdir也可以同時(shí)創(chuàng)建好幾個(gè)目錄:

如果我所要?jiǎng)?chuàng)建的目錄的名字里有空格怎么辦呢?

很簡(jiǎn)單,加上雙引號(hào):

我們還可以用 -p 參數(shù)來(lái)遞歸創(chuàng)建目錄結(jié)構(gòu)。

比如:

cp命令和mv命令:拷貝文件和移動(dòng)文件

拷貝文件或目錄

cp是英語(yǔ)copy的縮寫(xiě),表示“拷貝”。所以,顧名思義,此命令用于拷貝。cp命令不僅可以拷貝單個(gè)文件,還可以拷貝多個(gè)文件,也可以拷貝目錄。

復(fù)制文件到另一個(gè)目錄只需要把cp命令的第二個(gè)參數(shù)換成目錄名。

拷貝目錄

要拷貝目錄,只要在cp命令之后加上-R參數(shù)(注意是大寫(xiě)的R)??截惖臅r(shí)候,目錄中的所有內(nèi)容(子目錄和文件)都會(huì)被拷貝。

使用通配符*

*號(hào)(星號(hào))是很常用的正則表達(dá)式的符號(hào),被稱為“通配符”,

所以如果我們用如下命令:

那么就會(huì)把當(dāng)前目錄下所有txt文件拷貝到folder這個(gè)子目錄當(dāng)中。

又如:

那么就會(huì)把當(dāng)前目錄下凡是以ha開(kāi)頭的文件都拷貝到folder目錄中。

移動(dòng)文件

mv是英語(yǔ)move的縮寫(xiě),表示“移動(dòng)”。mv命令有兩個(gè)功能:

用mv命令來(lái)移動(dòng)目錄很簡(jiǎn)單,不需要額外的參數(shù),就跟移動(dòng)文件一樣:

當(dāng)然,我們也可以使用通配符。

除了移動(dòng)文件,mv命令還可以用于重命名文件。

事實(shí)上,Linux中沒(méi)有一個(gè)專門(mén)的命令用于重命名文件。之所以mv命令可以重命名文件,其實(shí)還是歸因于它的機(jī)制:移動(dòng)文件。經(jīng)過(guò)mv移動(dòng)之后,原始文件變成了新的名字的文件,文件內(nèi)容是不變的,這不就相當(dāng)于重命名了嗎?

以上命令會(huì)將new_file重命名為renamed_file。

刪除文件和目錄

rm命令可以刪除一個(gè)文件,多個(gè)文件,目錄,甚至你的整個(gè)Linux系統(tǒng)(如果你愿意的話)。

以上命令刪除當(dāng)前目錄下的new_file_copy這個(gè)文件。

我們也可以同時(shí)刪除多個(gè)文件,只要用空格隔開(kāi)每個(gè)文件即可。例如:

保險(xiǎn)起見(jiàn),用rm命令刪除文件時(shí),可以加上 -i 參數(shù),這樣對(duì)于每一個(gè)要?jiǎng)h除的文件,終端都會(huì)詢問(wèn)我們是否確定刪除。i是英語(yǔ)inform的縮寫(xiě),表示“告知,通知”。

有兩種回答:

y:是英語(yǔ)yes的縮寫(xiě),表示“是”。那么回車確認(rèn)后,文件就刪除了。

n:是英語(yǔ)no的縮寫(xiě),表示“否”。那么回車確認(rèn)后,文件不會(huì)刪除。

如果在rm命令后加上-f參數(shù),那么終端不會(huì)詢問(wèn)用戶是否確定刪除文件,不論如何,文件會(huì)立刻被強(qiáng)制刪除。

f是英語(yǔ)force的縮寫(xiě)。

以上命令會(huì)強(qiáng)制刪除file文件。

r是英語(yǔ)recursive的縮寫(xiě),表示“遞歸的”。所以使用-r參數(shù),可以使rm命令刪除目錄,并且遞歸刪除其包含的子目錄和文件。

這個(gè)命令也挺危險(xiǎn)的,用得不好可能你的子目錄和文件都沒(méi)了。

以上命令會(huì)刪除one這個(gè)目錄,包括其子目錄和文件。

其實(shí),也存在一個(gè)命令

看著和 rm -r 挺像的。但是這個(gè)命令有個(gè)局限性:只能刪除空的目錄。

創(chuàng)建鏈接

事實(shí)上,Linux下有兩種鏈接類型:

為了區(qū)分這兩種鏈接類型的不同,我們首先來(lái)談一談如Linux這樣的操作系統(tǒng)中文件在硬盤(pán)上的存放。

文件在硬盤(pán)上存儲(chǔ)時(shí),大致來(lái)說(shuō)(請(qǐng)注意我用了“大致來(lái)說(shuō)”),每個(gè)文件有兩部分:

文件名的列表是儲(chǔ)存在硬盤(pán)的其他地方的,和文件內(nèi)容分開(kāi)存放,這樣方便Linux管理。

注意:為什么我上面要用“大致說(shuō)來(lái)”呢?因?yàn)榇颂幬覀兒?jiǎn)化了描述,其實(shí)每個(gè)文件有三部分:

我們這里簡(jiǎn)化地將文件分為兩部分:文件名和文件內(nèi)容。因?yàn)槲覀儾幌氚咽虑閺?fù)雜化,我們想要理解兩種鏈接類型的區(qū)別,暫時(shí)只要知道這些就夠了。

每個(gè)文件的文件內(nèi)容被分配到一個(gè)標(biāo)示號(hào)碼,就是inode。因此每個(gè)文件名都綁定到它的文件內(nèi)容(用inode標(biāo)識(shí))。原理如下圖:

下面我們學(xué)習(xí)如何創(chuàng)建硬鏈接和軟連接。

比之軟鏈接,硬鏈接的使用幾率小很多。但是我們還是要學(xué)習(xí)一下,畢竟可能會(huì)用到。

硬鏈接的原理:使鏈接的兩個(gè)文件共享同樣的文件內(nèi)容,也就是同樣的inode。

所以一旦文件1和文件2之間有了硬鏈接,那么你修改文件1或文件2,其實(shí)修改的是相同的一塊內(nèi)容。只不過(guò)我們可以用兩個(gè)文件名來(lái)取到文件內(nèi)容。

硬鏈接有一個(gè)缺陷:只能創(chuàng)建指向文件的硬鏈接,不能創(chuàng)建指向目錄的硬鏈接。但是軟鏈接可以指向文件或目錄。當(dāng)然了,事實(shí)上,通過(guò)一些參數(shù)的修改,也可以創(chuàng)建指向目錄的硬鏈接,但是比較復(fù)雜,這里不再詳述。所以對(duì)于目錄的鏈接,我們一般都是用軟鏈接。

硬鏈接原理圖:

要?jiǎng)?chuàng)建硬鏈接,直接用ln命令,不加任何參數(shù):

我們可以用ls -i命令查看一下(-i參數(shù)可以顯示文件的inode)。對(duì)于硬鏈接來(lái)說(shuō),刪除任意一方的文件,共同指向的文件內(nèi)容并不會(huì)從硬盤(pán)上被刪除。

我們用ls -l命令查看文件信息的時(shí)候,第二列的那個(gè)2,其實(shí)是表示擁有相同inode號(hào)的文件數(shù)。不難理解,因?yàn)樗鼈冎赶蛳嗤奈募?nèi)容,所以共享一個(gè)inode。

這個(gè)第二列的數(shù)字,一般來(lái)說(shuō)對(duì)于普通文件,都是1,因?yàn)椴煌募node不同嘛。對(duì)于目錄來(lái)說(shuō),這第二列的數(shù)字標(biāo)明目錄內(nèi)所含文件數(shù)目。

其實(shí),軟鏈接才是真正像我們?cè)赪indows下的快捷方式的,其原理很相似。

創(chuàng)建硬鏈接是ln不帶任何參數(shù),但是要?jiǎng)?chuàng)建軟鏈接需要加上-s參數(shù)。s是symbolic(符號(hào)的)的縮寫(xiě)。

file2指向的不再是file1的文件內(nèi)容(和硬鏈接不同),而是指向file1的文件名。

軟鏈接原理圖:

用ls -l命令查看一下,會(huì)發(fā)現(xiàn)形式和之前的硬鏈接不一樣噢,file2的信息是這樣的: file2-file1,表示file2指向file1。

而且file2前面的權(quán)限那里的第一個(gè)字母變成了l,表示link(鏈接)。之前硬鏈接的時(shí)候是沒(méi)有l(wèi)的,硬鏈接外表看起來(lái)就和普通文件類似。

我們用ls -l命令查看文件信息的時(shí)候,第二列的那個(gè)1,表示擁有相同inode號(hào)的文件數(shù)。不難理解,因?yàn)閒ile2指向file1,它們并沒(méi)有指向同一塊文件內(nèi)容,所以它們的inode號(hào)不相同。

軟鏈接的特點(diǎn):

linux相關(guān)命令——1

1.grep -Ei XXX

-E? ? 使用多字符匹配

-i? ? 忽略大小寫(xiě)

2.fdisk -l |grep Disk

通過(guò)fdisk -l 查看機(jī)器所掛硬盤(pán)個(gè)數(shù)及分區(qū)情況

3.mkfs.ext4 /dev/sdb

把第二塊硬盤(pán)整個(gè)格式化成ext4文件系統(tǒng)!同時(shí)會(huì)覆蓋掉原來(lái)到分區(qū)表!

4.blkid /dev/sdb

blkid主要用來(lái)對(duì)系統(tǒng)的塊設(shè)備(包括交換分區(qū))所使用的文件系統(tǒng)類型、LABEL、UUID等信息進(jìn)行查詢。要使用這個(gè)命令必須安裝e2fsprogs軟件包

5. vim /etc/fstab

某些時(shí)候當(dāng)Linux系統(tǒng)下劃分了新的分區(qū)后,需要將這些分區(qū)設(shè)置為開(kāi)機(jī)自動(dòng)掛載,否則,Linux是無(wú)法使用新建的分區(qū)的。 /etc/fstab 文件負(fù)責(zé)配置Linux開(kāi)機(jī)時(shí)自動(dòng)掛載的分區(qū)。

Windows的文件結(jié)構(gòu)是多個(gè)并列的樹(shù)狀結(jié)構(gòu),最頂部的是不同的磁盤(pán)(分區(qū)),如:C,D,E,F(xiàn)等。Linux的文件結(jié)構(gòu)是單個(gè)的樹(shù)狀結(jié)構(gòu)。最頂部的為根目錄,即/。在根目錄下,分為多個(gè)子目錄,包括/bin、/boot、/dev、/etc、/home、/lib、/media、/mnt、/opt、/proc、/root、/sbin、/tmp、/usr和/var等。

磁盤(pán)Linux分區(qū)都必須掛載到目錄樹(shù)中的某個(gè)具體的目錄上才能進(jìn)行讀寫(xiě)操作,而fstab正是負(fù)責(zé)這一配置。顯然,根目錄是所有Linux的文件和目錄所在的地方,需要掛載上一個(gè)磁盤(pán)分區(qū)。上面還提到,Linux分區(qū)交換也需要獨(dú)立使用一個(gè)分區(qū),因此,安裝一個(gè)Linux至少需要兩個(gè)分區(qū)。(事實(shí)上,只使用一個(gè)分區(qū)安裝Linux也是可能的,而且,如果電腦的物理內(nèi)存足夠大,交換分區(qū)并不是必須的)

第一列可以是實(shí)際分區(qū)名,也可以是實(shí)際分區(qū)的卷標(biāo)(Lable)。

第二列是掛載點(diǎn)。

第三列為此分區(qū)的文件系統(tǒng)類型。

第四列是掛載的選項(xiàng),用于設(shè)置掛載的參數(shù)。

常見(jiàn)參數(shù)如下:

auto: 系統(tǒng)自動(dòng)掛載,fstab默認(rèn)就是這個(gè)選項(xiàng)

defaults: rw, suid, dev, exec, auto, nouser, and async.

noauto 開(kāi)機(jī)不自動(dòng)掛載

nouser 只有超級(jí)用戶可以掛載

ro 按只讀權(quán)限掛載

rw 按可讀可寫(xiě)權(quán)限掛載

user 任何用戶都可以掛載

請(qǐng)注意光驅(qū)和軟驅(qū)只有在裝有介質(zhì)時(shí)才可以進(jìn)行掛載,因此它是noauto

第五列是dump備份設(shè)置。

當(dāng)其值設(shè)置為1時(shí),將允許dump備份程序備份;設(shè)置為0時(shí),忽略備份操作;

第六列是fsck磁盤(pán)檢查設(shè)置。

其值是一個(gè)順序。當(dāng)其值為0時(shí),永遠(yuǎn)不檢查

而 / 根目錄分區(qū)永遠(yuǎn)都為1。其它分區(qū)從2開(kāi)始,數(shù)字越小越先檢查,如果兩個(gè)分區(qū)的數(shù)字相同,則同時(shí)檢查。

6. ip addr 查看ip地址

service network restart重啟網(wǎng)卡

cd /etc/sysconfig/network-scripts/? 進(jìn)入網(wǎng)卡配置目錄

7. systemctl 用來(lái)管理linux系統(tǒng)和服務(wù)

查看系統(tǒng)狀態(tài)

#systemctl status

馬上激活單元

# systemctl start 單元

馬上停止單元

# systemctl stop 單元

重新啟動(dòng)單元

# systemctl restart 單元

又一次載入配置

# systemctl reload 單元

輸出單元執(zhí)行狀態(tài)

$ systemctl status 單元

檢查單元是否配置為自己主動(dòng)啟動(dòng)

$ systemctl is-enabled 單元

開(kāi)機(jī)自己主動(dòng)激活單元

# systemctl enable 單元

取消開(kāi)機(jī)自己主動(dòng)激活單元

# systemctl disable 單元

8.ps aux|grep xxx 顯示所有進(jìn)程和其狀態(tài)。

a 顯示現(xiàn)行終端機(jī)下的所有程序,包括其他用戶的程序。

u  以用戶為主的格式來(lái)顯示程序狀況

x  顯示所有程序,不以終端機(jī)來(lái)區(qū)分。

文章名稱:linux的目錄樹(shù)命令,Linux用命令創(chuàng)建目錄樹(shù)
分享路徑:http://muchs.cn/article22/hcgccc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)服務(wù)器托管、網(wǎng)站改版、外貿(mào)網(wǎng)站建設(shè)、定制開(kāi)發(fā)電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)