Linux 文件相关命令
目录
文件相关命令
统计单词数量—— wc
用途:统计文件中的单词数量(Word Count)等信息
格式:wc [选项]... 目标文件...
常用命令选项
- -l:统计行数
- -w:统计单词个数
- -c:统计字节数
[root@localhost ~]# wc /etc/hosts 4 23 185 /etc/hosts
为文件建立链接 —— ln
用途:为文件或目录建立链接(Link)
格式:ln [-s] 源文件或目录… 链接文件或目标目录
常用命令选项
- -s:建立符号链接文件(省略此项则建立硬链接)
关于链接文件
- 符号链接:指向原始文件所在的路径,又称为软链接
- 硬链接:指向原始文件对应的数据存储位置
- 不能为目录建立硬链接文件
- 硬链接与原始文件必须位于同一分区(文件系统)中
[root@iZwz9a4d6crd1w205b54pmZ ~]# cd test [root@iZwz9a4d6crd1w205b54pmZ test]# mkdir mediawiki2.29.1 [root@iZwz9a4d6crd1w205b54pmZ test]# ln -s mediawiki2.29.1 mediawiki [root@iZwz9a4d6crd1w205b54pmZ test]# ls a.txt mediawiki mke2fs.conf my.txt theDir b.txt mediawiki2.29.1 myDir testDir
显示文件全部内容 —— cat
用途:显示出文件的全部内容
[root@localhost ~]# cat /etc/host.conf order hosts,bind [root@localhost ~]# cat /etc/resolv.conf search localdomain [root@localhost ~]# cat /etc/resolv.conf /etc/host.conf search localdomain order hosts,bind
分页显示文件内容 — more、less 、head、tail
more命令
用途:全屏方式分页显示文件内容
交互操作方法:
- 按Enter键向下逐行滚动
- 按空格键向下翻一屏、按b键向上翻一屏
- 按q键退出
[root@iZwz9a4d6crd1w205b54pmZ test]# more /etc/kdump.conf
less命令
用途:与more命令相同,但扩展功能更多
交互操作方法:
- 与more命令基本类似,但个别操作会有些出入
- 按Page up/down 翻页,按上下键逐行查看,按字母q退出
[root@iZwz9a4d6crd1w205b54pmZ test]# less /etc/kdump.conf
文件内容操作命令 ——head、tail
用途:查看文件开头的一部分内容(如果不指定参数n,默认为10行)
格式:head -n 文件名
[root@iZwz9a4d6crd1w205b54pmZ test]# head -5 /etc/my.cnf [mysql] default-character-set=utf8 [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock
tail命令
用途:查看文件结尾的少部分内容(默认为10行)
格式:tail -n 文件名
tail -f 文件名
[root@localhost ~]# tail -2 /var/log/messages Sep 8 15:49:29 localhost scim-bridge: Cleanup, done. Exitting... Sep 8 15:49:29 localhost Cleanup, done. Exitting...
在文件中查找指定内容—— grep
- 用途:在文件中查找并显示包含指定字符串的行
- 格式:grep [选项]... 查找条件 目标文件
- 常用命令选项
- -n: 显示行号
- -i:查找时忽略大小写
- -v:反转查找,输出与查找条件不相符的行
[root@localhost ~]# grep -n root /etc/fstab 9:/dev/mapper/centos-root / ext4 defaults 1 1 [root@localhost ~]#
- 查找条件设置
- 要查找的字符串以双引号括起来
- “^……”表示以……开头,“……$”表示以……结尾
- “^$”表示空行
更多grep用法,请参考:https://www.cnblogs.com/flyor/p/6411140.html
练习
(13)用less命令分屏查看文件profile的内容,注意练习less命令的各个子命令,如b、p、q等,并对then关键字查找。
(14)用grep命令在profile文件中对关键字then进行查询,并与上面的结果比较。
(15)给文件profile创建一个软链接lnsprofile和一个硬链接lnhprofile。
(16)长格形式显示文件profile、lnsprofile和lnhprofile的详细信息。注意比较3个文件链接数的不同。
(17)删除文件profile,用长格形式显示文件lnsprofile和lnhprofile的详细信息,比较文件lnhprofile的链接数的变化。
(18)用less命令查看文件lnsprofile的内容,看看有什么结果。
(19)用less命令查看文件lnhprofile的内容,看看有什么结果。
(20)删除文件lnsprofile,显示当前目录下的文件列表,回到上层目录。
(21)用tar命令把目录test打包。
(22)用gzip命令把打好的包进行压缩。
(23)把文件test.tar.gz改名为backup.tar.gz。
(24)显示当前目录下的文件和目录列表,确认重命名成功。
(25)把文件backup.tar.gz移动到test目录下。
(26)显示当前目录下的文件和目录列表,确认移动成功。
(27)进入test目录,显示目录中的文件列表。
(28)把文件backup.tar.gz解包。
(29)显示当前目录下的文件和目录列表,复制test目录为testbak目录作为备份。
(30)查找root用户自己主目录下的所有名为newfile的文件。
(31)删除test子目录下的所有文件。
(32)利用rmdir命令删除空子目录test。
回到上层目录,利用rm命令删除目录test和其下所有文件。
实训思考题
下面这些命令分别代表什么意思?
1.ls *.?
2.more[A-Z]*
3.ls /etc/[!a-m]*
4.ls [a-z]*[0-9]
5.alias dir=’ls –d [a-z]*’
6.find ./tmp /usr/tmp –name core –exec rm{}\;
7.grep ‘^user[0-9]$’ /etc/passed
8.grep ‘^[A-Za-z]*[0-9]$’ datafile
9.mount –t vfat /dev/hda1 /mnt/winc