Linux常见指令解析(三)
通配符 *
*可以匹配任意名称的文件,如:
ls * 列出当前目录下的所有非隐藏文件和目录,并展开目录内容
ls *.c 列出当前目录下以.c为结尾的文件
rm -rf * 删除所有非隐藏文件
alias指令
alias指令用于给命令取别名。如:
给ls -a这条指令取一个别名叫做mycmd,这样执行mycmd和执行ls -a就是等价的。
注意:重命名后的指令,若是没有写入配置文件,就只是临时的,只在当前会话有效,Xshell重启后就失效了。
head指令
语法: head [参数]… [文件]…
功能:head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
选项:
- -n<行数> 显示的行数
如:显示文本的前五行
tail指令
语法:tail [选项] 文件名
功能:查看文件末尾的内容,默认显示文件最后10行的内容
选项:
- -n n为指定显示的行数
如:显示文本的最后三行
重定向
重定向可以控制命令输入输出的流向。
常见的重定向:
-
输出重定向 >
在上图示例中,输出重定向符号>把cat原本要输出到显示器的内容写入code_4_26.c文件中。
注意:输出重定向在对目标文件进行写入的时候,会先清空目标文件的内容,再进行写入。当目标文件不存在时,会默认创建一个目标文件并写入。 -
追加重定向 >>
追加重定向是在目标文件的末尾添加内容,不会覆盖目标文件原来的内容。当目标文件不存在时,会默认创建一个目标文件并写入。
管道符 |
功能:将左侧命令的输出作为右侧命令的输入。
应用示例:提取文件中的一个片段
如:提取test.txt文件中的21-40行
date指令
功能:显示时间
用法:date [OPTION]… [+FORMAT]
在显示方面,使用者可以设定想要显示的格式,格式设定为一个加号后接数个标记。常用标记如下:
- %H : 小时
- %M : 分钟
- %S : 秒
- %X : 相当于 %H:%M:%S
- %d : 日
- %m : 月份
- %Y : 完整年份
- %F : 相当于 %Y-%m-%d
Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp):从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。
时间转换成时间戳:date +%s
时间戳转换成对应的时间:date -d@时间戳
按照指定的格式转换时间戳的时间:
cal指令
命令格式: cal [参数][月份][年份]
功能: 用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份
常用选项:
- -3 显示系统前一个月,当前月,下一个月的月历
- -j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
- -y 显示当前年份的日历
find指令
- Linux下find命令在目录结构中搜索文件,并执行指定的操作。
- Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。
- 即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只要你具有相应的权限。
- 在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)。
语法: find pathname -options
功能: 用于在特定路径下进行文件查找。
常用选项:
- -name 按照文件名查找文件。
如:在家目录~下查找test.c文件
which指令
语法:which 命令名
功能:用于在系统指令所对应的路径下查找指令。
whereis指令
语法:whereis 选项 命令名
功能:用于在系统特定的路径下查找,既可以找到可执行程序,又可以找到手册、安装包、压缩包等。
grep指令
grep是一个行文本过滤工具。
语法: grep [选项] 搜寻字符串 文件
功能: 在文件中搜索字符串,将找到的行打印出来
常用选项:
-
-i :忽略大小写的不同,所以大小写视为相同
-
-n :顺便输出行号
-
反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行
如:打印不包含world的所有行
grep的其他示例用法: -
带空串,可以显示所有行
注意: 空串是长度为 0 的字符串,即不包含任何字符的字符串。
“” 是空串(无内容)
" " 是非空串(包含一个空格) -
和管道符结合使用
grep的一个重要作用:配合管道,在系统中进行程序/进程的查找。
zip/unzip指令
zip指令
语法: zip 压缩文件.zip 目录或文件
功能: 将目录或文件压缩成zip格式
常用选项:
- -r 递归处理,将指定目录下的所有文件和子目录一并处理
unzip指令
语法:unzip [选项] 压缩文件.zip [-d 目标目录] [文件列表…]
参数说明:
- 压缩文件.zip:需要解压的ZIP文件。
- -d 目标目录:将文件解压到指定目录(默认解压到当前目录)。
- 文件列表:可选参数,指定要解压的具体文件(支持通配符,如*.txt)。
功能:解压文件
注意:zip 命令默认仅处理指定的文件或目录条目本身,不会递归包含目录中的内容。因此,要打包压缩一个目录,必须带上-r选项。
正确方法:
==注意:==如果解压的目标目录中已存在同名文件,unzip 会为每个文件交互式询问是否覆盖。
y:覆盖当前文件。
n:跳过当前文件。
A:覆盖所有后续文件(不再询问)。
N:跳过所有后续文件。
r:重命名当前文件(需输入新文件名)。
tar指令
语法:tar [选项] [归档文件名] [文件或目录列表…]
功能:用于打包、压缩和解压文件
常用选项:
- -c :建立一个压缩文件的参数指令(create 的意思)
- -z:使用 gzip 压缩/解压(.tar.gz 或 .tgz,.tar是打包后缀,.gz是压缩后缀)
- -f:表示新形成的压缩包的名称,-f后面必须紧跟文件名,不能再加参数
- -t:不对压缩包进行解包和解压,直接查看压缩包里面的内容,相当于预览压缩包里面的内容
- -C : 解压到指定目录
- -v :压缩的过程中显示文件
- -x :解开一个压缩文件的参数指令
- -j:使用 bzip2 算法压缩/解压(生成 .tar.bz2)
用法示例:
- 打包压缩 —— tar czf XXX.tgz XXX(要打包压缩的文件)
- 预览压缩包里面的内容 —— tar tzf XXX.tgz
- 解包解压 —— tar xzf XXX.tgz
不指定目录则默认解压到当前目录
bc指令
bc指令是Linux系统下的一个计算器。
基本用法:
- 在命令行输入bc,直接进入计算环境。退出bc:输入quit 或者 Ctrl + d
- 通过管道或 echo 传递表达式
注意: echo指令用于向标准输出(显示器)直接显示字符串内容。如:
uname指令
语法:uname [选项]
功能: uname用来获取电脑和操作系统的相关信息。
补充说明:uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息。
常用选项:
- -a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称
- -r 显示内核版本号
free指令
功能:查看内存
几个重要的热键
- Tab :具有『命令补全』和『档案补齐』的功能
- Ctrll + c :停止当前的程序
- Ctrl + d : 键盘输入结束 或者 退出终端登录或退出用户