目录
一:Linux基础指令
查看联机手册
文本查看相关
时间相关
查找相关
打包和压缩相关
查看Linux版本和体系
其它指令和热键
二:重定向
输入重定向
输出重定向
三:管道
一:Linux基础指令
查看联机手册
Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。
man指令
语法:man 选项 命令
常用选项:
- -k 根据关键字搜索联机帮助
- -a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕
手册的8章:
- 用户命令:包含绝大多数用户可以直接调用的命令和工具
- 系统调用:包含了Linux内核提供的各种系统调用的详细信息
- 库函数:包含了各种标准C库函数的详细信息。
- 设备和特殊文件:包含了设备驱动程序和特殊文件的详细信息。
- 文件格式:包含了各种文件格式和配置文件的详细信息。
- 游戏:包含了一些基本的游戏程序。
- 其他杂项:包含了各种其他杂项的信息,如惯例、规范和各种协议等。
- 系统管理命令:涵盖了各种系统管理命令,如文件和目录管理、系统监视、备份和还原、网络管理、磁盘管理以及日志管理等。
一些快捷键:
- q 退出
- Enter 按行下翻
- Space 按页下翻
- b 上翻一页
- /字符串 在手册页中查找字符串
- num 只在第几章找
文本查看相关
cat指令(查看目标文件的内容)
语法:cat 选项 文件
常用选项:
- -b 对非空输出行编号
- -n 对输出的所有行编号
- -s 不输出多行空行
tac指令(和cat基本一致,但是自下而上打印)
more指令(只会打印一屏幕,不会全部打印,按回车下翻)
语法:more 选项 文件
常用选项(按q退出):
- -n 对输出的所有行编号
less指令(打印一屏幕,可以上下翻页)
语法:less 选项 文件
常用选项:
- -i 忽略搜索时的大小写
- -N 显示每行的行号
快捷键:
- /字符串:向下搜索“字符串”的功能
- ?字符串:向上搜索“字符串”的功能
- n:重复前一个搜索(与 / 或 ? 有关)
- N:反向重复前一个搜索(与 / 或 ? 有关)
- q:退出
head指令(默认打印文件前10行)
语法:head 选项 文件
选项:-n 打印前n行
tail文件(和head选项一致,默认打印文件后10行)
时间相关
date指令(按默认格式显示系统时间)
date 指定格式显示时间: date +%Y:%m:%d
使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下:
- %H : 小时
- %M : 分钟
- %S : 秒
- %X : 相当于 %H:%M:%S
- %d : 日
- %m : 月份
- %Y : 完整年份
- %F : 相当于 %Y-%m-%d
时间戳: 时间戳是一个用于记录某个事件发生的日期和时间的数字或字符串。它通常表示从某个特定时间点开始经过的秒数或毫秒数。时间戳在计算机系统中广泛使用,例如在日志记录、文件创建和修改时间、网络通信等方面。时间戳可以用于跟踪事件的顺序、计算时间间隔、进行排序等。
Linux时间戳是从1970年1月1日开始所经过的秒数,不考虑闰秒。
时间->时间戳:date +%s
时间戳->时间:date -d@时间戳
查找相关
find指令(查找文件,可能访问磁盘)
语法:find 指定目录 选项 文件
选项:-name 按文件名进行查找
which指令(查看其它指令程序所在路径)
alias指令(给指令起别名)
语法:alias 新名='原指令'
whereis指令(系统目录下查找有关键字的文件)
语法:whereis 关键字
grep指令(在文件中搜索字符串,并将找到的行打印出来)
语法:grep 选项 '搜寻字符串' 文件
常用选项:
- -i :忽略大小写的不同,所以大小写视为相同
- -n :顺便输出行号
- -v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行
打包和压缩相关
zip指令(打包和压缩)
语法:zip 选项 压缩包名字 要打包的文件/目录
选项:-r 递归处理,将指定目录下的所有文件和子目录一并处理(不加只会压缩一个空目录)
unzip指令(解压)
语法:unzip 待解压文件名 选项 路径
选项:-d 解压到指定路径
tar指令(打包压缩和解压都可以实现)
选项:
- -c :建立一个压缩文件的参数指令(create 的意思)
- -x :解开一个压缩文件的参数指令
- -t :查看压缩包里面的文件
- -z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
- -j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
- -v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程
- -f :表示指定要解压缩的文件名
- -C(大写) : 解压到指定目录
打包加压缩
解压
查看Linux版本和体系
uname指令
选项:
- -a 查看所有信息、内核和体系结构
- -r 只查看内核版本
其它指令和热键
其它:
- history指令(查看历史指令)
- bc指令(计算器,输入quit退出)
- cal指令(显示日历)
- echo指令(后面接字符串,默认在输出终端输出字符串)
热键:
- Tab-命令补全
- CTRL+C-终止正在进行的程序
- CTRL+D-终止登录
- CTRL+R-查找历史命令
- 上下键-翻找最近的几次命令
二:重定向
输入重定向
Linux的众多输出指令(比如echo,cat的等等)的默认输出对象都是标准输出终端(显示界面),那能不能把内容输出到指定文件中呢?
">"可以以文本覆写(覆盖原来内容)的形式进行文本输出指令(比如echo,cat的等等)的输出重定向,原本echo指令默认会将特定文本内容输出到标准输出终端中,通过">"重定向可以将文本内容覆写到指定文件中
">>"可以以文本追加的形式(不会覆盖原来内容)进行文本输出指令的输出重定向,比如echo指令默认会将特定文本内容输出到标准输出终端中,通过">>"重定向可以将特定文本内容追加到某个文件中
输出重定向
"<<" 是用于 Here Document(文档内输入)的输入重定向符号。它允许您在命令行中指定多行输入,并将其作为标准输入传递给命令。使用此符号,可以在命令行中直接指定多行文本,而无需将其存储在文件中。
例子:
在上述示例中,"<<" 后的 "EOF" 表示输入的结束标记,之后的行是输入的内容。上述命令输出将会显示输入的三行内容。
"<" 是将文件内容作为输入重定向的符号。它将文件的内容作为标准输入传递给命令。
三:管道
在Linux中,管道是一种用于将一个命令的输出作为另一个命令的输入的特殊符号。通过使用管道,你可以将多个命令连接起来,以便它们相互协作并共同完成复杂的任务,这个过程不需要创建临时文件。
管道的符号是竖线 "|",它可以将一个命令的标准输出传递给另一个命令的标准输入。例如,可以使用管道将一个命令的结果传递给另一个命令进行处理,而不需要将结果保存在文件中。
例如:
这个例子中先取出test.txt中的前12行,然后保存这12行到管道中,再打印管道中的最后2行。