一. 前言
分享一波Linux实用指令
二. 指令大全
1.帮助指令
介绍:当我们对某个指令不熟悉的情况下,我们通过Linux的帮助指令来了解这个指令的使用方法,但是很不幸,帮助指令的结果全是英文。
①man指令
基本语法:man [命令或者配置],用来获得帮助信息
举例:我们知道ls可以看到目录中的所有内容,通过man ls 查询ls 指令的选项
②help指令
基本语法:helo 指令
案例:
③当遇到一个不熟悉的指令时,建议百度
2.文件目录类指令
①pwd指令
基本语法:pwd
功能描述:显示当前工作目录的绝对路径
②ls指令
基本语法:ls [选项] [目录或者文件]
功能描述:显示当前目录或者指定目录中的所有的子目录和文件
常用选项:
- a:显示目录中所有的文件和目录,包括隐藏目录
- l:一列表的方式显示
③cd指令
基本语法:cd 目录【可以使用相对路径也可以使用绝对路径】
功能描述:切换目录
相对路径的概念:相对当前目录,使用… 表示往上以及
绝对路径的概念:从根目录开始
使用cd . 进入到当前目录
使用cd … 进入上一级目录
这是因为在所有的目录中都存在两个隐藏文件夹,
. 表示当前目录
… 表示上一级目录
④mkdir指令
基本语法: mkdir [选项] 要创建的目录名称
mkdir指令功能:创建指定目录
选项:
- p : 表示创建多级目录
⑤rmdir指令
语法:rmdir 【选项】 要删除的目录
功能描述:用来删除目录的
选项:
- r : 表示递归删除
- f : 表示强制删除,并且不提示信息
删除一个空目录:rmdir aaa
删除一个非空目录:rmdir -r bbb
⑥touch指令
基本语法:touch 文件名称
功能描述:创建一个空的文件
说明:使用touch创建一个空文件后,可以使用vi或者vim编辑器编辑此文件
⑦cp指令
基本语法:cp [选项] 指定文件或者文件夹 指定目录
功能描述:表示拷贝文件到指定目录
常用选项:
- r : 表示递归拷贝整个文件夹内容
- i:如果拷贝后有相同内容,会提示是否覆盖
案例:将hello.java拷贝到aaa目录下
cp hello.java aaa
案例:将 bbb 目录拷贝到aaa目录下
cp -r bbb aaa
案例:拷贝后是否覆盖原有重名的文件或者文件夹提示
⑧rm指令
语法:rm [选项] 目录或者文件
功能描述:删除指定的目录或者文件
常用选项:
- r : 表示递归删除整个文件夹
- f : 表示强制删除,并且不提示信息
⑨mv指令
功能说明:
- 修改文件或者文件夹名称
- 移动文件
语法:
- 重命名 : mv oldName newName
- 移动:mv 指定的文件 新的目录
范例:将aaa 目录中的hello.java 修改为 HelloWorld.java
mv aaa/hello.java aaa/HelloWorld.java
范例:将aaa目录中的abc.txt移动到bbb目录中
mv aaa/abc.txt bbb
⑩cat指令
语法:cat [选项] 要查看的文件
功能描述:以只读的方式打开文件
常用选项:
-n :显示行号
范例:
cat -n abc.txt
说明:cat指令只能查看文件,不能修改文件,为了方便浏览,一般都是使用管道指令 | more 进行分页显示
cat -n abc.txt |more
十一. more指令
More指令是基于vi编辑器的文本过滤器,以全屏的方式分页显示文件的内容,more指令中设置了一些快捷键,用来分页查看文件内容。
基本语法:more 文件名称
快捷键说明:
空格键:向下翻页
回车键:向下翻一行
q : 表示离开more指令,不再显示文件内容
ctrl+f : 向下滚动一屏
ctrl+b: 向上滚动一屏
= : 输出当前行号
:f 输出文件名称和当前行号
十二. less指令
Less指令用来分屏查看文件,与more的功能类似,但是比more的功能强大,支持各种终端的显示,less指令在显示文件内容的时候,并不是一次性全部加载完整个文件,而是根据显示需要加载文件内容,所以对于内容特别大的文件查看效率较高。
语法:less 要查看的文件
范例:less abc.txt
快捷键:
空格键:向下翻页
pagedown:向下翻一行
pagedup:向上翻一行
/字符串:搜索对应的字符串,n向下查找,N向上查找
?字符串:搜索对应的字符串,N向下查找,n向上查找
q : 退出less指令
十三. >指令和>>指令
这两个指令都是向文件中输出内容
> : 覆盖文件中以前的内容
>>: 向文件中追加内容
这两个指令是将其他指令的结果输出到文件
说明:所有指令的执行结果都可以覆盖或者追加到文件中去
十四. head指令
head用于显示文件开头部分的内容,默认情况下head显示开头10行的内容
基本语法:head [选项] 文件名称
选项说明:
-具体数字:表示显示开头多少行的内容
范例:
head aaa/ccc.txt 表示显示ccc.txt 头10行内容
head -5 aaa/ccc.txt 表示显示ccc.txt 头5行内容
十五. tail指令
tail指令用于输出文件尾部的内容,默认情况下是显示文件末尾10行的内容
基本语法:tail [选项] 文件名称
选项说明:
-具体数字:表示显示末尾多少行的内容
范例:
tail aaa/ccc.txt 表示显示ccc.txt 末尾10行内容
tail -5 aaa/ccc.txt 表示显示ccc.txt 末尾5行内容
十六. ln指令
ln指令也叫作软连接指令,类似于window中的快捷方式,主要就是存放了链接其他文件的路径
基本语法:ln -s 源文件目录或者名称 软链接名称
应用案例:
软连接的删除:rm -rf 软连接名称
十七. history指令
查看已经执行过的指令,也可以执行历史指令
基本语法:history
案例:查询最近执行过的10个指令
案例:执行历史指令,执行编号为208的指令
三. 日期类指令
1.date指令
基本语法:date [选项]
功能描述:获取系统当前时间
案例:
常用选项:
+%Y 显示当前年份
+%m 显示当前月份
+%d 显示当前是这个月的第几天
“+%Y-%m-%d %H:%M:%S.%ms”按照指定的格式化显示年月日时分秒毫秒
2.date -s 指令
基本语法:date -s 字符串日期
功能描述:给系统设置日期和时间
案例:将系统时间设置为2020-10-10 08:46:20
3.cal指令
基本语法:cal [选项]
功能描述:查看日历
范例:显示当前的日历
四. 搜索类指令
1.find指令
基本语法:find [搜索范围] [选项}
选项说明:
-name 以文件名或者目录名查找
-user 查找指定用户下面的所有文件或文件夹
-size 按照指定大小查找
案例1:按照文件名查找/home目录中的 hello.java文件
案例2:按照拥有者查询,查找/opt目录下,用户名称为 nobody 的文件
案例3:查找整个linux系统中大于20M的文件(+ 表示大于 - 表示小于 无±表示等于)
find / -size +20M
案例4:查找所有的txt文件
find / -name *.txt
2.locate指令
语法:locate 文件名称
特别说明:locate指令是从数据库中查找,所以第一次运行之前,需要使用updatedb 指令来创建locate数据库。
案例1:使用locate指令快速定位hello.java文件所在目录
update db //为了确保locate指令查找的正确性,一般管理员都要定时的更新数据库的数据
locate hello.java
案例2:查找所有的以txt结尾的文件目录
locate *.txt
3.grep指令和管道符|
grep表示查找,管道符 | 表示将前一个指令的输出结果传递给后面的指令处理
基本语法:grep [选项] 查找内容 源文件
常用选项:
-n 显示匹配的行号
-i 忽略大小写
案例:在ccc.txt文件中,查找”swp”所在的行,并标识行号
cat ccc.txt | grep -n swp
五.压缩与解压指令
1.gzip指令和gunzip指令
基本语法:
压缩 : gzip 需要压缩的文件
解压 :gunzip 需要解压的文件
案例:压缩文件,将ccc.txt 文件进行压缩
gzip ccc.txt
注意点;压缩之后,源文件不存在了
案例2:解压缩ccc.txt.gz
gunzip ccc.txt.gz
注意点:解压缩之后,源文件也不会保留
2.zip指令和unzip指令
基本语法:
zip [选项] 压缩后文件名称 需要压缩的文件
unzip [选项] 压缩文件
常用选项:
压缩:
-r :递归压缩整个目录
解压:
-d : 将解压后的文件放入指定目录
案例1:将aaa 目录中的所有文件压缩成 aaa.zip
zip -r aaa.zip aaa
案例2:将aaa.zip 解压到bbb目录中
unzip -d bbb aaa.zip
3.tar指令
基本语法:
tar [选项] 打包后的文件名称.tar.gz 打包的内容
选项说明:
-c :产生.tar的打包文件
-v :显示详细信息
-f :指定压缩后的文件名称
-z :打包时进行压缩
-x :解包.tar文件
案例1 : 将aaa目录中的 aaa.txt,bbb.txt 和 ccc.txt 进行打包成 a.tar.gz
tar -cvfz a.tar.gz *.txt
tar -cvfz a.tar.gz aaa.txt bbb.txt ccc.txt
案例2:将a.tar.gz 解压到 home目录中
tar -zxvf a.tar.gz /home