文章目录
- 基本指令
- echo
- cat(输入重定向)
- history
- 日志
- more
- tail和head
- mv(重要)
- 时间相关的指令
- 查找的命令
- 知识点
- Linux下一切皆文件
- 为什么计算机关机了,开机后还能准确地记录时间呢?
基本指令
echo
1. echo,把后面的内容当做字符串打印出来
2. cat test.c,把文件里的内容打印出来
1. 输出重定向操作:echo将本来要打印到显示器上的信息,打印到文件中了
2. echo默认加上换行符,printf不会加
2. 输出重定向的特点:
a. > 后面的文件不存在,就新建之
b. 如果文件中存在内容,先清空,再写入
- > 可以新建空文件
- 已经存在文件,再使用 > 就可以清空文件内容
3. 追加重定向:>> ,不清空文件本来的内容,可以在后面追加内容
cat(输入重定向)
1. 只写一个cat,默认重键盘中读,写入到显示器中去
2. cat < hello.txt,从文件中读,写入到显示器中
1. dev设备,pts字符设备
2. 终端的本质在Linux下是一个文件 dev/pts/xxx
- 以c开头的文件叫字符文件
- 可以开多个终端,每个终端都是一个文件,也可以指定终端写入内容,可以是0号终端向1号终端写入内容,echo “hello world” > dev/pts/1
- 以b开头的是块设备文件,比如磁盘,支持随机读写
-
以l开头的连接文件
-
以p开头的管道文件
-
Linux系统不看后缀,把后缀识别为文件的一部分了,不代表Linux禁止使用后缀,例如mv test.txt test.c cat test.txt就无法使用了,mv test.c test.txt cat test.txt 可以使用说明gcc编译器关心文件后缀
- cat -n 可以把行号带上 ,cat可以查看短文件的内容
- tac 从下往上打印内容
history
history可以查看你写的历史命令
日志
1. cat /var/log/messages 查看日志
2. tac /var/log/messages 可以反向查看日志内容太
more
1. more var/log/messages
可以先把整个屏幕打满,然后可以逐行下翻查看日志,用回车进行下翻(仅支持下翻),按q退出
2. less var/log/messages
也可以支持查看日志,支持上翻和下翻日志
- 脚本,打印1000次hello x, x = (1,2,3…)
3. more和less也可以进行查找,都是按q进行退出
:字符串或者数字,如果多次出现相同的,less可以用n查找下一个
tail和head
1. head可以查看开头的几行内容,tail可以查看结尾的几行内容,也可以指定查看几行
2. 正着打印内容
3. 指定区间拿取一部分内容,先把前510内容重定向到temp.txt文件中,再用tail 取结尾10行的内容,就可以拿到501到510行的内容了
4. | 叫做管道,可以把管道也看成文件,相当于临时文件
5. wc == word count,再-l,统计有多少行,|管道可以组合命令
6. 管道是内存级的,在内存中进行修改,不是磁盘级的,占据一定的内存空间
mv(重要)
1. mv src dst 将文件从src剪切到dst中
src可以是普通文件或者是目录
dst必须是目录,且这个目录存在
2. mv可以对指定文件进行重命名
mv src dst ,dst不存在且不是目录就是重命名
src是目录且存在,dst是目录且不存在,可以是重命名
时间相关的指令
1. date默认查看的是系统的年月日
2. +%Y:%m:%d_%H:%M:%S,查看年月日时分秒,:可以自己设置分隔符
1. date +%s,小写的s
2. Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。
格林威治时间戳
3. 时间戳有什么用?
1、转化为我们的时间
2、用户->日志->时间戳,如果出错了,可以进行区间查找
1. 将时间戳转化为标准时间
2. date +%Y-%m-%d_%H-%M-%S -d @时间戳
3. 北京时间和格林威治时间相差8小时
4. cal 可以展示日历,这个日历也是根据时间戳转化出来的
5. 可以查当年的本月,前一个月,后一个月的信息
查找的命令
1. 比如which去指定的目录下查找指定的命令,它是去/usr/bin目录下去查找命令的
2. whereis man,是查找系统中的命令,安装包之类的地方查找
3. 可以查找我们自己写的命令的指令:
find ~ -name *.c,名字可以随便叫,在家目录下查找.c结尾的文件
4. 在根目录下查找名字是ls的命令,其实是在多叉树中根据键值广度优先遍历去字符串匹配
知识点
Linux下一切皆文件
1. 在Linux系统中一切皆文件
2. 如何理解系统帮我们打开文件的呢?
1、 在执行main中的代码时,编译器会先把stdin,stdout,stderr打开
为什么要帮我们打开?
1、因为在用Linux进行计算时更加方便
怎么不打开其他文件?
1、因为其他文件不常用
3. 系统会帮我们默认打开stdin,stdout,stderr
stdin 对应键盘
stdout,stderr 对应显示器
为什么计算机关机了,开机后还能准确地记录时间呢?
1. 主板上的纽扣电池让计算机运行记录下时间