一、文件操作命令 1.1 查看文件
Linux下查看文件的命令有很多,下面列出的几个是几乎所有Linux发行版中都带有的命令,他们各有特点,适用于不同的场合。
cat [filename] , 查看整个文件,适合小文件(如果看大文件,只能看到屏幕飞速的刷……一瞬间就到尾部了)
head [filename],查看文件的首部【默认前10行,可以用-num 选项指定显示的行数】
tail [filename] , 查看文件的尾部【默认尾10行,可以用-num 选项指定显示的行数】
more [filename],分段查看文件,适合大文件【输入命令后先显示文件的前面一部分,屏幕下方显示当前阅读的百分比,形如:--More--(18%);然后按空格键翻到下一屏,或按回车键滚到下一行】
view [filename],vi的只读版本,使用vi的命令进行翻页等操作
上述命令的参数都可以有多个,以达到同时(或依次)查看多个文件的目的。当操作系统为CentOS 5.2时,若输入参数有多个,则
cat命令 依次显示多个文件,中间没有任何间隔符
head命令 依次显示多个文件的首部,每个文件以 ==> filename <== 开头【UNIX系统据说是 = = > filename < + = =】
tail命令 依次显示多个文件的尾部,每个文件以 ==> filename <== 开头【UNIX系统据说只能使用单参数】
more命令 依次分段显示多个文件,每个文件以::::::::::::::(\r)filename(\r)::::::::::::::开头【且每个文件结束后,下方的百分比提示变成:--More--(Next file: filename2 );继续翻屏或滚行后,开始显示新文件】
view命令 同时显示多个文件,多个文件间的切换命令同vi,可参考:《一些常用代码编辑器(Vi、gedit、EditPlus、SourceInsight)的使用技巧小结》第一小节
1.2 创建(空白)文件广义上说,大部分命令其实都可以创建文件,当他们通过 >> 或 >(输出重定向操作符)将自己的输出信息重定向到一个不存在的文件时,系统就会自动帮助创建该文件。不过这样得到的文件基本都是有内容的,不是所以,下面要介绍的几个命令,都可以创建我们通常意义上所说的空白新文件。
(1)不带-c选项的touch命令
格式:touch [filename]
参数,filename 是待创建新文件的路径加文件名,当你的目的是创建新文件时,它不应与同路径下其他文件重名【若位于当前目录下,则无需指定路径】
例如,在当前目录下创建一个名为test1的新文件可以使用,
touch tes1
补充:touch命令原本的用途是用来修改文件的访问时间、修改时间,当目标文件不存在时,它的作用变成创建新文件。使用-c选项可以禁止它创建新文件。关于touch命令的更多用法说明,请参看:《Linux新建文件命令》
(2)vi(m)命令,并在vi(m)里面使用:wq保存
格式:vim [filename] 或 vi [filename]
参数,filename 是待创建新文件的路径加文件名,当你的目的是创建新文件时,它不应与同路径下其他文件重名【若位于当前目录下,则无需指定路径】
例如,在当前目录下创建一个名为test1的新文件可以使用,
vim tes1 或 vi tes1
补充:vi(m)命令常被用于创建并编辑一个新文件。使用vi(m)命令后,新文件只处于VI编辑器的缓存内,所以一定要记得用VI编辑器内的 :w 或 :wq 命令保存一下。
(3)cat命令,与重定向操作符 > 或 >> 结合格式:cat > [filename]或 cat >> [filename]
参数,filename是待创建新文件的路径加文件名,当你的目的是创建新文件时,它不应与同路径下其他文件重名【若位于当前目录下,则无需指定路径】
例如,在当前目录下创建一个名为test1的新文件可以使用,
cat > tes1 或cat >>tes1
补充:cat命令常用于创建小文件或空白文件。此外,使用cat命令创建文件后直接进入文件编辑状态,此时的输入分行保存,亦即每当你输入一个回车键就保存一次。(可以打开文件所在文件夹,编辑过程中可以明显看到文件图标的变化);
文件编辑结束后,使用ctrl+d快捷键结束编辑并退回命令提示符。还有人说,编辑完成后,使用ctrl+c快捷键就可以保存文件。但ctrl+c其实是结束当前任务的快捷键,使用后回到命令行提示符。在使用ctrl+c前请务必先使用回车键保存最后一行输入,不然你会发现你在文件输入的最后一行木有了~~~
cat命令,与重定向操作符>结合的
格式:cat [srcpath_oldname]> [dstpath_newname]
参数,srcpath_oldname是待复制源文件的路径加文件名【若位于当前目录下,则无需指定路径】
参数,dstpath_newname是目标路径加新文件名【若位于当前目录下,则无需指定路径】【无论改不改文件名,必须指定新文件名】
例如:将上层目录下的test.c文件复制到当前目录下,并重命名为test.c.bak,命令为
cat ../test.c > test.c.bak
链接文件的意思,是在现有文件和一个新文件名之间建立新链接。(此处的文件名广义,是指的文件的路径加狭义文件名)Linux系统中的链接文件其实可以理解为Windows系统中为文件建立快捷方式。它可以用来为文件建立别名,也可以使得我们拥有在当前目录访问其他目录下文件的能力,只要我们在当前目录下为该文件建立了链接。链接文件的命令是 ln ,它的使用方法如下,
格式:ln [srcpath_oldname] [dstpath_newname]
参数,srcpath_oldname是现有文件的路径加文件名【若位于当前目录下,则无需指定路径】
参数,dstpath_newname是链接文件的路径加新文件名【若位于当前目录下,则无需指定路径(但需命新名)】【若不欲为链接文件重新命名,则仅需指定链接文件路径(不同于源文件路径)】
例如,为当前目录下的test0.99.c文件在 /home/wind/bak/ 目录下建立链接文件,重命名为test.c,命令为
ln test0.99.c /home/wind/bak/test.c
补充:对于原文件与链接文件,cat等命令效果相同,而rm等命令则效果不同。
1.5 统计文件信息--wc格式:wc [filename]
选项:-l 选项统计行数,
-w 选项统计单词数,
-c 选项统计字符数
参数,filename是待统计文件的路径加文件名【若位于当前目录下,则无需指定路径】
例如:统计当前目录下test1文件的行数和字符数,可以使用
wc -lc test1
补充:wc命令默认统计行数、单词数与字符数全部三样信息,可以通过选项指定只统计其中一项或任意两项;
可以同时指定多个文件作为参数,同时统计多个文件的信息。
推荐阅读: