Linux命令之mkdir,cat,touch,vi/vim的詳解
目錄
- mkdir命令語法
- 命令格式
- 命令功能
- 命令參數(shù)
- mkdir命令示例
- 實(shí)例1:創(chuàng)建一個(gè)空目錄
- 實(shí)例2:遞歸創(chuàng)建多個(gè)目錄
- 實(shí)例3:創(chuàng)建權(quán)限為777的目錄
- 實(shí)例4:創(chuàng)建新目錄都顯示信息
- 實(shí)例五:一個(gè)命令創(chuàng)建項(xiàng)目的目錄結(jié)構(gòu)
- cat命令語法
- 命令格式
- 命令功能
- 命令參數(shù)
- cat命令示例
- 實(shí)例一:把 log2012.log 的文件內(nèi)容加上行號(hào)后輸入 log2013.log 這個(gè)文件里
- 實(shí)例二:把 log2012.log 和 log2013.log 的文件內(nèi)容加上行號(hào)(空白行不加)之后將內(nèi)容附加到 log.log 里。
- 實(shí)例三:使用here doc來生成文件
- touch命令語法
- 命令格式
- 命令參數(shù)
- 命令功能
- touch命令示例
- 實(shí)例一:創(chuàng)建不存在的文件
- vi與vim的區(qū)別
- vi/vim 的使用
- 命令模式:
- 輸入模式
- 底線命令模式
- vi/vim 使用實(shí)例
- 使用 vi/vim 進(jìn)入一般模式
- 按下 ESC 按鈕回到一般模式
- 在一般模式中按下 :wq 儲(chǔ)存后離開 vi
mkdir命令語法
linux mkdir 命令用來創(chuàng)建指定的名稱的目錄,要求創(chuàng)建目錄的用戶在當(dāng)前目錄中具有寫權(quán)限,并且指定的目錄名不能是當(dāng)前目錄中已有的目錄。
命令格式
mkdir [選項(xiàng)] 目錄…
命令功能
通過 mkdir 命令可以實(shí)現(xiàn)在指定位置創(chuàng)建以 DirName(指定的文件名)命名的文件夾或目錄。
要?jiǎng)?chuàng)建文件夾或目錄的用戶必須對(duì)所創(chuàng)建的文件夾的父文件夾具有寫權(quán)限。
并且,所創(chuàng)建的文件夾(目錄)不能與其父目錄(即父文件夾)中的文件名重名,即同一個(gè)目錄下不能有同名的(區(qū)分大小寫)。
命令參數(shù)
- -m, --mode=模式,設(shè)定權(quán)限<模式> (類似 chmod),而不是 rwxrwxrwx 減 umask
- -p, --parents 可以是一個(gè)路徑名稱。此時(shí)若路徑中的某些目錄尚不存在,加上此選項(xiàng)后,系統(tǒng)將自動(dòng)建立好那些尚不存在的目錄,即一次可以建立多個(gè)目錄;
- -v, --verbose 每次創(chuàng)建新目錄都顯示信息
- –help 顯示此幫助信息并退出
- –version 輸出版本信息并退出
mkdir命令示例
實(shí)例1:創(chuàng)建一個(gè)空目錄
命令:
mkdir test1
輸出:
[root@localhost soft]# cd test[root@localhost test]# mkdir test1[root@localhost test]# ll總計(jì) 4drwxr-xr-x 2 root root 4096 10-25 17:42 test1[root@localhost test]#
實(shí)例2:遞歸創(chuàng)建多個(gè)目錄
命令:
mkdir -p test2/test22
輸出:
[root@localhost test]# mkdir -p test2/test22[root@localhost test]# ll總計(jì) 8drwxr-xr-x 2 root root 4096 10-25 17:42 test1drwxr-xr-x 3 root root 4096 10-25 17:44 test2[root@localhost test]# cd test2/[root@localhost test2]# ll總計(jì) 4drwxr-xr-x 2 root root 4096 10-25 17:44 test22[root@localhost test2]#
實(shí)例3:創(chuàng)建權(quán)限為777的目錄
命令:
mkdir -m 777 test3
輸出:
[root@localhost test]# mkdir -m 777 test3[root@localhost test]# ll總計(jì) 12drwxr-xr-x 2 root root 4096 10-25 17:42 test1drwxr-xr-x 3 root root 4096 10-25 17:44 test2drwxrwxrwx 2 root root 4096 10-25 17:46 test3[root@localhost test]#
說明:
test3 的權(quán)限為rwxrwxrwx
實(shí)例4:創(chuàng)建新目錄都顯示信息
命令:
mkdir -v test4
輸出:
[root@localhost test]# mkdir -v test4mkdir: 已創(chuàng)建目錄 “test4”[root@localhost test]# mkdir -vp test5/test5-1mkdir: 已創(chuàng)建目錄 “test5”mkdir: 已創(chuàng)建目錄 “test5/test5-1”[root@localhost test]#
實(shí)例五:一個(gè)命令創(chuàng)建項(xiàng)目的目錄結(jié)構(gòu)
命令:
mkdir -vp scf/{lib/,bin/,doc/{info,product},logs/{info,product},service/deploy/{info,product}}
輸出:
[root@localhost test]# mkdir -vp scf/{lib/,bin/,doc/{info,product},logs/{info,product},service/deploy/{info,product}}mkdir: 已創(chuàng)建目錄 “scf”mkdir: 已創(chuàng)建目錄 “scf/lib”mkdir: 已創(chuàng)建目錄 “scf/bin”mkdir: 已創(chuàng)建目錄 “scf/doc”mkdir: 已創(chuàng)建目錄 “scf/doc/info”mkdir: 已創(chuàng)建目錄 “scf/doc/product”mkdir: 已創(chuàng)建目錄 “scf/logs”mkdir: 已創(chuàng)建目錄 “scf/logs/info”mkdir: 已創(chuàng)建目錄 “scf/logs/product”mkdir: 已創(chuàng)建目錄 “scf/service”mkdir: 已創(chuàng)建目錄 “scf/service/deploy”mkdir: 已創(chuàng)建目錄 “scf/service/deploy/info”mkdir: 已創(chuàng)建目錄 “scf/service/deploy/product”[root@localhost test]# tree scf/scf/|-- bin|-- doc| |-- info| `-- product|-- lib|-- logs| |-- info| `-- product`-- service `-- deploy |-- info `-- product12 directories, 0 files[root@localhost test]#
cat命令語法
cat命令的用途是連接文件或標(biāo)準(zhǔn)輸入并打印。這個(gè)命令常用來顯示文件內(nèi)容,或者將幾個(gè)文件連接起來顯示,或者從標(biāo)準(zhǔn)輸入讀取內(nèi)容并顯示,它常與重定向符號(hào)配合使用。
命令格式
cat [選項(xiàng)] [文件]…
命令功能
cat主要有三大功能:
- 一次顯示整個(gè)文件:cat filename
- 從鍵盤創(chuàng)建一個(gè)文件:cat > filename 只能創(chuàng)建新文件,不能編輯已有文件.
- 將幾個(gè)文件合并為一個(gè)文件:cat file1 file2 > file
命令參數(shù)
-A, --show-all 等價(jià)于 -vET-b, --number-nonblank 對(duì)非空輸出行編號(hào)-e 等價(jià)于 -vE-E, --show-ends 在每行結(jié)束處顯示 $-n, --number 對(duì)輸出的所有行編號(hào),由1開始對(duì)所有輸出的行數(shù)編號(hào)-s, --squeeze-blank 有連續(xù)兩行以上的空白行,就代換為一行的空白行 -t 與 -vT 等價(jià)-T, --show-tabs 將跳格字符顯示為 ^I-u (被忽略)-v, --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
cat命令示例
實(shí)例一:把 log2012.log 的文件內(nèi)容加上行號(hào)后輸入 log2013.log 這個(gè)文件里
命令:
cat -n log2012.log log2013.log
輸出:
[root@localhost test]# cat log2012.log 2012-012012-02======[root@localhost test]# cat log2013.log 2013-012013-022013-03======[root@localhost test]# cat -n log2012.log log2013.log 1 2012-01 2 2012-02 3 4 5 ====== 6 2013-01 7 2013-02 8 9 10 2013-03 11 ======[root@localhost test]#
說明:
實(shí)例二:把 log2012.log 和 log2013.log 的文件內(nèi)容加上行號(hào)(空白行不加)之后將內(nèi)容附加到 log.log 里。
命令:
cat -b log2012.log log2013.log log.log
輸出:
[root@localhost test]# cat -b log2012.log log2013.log log.log 1 2012-01 2 2012-02 3 ====== 4 2013-01 5 2013-02 6 2013-03 7 ======[root@localhost test]#
實(shí)例三:使用here doc來生成文件
輸出:
[root@localhost test]# cat >log.txt <<EOF> Hello> World> Linux> PWD=$(pwd)> EOF[root@localhost test]# ls -l log.txt-rw-r–r-- 1 root root 37 10-28 17:07 log.txt[root@localhost test]# cat log.txtHelloWorldLinuxPWD=/opt/soft/test[root@localhost test]#
說明:
注意粗體部分,here doc可以進(jìn)行字符串替換。
備注:
tac (反向列示)
命令:
tac log.txt
輸出:
[root@localhost test]# tac log.txt PWD=/opt/soft/testLinuxWorldHello
說明:
tac 是將 cat 反寫過來,所以他的功能就跟 cat 相反, cat 是由第一行到最后一行連續(xù)顯示在螢?zāi)簧希?tac 則是由最后一行到第一行反向在螢?zāi)簧巷@示出來!
touch命令語法
linux的touch命令不常用,一般在使用make的時(shí)候可能會(huì)用到,用來修改文件時(shí)間戳,或者新建一個(gè)不存在的文件。
命令格式
touch [選項(xiàng)]… 文件…
命令參數(shù)
- -a 或–time=atime或–time=access或–time=use 只更改存取時(shí)間。
- -c 或–no-create 不建立任何文檔。
- -d 使用指定的日期時(shí)間,而非現(xiàn)在的時(shí)間。
- -f 此參數(shù)將忽略不予處理,僅負(fù)責(zé)解決BSD版本touch指令的兼容性問題。
- -m 或–time=mtime或–time=modify 只更改變動(dòng)時(shí)間。
- -r 把指定文檔或目錄的日期時(shí)間,統(tǒng)統(tǒng)設(shè)成和參考文檔或目錄的日期時(shí)間相同。
- -t 使用指定的日期時(shí)間,而非現(xiàn)在的時(shí)間。
命令功能
touch命令參數(shù)可更改文檔或目錄的日期時(shí)間,包括存取時(shí)間和更改時(shí)間。
touch命令示例
實(shí)例一:創(chuàng)建不存在的文件
命令:
touch log2012.log log2013.log
輸出:
[root@localhost test]# touch log2012.log log2013.log[root@localhost test]# ll-rw-r--r-- 1 root root 0 10-28 16:01 log2012.log-rw-r--r-- 1 root root 0 10-28 16:01 log2013.log
如果log2014.log不存在,則不創(chuàng)建文件
[root@localhost test]# touch -c log2014.log[root@localhost test]# ll-rw-r--r-- 1 root root 0 10-28 16:01 log2012.log-rw-r--r-- 1 root root 0 10-28 16:01 log2013.log
實(shí)例二:更新log.log的時(shí)間和log2012.log時(shí)間戳相同
命令:
touch -r log.log log2012.log
輸出:
[root@localhost test]# ll-rw-r--r-- 1 root root 0 10-28 16:01 log2012.log-rw-r--r-- 1 root root 0 10-28 16:01 log2013.log-rw-r--r-- 1 root root 0 10-28 14:48 log.log[root@localhost test]# touch -r log.log log2012.log [root@localhost test]# ll-rw-r--r-- 1 root root 0 10-28 14:48 log2012.log-rw-r--r-- 1 root root 0 10-28 16:01 log2013.log-rw-r--r-- 1 root root 0 10-28 14:48 log.log
實(shí)例三:設(shè)定文件的時(shí)間戳
命令:
touch -t 201211142234.50 log.log
輸出:
[root@localhost test]# ll-rw-r--r-- 1 root root 0 10-28 14:48 log2012.log-rw-r--r-- 1 root root 0 10-28 16:01 log2013.log-rw-r--r-- 1 root root 0 10-28 14:48 log.log[root@localhost test]# touch -t 201211142234.50 log.log[root@localhost test]# ll-rw-r--r-- 1 root root 0 10-28 14:48 log2012.log-rw-r--r-- 1 root root 0 10-28 16:01 log2013.log-rw-r--r-- 1 root root 0 2012-11-14 log.log
說明:
-t time 使用指定的時(shí)間值 time 作為指定文件相應(yīng)時(shí)間戳記的新值.此處的 time規(guī)定為如下形式的十進(jìn)制數(shù):
[[CC]YY]MMDDhhmm[.SS]
這里,CC為年數(shù)中的前兩位,即”世紀(jì)數(shù)”;
YY為年數(shù)的后兩位,即某世紀(jì)中的年數(shù).如果不給出CC的值,則touch 將把年數(shù)CCYY限定在1969–2068之內(nèi).
MM為月數(shù),DD為天將把年數(shù)CCYY限定在1969–2068之內(nèi).
MM為月數(shù),DD為天數(shù),hh 為小時(shí)數(shù)(幾點(diǎn)),mm為分鐘數(shù),SS為秒數(shù).
此處秒的設(shè)定范圍是0–61,這樣可以處理閏秒.
這些數(shù)字組成的時(shí)間是環(huán)境變量TZ指定的時(shí)區(qū)中的一個(gè)時(shí) 間.
由于系統(tǒng)的限制,早于1970年1月1日的時(shí)間是錯(cuò)誤的。
vi與vim的區(qū)別
vi編輯器是所有Unix及Linux系統(tǒng)下標(biāo)準(zhǔn)的編輯器,他就相當(dāng)于windows系統(tǒng)中的記事本一樣,它的強(qiáng)大不遜色于任何最新的文本編輯器。
它是我們使用Linux系統(tǒng)不能缺少的工具。
由于對(duì)Unix及Linux系統(tǒng)的任何版本,vi編輯器是完全相同的,學(xué)會(huì)它后,您將在Linux的世界里暢行無阻。
vim 具有程序編輯的能力,可以以字體顏色辨別語法的正確性,方便程序設(shè)計(jì);因?yàn)槌绦蚝唵危庉嬎俣认喈?dāng)快速。
vim可以當(dāng)作vi的升級(jí)版本,他可以用多種顏色的方式來顯示一些特殊的信息。
vim會(huì)依據(jù)文件擴(kuò)展名或者是文件內(nèi)的開頭信息, 判斷該文件的內(nèi)容而自動(dòng)的執(zhí)行該程序的語法判斷式,再以顏色來顯示程序代碼與一般信息。
vim里面加入了很多額外的功能,例如支持正則表達(dá)式的搜索、多文件編輯、塊復(fù)制等等。 這對(duì)于我們在Linux上進(jìn)行一些配置文件的修改工作時(shí)是很棒的功能。
vi/vim 的使用
基本上 vi/vim 共分為三種模式,分別是命令模式(Command mode),輸入模式(Insert mode)和底線命令模式(Last line mode)。
這三種模式的作用分別是:
命令模式:
用戶剛剛啟動(dòng) vi/vim,便進(jìn)入了命令模式。
此狀態(tài)下敲擊鍵盤動(dòng)作會(huì)被Vim識(shí)別為命令,而非輸入字符。
比如我們此時(shí)按下i,并不會(huì)輸入一個(gè)字符,i被當(dāng)作了一個(gè)命令。
以下是常用的幾個(gè)命令:
- i 切換到輸入模式,以輸入字符。
- x 刪除當(dāng)前光標(biāo)所在處的字符。
- : 切換到底線命令模式,以在最底一行輸入命令。
若想要編輯文本:啟動(dòng)Vim,進(jìn)入了命令模式,按下i,切換到輸入模式。
命令模式只有一些最基本的命令,因此仍要依靠底線命令模式輸入更多命令。
輸入模式
在命令模式下按下i就進(jìn)入了輸入模式。
在輸入模式中,可以使用以下按鍵:
- 字符按鍵以及Shift組合,輸入字符
- ENTER,回車鍵,換行
- BACK SPACE,退格鍵,刪除光標(biāo)前一個(gè)字符
- DEL,刪除鍵,刪除光標(biāo)后一個(gè)字符
- 方向鍵,在文本中移動(dòng)光標(biāo)
- HOME/END,移動(dòng)光標(biāo)到行首/行尾
- Page Up/Page Down,上/下翻頁
- Insert,切換光標(biāo)為輸入/替換模式,光標(biāo)將變成豎線/下劃線
- ESC,退出輸入模式,切換到命令模式
底線命令模式
在命令模式下按下:(英文冒號(hào))就進(jìn)入了底線命令模式。
底線命令模式可以輸入單個(gè)或多個(gè)字符的命令,可用的命令非常多。
在底線命令模式中,基本的命令有(已經(jīng)省略了冒號(hào)):
- q 退出程序
- w 保存文件
按ESC鍵可隨時(shí)退出底線命令模式。
簡單的說,我們可以將這三個(gè)模式想成底下的圖標(biāo)來表示:
vi/vim 使用實(shí)例
使用 vi/vim 進(jìn)入一般模式
如果你想要使用 vi 來建立一個(gè)名為 runoob.txt 的文件時(shí),你可以這樣做:
$ vim runoob.txt
直接輸入 vi 文件名 就能夠進(jìn)入 vi 的一般模式了。請(qǐng)注意,記得 vi 后面一定要加文件名,不管該文件存在與否!
按下 i 進(jìn)入輸入模式(也稱為編輯模式),開始編輯文字
在一般模式之中,只要按下 i, o, a 等字符就可以進(jìn)入輸入模式了!
在編輯模式當(dāng)中,你可以發(fā)現(xiàn)在左下角狀態(tài)欄中會(huì)出現(xiàn) –INSERT- 的字樣,那就是可以輸入任意字符的提示。
這個(gè)時(shí)候,鍵盤上除了 Esc 這個(gè)按鍵之外,其他的按鍵都可以視作為一般的輸入按鈕了,所以你可以進(jìn)行任何的編輯。
按下 ESC 按鈕回到一般模式
好了,假設(shè)我已經(jīng)按照上面的樣式給他編輯完畢了,那么應(yīng)該要如何退出呢?是的!沒錯(cuò)!就是給他按下 Esc 這個(gè)按鈕即可!馬上你就會(huì)發(fā)現(xiàn)畫面左下角的 – INSERT – 不見了!
在一般模式中按下 :wq 儲(chǔ)存后離開 vi
OK,我們要存檔了,存盤并離開的指令很簡單,輸入 :wq 即可保存離開!
OK! 這樣我們就成功創(chuàng)建了一個(gè) runoob.txt 的文件。
到此這篇關(guān)于Linux命令之mkdir,cat,touch,vi/vim的詳解的文章就介紹到這了,更多相關(guān)Linux之mkdir,cat,touch,vi/vim內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!
相關(guān)文章:
1. Tomcat進(jìn)程占用CPU過高的解決方法2. Apache Doris Colocate Join 原理實(shí)踐教程3. centos環(huán)境下使用tomcat 部署SpringBoot的war包4. 詳解Tomcat中Filter的執(zhí)行流程5. Tomcat啟動(dòng)報(bào)錯(cuò):嚴(yán)重: Unable to process Jar entry [module-info.class]6. zabbix監(jiān)控Nginx/Tomcat/MySQL的詳細(xì)教程7. nginx多l(xiāng)ocation配置實(shí)例代碼8. 使用IDEA創(chuàng)建Web項(xiàng)目并發(fā)布到tomcat的操作方法9. Tomcat安裝使用及部署Web項(xiàng)目的3種方法匯總10. 基于IDEA部署Tomcat服務(wù)器的步驟詳解
