目錄mkdir指令句型指令格式指令功能指令參數mkdir指令範例實例1:建立一個空目錄實例2:遞迴建立多個目錄實例3:建立權限為777的目錄實例4:建立新目錄都顯示資訊實例五:一個指令建立專案的目錄結構cat指令句型指令格式指令功能指令參數cat指令範例實例一:把log2012.log的檔案內容加上行號後輸入log2013.log這個檔案裡實例二:把log2012.log和log2013.log的檔案內容加上行號(空白行不加)以後將內容附加到log.log裡。實例三:使用heredoc來世成檔案touch指令句型指令格式指令參數指令功能touch指令範例實例一:建立不存在的檔案vi與vim的差異vi/vim的使用指令模式:輸入模式底線指令模式vi/vim使用實例使用vi/vim步入通常模式按下ESC按鍵回到通常模式在通常模式中按下:wq存放後離開vi
#mkdir指令句型linuxmkdir指令拿來建立指定的名稱的目錄,要求建立目錄的使用者在目前目錄中具有寫入權限,而指定的目錄名稱不能是目前目錄中已有的目錄。
指令格式mkdir[選項]目錄…
指令功能透過mkdir指令可以實作在指定位置建立以DirName(指定的檔案名稱)命名的資料夾或目錄。
要建立資料夾或目錄的使用者必須對所建立的資料夾的父文件治具有寫入權限。
但是,所建立的資料夾(目錄)不能與其父目錄(即父資料夾)中的檔案名稱重名,即同一個目錄下不能有同名的(分辨大小寫)。
指令參數-m,--mode=模式,設定權限(類似chmod),而不是rwxrwxrwx減umask-p,--parents可以是一個路徑名稱。此時若路徑中的個別目錄尚不存在,加上此選項後,系統將手動構建好這些尚不存在的目錄,即一次可以構建多個目錄;-v,--verbose每次創建新目錄都顯示訊息–help顯示此說明資訊並退出–version輸出版本資訊並退出
mkdir指令範例
實例1:建立一個空目錄指令:
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:遞迴建立多個目錄指令:
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:建立權限為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的權限為rwxrwxrwx
實例4:建立新目錄都顯示資訊指令:
mkdir -v test4
輸出:
[root@localhost test]# mkdir -v test4 mkdir: 已创建目录 “test4” [root@localhost test]# mkdir -vp test5/test5-1 mkdir: 已创建目录 “test5” mkdir: 已创建目录 “test5/test5-1” [root@localhost test]#
实例五:一个命令创建项目的目录结构命令:
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: 已创建目录 “scf” mkdir: 已创建目录 “scf/lib” mkdir: 已创建目录 “scf/bin” mkdir: 已创建目录 “scf/doc” mkdir: 已创建目录 “scf/doc/info” mkdir: 已创建目录 “scf/doc/product” mkdir: 已创建目录 “scf/logs” mkdir: 已创建目录 “scf/logs/info” mkdir: 已创建目录 “scf/logs/product” mkdir: 已创建目录 “scf/service” mkdir: 已创建目录 “scf/service/deploy” mkdir: 已创建目录 “scf/service/deploy/info” mkdir: 已创建目录 “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命令的用途是联接文件或标准输入并复印。这个命令常拿来显示文件内容,或则将几个文件联接上去显示,或则从标准输入读取内容并显示,它常与重定向符号配合使用。
命令格式cat[选项][文件]…
命令功能cat主要有三大功能:
一次显示整个文件:catfilename从按键创建一个文件:cat>filename只能创建新文件,不能编辑已有文件.将几个文件合并为一个文件:catfile1file2>file命令参数
-A, --show-all等价于 -vET -b, --number-nonblank对非空输出行编号 -e等价于 -vE -E, --show-ends 在每行结束处显示 $ -n, --number 对输出的所有行编号,由1开始对所有输出的行数编号 -s, --squeeze-blank 有连续两行以上的空白行,就代换为一行的空白行 -t与 -vT 等价 -T, --show-tabs 将跳格字符显示为 ^I -u(被忽略) -v, --show-nonprinting使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
cat命令示例
实例一:把log2012.log的文件内容加上行号后输入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的文件内容加上行号(空白行不加)以后将内容附加到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]#
实例三:使用heredoc来世成文件输出:
[root@localhost test]# cat >log.txt < 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]#
说明:
注意斜体部份,heredoc可以进行字符串替换。
备注:
tac(反向列示)
命令:
tac log.txt
输出:
[root@localhost test]# tac log.txt PWD=/opt/soft/test Linux World Hello
说明:
tac是将cat反写过来,所以他的功能就跟cat相反,cat是由第一行到最后一行连续显示在荧幕上,而tac则是由最后一行到第一行反向在荧幕上显示下来!
touch命令句型linux的touch命令不常用,通常在使用make的时侯可能会用到,拿来更改文件时间戳,或则新建一个不存在的文件。
命令格式touch[选项]…文件…
命令参数-a或–time=atime或–time=access或–time=use只修改存取时间。-c或–no-create不完善任何文档。-d使用指定的日期时间,而非现今的时间。-f此参数将忽视不予处理,仅负责解决BSD版本touch指令的兼容性问题。-m或–time=mtime或–time=modify只更改变动时间。-r把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。-t使用指定的日期时间,而非现今的时间。命令功能touch命令参数可修改文档或目录的日期时间,包括存取时间和修改时间。
touch命令示例
实例一:创建不存在的文件命令:
touch log2012.log log2013.log
输出:
[root@localhost test]# touch log2012.log log2013.log [root@localhost test]# ll -rw-r--r-- 1 root root0 10-28 16:01 log2012.log -rw-r--r-- 1 root root0 10-28 16:01 log2013.log
假如log2014.log不存在,则不创建文件
[root@localhost test]# touch -c log2014.log [root@localhost test]# ll -rw-r--r-- 1 root root0 10-28 16:01 log2012.log -rw-r--r-- 1 root root0 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 root0 10-28 16:01 log2012.log -rw-r--r-- 1 root root0 10-28 16:01 log2013.log -rw-r--r-- 1 root root0 10-28 14:48 log.log [root@localhost test]# touch -r log.log log2012.log [root@localhost test]# ll -rw-r--r-- 1 root root0 10-28 14:48 log2012.log -rw-r--r-- 1 root root0 10-28 16:01 log2013.log -rw-r--r-- 1 root root0 10-28 14:48 log.log
实例三:设定文件的时间戳
命令:
touch -t 201211142234.50 log.log
输出:
[root@localhost test]# ll -rw-r--r-- 1 root root0 10-28 14:48 log2012.log -rw-r--r-- 1 root root0 10-28 16:01 log2013.log -rw-r--r-- 1 root root0 10-28 14:48 log.log [root@localhost test]# touch -t 201211142234.50 log.log [root@localhost test]# ll -rw-r--r-- 1 root root0 10-28 14:48 log2012.log -rw-r--r-- 1 root root0 10-28 16:01 log2013.log -rw-r--r-- 1 root root0 2012-11-14 log.log
说明:
-ttime使用指定的时间值time作为指定文件相应时间戳记的新值.此处的time规定为如下方式的十补码数:
[[CC]YY]MMDDhhmm[.SS]
这儿,CC为年数中的前两位,即”世纪数”;
YY为年数的后两位,即某世纪中的年数.假若不给出CC的值,则touch将把年数CCYY限定在1969–2068之内.
MM为月数,DD为天将把年数CCYY限定在1969–2068之内.
MM为月数,DD为天数,hh为小时数(几点),mm为分钟数,SS为秒数.
此处秒的设定范围是0–61,这样可以处理闰秒.
这种数字组成的时间是环境变量TZ指定的时区中的一个时间.
因为系统的限制,早于1970年1月1日的时间是错误的。
vi與vim的區別vi編輯器是所有Unix及Linux系統下標準的編輯器,他就相當於windows系統中的記事本一樣,它的強悍不遜色於任何最新的文本編輯器。
它是我們使用Linux系統不能缺乏的工具。
因為對Unix及Linux系統的任何版本,vi編輯器是完全相同的,學會它後,您將在Linux的世界裡暢行無阻。
vim具有程式編輯的能力,可以以字體顏色分辨句型的正確性,便捷程式設計;由於程式簡單,編輯速率相當快速。
vim可以當成vi的升級版本,他可以用多種顏色的方法來顯示一些特殊的資訊。
vim會根據檔案擴充名稱或則是檔案內的開頭訊息,判定該檔案的內容而手動的執行該程式的句型判定式,再以顏色來顯示程式碼與通常訊息。
vim上面加入了很多額外的功能,例如支援正規表示式的搜尋、多檔案編輯、區塊複製等等。這對於我們在Linux上進行一些設定檔的更改工作時是很棒的功能。
vi/vim的使用基本上vi/vim共分為三種模式,分別是指令模式(Commandmode),輸入模式(Insertmode)與底線指令模式(Lastlinemode)。
這三種模式的作用分別是:
指令模式:使用者剛剛啟動vi/vim,便步入了指令模式。
此狀態下敲打按鍵動作會被Vim辨識為指令,而非輸入字元。
例如我們此時按下i,並不會輸入一個字符,i被當成了一個指令。
以下是常用的幾個指令:
i切換到輸入模式,以輸入字元。 x刪除目前遊標所在的字元。 :切換到底線指令模式,以在最底一行輸入指令。若想要編輯文字:啟動Vim,步入了指令模式,按下i,切換到輸入模式。
指令模式只有一些最基本的指令,因而仍要藉助底線指令模式輸入更多指令。
輸入模式在指令模式下按下i就步入了輸入模式。
在輸入模式中,可以使用下列鍵盤:
字元鍵盤以及Shift組合,輸入字元ENTER,回車鍵,換行BACKSPACE,退格鍵linux模擬,刪掉遊標前一個字元DEL,刪掉鍵,刪掉遊標後一個字元方向鍵,在文字中聯通遊標HOME/END,聯通遊標到行首/行尾PageUp/PageDownlinux mkdir選項,上/下翻頁Insert,切換遊標為輸入/替換模式,遊標將弄成垂直線/頓號ESC,退出輸入模式,切換到指令模式
底線指令模式在指令模式下按下:(英文引號)就步入了底線指令模式。
底線命令模式可以輸入單一或多個字元的命令,可用的命令十分多。
在底線指令模式中,基本的指令有(早已省略了逗號):
q退出程式w儲存檔按ESC鍵隨時退出底線指令模式。
简单的说,我们可以将这三个模式想成下边的图标来表示:
vi/vim使用实例
使用vi/vim步入通常模式假如你想要使用vi来构建一个名为runoob.txt的文件时,你可以这样做:
$ vim runoob.txt
直接输入vi文件名就能否步入vi的通常模式了。请注意,记得vi前面一定要加文件名,不管该文件存在与否!
按下i步入输入模式(俗称为编辑模式),开始编辑文字
在通常模式之中,只要按下i,o,a等字符就可以步入输入模式了!
在编辑模式当中,你可以发觉在左下角状态栏中会出现–INSERT-的字样,那就是可以输入任意字符的提示。
这个时侯,鼠标上不仅Esc这个按钮之外,其他的键盘都可以视作为通常的输入按键了,所以你可以进行任何的编辑。
按下ESC按键回到通常模式好了,假定我早已根据前面的款式给他编辑完毕了,这么应当要怎么退出呢?是的!没错!就是给他按下Esc这个按键即可!马上你才会发觉画面左下角的–INSERT–不见了!
在通常模式中按下:wq存储后离开viOK,我们要存档了linux mkdir选项,镜象并离开的指令很简单linux 虚拟主机,输入:wq即可保存离开!
OK!这样我们就成功创建了一个runoob.txt的文件。
到此这篇关于Linux命令之mkdir,cat,touch,vi/vim的解读的文章就介绍到这了,更多相关Linux之mkdir,cat,touch,vi/vim内容请搜索曾经的文章或继续浏览下边的相关文章希望你们之后多多支持!
以上是想成為 Linux 高手? mkdir、cat、touch 指令語法及範例全解析的詳細內容。更多資訊請關注PHP中文網其他相關文章!