find:文件查找命令

格式:find [选项][文件]

功能:从指定的目录开始。递归地搜索其各个子目录,查找满足寻找条件的文件并采取相应的操作。

选项:-name:查找文件名匹配所给字符串中的所有文件,字符内可用通配符*、?、[].

例如:查找在当前目录查找文件名为’install*‘的所有的文件。

例如:  在/etc目录下查找文件名以‘res’开头,以'.conf'结尾的所有

例如: 在根目录下查找文件名为‘httpd.conf’的所有的文件

-user:查找属于用户名为所给字符串的所有文件

例如:在/var/log中查找lp的文件或目录

-a:逻辑与,表示只有当所有的条件都满足时,查询条件才满足。

例如:在/boot目录中查找超过1024KB而且文件以”vmlinuz“开头的文件。

-o:逻辑或,表示所给的条件中有一个满足时,查询条件就满足

例如:在/boot目录中查找超过1024KB或文件以”vmlinuz“开头的文件。

例如:在根目录下查找文件名为‘temp’或是匹配‘install*‘的所有文件

!逻辑非,表示该运算符查找不满足所给条件的文件

例如:根目录下查找文件不是”temp“的所有文件

find命令还可以对查找的结果进行过滤处理,在表达式后添加一个’-exec‘关键字,并设置过滤用的命令即可。在过滤命令中,使用”{}“表示find命令的查询输出结果,最后需要添加”\“,表示命令结束。

例如:在/var/log查找用户lp的文件或目录,并以长格式显示详细信息。

例如:查找root目录下的以log结尾的文件,将其复制到test目录下

cp

格式:cp[选项]源文件或目录文件... 目标文件或目录

功能:用于复制文件或目录,将需要赋值的文件或目录重建一份并保存为新的文件或目录中。

注意:若需要复制的是多个文件或目录时,则目标必须是目录。

-f:覆盖目标同名文件或目录时不进行提醒,而直接强制复制。

-i:覆盖目标同名文件或目录时提醒用户确认。

-p:复制时保持源文件的权限、属主及时间标记等属性不变。

-r:复制目录时必须使用此选项,表示递归复制所有文件及子目录。

例如:将/bin/touch命令程序复制到当前目录下,并命名为mytouch

-p:复制时保持源文件的权限、属主及时间标记等属性不变。

例如:将/etc/inittab文件复制一份进行备份,扔保存在/etc目录下

-r:复制目录时必须使用此选项,表示递归复制所有文件及子目录。

例如:将目录/boot/grub/etc/httpd/conf复制到当前目录中进行备份

grep命令—检索、过滤文件内容

grep命令用于在文件中查找并显示包含指定字符串的行,可以直接指定关键字符串作为查找条件

也可以使用复杂的条件表达式(例如”^world“表示以word开头,"word$"表示以word结尾,”^$“表示空行)。

格式:grep[选项]...查找条件 目标文件

选项

-i:查找内容时忽略大小写

-v:反转查找,即输出与查找条件不相符的行。

例如:在/etc/passwd文件中查找包含”ftp“字符串的行

例如:查看/etc/vsftpd/vsftpd.conf文件中除了以”#“开头的行(一般为注释信息)和空行(^$)以外的内容。

例如:执行”lspci“命令查看主机中的PCi设配信息,并过滤出其中以太网卡设配的信息。



rm:

格式:rm[选项]文件或目录

功能:rm:用于删除指定的文件或目录、在Linux命令行界面中,删除的文件是难以恢复的,因此使用rm命令删除文件时必须小心。

-f:删除文件或目录时不进行提醒,而直接强制删除。

-i:删除文件或目录时提醒用户确认。

-r:删除目录必须使用此选项。表示递归删除整个目录树(应谨慎)

例如:删除刚复制到当前目录中的conf目录树。且不提示用户进行确认(直接删除)。

例如:删除当前目录中的file1.txtfile2.doc文件(根据提示信息输入y确定删除)

mv:

格式:mv[选项]…源文件或目录目标文件或目录

功能:mv命令用于将指定的文件或目录转移位置,如果目标位置与源位置相同,则效果相当于文件或目录改名。

若需要移动的是多个文件或目录时,则目标必须是目录。

例如:将当前目录中的mytouch程序文件改名为tfile.exe

例如:将当前目录中的grub 目录转移至public_html目录中

ln命令为文件或目录建立链接

ln命令用于为文件或目录建立快捷方式,提高用户定位文件或目录的效率。链接文件分为符号链接、硬链接两种类型。主要区别是:不能对目录创建硬链接,也不能跨越不同分区创建硬链接文件。无论使用符号链接或硬连接,与直接访问原始文件的效果基本相同。如果需要创建符号链接文件,需要为ln命令添加“-s”选项。

格式:ln [-s]源文件或目录....链接文件或目录

当目标是一个已经存在的目录时,新创建的链接文件将保存到目录中,并使用与原文件或目录相同的名称。

例如:为文件/etc/httpd/conf/httpd.conf创建符号链接文件,并保存到/etc目录中,以便需要查找该文件时输入。

例如:为网卡配置脚本文件/usr/sbin/system-config-network建立名为mynetconfig的硬链接文件,以便通过mynetconfig文件也可以对网卡参数进行配置。

文件内容操作命令

在Linux系统中,绝大多数的配置文件都是以普通文件格式保存的,这些配置文件决定着系统及相关服务、程序的运行特性。灵活使用各种文件内容操作命令,可以迅速了解到相关配置文件的内容信息,便以为管理、维护系统。

cat命令查看文件内容

cat命令在实际使用中更多地用于查看文件内容,cat命令是应用最为广泛的文件内容查看命令。

例如:查看/etc/sysconfig/network-scripts/ifcfg-eth0配置文件中的内容。

例如:查看/proc/version文件中的内容,以及了解系统内核。

例如:查看/proc/cpuinfo文件中的内容,以及了解当前主机的CPU信息。

more和less命令用于分页查看文件内容

使用cat命令可以非常简单直接地显示出文件的全部内容,但是当文件中的内容较多时,只能看到最后一部分信息,而文件前面的大部分内容却来不及看到。使用more和less命令可以采用全屏的方式分页显示文件内容,便于从头到尾仔细看到文件的内容。

当使用more命令查看超过一屏文件内容时,将进行分屏显示,并在左下角显示当前内容在整个文件中的百分比。在阅读时,可以按Enter键向下逐行滚动查看,按空格键可以向下翻一屏,按b键向上翻一屏,按q键退出并返回到原来的命令环境。

例如:使用more命令分屏查看Apache网站服务器的配置文件内容。

例如:使用more命令结合管道符号“|”分屏查看“ls -lh /etc/*.conf”命令的输出结果。使用这种方式无法向上翻页。

head和tail命令—查看文件开头或末尾的部分内容

head和tail是一对作用相反的命令,前者用于显示文件开头的一部分内容,tail用于显现文件末尾的一部分内容,可以使用选项[-n]表示行数,显示多少行,若不指定行数,默认只显示十行。

tail命令更多地用于查看系统日志文件,一边观察相关的网络访问、服务调试等相关信息。添加“-f”选项的命令还可以用于跟踪日志文件末尾的内容变化,实时显示更新的日志内容。

例如:查看用户配置文件/etc/passwd的开头三行内容

例如:查看Apche网站服务器的错误日志文件的最后一行内容

例如:查看系统公共日志文件/var/log/messages的最后十行内容,并在末尾跟踪显示该文件中更新的内容

wc命令—统计文件内容中的单词数量

wc命令用于计算文件内容中包含的行数、单词数、字节数等信息,使用文件名作为参数,可以统计多个文件。

-c:统计文件内容的字节数

-l:统计文件内容的行数

-w:统计文件内容的单词个数

例如:统计/etc/resolv.conf文件中的行数、单词数、字节数

例如:统计当前系统中的用户数量(密码文件/etc/passwd)中的行数

例如:结合管道符号统计/etc/目录中”.conf“配置文件的个数