linux基础知识-7

Posted 老陌的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux基础知识-7相关的知识,希望对你有一定的参考价值。

昨天写了一半,晚了就休息了,今天补上。

一、文件名

当看到文件名时,感觉老陌废话又来了…… 这回还真不是,让老陌慢慢到来。

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 保持文件打开状态,不断的显示新添加的行

以上是关于linux基础知识-7的主要内容,如果未能解决你的问题,请参考以下文章

20155201 李卓雯 《网络对抗技术》实验一 逆向及Bof基础

[NTUSTISC pwn LAB 7]Return to libc实验(puts泄露libc中gadget片段定位)

逆向及Bof基础实践

ES7-Es8 js代码片段

centos 7部署并汉化Gitlab及基础操作

[linux][c/c++]代码片段01