一、基本指令
快捷方式:Ctrl + c
功能:中止因为程序、指令异常导致无法进行指令输入的情况;或者写了指令不想要了,删掉又很麻烦,Ctrl + c可以不要这一行;
指令:man
语法:man [选项] [指令]
功能:通过查看联机手册获取帮助,第一页是指令,第二页是系统调用,第三页是C语言语法;
常用选项:
- -k:根据关键字搜索联机帮助;
- num:只在num页查找;
- -a:将所有结果都显示出来,如printf又是指令,又是C语言函数,man默认从第一页搜索,找到了就停止,加上该选项,显示完第一种结果后按q显示后一种结果,直到所有结果显示完毕退出;
指令:echo
语法:echo [字符串 —— 就算跟文件名,它也会认为是字符串]
功能:1)输出,如 echo "hello Linux" > test.txt,将字符串写到test.txt文件中,echo "hello Linux"就是单纯打印,也就是写入显示器文件中;2)这种把原本写入显示器文件中的内容写到普通磁盘文件中的操作叫做,输出重定向;3)这种输出重定向向目标文件写入的时候有一个特点,即会清空目标文件原本的内容,再写入;因此想清空一个文件的时候也可以使用 “> 文件名” 这样的语句;4)当不想清空文件的时候,使用“>>”会在原本的内容后面添加内容,也就是追加重定向;5)echo指令默认新起一行;6)无论是输出重定向还是追加重定向,如果跟着的文件名不存在会自动新建;7)因此也可以用“>文件名”新建文件;
指令:printf
语法:printf [字符串]
用法:与echo一样,唯一区别在于printf没有默认换行;
指令:cp
语法:cp [源文件路径] [目标文件路径]
功能:复制;
常用选项:
- -r:拷贝直接用是无法拷贝目录的,带上该选项就可以了;
- -i:带该选项后如目录中存在同名文件,询问是否覆盖;
指令:alias
语法:alias [自定义名称] = ’ 指令 + 选项’
功能:起别名 —— 临时的,关掉shell就无了;
扩展:1)指令的本质就是可执行程序,是别人写好的可执行程序,一般存在“/user/bin”中;
指令:which
语法:which [指令]
功能:查看对应指令的保存路径;
指令:more
语法:more [文件名]
功能:和cat指令类似,用来显示文件内容,适合大文本;
常用选项:
- -num:会显示文件第num行附近的内容
- /字符串:向下搜索字符串内容;
注意:1)只能下翻,不能上翻;
指令:less (一般使用这个)
语法:less [文件名]
功能:和more指令类似,用来显示文件内容,适合大文本;
常用选项:
- -n:显示每一行的行号;
- -i:忽略搜索时的大小写;
- /字符串:向下搜索字符串内容;
- ?字符串:向上搜索字符串内容;
- n:重复前一个搜索(与/或?字符串有关)
- N:反向重复前一个搜索(与/或?字符串有关)
注意:1)上翻、下翻都支持;2)而且less在查看前不会加载整个文件;
指令:head
语法:head [选项] [文件名]
功能:查看一个大文本的前n行,默认前十行;
常用选项:
- -n:显示前n行;
指令:tail
语法:tail [选项] [文件名]
功能:和head相对,查看文本的最后n行;
常用选项:
- -n:显示最后n行;
二、管道
管道可以一次性进行一系列操作
// 取出文件log.txt中的第1000-1020行的内容
head -1020 log.txt | tail -21
// 其中“|”被称为管道文件,内存级的临时文件