目录
前言:sum手写笔记可见文末~
man
指令(说明)man 手册更多的是用来查指令和系统调用接口,
所以,如果我们想查某个不懂的命令我们只需要 man 一下,问问那个男人就可以了。
- $ man 3 printf
- $ man 2 fork
- $ man 1 printf
man 后面加上这些数字是为了指定查看不同类型的手册。如果不知道 man 有哪些手册可供查看,该怎么办呢?
💡 我们可以通过执行 man man 命令,查看 man 的手册来获取相关信息:
$ man man
然后我们就可以进入这样一个界面
下翻在该手册中,可以看到这些数字分别代表的含义:
- 命令
- 系统调用
- C 语言相关的接口
这三个手册是我们最常用的,因此我们通过在 man 命令后加上不同的数字,来查找不同的手册。
另外,如果你使用的是云服务器,这是一种在线环境。
如果系统中没有 man 手册,手册可能未安装。
💭 你可以试试查看 fork 指令的用法:
$ man 2 fork
如果查不到,就需要安装 man 手册(需切换至 root 用户):
# yum install -y man-pages
安装完后,再次查询 fork 就能看到结果了。
语法:man [选项] 命令
功能:查看联机手册获取帮助。
选项 | 说明 |
---|---|
-k | 根据关键字搜索联机帮助。 |
num | 只在第num章节找。 |
-a | 显示所有章节的内容。 |
手册章节:
- 普通命令
- 系统调用
- 库函数
- 特殊文件
- 文件格式
- 游戏
- 附件和变量
- 系统管理命令
man 手册可以查看不同的手册,手册编号 1,2,3.....,默认是 1。
如果你不知道有啥手册可以查,输入 man man 查看。
cp
指令(复制)语法:cp [选项] 源文件或目录 目标文件或目录
功能:复制文件或目录。
选项 | 说明 |
---|---|
-f, --force | 强行复制文件或目录。 |
-i, --interactive | 覆盖文件之前询问用户。 |
-r, -R, --recursive | 递归处理,将指定目录下的文件及子目录一并处理。 |
让我们来实现以下 疯狂星期四 cp爱情经不起等待.dog
我们不仅能拷贝,还可以指定路径去拷贝。
💭 拷贝一份 .txt 到 目录下:
大家可以试试,理论和实践还是有些区别的
cp -r拷贝目录
mv
指令(移动)语法:mv [选项] 源文件或目录 目标文件或目录
功能:1. 移动文件
2. 将文件重命名。
选项 | 说明 |
---|---|
-f | 强制覆盖目标文件。 |
-i | 覆盖文件之前询问用户。 |
$ mv [文件] [新名字] # 重命名
因为rm删除了不可逆,所以我们可以尝试用mv重改一下rm,做一个回收站~
try:
- vim ~/.bashrc #修改这个文件
- mkdir -p ~/.trash
- alias rm=trash
- alias ur=undelfile
- undelfile() {
- mv -i ~/.trash/\$@ ./
- }
- trash() {
- mv $@ ~/.trash/
- }
cat
指令(类似cout)语法:cat [选项] [文件]
功能:查看文件内容。
选项 | 说明 |
---|---|
-b | 对非空输出行编号。 |
-n | 对输出的所有行编号。 |
-s | 不输出多行空行。 |
cat -n
cat不适合打印长文本
例如当面对一个超长文本时
$ cnt=1; while [ $cnt -le 100000 ]; do echo "Hello! $cnt"; let cnt++; done > long.txt
cat打印
超级不方便查找,所以长文本使用more
默认为26
可以 more 数字 文件 来查找指定行数
more 仅能向前移动,却不能向后移动,但 less 支持前后翻,我们更推荐使用 less。
选项 | 说明 |
---|---|
-i | 忽略搜索时的大小写 |
-N | 显示每行的行号 /字符串:向下搜索“字符串”的功能 ?字符串:向上搜索“字符串”的功能 |
- n | 重复前一个搜索(与 / 或 ? 有关) |
-N | 反向重复前一个搜索(与 / 或 ? 有关) |
-Q | 推出查看 |
学到后面可以用less查日志,超级方便
head/tail -n(num) file
那如果我们想查看520行的内容呢
可以创建临时文件,但是有没有更方便的方法呢,of course——管道
就像是一个运输数据的传输通道一样,先抽取前520行,通过管道再抽取后5行