Linux文件管理(2)——文件操作
2017-05-13 23:53
127 查看
1.ls
语法:ls [-aAdfFhilnrRSt] 目录名称
功能:列出指定目录中的文件名和子目录名。当无子目录名时,列出当前目录中的文件名和子目录名。
选项:
-a :全部的文件,连同隐藏项( 开头为 . 的文件) 一起列出来(常用)
-d :仅列出目录本身,而不是列出目录内的文件数据(常用)
-l :长数据串列出,包含文件的属性与权限等等数据;(常用)按长格式列出文件及目录信息,包括文件类型标识,权限,链接数,文件主名,文件组名,字节数,日期,文件名。
-R 递归处理,显示包括子目录下所有文件
-t 按文件生成日期排序。
-F 显示文件类型
-s或–size 显示文件和目录的大小,以区块为单位。
-S 用文件和目录的大小排序。
2.cd
语法:cd [相对路径或绝对路径]
功能:改变当前工作目录
注意:目录名选项有:
(1) 目录名,转到当前目录下的子目录。
(2) .. 表示转到当前目录的父目录。
(3) / 表示转到根目录。
(4) 没有选项时,转到用户的主目录。
3.pwd
语法:pwd [-P]
功能:显示用户当前工作目录的绝对路径。
选项:-P :显示出确实的路径,而非使用连结 (link) 路径。
4.mkdir
语法:mkdir [-mp] 目录名称
功能:创建新目录
选项:
-m<目录属性>或–mode<目录属性> :建立目录时同时设置目录的权限。
-p :递归创建多层目录(包含上一级目录)。
范例:创建权限为rwx–x–x的目录
上面的权限部分,如果没有加上 -m 来强制配置属性,系统会使用默认属性。
5.rmdir
语法:rmdir [-p] 目录名称
功能:删除不存在子文件或子目录的空目录。
选项与参数:-p :连同上一级『空的』目录也一起删除
注意:删除子目录时,要求被删除的目录中不存在文件或子目录,否则无法删除。
6.cp
语法:
[root@www ~]# cp [-adfilprsu] 来源档(source) 目标档(destination)
[root@www ~]# cp [options] source1 source2 source3 …. directory
功能:把一个文件的全部内容拷贝到另一个文件,也可将一个或多个文件拷贝到另一个目录中。
选项与参数:
-a :相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)
-d :若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;
-f :为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
-i :若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
-l :进行硬式连结(hard link)的连结档创建,而非复制文件本身;
-p :连同文件的属性一起复制过去,而非使用默认属性(备份常用);
-r :递归持续复制,用于目录的复制行为;(常用)对子目录下所有文件进行拷贝。
-s :复制成为符号连结档 (symbolic link),亦即『捷径』文件;
-u :若 destination 比 source 旧才升级 destination !
7.rm
语法:rm [-fir] 文件或目录
功能:删除指定的文件或一个目录中的文件。
选项与参数:
-f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
-i :互动模式,在删除前会询问使用者是否动作
-r :递归删除!将删除指定目录的所用文件,包括目录名。
8.mv
语法:
[root@www ~]# mv [-fiu] source destination
[root@www ~]# mv [options] source1 source2 source3 …. directory
功能:改变文件或目录的名字,或把一些文件移到另一目录下。
选项与参数:
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会升级 (update)
注意:当filename1更名为filename2时,若filename2已经存在,则filename2的内容将被filename1覆盖。
9.file
格式:file filename/directory
功能:显示文件或目录的类型。
10.touch
格式:touch filename
功能:改变文件的日期,不对文件的内容做改动,若文件不存在则建立新文件。
-a或–time=atime或–time=access或–time=use 只更改存取时间。
11.ln
命令:ln (link)
格式:ln [option] filename linkname
ln [option] directory pathname
功能:为文件或目录建立一个链。其中,filename和directory是源文件名和源目录名;linkname和pathname分别表示与源文件或源目录名相链接的文件或目录。
选项:-s 为文件或目录建立符号(软)链接。不加-s表示为文件或目录建立硬链接
-f 强制创建链接
-n 如果链接文件已存在则不创建
注意:链接的目的在于,对一个文件或目录赋予两个以上的名字,使其可以出现在不同的目录中,既可以使文件或目录共享,又可以节省磁盘空间。
硬链接和软链接的区别:
(1)硬链接以”.ln”结尾;软链接以“.sln”结尾;
(2)建立新的软链接时为链接申请新的i-node;而硬链接不会;
(3)软链接删除源文件后则链接文件就不能用了;而硬链接可以;
(4)建立软链接会为新的链接申请新的数据区来存放源文件名,而硬链接不会;
(5)建立软链接相当于创建快捷方式;
(6)软链接的源文件可以是目录,而硬链接不可以。
12. locate
格式:locate expression
功能:查找符合条件的文件或目录
13.find
格式:find pathname [option] expression
功能:在所给的路经名下寻找符合表达式相匹配的文件。
pathname find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
expression:
-print find命令将匹配的文件输出到标准输出。
-exec find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为’command’ {} \;,注意{ }和\;之间的空格。
-ok 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,
在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
选项:
-name 按照文件名查找文件。
-type 按文件类型查找
-size 按大小查找,以block为单位,一个block是512B
-perm 按照文件权限来查找文件。
-prune 使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用了-depth
选项,那么-prune选项将被find命令忽略。
-user 按照文件属主来查找文件。
-group 按照文件所属的组来查找文件。
-mtime -n +n 按照文件的更改时间来查找文件,-n表示文件更改时间距现在n天以内,+n表示文件更改时间距现在n天以前。
-atime 按最后一次访问时间查找
-nogroup 查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。
-nouser 查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。
-newer file1 ! file2 查找更改时间比文件file1新但比文件file2旧的文件。
条件的逻辑运算符:
注:上表中的“+10”表示大于10,“-10”表示小于10。
find /temp -name “abc*” -print 在/temp目录下查找文件名以abc开始的文件
find . -name test -print 在当前目录下查找文件名为test的文件
14.cat
语法:cat [-AbEnTv] filename
功能:由第一行开始显示文件内容
选项与参数:
-A :相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
-E :将结尾的断行字节 $ 显示出来;
-n :列印出行号,连同空白行也会有行号,与 -b 的选项不同;
-T :将 [tab] 按键以 ^I 显示出来;
-v :列出一些看不出来的特殊字符
注意:当文件内容在屏幕上滚动显示时,可按Ctrl+S键屏幕滚暂停,按Ctrl+Q键继续显示。
15.nl
语法:nl [-bnw] 文件
功能:显示行号
选项与参数:
-b :指定行号指定的方式,主要有两种:
-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);
-b t :如果有空行,空的那一行不要列出行号(默认值);
-n :列出行号表示的方法,主要有三种:
-n ln :行号在萤幕的最左方显示;
-n rn :行号在自己栏位的最右方显示,且不加 0 ;
-n rz :行号在自己栏位的最右方显示,且加 0 ;
-w :行号栏位的占用的位数。
16.more
格式:more filename
功能:按屏幕一屏一屏显示出文件内容
在 more 这个程序的运行过程中,你有几个按键可以按的:
空白键 (space):代表向下翻一页;
Enter:代表向下翻『一行』;
/字串:代表在这个显示的内容当中,向下搜寻『字串』这个关键字;
f:立刻显示出档名以及目前显示的行数;
q:代表立刻离开 more ,不再显示该文件内容。
b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。
17.less
格式:less filename
功能:一页一页翻动,可以往前翻页
: <== 这里可以等待你输入命令!
less运行时可以输入的命令有:
空白键 :向下翻动一页;
[pagedown]:向下翻动一页;
[pageup] :向上翻动一页;
/字串 :向下搜寻『字串』的功能;
?字串 :向上搜寻『字串』的功能;
n :重复前一个搜寻 (与 / 或 ? 有关!)
N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
q :离开 less 这个程序;
18.head
语法:head [-n number] 文件
功能:查看文件前面几行
选项与参数:
-n :后面接数字,代表显示几行的意思
默认情况,显示前面 10 行!若要显示前 20 行,就得要这样:
19.tail
语法:tail [-n number] 文件
功能:查看文件后面几行
选项与参数:
-n :后面接数字,代表显示几行的意思
-f :表示持续侦测后面所接的档名,要等到按下[ctrl]-c才会结束tail的侦测
-i 显示文件最后 i行。
+i 从文件的第i行开始显示。
默认的情况,显示最后的十行!若要显示最后的 20 行,就得要这样:
20.wc
命令:wc (word characters)
格式:wc [option] filename
功能:统计文件中的文件行数、字数和字符数。
选项:
-l 统计文件的行数
-w 统计文件的单词数
-c 统计文件的字符数
注意:若缺省文件名则指标准输入
21.grep
格式:grep [option] pattern filenames
功能:逐行搜索所指定的文件或标准输入,并显示匹配模式的每一行。
选项:
-w 搜索匹配给定模式的字符串
-c 只输出匹配行的计数。
-i 不区分大小写(只适用于单字符)。
-h 查询多文件时不显示文件名。
-l 查询多文件时只输出包含匹配字符的文件名。
-n 显示匹配行及行号。
-s 不显示不存在或无匹配文本的错误信息。
-v 显示不包含匹配文本的所有行。
常用正则表达式:
22.sed
sed用“批处理”方式编辑文件。sed是一种流编辑器,它可以对从如管道这样的标准输入接收的数据进行编辑。sed 是基于行的,因此按顺序对每一行执行命令。然后,sed 将其结果写入标准输出(stdout),它不修改任何输入文件。
使用sed在文件中定位文本的方式
sed编辑命令
替换命令用替换模式替换指定模式,格式为:
s选项通知sed这是一个替换操作,并查询pattern-to-find,成功后用replacement-pattern替换它。
替换选项如下:
g 缺省情况下只替换第一次出现模式,使用g选项替换全局所有出现模式。
p 缺省sed将所有被替换行写入标准输出,加p选项将使- n选项无效。
-n选项不打印输出结果。
w 文件名使用此选项将输出定向到一个文件。
23.awk
格式:awk [-F field-separator] ‘commands’ input-file(s)
功能:在文件或字符串中基于指定规则浏览和抽取信息。
[-F域分隔符]是可选的,因为awk使用空格作为缺省的域分隔符。
awk执行时,其浏览域标记为$1,$2…$n,这种方法称为域标识。用逗号做域分隔,可使用$0,表示所有域。
awk内置字符串函数
awk输入要注意的错误
1)确保整个awk命令用单引号括起来。
2)确保命令内所有引号成对出现。
3)确保用花括号括起动作语句,用圆括号括起条件语句。
为使一域号匹配正则表达式,使用符号‘~’后紧跟正则表达式,也可以用if语句。
awk中if后面的条件用()括起来。
24.sort
sort命令的一般格式为:
sort -cmu -o output_file [other options] +pos1 +pos2 input_files
下面简要介绍一下sort的参数:
-c 测试文件是否已经分类。
-m 合并两个分类文件。
-u 删除所有复制行。
-o 存储sort结果的输出文件名。
其他选项有:
-b 使用域进行分类时,忽略第一个空格。
-n 指定分类是域上的数字分类。
-t 域分隔符;用非空格或tab键分隔域。
-r 对分类次序或比较求逆。
+n n为域号。使用此域号开始分类。
n n为域号。在分类比较时忽略此域,一般与+ n一起使用。
post1 传递到m,n。m为域号,n为开始分类字符数;例如4,6意即以第5域分类,从第7个字符开始。
25.cmp
命令格式
cmp [-ls] 文件名1 文件名2
功能:比较两个文件,这两个文件可以是文本文件也可以是非文本文件。cmp命令会显示两个文件第一次数据不同的位置。若两个文件内容相同,则不显示任何信息。
参数说明
-l 显示每个不同之处不同字节的内容
-s 只显示cmp命令的返回值(相同为0,不相同为1)
语法:ls [-aAdfFhilnrRSt] 目录名称
功能:列出指定目录中的文件名和子目录名。当无子目录名时,列出当前目录中的文件名和子目录名。
选项:
-a :全部的文件,连同隐藏项( 开头为 . 的文件) 一起列出来(常用)
-d :仅列出目录本身,而不是列出目录内的文件数据(常用)
-l :长数据串列出,包含文件的属性与权限等等数据;(常用)按长格式列出文件及目录信息,包括文件类型标识,权限,链接数,文件主名,文件组名,字节数,日期,文件名。
-R 递归处理,显示包括子目录下所有文件
-t 按文件生成日期排序。
-F 显示文件类型
-s或–size 显示文件和目录的大小,以区块为单位。
-S 用文件和目录的大小排序。
2.cd
语法:cd [相对路径或绝对路径]
功能:改变当前工作目录
注意:目录名选项有:
(1) 目录名,转到当前目录下的子目录。
(2) .. 表示转到当前目录的父目录。
(3) / 表示转到根目录。
(4) 没有选项时,转到用户的主目录。
3.pwd
语法:pwd [-P]
功能:显示用户当前工作目录的绝对路径。
选项:-P :显示出确实的路径,而非使用连结 (link) 路径。
4.mkdir
语法:mkdir [-mp] 目录名称
功能:创建新目录
选项:
-m<目录属性>或–mode<目录属性> :建立目录时同时设置目录的权限。
-p :递归创建多层目录(包含上一级目录)。
范例:创建权限为rwx–x–x的目录
[root@www tmp]# mkdir -m 711 test2 [root@www tmp]# ls -l drwx--x--x 2 root root 4096 Jul 18 12:54 test2
上面的权限部分,如果没有加上 -m 来强制配置属性,系统会使用默认属性。
5.rmdir
语法:rmdir [-p] 目录名称
功能:删除不存在子文件或子目录的空目录。
选项与参数:-p :连同上一级『空的』目录也一起删除
注意:删除子目录时,要求被删除的目录中不存在文件或子目录,否则无法删除。
6.cp
语法:
[root@www ~]# cp [-adfilprsu] 来源档(source) 目标档(destination)
[root@www ~]# cp [options] source1 source2 source3 …. directory
功能:把一个文件的全部内容拷贝到另一个文件,也可将一个或多个文件拷贝到另一个目录中。
选项与参数:
-a :相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)
-d :若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;
-f :为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
-i :若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
-l :进行硬式连结(hard link)的连结档创建,而非复制文件本身;
-p :连同文件的属性一起复制过去,而非使用默认属性(备份常用);
-r :递归持续复制,用于目录的复制行为;(常用)对子目录下所有文件进行拷贝。
-s :复制成为符号连结档 (symbolic link),亦即『捷径』文件;
-u :若 destination 比 source 旧才升级 destination !
7.rm
语法:rm [-fir] 文件或目录
功能:删除指定的文件或一个目录中的文件。
选项与参数:
-f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
-i :互动模式,在删除前会询问使用者是否动作
-r :递归删除!将删除指定目录的所用文件,包括目录名。
NO1. 删除当前目录的文件 [root@rehat root]# rm test.txt NO2. 强制删除当前目录的文件,不弹出提示 [root@rehat root]# rm -f test.txt NO3. 强制删除整个目录,包括目录与文件全部删除,需要管理员权限 [root@rehat root]# rm -r -f test
8.mv
语法:
[root@www ~]# mv [-fiu] source destination
[root@www ~]# mv [options] source1 source2 source3 …. directory
功能:改变文件或目录的名字,或把一些文件移到另一目录下。
选项与参数:
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会升级 (update)
注意:当filename1更名为filename2时,若filename2已经存在,则filename2的内容将被filename1覆盖。
NO1. 若移动目标文件已存在,要在移动之前,先备份原来的目录文件 [root@rehat root]# mv -b test.txt test2/ 这样在 test2 下将有两个文件 test.txt 及 text.txt~ 其中 test.txt~ 是备份文件,test.txt是新的文件 NO2. 若移动目标文件已存在,但不想弹出是否覆盖的提示,直接覆盖 [root@rehat root]# mv -f test.txt test2/ NO3. 当源与目标都拥有同一个文件,若源文件比目标新则移动,否则不移动 [root@rehat root]# mv -u test.txt test2/ NO4. 更改文件名称 [root@rehat root]# mv test.txt test2.txt NO5. 更改目录名称 [root@rehat root]# mv /test2 /test2_2
9.file
格式:file filename/directory
功能:显示文件或目录的类型。
10.touch
格式:touch filename
功能:改变文件的日期,不对文件的内容做改动,若文件不存在则建立新文件。
-a或–time=atime或–time=access或–time=use 只更改存取时间。
11.ln
命令:ln (link)
格式:ln [option] filename linkname
ln [option] directory pathname
功能:为文件或目录建立一个链。其中,filename和directory是源文件名和源目录名;linkname和pathname分别表示与源文件或源目录名相链接的文件或目录。
选项:-s 为文件或目录建立符号(软)链接。不加-s表示为文件或目录建立硬链接
-f 强制创建链接
-n 如果链接文件已存在则不创建
注意:链接的目的在于,对一个文件或目录赋予两个以上的名字,使其可以出现在不同的目录中,既可以使文件或目录共享,又可以节省磁盘空间。
硬链接和软链接的区别:
(1)硬链接以”.ln”结尾;软链接以“.sln”结尾;
(2)建立新的软链接时为链接申请新的i-node;而硬链接不会;
(3)软链接删除源文件后则链接文件就不能用了;而硬链接可以;
(4)建立软链接会为新的链接申请新的数据区来存放源文件名,而硬链接不会;
(5)建立软链接相当于创建快捷方式;
(6)软链接的源文件可以是目录,而硬链接不可以。
12. locate
格式:locate expression
功能:查找符合条件的文件或目录
13.find
格式:find pathname [option] expression
功能:在所给的路经名下寻找符合表达式相匹配的文件。
pathname find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
expression:
-print find命令将匹配的文件输出到标准输出。
-exec find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为’command’ {} \;,注意{ }和\;之间的空格。
-ok 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,
在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
选项:
-name 按照文件名查找文件。
-type 按文件类型查找
-size 按大小查找,以block为单位,一个block是512B
-perm 按照文件权限来查找文件。
-prune 使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用了-depth
选项,那么-prune选项将被find命令忽略。
-user 按照文件属主来查找文件。
-group 按照文件所属的组来查找文件。
-mtime -n +n 按照文件的更改时间来查找文件,-n表示文件更改时间距现在n天以内,+n表示文件更改时间距现在n天以前。
-atime 按最后一次访问时间查找
-nogroup 查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。
-nouser 查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。
-newer file1 ! file2 查找更改时间比文件file1新但比文件file2旧的文件。
条件的逻辑运算符:
逻辑运算符 逻辑意义 举例 说明 ! 非 !-name “*.c” 所有不以.c为扩展名的文件 -o 或 -size +10 -o -links 3 所有大于10block或链接数为3的文件 与 -size +10 -links 3 大于10block且链接数为3的文件
注:上表中的“+10”表示大于10,“-10”表示小于10。
find /temp -name “abc*” -print 在/temp目录下查找文件名以abc开始的文件
find . -name test -print 在当前目录下查找文件名为test的文件
NO1. 查找当前用户主目录下的所有文件 [root@rehat root]# find ~ NO2. 让当前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件; [root@rehat root]# find . -perm 644 -exec ls -l {} \; NO3. 为了查找系统中所有文件长度为0的普通文件,并列出它们的完整路径; [root@rehat root]# find / size 0 -type f -exec ls -l {} \; NO4. 查找/var/logs目录中更改时间在7日以前的普通文件,并在删除之前询问它们; [root@rehat root]# find /var/logs -mtime +7 -type f -ok rm -i {} \; NO5. 为/找系统中所有属于root组的文件; [root@rehat root]# find / -group root -exec ls -l {} \; NO6. find命令将删除当目录中访问时间在7日以来、含有数字后缀的admin.log文件 [root@rehat root]# find . -name "admin.log[0-9][0-9][0-9]" -atime -7 -ok rm { } \; NO7. 为了查找当前文件系统中的所有目录并排序 [root@rehat root]# find . -type d | sort NO8. 为了查找系统中所有的rmt磁带设备 [root@rehat root]# find /dev/rmt
14.cat
语法:cat [-AbEnTv] filename
功能:由第一行开始显示文件内容
选项与参数:
-A :相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
-E :将结尾的断行字节 $ 显示出来;
-n :列印出行号,连同空白行也会有行号,与 -b 的选项不同;
-T :将 [tab] 按键以 ^I 显示出来;
-v :列出一些看不出来的特殊字符
注意:当文件内容在屏幕上滚动显示时,可按Ctrl+S键屏幕滚暂停,按Ctrl+Q键继续显示。
15.nl
语法:nl [-bnw] 文件
功能:显示行号
选项与参数:
-b :指定行号指定的方式,主要有两种:
-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);
-b t :如果有空行,空的那一行不要列出行号(默认值);
-n :列出行号表示的方法,主要有三种:
-n ln :行号在萤幕的最左方显示;
-n rn :行号在自己栏位的最右方显示,且不加 0 ;
-n rz :行号在自己栏位的最右方显示,且加 0 ;
-w :行号栏位的占用的位数。
16.more
格式:more filename
功能:按屏幕一屏一屏显示出文件内容
在 more 这个程序的运行过程中,你有几个按键可以按的:
空白键 (space):代表向下翻一页;
Enter:代表向下翻『一行』;
/字串:代表在这个显示的内容当中,向下搜寻『字串』这个关键字;
f:立刻显示出档名以及目前显示的行数;
q:代表立刻离开 more ,不再显示该文件内容。
b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。
17.less
格式:less filename
功能:一页一页翻动,可以往前翻页
: <== 这里可以等待你输入命令!
less运行时可以输入的命令有:
空白键 :向下翻动一页;
[pagedown]:向下翻动一页;
[pageup] :向上翻动一页;
/字串 :向下搜寻『字串』的功能;
?字串 :向上搜寻『字串』的功能;
n :重复前一个搜寻 (与 / 或 ? 有关!)
N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
q :离开 less 这个程序;
18.head
语法:head [-n number] 文件
功能:查看文件前面几行
选项与参数:
-n :后面接数字,代表显示几行的意思
默认情况,显示前面 10 行!若要显示前 20 行,就得要这样:
[root@www ~]# head -n 20 /etc/man.config
19.tail
语法:tail [-n number] 文件
功能:查看文件后面几行
选项与参数:
-n :后面接数字,代表显示几行的意思
-f :表示持续侦测后面所接的档名,要等到按下[ctrl]-c才会结束tail的侦测
-i 显示文件最后 i行。
+i 从文件的第i行开始显示。
默认的情况,显示最后的十行!若要显示最后的 20 行,就得要这样:
[root@www ~]# tail -n 20 /etc/man.config
20.wc
命令:wc (word characters)
格式:wc [option] filename
功能:统计文件中的文件行数、字数和字符数。
选项:
-l 统计文件的行数
-w 统计文件的单词数
-c 统计文件的字符数
注意:若缺省文件名则指标准输入
21.grep
格式:grep [option] pattern filenames
功能:逐行搜索所指定的文件或标准输入,并显示匹配模式的每一行。
选项:
-w 搜索匹配给定模式的字符串
-c 只输出匹配行的计数。
-i 不区分大小写(只适用于单字符)。
-h 查询多文件时不显示文件名。
-l 查询多文件时只输出包含匹配字符的文件名。
-n 显示匹配行及行号。
-s 不显示不存在或无匹配文本的错误信息。
-v 显示不包含匹配文本的所有行。
常用正则表达式:
[^0-9A-Za-z] 对非数字或字母 [0-9]\{2\}-[0-9]\{2\}-[0-9]\{4\} 对日期格式dd-mm-yyyy [0-9]\{3\}\.[0-9]\{3\}\.[0-9]\{3\}\.[0-9]\{3\} 对IP地址格式nnn. nnn.nnn.nnn
22.sed
sed用“批处理”方式编辑文件。sed是一种流编辑器,它可以对从如管道这样的标准输入接收的数据进行编辑。sed 是基于行的,因此按顺序对每一行执行命令。然后,sed 将其结果写入标准输出(stdout),它不修改任何输入文件。
使用sed在文件中定位文本的方式
x x为一行号,如1 x,y 表示行号范围从x到y,如2,5表示从第2行到第5行 /pattern/ 查询包含模式的行。例如/disk/或/[a-z]/ /pattern/pattern/查询包含两个模式的行。例如/disk/disks /pattern/,x 在给定行号上查询包含模式的行。如/ribbon/,3 x,/pattern/通过行号和模式查询匹配行。3,/vdu/ x,y ! 查询不包含指定行号x和y的行。1,2 !
sed编辑命令
p 打印匹配行 = 显示文件行号 a \ 在定位行号后附加新文本信息 i \ 在定位行号后插入新文本信息 d 删除定位行 c \ 用新文本替换定位文本 s 使用替换模式替换相应模式 r 从另一个文件中读文本 w 写文本到一个文件 q 第一个模式匹配完成后推出或立即推出 l 显示与八进制ASCII代码等价的控制字符 { } 在定位行执行的命令组 n 从另一个文件中读文本下一行,并附加在下一行 g 将模式2粘贴到/pattern n/ y 传送字符 n 延续到下一输入行;允许跨行的模式匹配语句
替换命令用替换模式替换指定模式,格式为:
[address [,address]] s/pattern-to-find /replacement-pattern/[g p w n]
s选项通知sed这是一个替换操作,并查询pattern-to-find,成功后用replacement-pattern替换它。
替换选项如下:
g 缺省情况下只替换第一次出现模式,使用g选项替换全局所有出现模式。
p 缺省sed将所有被替换行写入标准输出,加p选项将使- n选项无效。
-n选项不打印输出结果。
w 文件名使用此选项将输出定向到一个文件。
23.awk
格式:awk [-F field-separator] ‘commands’ input-file(s)
awk ‘pattern’ filename awk ‘{action}’ filename awk ‘pattern {action}’ filename
功能:在文件或字符串中基于指定规则浏览和抽取信息。
[-F域分隔符]是可选的,因为awk使用空格作为缺省的域分隔符。
awk执行时,其浏览域标记为$1,$2…$n,这种方法称为域标识。用逗号做域分隔,可使用$0,表示所有域。
awk内置字符串函数
gsub(r,s) 在整个$0中用s替代r gsub(r,s,t) 在整个t中用s替代r index(s,t) 返回s中字符串t的第一位置 length(s) 返回s长度 match(s,r) 测试s是否包含匹配r的字符串 split(s,a,fs) 在fs上将s分成序列a sprint(fmt,exp) 返回经fmt格式化后的exp sub(r,s) 用$0中最左边最长的子串代替s substr(s,p) 返回字符串s中从p开始的后缀部分 substr(s,p,n) 返回字符串s中从p开始长度为n的后缀部分
awk输入要注意的错误
1)确保整个awk命令用单引号括起来。
2)确保命令内所有引号成对出现。
3)确保用花括号括起动作语句,用圆括号括起条件语句。
为使一域号匹配正则表达式,使用符号‘~’后紧跟正则表达式,也可以用if语句。
awk中if后面的条件用()括起来。
24.sort
sort命令的一般格式为:
sort -cmu -o output_file [other options] +pos1 +pos2 input_files
下面简要介绍一下sort的参数:
-c 测试文件是否已经分类。
-m 合并两个分类文件。
-u 删除所有复制行。
-o 存储sort结果的输出文件名。
其他选项有:
-b 使用域进行分类时,忽略第一个空格。
-n 指定分类是域上的数字分类。
-t 域分隔符;用非空格或tab键分隔域。
-r 对分类次序或比较求逆。
+n n为域号。使用此域号开始分类。
n n为域号。在分类比较时忽略此域,一般与+ n一起使用。
post1 传递到m,n。m为域号,n为开始分类字符数;例如4,6意即以第5域分类,从第7个字符开始。
25.cmp
命令格式
cmp [-ls] 文件名1 文件名2
功能:比较两个文件,这两个文件可以是文本文件也可以是非文本文件。cmp命令会显示两个文件第一次数据不同的位置。若两个文件内容相同,则不显示任何信息。
参数说明
-l 显示每个不同之处不同字节的内容
-s 只显示cmp命令的返回值(相同为0,不相同为1)
相关文章推荐
- linux下oracle数据文件管理操作命令
- linux文件管理模式及目录管理操作
- linux tips 文件基本操作管理
- linux 目录 文件管理 相关操作 权限
- 【Linux从零开始】:2.文件与目录的管理和配置(2)相关操作命令
- Linux系列-文件系统基本结构和文件基本操作管理
- 第三篇:Linux的基本操作与文件管理(纯命令行模式下)(上)
- 05-Linux-文件基本操作管理
- 第三篇:Linux的基本操作与文件管理(纯命令行模式下)(下)
- linux之 文件 结构,操作及其管理(4-17.1)
- Linux文件管理及目录操作
- Linux入门基础 #3:文件基本操作管理和常用命令
- [linux]历程管理,内存管理,文件系统,系统管理,网络操作概述
- 学习Linux(三):Linux 文件管理和操作
- linux 进程管理,内存管理,文件系统,系统管理,网络操作概述
- linux笔记3(过滤器、管道、常用文件管理操作指令)
- Linux文件基本操作管理
- Linux编程基础之三——Linux文件管理操作
- linux初学(三)之 文件基本操作管理
- 【学习笔记】Linux基本操作(3)--- Linux文件基本操作管理