欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux命令之mkdir,cat,touch,vi/vim的詳解

 更新時間:2023年01月13日 14:59:22   作者:小熊coder  
這篇文章主要介紹了Linux命令之mkdir,cat,touch,vi/vim的內(nèi)容,文章內(nèi)容很詳細,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

mkdir命令語法

linux mkdir 命令用來創(chuàng)建指定的名稱的目錄,要求創(chuàng)建目錄的用戶在當前目錄中具有寫權(quán)限,并且指定的目錄名不能是當前目錄中已有的目錄。

命令格式

mkdir [選項] 目錄…

命令功能

通過 mkdir 命令可以實現(xiàn)在指定位置創(chuàng)建以 DirName(指定的文件名)命名的文件夾或目錄。

要創(chuàng)建文件夾或目錄的用戶必須對所創(chuàng)建的文件夾的父文件夾具有寫權(quán)限。

并且,所創(chuàng)建的文件夾(目錄)不能與其父目錄(即父文件夾)中的文件名重名,即同一個目錄下不能有同名的(區(qū)分大小寫)。

命令參數(shù)

  • -m, --mode=模式,設(shè)定權(quán)限<模式> (類似 chmod),而不是 rwxrwxrwx 減 umask
  • -p, --parents 可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項后,系統(tǒng)將自動建立好那些尚不存在的目錄,即一次可以建立多個目錄;
  • -v, --verbose 每次創(chuàng)建新目錄都顯示信息
  • –help 顯示此幫助信息并退出
  • –version 輸出版本信息并退出

mkdir命令示例

實例1:創(chuàng)建一個空目錄

命令:

mkdir test1

輸出:

[root@localhost soft]# cd test

[root@localhost test]# mkdir test1

[root@localhost test]# ll

總計 4drwxr-xr-x 2 root root 4096 10-25 17:42 test1

[root@localhost test]#

實例2:遞歸創(chuàng)建多個目錄

命令:

mkdir -p test2/test22

輸出:

[root@localhost test]# mkdir -p test2/test22

[root@localhost test]# ll

總計 8drwxr-xr-x 2 root root 4096 10-25 17:42 test1

drwxr-xr-x 3 root root 4096 10-25 17:44 test2

[root@localhost test]# cd test2/

[root@localhost test2]# ll

總計 4drwxr-xr-x 2 root root 4096 10-25 17:44 test22

[root@localhost test2]#

實例3:創(chuàng)建權(quán)限為777的目錄

命令:

mkdir -m 777 test3

輸出:

[root@localhost test]# mkdir -m 777 test3

[root@localhost test]# ll

總計 12drwxr-xr-x 2 root root 4096 10-25 17:42 test1

drwxr-xr-x 3 root root 4096 10-25 17:44 test2

drwxrwxrwx 2 root root 4096 10-25 17:46 test3

[root@localhost test]#

說明:

test3 的權(quán)限為rwxrwxrwx

實例4:創(chuàng)建新目錄都顯示信息

命令:

mkdir -v test4

輸出:

[root@localhost test]# mkdir -v test4

mkdir: 已創(chuàng)建目錄 “test4”

[root@localhost test]# mkdir -vp test5/test5-1

mkdir: 已創(chuàng)建目錄 “test5”

mkdir: 已創(chuàng)建目錄 “test5/test5-1”

[root@localhost test]#

實例五:一個命令創(chuà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

     `-- product

12 directories, 0 files

[root@localhost test]#

cat命令語法

cat命令的用途是連接文件或標準輸入并打印。這個命令常用來顯示文件內(nèi)容,或者將幾個文件連接起來顯示,或者從標準輸入讀取內(nèi)容并顯示,它常與重定向符號配合使用。

命令格式

cat [選項] [文件]…

命令功能

cat主要有三大功能:

  1. 一次顯示整個文件:cat filename
  2. 從鍵盤創(chuàng)建一個文件:cat > filename 只能創(chuàng)建新文件,不能編輯已有文件.
  3. 將幾個文件合并為一個文件:cat file1 file2 > file

命令參數(shù)

-A, --show-all      等價于 -vET

-b, --number-nonblank  對非空輸出行編號

-e            等價于 -vE

-E, --show-ends     在每行結(jié)束處顯示 $

-n, --number   對輸出的所有行編號,由1開始對所有輸出的行數(shù)編號

-s, --squeeze-blank 有連續(xù)兩行以上的空白行,就代換為一行的空白行 

-t            與 -vT 等價

-T, --show-tabs     將跳格字符顯示為 ^I

-u            (被忽略)

-v, --show-nonprinting  使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外

cat命令示例

實例一:把 log2012.log 的文件內(nèi)容加上行號后輸入 log2013.log 這個文件里

命令:

cat -n log2012.log log2013.log 

輸出:

[root@localhost test]# cat log2012.log 

2012-01

2012-02

======[root@localhost test]# cat log2013.log 

2013-01

2013-02

2013-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]#

說明:

實例二:把 log2012.log 和 log2013.log 的文件內(nèi)容加上行號(空白行不加)之后將內(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]#

實例三:使用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.txt

Hello

World

Linux

PWD=/opt/soft/test

[root@localhost test]#

說明:

注意粗體部分,here doc可以進行字符串替換。

備注

tac (反向列示)

命令:

tac log.txt

輸出:

[root@localhost test]# tac log.txt 

PWD=/opt/soft/test

Linux

World

Hello

說明:

tac 是將 cat 反寫過來,所以他的功能就跟 cat 相反, cat 是由第一行到最后一行連續(xù)顯示在螢?zāi)簧?,?tac 則是由最后一行到第一行反向在螢?zāi)簧巷@示出來!

touch命令語法

linux的touch命令不常用,一般在使用make的時候可能會用到,用來修改文件時間戳,或者新建一個不存在的文件。

命令格式

touch [選項]… 文件…

命令參數(shù)

  • -a 或–time=atime或–time=access或–time=use 只更改存取時間。
  • -c 或–no-create 不建立任何文檔。
  • -d 使用指定的日期時間,而非現(xiàn)在的時間。
  • -f 此參數(shù)將忽略不予處理,僅負責解決BSD版本touch指令的兼容性問題。
  • -m 或–time=mtime或–time=modify 只更改變動時間。
  • -r 把指定文檔或目錄的日期時間,統(tǒng)統(tǒng)設(shè)成和參考文檔或目錄的日期時間相同。
  • -t 使用指定的日期時間,而非現(xiàn)在的時間。

命令功能

touch命令參數(shù)可更改文檔或目錄的日期時間,包括存取時間和更改時間。

touch命令示例

實例一:創(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

實例二:更新log.log的時間和log2012.log時間戳相同

命令:

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è)定文件的時間戳

命令:

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 使用指定的時間值 time 作為指定文件相應(yīng)時間戳記的新值.此處的 time規(guī)定為如下形式的十進制數(shù):

[[CC]YY]MMDDhhmm[.SS]

這里,CC為年數(shù)中的前兩位,即”世紀數(shù)”;

YY為年數(shù)的后兩位,即某世紀中的年數(shù).如果不給出CC的值,則touch 將把年數(shù)CCYY限定在1969–2068之內(nèi).

MM為月數(shù),DD為天將把年數(shù)CCYY限定在1969–2068之內(nèi).

MM為月數(shù),DD為天數(shù),hh 為小時數(shù)(幾點),mm為分鐘數(shù),SS為秒數(shù).

此處秒的設(shè)定范圍是0–61,這樣可以處理閏秒.

這些數(shù)字組成的時間是環(huán)境變量TZ指定的時區(qū)中的一個時 間.

由于系統(tǒng)的限制,早于1970年1月1日的時間是錯誤的。

vi與vim的區(qū)別

vi編輯器是所有Unix及Linux系統(tǒng)下標準的編輯器,他就相當于windows系統(tǒng)中的記事本一樣,它的強大不遜色于任何最新的文本編輯器。

它是我們使用Linux系統(tǒng)不能缺少的工具。

由于對Unix及Linux系統(tǒng)的任何版本,vi編輯器是完全相同的,學(xué)會它后,您將在Linux的世界里暢行無阻。

vim 具有程序編輯的能力,可以以字體顏色辨別語法的正確性,方便程序設(shè)計;因為程序簡單,編輯速度相當快速。

vim可以當作vi的升級版本,他可以用多種顏色的方式來顯示一些特殊的信息。

vim會依據(jù)文件擴展名或者是文件內(nèi)的開頭信息, 判斷該文件的內(nèi)容而自動的執(zhí)行該程序的語法判斷式,再以顏色來顯示程序代碼與一般信息。

vim里面加入了很多額外的功能,例如支持正則表達式的搜索、多文件編輯、塊復(fù)制等等。 這對于我們在Linux上進行一些配置文件的修改工作時是很棒的功能。

vi/vim 的使用

基本上 vi/vim 共分為三種模式,分別是命令模式(Command mode),輸入模式(Insert mode)底線命令模式(Last line mode)

這三種模式的作用分別是:

命令模式:

用戶剛剛啟動 vi/vim,便進入了命令模式。

此狀態(tài)下敲擊鍵盤動作會被Vim識別為命令,而非輸入字符。

比如我們此時按下i,并不會輸入一個字符,i被當作了一個命令。

以下是常用的幾個命令:

  • i 切換到輸入模式,以輸入字符。
  • x 刪除當前光標所在處的字符。
  • : 切換到底線命令模式,以在最底一行輸入命令。

若想要編輯文本:啟動Vim,進入了命令模式,按下i,切換到輸入模式。

命令模式只有一些最基本的命令,因此仍要依靠底線命令模式輸入更多命令。

輸入模式

在命令模式下按下i就進入了輸入模式。

在輸入模式中,可以使用以下按鍵:

  • 字符按鍵以及Shift組合,輸入字符
  • ENTER,回車鍵,換行
  • BACK SPACE,退格鍵,刪除光標前一個字符
  • DEL,刪除鍵,刪除光標后一個字符
  • 方向鍵,在文本中移動光標
  • HOME/END,移動光標到行首/行尾
  • Page Up/Page Down,上/下翻頁
  • Insert,切換光標為輸入/替換模式,光標將變成豎線/下劃線
  • ESC,退出輸入模式,切換到命令模式

底線命令模式

在命令模式下按下:(英文冒號)就進入了底線命令模式。

底線命令模式可以輸入單個或多個字符的命令,可用的命令非常多。

在底線命令模式中,基本的命令有(已經(jīng)省略了冒號):

  • q 退出程序
  • w 保存文件

按ESC鍵可隨時退出底線命令模式。

簡單的說,我們可以將這三個模式想成底下的圖標來表示:

img

vi/vim 使用實例

使用 vi/vim 進入一般模式

如果你想要使用 vi 來建立一個名為 runoob.txt 的文件時,你可以這樣做:

$ vim runoob.txt

直接輸入 vi 文件名 就能夠進入 vi 的一般模式了。請注意,記得 vi 后面一定要加文件名,不管該文件存在與否!

img

按下 i 進入輸入模式(也稱為編輯模式),開始編輯文字

在一般模式之中,只要按下 i, o, a 等字符就可以進入輸入模式了!

在編輯模式當中,你可以發(fā)現(xiàn)在左下角狀態(tài)欄中會出現(xiàn) –INSERT- 的字樣,那就是可以輸入任意字符的提示。

這個時候,鍵盤上除了 Esc 這個按鍵之外,其他的按鍵都可以視作為一般的輸入按鈕了,所以你可以進行任何的編輯。

img

按下 ESC 按鈕回到一般模式

好了,假設(shè)我已經(jīng)按照上面的樣式給他編輯完畢了,那么應(yīng)該要如何退出呢?是的!沒錯!就是給他按下 Esc 這個按鈕即可!馬上你就會發(fā)現(xiàn)畫面左下角的 – INSERT – 不見了!

在一般模式中按下 :wq 儲存后離開 vi

OK,我們要存檔了,存盤并離開的指令很簡單,輸入 :wq 即可保存離開!

img

OK! 這樣我們就成功創(chuàng)建了一個 runoob.txt 的文件。

到此這篇關(guān)于Linux命令之mkdir,cat,touch,vi/vim的詳解的文章就介紹到這了,更多相關(guān)Linux之mkdir,cat,touch,vi/vim內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論