今天继续学习linux的命令,如建立新文件、新目录、压缩、解压缩等......
grep——在文件正文中查找指定的字符串
语法:grep[参数] 查找模式 文件名 [文件名]
功能:用于在指定文件中查找与模式匹配的行,并将匹配的行显示在标准输出上。如果没有指定文件,则从标准输入中读取。当多个文件中进行查找时,将在每一行输出之前加上文件名。
参数:
-c:只显示匹配行的行数。
-i:匹配时不区分大小写,默认情况下匹配时区分大小写。
-h:在多个文件中查找是,输出行前不显示文件名。
-n:在输出前加上匹配串所在行的行号(文件首行行号为1)。
-v:只显示不包含匹配串的行。
-f filename:从指定文件中获搜索模式,每行一个搜索模式项。
使用
如:[root@localhost user]#grep printf*.c:
在当前目录下的所有C文件中查找printf字符串。
find——查找文件
语法:find 搜索路径 匹配表达式
功能:用于在指定的路径中查找符合条件的文件,搜索路径可以是多个目录,不同目录之间以空格分隔。
(1) 匹配表达式1
-name filename:要查找的文件名。
-user username:查找属于username用户的文件。
-print:显示找到的文件路径名。
使用:
如:
[root@localhost tmp]#find .-name “h*” –print
在当前目录下查找以h开头的文件。
(2) 匹配表达式2
-exec 命令 {}:对找到的匹配文件,执行所列出的命令,而不询问用户是否执行这些命令,参数{}有find找到当前的文件按路径名取代,命令行末尾必须有“\;”。
-ok 命令 {}:与-exec的用法相同,在执行命令前询问用户是否要执行命令。
使用:
如:
[root@localhost tmp]# find /home –user user1 –exec cat {} \;|more
找到/home下属于用户user1的所有文件并显示其内容。。
(3) 匹配表达式3
-atime n:查找前n天访问过的文件(仅第n天这一天)。
-atime +n:查找前n天之前访问过的文件;-n则表示前n天之后。
使用:
如:
[root@localhost tmp]# find /home –atime +365 –print
找出用户一年前访问过的文件。
(4) 匹配表达式4
-type filetype:指定查找的文件类型。
filetype可以是:b块文件;c字符设备文件;d目录文件;f一般文件;l符号链接文件。
使用:
如:
[root@localhost tmp]# find . -type d -print
在当前目录下查找所有子目录。
(5) 匹配表达式5
-size Number和-size Numberc:按照文件大小进行查找。
使用:
如:
[root@localhost tmp]# find . –size -10 –print
在当前目录下查找所有长度小于10块的文件。
touch——建立新文件
语法:touch 文件名 [文件名]
功能:用于生成一个空文件或修改文件的时间。
使用:
[root@localhost tmp]# touch abc
如果abc文件存在,则修改它的时间标签为当前系统时间,如果不存在,则创建该文件。
mkdir——建立目录
语法:mkdir [参数] 目录名 [目录名]
功能:在当前目录或指定目录下创建子目录,可以同时创建多个目录,目录名之间以空格分隔。
参数:
p:同时创建目录和它的子目录。
使用:
如:
[root@localhost user]# mkdir myfile
在当前目录(user)下建立myfile子目录。
mv——文件移动和重命名
语法:mv [参数] 源文件 目标文件
功能:用于文件改名操作,或者是将文件或目录由一个目录移入另一个目录中。
参数:
-f:当目标文件或目录存在时,不提示是否覆盖原文件和目录,直接进行覆盖操作。
-i:当目标文件或目录存在时,提示是否覆盖原文件和目录。
使用:
如:
[root@localhost user]# mv mydata myfile
将当前目录下的子目录mydata移动到当前目录的myfile子目录下。
cat——显示文件内容
语法:cat [参数] 文件名 [文件名]
功能:用于在标准输出上显示文件内容。
参数:
-n:显示输出行的行号。
-s:将相连的多个空行用单一空行代替。
-e:在每行末尾显示$符号。
使用:
如:
[root@localhost user]# cat –n test.txt
1 Hello,how are you?
2 I am file.
3 Thank you,and you?
more——分屏显示文件
语法:more [参数] 文件名
功能:可以一次显示一屏文本,显示满之后停下来,并在终端地步打印出“—More—”,系统还同时显示出已显示文本占全部文本的百分比,若要继续显示,按回车键或空格键则向后移动一页,使用<q>键则退出显示。
参数:
-s:文件中连续的空白行压缩成一个空白行显示。
-d:在每屏的底部显示更友好的提示信息。
使用:
如:
[root@localhost tmp]# ls –l /etc |more
head——显示文件前几行
语法:head [参数] 文件名 [文件名]
功能:用于指定文件的前面n行。
参数:
-n num:显示文件的前num行,n可以省略,直接在-后加入行数。
-c num:显示文件的前num个字符。
使用:
如:
[root@localhost tmp]# head textfile
显示textfile文件的开始10行内容。
tail——显示文件后几行
语法:tail [参数] 文件名 [文件名]
功能:用于显示指定文件的后面n行。
参数:
+n num:从第num行以后开始显示。
-n num:显示文件的倒数num行。
-c num:显示文件的末尾num个字符。
使用:
如:
[root@localhost tmp]# tail -4 example
显示文件example的最后4行。
wc——文件内容统计
语法:wc [参数] 文件列表
功能:用于统计指定文件中的行数、单词数、字符数,并将统计结果显示输出。
参数:
-c:统计字符数。
-l:统计行数。
-w:统计单词数。
使用:
如:
[root@localhost tmp]# wc 3.txt /home/user/1.java
3 8 45 3.txt
1 1 3 /home/user/1.java
4 9 48 总用量
统计3.txt文件和1.java文件中分别出现的行数、单词数、字符数,以及总的行数、单词书、字符数。
zip:
语法:zip [参数] 压缩文件名 被压缩的文件或目录
功能:生成以 .zip 为文件的扩展名的文件。
参数:
-D:不在zip文件中储存文件的目录信息。
-g:将文件压缩后添加到zip文件中。
-m:将特定文件移入zip文件中,并且删除特定文件。
-r:将压缩目录的所有子目录一起压缩,即递归压缩方式。
使用:
如:
[root@localhost home]# zip test.zip test/*
将当前目录下的test子目录中的所有文件进行压缩,压缩后的文件名为test.zip
unzip:
语法:unzip [参数] 压缩文件名
参数:
-d:将解压后的文件存放到指定目录中。
-v:查看压缩文件目录,但不解压。
-n:不覆盖已经存在的文件。
-o:覆盖已存在的文件且不要求用户确定。
-j:不重建文档的目录结构,把所有文件解压到同一目录下。
使用:
如:
[root@localhost home]# unzip test.zip
在当前目录下解压test.zip文件,如果当前目录下有和压缩中文件同名的文件安,则询问是覆盖文件还是进行改名操作。
gzip:
语法:gzip [参数] 压缩(解压缩)的文件名
参数:
-c:将输出写到标准输出上,并保留原来的文件。
-d:将压缩的文件解压。
-l:对每个压缩文件,显示压缩文件的大小、未压缩文件的大小、压缩比等信息。
-r:递归式地查找指定目录并压缩其中的所有文件或者是解压缩。
-v:对每一个压缩和解压的文件,显示文件名和压缩比。
使用:
[root@localhost home]# gzip –v ls.txt
ls.txt :-10% --replaced with ls.txt.gz
对ls.txt文件进行压缩,可以看到压缩后的文件名为ls.txt.gz,原文件将被取代。
gunzip:
语法:gunzip [参数] 压缩文件名
使用:
[root@localhost home]# gunzip ls.txt.zip
解压ls.txt.zip
tar:
语法:tar [主参数+辅助参数归档文件名] 归档文件名 待备份文件或目录列表
主参数:
-c:创建新的归档文件。
-x:从归档文件中释放文件。
-r:把要存档的文件追加到归档文件的末尾。
--delete:将文件从归档文件中删除。
-t:列出档案文件的内容,查看已经备份了哪些文件。
-u:仅仅添加比归档文件更新的文件,如原文档中不存在旧的文档,则追加它到文档中,若存在,则更新它。
辅助参数:
-f:使用归档文件或设备,这个选项通常是必选的。
-v:详细报告tar处理的文件信息。
-z:用gzip来压缩、解压缩文件,释放归档文件时也必须有该选项才能解压缩。
-C directory:将归档文件释放到directory指定的目录下。
-k:保存已经存在的文件。
-m:在还原文件时,把所有文件的修改时间设定为现在。
-M:建立多卷的归档文件,以便在几个磁盘中存放。
-b:为磁带机设置的参数。
使用:
[root@localhost root]# tar –cvf user1.tar /home/user1
把/home/user1目录下的文件和子目录备份到user1.tar文件中。