目录
制作小文件&查看
nano指令
cat指令
tac指令
制作大文件&查看
一切皆文件
echo指令
> 输出重定向
以写"w"的形式打开文件
以追加"a"的形式打开文件
cat指令
< 输入重定向
创建big.txt
more指令
less指令
head指令
tail指令
前面博客我们学习关于文件属性的操作:增删查改。如何看待这么多的指令,记不住。指令不需要刻意记忆,补充知识才是比较重要的。
如何快速在Linux上写代码
【1】我们使用【nano指令】,nano是Linux相当于记事本的作用的指令。
如果没有nano,请安装:yum insall -y nano 安装和卸载的本质都是将这个指令拷贝/删除到这个路径下。如果你没有某个指令,都可以yum install -y 指令 安装一下。(若有不同上网搜索一下)
【2】我们使用【cat指令】去查看文件的内容。
【3】我们使用【gcc指令】去编译和【./可执行程序】去运行。
如何快速写出代码?制作小文件?
nano 源文件----->ctrl+x---->y----->回车(写代码)--->gcc 源文件(编译)---->./可执行程序
创建一个文件(类似记事本)可以写入数据,crtl+x退出。
语法:cat [选项][文件]
功能:查看目标文件的内容,本质是显示文件内容常用选项:
- -b 对非空输出行编号
- -n 对输出的所有行编号
- -s 不输出多行空行
与cat相反除外,无选项,把内容倒置打印出来。
cat/tac都是去查看一些小文件内容,ls ll是去查看文件/目录的属性。上面我们也制作了一个小文件并且查看了,那我们如何制作一个大文件,并且查看呢?
以下操作都是以【文件】为主体。角度都是站在【显示器】角度
一切皆文件是Linux的基本哲学之一。普通文件、目录、字符设备、块设备和网络设备(套接字)等都被当做文件来对待。虽然他们类型不同,但是linux系统为它们提供了一套统一的操作接口。Linux可以以统一的方式来进行文件/设备的访问!
为什么说Linux下“一切皆文件”? - 知乎 (zhihu.com)
Linux 下 “一切皆文件” 思想的本质和好处在哪里?与 Windows 下的文件管理思想有啥差别? - 知乎 (zhihu.com)
Linux中的理念"一切皆文件",对于任何文件来讲,操作文件内容,当前无非就是【读】和【写】,所以:向显示器设备写入文件,就是向显示器文件,向显示器打印数据,即显示器文件写入数据。
包括我们所看到的终端也是文件! 证明
echo指令在屏幕上打印了"hello Linux”。在Linux当中一切皆文件,那么显示屏也是显示屏文件。所以可以说 echo是向显示屏这个文件,输入字符串。
此时我们这样写,相当于把写入显示器文件的字符串,写入文件 log.txt !把本来应该显示到显示器上的数据,显示到了文件中!
这个动作被称作:输出重定向
写作:>
当然我们也可以直接重定向!
>输出重定向-----以写的形式打开文件写入数据
- 如果文件不存在,创建一个空文件,写入数据(可以不写只创建)
- 如果文件存在,清空数据,写入数据(可以不写只创建)
我们发现我们每次用echo写入数据都是,清空了原文件,重新写入。
在我们学习C语言进阶阶段,我们学习过文件以写的形式打开,并写入数据,这里复习一下。
所以重定向和上面代码是一样的,打开文件,文件不存在就创建,存在就清空。
>> 输出追加重定向-----以追加的形式打开文件写入数据(>>之间不能有空格)
- 如果文件不存在,创建一个空文件,写入数据(可以不写只创建)
- 如果文件存在,写入数据(如果有数据,就追加数据)
我们一般都是从键盘获取数据,一切皆文件,那么ca也可以从【键盘文件】获取数据,输入【显示器文件】。
当然,我们也可以从【普通文件】获取数据输入【显示器文件】!此刻我们将【键盘文件】输入【显示器】重定向为【普通文件】获取数据输入【显示器文件】!
这个动作被称为:输入重定向
写作:<
特别提醒:cat log.txt 和cat < log.txt是区别很大的!不一样!
有了上面知识的铺垫,终于我们来创建一个大文件。
i=1; while [ $i -le 1000 ]; do echo "hello Linux $i"; let i++; done > big.txt
我们发现用cat 去查看这个大文件是非常不方便的,所以接下来我们学习一些查看大文件的指令!
✔✔✔✔✔最后,感谢大家的阅读,若有错误和不足,欢迎指正!