昨天写了一半,晚了就休息了,今天补上。
一、文件名
当看到文件名时,感觉老陌废话又来了…… 这回还真不是,让老陌慢慢到来。
linux的文件名长度最长可达255个字符(不包括路径),绝对或相对引用最多4095个字符。linux文件名可以包含除"/"以外的任何可打印字符。斜线用于分隔路径,所以文件名不能包含它,有些符号是shell的元字符,所以在使用时必须用引号保护起来。
例:
touch \'a b c\'
如果没有引号,则创建三个文件a, b, c,用引号括起来表示这是一个文件,文件名为\'a b c\'
touch \'"\'
touch "\'"
创建文件名为单引号或双引号。
虽然linux支持这种怪异的文件名,但我们应该尽量少用,否则很容易出现问题。
二、隐藏文件
以点开头的文件和目录(目录也是一种文件)是隐藏文件,用ls查看的时候必须加上-a选项才可以显示。
三、匹配
我们经常对一个以上的文件执行同一个命令,linux有灵活的方法识别一组文件,这就是通配符。
通配符:
字符 | 说明 |
---|---|
* | 匹配零个或多个字符(点开头除外) |
? | 匹配一个字符(点开头除外) |
[...] | 匹配列表中的任意一个字符 |
[^...] | 匹配不在列表中的任意一个字符 |
如:[a-z] 表示a,b,c……z中的一个; [A-Za-z0-9]匹配大小写字母和数字
例:
ls /etc/d*.conf
显示以/etc/d开头,后面跟上任意个字符,最后以.conf结尾的文件。
ls /etc/[di]*.conf
显示以/etc/d开头或以/etc/i开头,后面跟上任意个字符,最后以.conf结尾的文件。
四、查看文件类型
任何文件的内容都是ASCII或二进制格式,可以用file命令测试文件的类型。
file [options] [files ...]
判断文件的类型,将结果输出。
我们发现第一个文件是xml文件,老陌打开果然如此。第二个是vbox虚拟磁盘文件,最后一个是目录文件。
对于windows来说,扩展名表示文件的类型,而Linux的文件类型并不是通过扩展名决定的,如果一个没有扩展名的文件,想要知道什么类型,可以用file命令。
五、显示文件内容
cat命令可以显示ascii文件中的内容,二进制显示乱码。之前咱们接触过,这里列举几个命令选项。
-A 显示所有字符,包括控制字符和非打印字符
-s 将相邻的空行“挤”在一个空行里
-n 显示行号
六、分页程序
more命令、less命令和cat差不多,都可以显示文件中的内容,但more和less会显示一屏后暂停,直到用户按特定的键才继续下一页的显示。
more [options] [files ...]
显示一屏之后暂停,左下角显示了百分比。
- 按 f 键下一屏
- 按 b 键上一屏
- 按 q 键退出
快捷键还有很多,可以按h键查看。
less [options] [file...]
和more的功能类似,可以分页显示,功能更强大。
- 可以用翻页键进行翻页。
- 可以用up、down光标键,向上一行,向下一行。
- /keyword 向下搜索
- ?keyword 向上搜索
- n 向下重复搜索
- N 向上重复搜索
- q 退出
- h 帮助
less分页程序使用UNIX的一个标准概念——管道(pipe),管道和重定向相似。管道将一个命令的输出作为另一个命令的输入。
ps aux | less
ps显示的进程会有很多页,本来程序的输出送到终端显示,但用管道之后,送到了less命令里,数据作为less命令的输入,相当于读取了这个文件。
七、head命令
只浏览文件的前几行
head [options] [file...]
- -n num 显示前num行, 如果不指定此选项默认显示前10行。
八、tail命令
与head功能差不多,只浏览文件的后几行
tail [options] [file...]
- -n num 显示后num行, 如果不指定此选项默认显示后10行。
- -f 保持文件打开状态,不断的显示新添加的行