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.txt和file2.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“配置文件的个数