首页 >系统教程 >LINUX >想成为 Linux 高手?mkdir、cat、touch 命令语法及示例全解析

想成为 Linux 高手?mkdir、cat、touch 命令语法及示例全解析

WBOY
WBOY原创
2024-06-13 19:58:44494浏览

想成为 Linux 高手?mkdir、cat、touch 命令语法及示例全解析

目录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里。命令:

选项越多人的选择越困难_linux mkdir选项_选项卡

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

linux mkdir选项_选项卡_选项越多人的选择越困难

输出:

[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为秒数.

选项卡_linux mkdir选项_选项越多人的选择越困难

此处秒的设定范围是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键可随时退出底线命令模式。

简单的说,我们可以将这三个模式想成下边的图标来表示:

img

vi/vim使用实例

使用vi/vim步入通常模式假如你想要使用vi来构建一个名为runoob.txt的文件时,你可以这样做:

$ vim runoob.txt

直接输入vi文件名就能否步入vi的通常模式了。请注意,记得vi前面一定要加文件名,不管该文件存在与否!

img

按下i步入输入模式(俗称为编辑模式),开始编辑文字

在通常模式之中,只要按下i,o,a等字符就可以步入输入模式了!

在编辑模式当中,你可以发觉在左下角状态栏中会出现–INSERT-的字样,那就是可以输入任意字符的提示。

这个时侯,鼠标上不仅Esc这个按钮之外,其他的键盘都可以视作为通常的输入按键了,所以你可以进行任何的编辑。

img

按下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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn