实用指令
Posted rowry
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实用指令相关的知识,希望对你有一定的参考价值。
指定运行级别
1. 6个运行级别
(1) 0: 关机
(2) 1: 单用户 (找回丢失密码)
(3) 2: 多用户状态没有网络服务
(4) 3: 多用户状态有网络服务
(5) 4: 系统未使用,保留给用户
(6) 5: 图形界面
(7) 6: 系统重启
2. 常用运行级别是3和5,要修改默认的运行级别可改文件.
3. Ubuntu和CentOS的指定运行级别有点不同
帮助指令
当我们对某个指定不熟悉时,我们可以使用Linux提供的帮助指令来了解这个指令的使用方法
1. man 获得帮助信息
(1) 基本语法: man 指令名称
(2) 小案例: 查看 ls 命令的帮助信息 man ls
2. help指令
(1) 基本语法: help 指令名称
(2) help指令是
(3) 小案例: 查看 cd 命令的帮助信息 help cd
3. 关于man和help指令,其实百度更加直接
(1) 虽然上面两个都可以来获取指令帮助,但是需要英语功底.
(2) 学习一个陌生的指令最好还是上网查看实际
文件目录类
1. pwd 指令
(1) 基本语法: pwd
(2) 功能: 显示当前工作目录的绝对路径
(3) 小案例: 显示当前工作目录的绝对路径 pwd
2. ls 指令
(1) 基本语法: ls [选项] [目录或是文件]
(2) 常用选项:
1) -a: 显示当前目录所有的文件和目录,包括隐藏的
2) -l: 以列表的方式显示信息
3) -h: 人类可读
(3) 小案例:
1) 查看当前目录的所有信息内容
ls -a -l 或 ls -al
2) 查看一个指定文件/目录的信息
ls -l 文件/目录名 => ls -l /etc
3. cd 指令
(1) 基本语法: cd 绝对路径/相对路径
(2) 功能: 切换到指定目录
(3) 小案例:
1) 使用绝对路径切换到home目录 cd /home
2) 使用相对路径切换到home目录 pwd cd ..
4. mkdir 指令
(1) 基本语法: mkdir [选项] 文件夹
(2) 基本功能: mkdir指令用于创建目录
(3) 常用选项: -p 创建多级目录
(4) 小案例:
1) 创建一个目录 /home/dog cd /home mkdir dog
2) 创建一个多级目录 /home/animal/tiger cd /home mkdir -p animal/tiger
5. rmdir 指令
(1) 基本语法: rmdir 文件夹
(2) 基本功能: rmdir 删除空目录
(3) 小案例:
1) 删除一个空目录 /home/rowycho/1 rmdir 1
(4) 注意: rmdir只能删除空目录! 注意是空目录! 如果要删除非空目录需要使用 rm -rf 删除!
6. touch 指令
(1) 基本语法: touch 文件名
(2) 基本功能: touch 指令创建空文件
(3) 小案例:
1) 创建一个空文件 hello.txt touch hello.txt
2) 使用touch一次创建多个空文件 touch 1.txt 2.txt
(4) 其他的创建文件的方式 vim hello.txt gedit hello.txt
7. cp 指令
(1) 基本语法 cp [选项] 源文件地址 目标文件地址
(2) 基本功能: cp 指令拷贝文件到指定目录中
(3) 常用选项: -r 递归复制整个文件夹
(4) 小案例:
1) 将 /home/rowrycho/aaa.txt 拷贝到 /home/bbb目录下
cp aaa.txt bbb/[aaa.txt] (一般都是会写上名称的)
2) 将 /home/rowrycho/bbb整个文件拷贝到 /home/rowrycho/ccc目录下
sudo cp -r bbb/ ccc/bbb
8. rm 指令
(1) 基本用法: rm [选项] 要删除的文件或目录
(2) 基本功能: rm 指令删除文件或目录
(3) 常用选项:
1) -r: 递归删除整个文件夹
2) -f: 强制删除不提示
(4) 小案例:
1) 将 /home/rowrycho/aaa.txt 删除
rm aaa.txt
2) 递归删除整个文件夹 /home/rowrycho/bbb
rm -r bbb
(5) Ubuntu的rm是需要设置 .bashrc 的
alias rm=‘rm -i‘
source ./bashrc
9. mv 指令
(1) 基本语法:
1) mv 老名字 新名字 (重命名,实际上也是在本地移动了,使用了相对路径)
2) mv 老文件地址 新文件地址
(2) 基本功能: mv 指令用于移动文件/目录或重命名
(3) 小案例:
1) 将 /home/aaa.txt 重命名为 pig.txt
mv aaa.txt pig.txt
2) 将 /home/pig.txt 移动到 /home/bbb 目录下
mv pig.txt bbb/
10. cat 指令
(1) 基本语法: cat [选项] 要查看的文件
(2) 常用选项: -n 显示行号
(3) 小案例: 查看 /etc/profile 文件的内容,并显示行号
cat -n /etc/profile | more
(4) 注意:
1) cat只能浏览文件,而不能修改文件.
2) 为了浏览方便,一般会带上管道命令 | more
11. more 指令
(1) more指令是以一个基于vi编辑器的文本过滤器,它以全屏模的方式按页显示文本文件的内容
(2) 小案例: 使用more查看 ~/.bashrc
more ~/.bashrc
(3) more快捷键
1) 空格键 下翻一页
2) 回车键 下翻一行
3) q 退出
4) ctrl+f [f] 向前一页 (其实可以试试上下左右方向键)
5) ctrl+b [b] 向后一页
6) ?要搜素的字符 n向上查找 N向下查找
7) = 或 :f 输出文件名和当前行的行号
12. less 指令
(1) less就是more的升级版,相对于more更有效率. less并不是一次将整个文件加载之后再显示,而是根据显示加载需要的内容,对现实大型文件具有较高的效率.
(2) 小案例: 使用less查看 ~/.bashrc
less ~/.bashrc
cat -n ~/.bashrc | less
(3) less的快捷键和more快捷键基本一致
13. echo 指令
(1) 基本语法: echo [选项] "文本"
(2) 基本功能: echo 指令输出内容到控制台
(3) 小案例:
1) 使用echo指令输出环境变量
echo $PATH
2) 使用echo指令输出 hello,world!
echo "hello,world!"
14. head 指令
(1) 基本语法:
1) head 文件 (查看文件头10行内容)
2) head -n 5 文件 (查看文件头5行内容,5是可以修改的)
(2) 小案例: 查看 /home/rowycho/.bashrc 的前5行代码
head -n 5 /home/rowrycho/.bashrc
15. tail 指令
(1) 基本语法:
1) tail 文件 (查看文件尾10行内容)
2) tail -n 5 文件 (查看文件头5行内容,5是可以修改的)
3) tail -f 实时追踪改文档的所有更新 (工作中经常使用!)
(2) 小案例:
1) 查看 /home/rowycho/.bashrc 的尾5行代码
tail -n 5 /home/rowrycho/.bashrc
2) 实时监控mydate.txt,看看文件是否有变化,实时的追加日期
需要两个终端,一个使用虚拟机中Ubuntu的终端,一个使用xshell远程连接
tail -f mydate.txt (Ubuntu)
cal >> mydate.txt (Xshell)
16. > 指令 和 >> 指令
(1) > 输出重定向 >> 追加
1) > | >> 重定向如果这个文件不存在则创造这个文件
(2) 小案例:
1) 将/home/rowrycho 目录下的文件列表写入到 /home/rowyrcho/info.txt 中
ls -al /home/rowrycho /home/rowycho/info.txt
2) cat 文件1 > | >> 文件2 这种适合用于将一个文件的内容写到另外一个文件中
3) echo "文本" > | >> 文件
17. ln 指令
(1) 软链接也称为符号链接,类似于win中的快捷方式,主要存放了链接其他文件的路径
(2) 基本语法: ln -s 原文件/目录 软链接名
(3) 应用实例:
1) 在/home目录下创建一个软链接 linkToRoot,链接到 /root目录
sudo ln -s /root linkToRoot
2) 删除软链接
rm -rf linkToRoot (注意,结尾千万不要带 /, 删除的文件,带/的话删除的目录)
18. history 指令
(1) history指令查看已经执行过的历史命令(如果不好意思开口可以实现不求人!)
(2) 基本语法: history [] (!历史指令编号 执行该历史指令)
(3) 小案例:
1) 显示所有的历史命令 history
2) 显示最近使用过的10个指令 history 10
3) 执行李四编号为5的指令 !5
时间日期类
1. date指令-显示当前日期
(1) 基本语法 date [+%Y %m %d %H %M %S]
(2) 小案例:
1) 显示当前的时间信息 date
2) 显示当前时间 以 年月日 形式: date "+%Y %m %d"
3) 显示当前时间 以 年月日时分秒 形式: date "+%Y %m %d %H:%M:%S"
2. data指令-设置日期
(1) 基本语法: date -s 字符串时间
(2) 小案例:
1) 设置系统当前时间 date -s "2020-11-11 11:22:22"
3. cal指令
(1) 查看日历指令
(2) 基本语法: cal [选项] (不加选项,显示本月的日历)
(3) 小案例:
1) 显示当前日历 cal
2)显示2020年日历 cal 2020
搜索查找类
1. find指令
(1) find指令将从指定目录向下递归地遍历各个子目录,将满足条件的文件或目录显示在终端.
(2) 基本语法: find [搜索范围] [选项]
(3) 选项说明:
1) -name: 按照指定的文件名查找文件
2) -user: 查找属于指定用户名所有文件
3) -size: 按照指定的文件大小查找文件
(4) 小案例:
1) 按文件名:根据名称查找/rowrycho目录下的hello.txt文件
find /home -name hello.txt
2) 按拥有者: 查找/opt目录下,用户名称为nobody的文件
find /opt -user nobody
3) 查找整个linux系统下大于200MB的文件 (+n 大于 -n小于 n等于) M: MB K:KB
find / -size 20M 等于20M
find / size -20M 小于20M
find / size +20M 大于20M
4) 查找全部的 .txt文件
find / -name *.txt
2. locate指令
(1) locate指令可以快速定位文件路径.
(2) locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件. locate指令无需遍历整个文件系统,查询速度较快.
(3) 特别说明: sudo updatedb 由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库
(4) 为了保证查询结果的准确度,管理员必须定期更新locate
(5) 基本语法: locate 文件名称
(6) 小案例:
1) 使用locate指令快速定位 hello.txt文件所在目录 locate hello.txt
3. grep指令和管道符号 |
(1) grep过滤查找(在文件的内部查找,之前的find,locate都是用于查找文件)
(2) 管道符号 | : 表示将前一个命令的处理结果输出传递给后面的命令处理.
(3) 基本语法: grep [选项] 查找内容 源文件
(4) 选项:
1) -n: 显示匹配行及行号
2) -i: 忽略字母大小写
(5) 请在hello.c文件中"yes"所在行,并显示行号
cat hello.c | grep -n yes
cat hello.c | grep -ni yes (-i 忽略大小写)
压缩和解压类
1. gzip/gunzip指令
(1) gzip用于压缩文件,gunzip用于解压
(2) 基本语法:
1) gzip 文件 (压缩文件,只能将文件压缩为 *.gz )
2) gunzip 文件.gz (解压缩文件命令)
(3) 小案例:
1) gzip压缩,将 /home下的hello.txt文件进行压缩
gzip /home/hello.txt
2) gunzip解压,将/home/hello.txt.gz文件进行解压
gunzip /home/hello.c.gz
(4) 注意: 当我们使用gzip对文件进行压缩后,不会保留原来的文件. 解压也是同理,不会存在原来的.gz文件
2. zip/unzip指令
(1) zip用于压缩文件,unzip用于解压,这个在项目打包发布中很有用
(2) 基本语法:
1) zip [选项] xxx.zip 文件/目录 (压缩文件和目录的命令)
2) unzip [选项] xxx.zip (解压缩文件)
(3) 常用选项:
1) zip常用选项: -r 递归压缩,即压缩目录
2) unzip常用选项: -d 指定解压后文件的存放目录
(4) 小案例:
1) 将/home下的所有文件进行压缩成 mypackage.zip
zip -r mypackage.zip /home
2) 将 mypackage.zip 解压到 /opt/tmp 目录下
unzip -d /opt/tmp/ mypackage.zip
3. tar指令
(1) tar 指令 是打包指令,最后打包后的我文件是 xxx.tar.gz
(2) 基本语法: tar [选项] xxx.tar.gz 文件/目录(可以使用空格指定多个文件)
(3) 常用选项:
1) -c: 产生.tar打包文件
2) -v: 显示详细信息
3) -f: 指定压缩包后的文件名
4) -z: 打包同时压缩
5) -x: 解包.tar文件
(4) 记忆的组合拳 (1) -zcvf (2)-zxvf 前者为压缩,后者为解压
(5) 小案例:
1) 压缩多个文件,将/home/a1.txt 和 /home/a2.txt压缩成 a.tar.gz
tar -zcvf a.tar.gz a1.txt a2.txt
2) 将/home的文件夹压缩成 myhome.tar.gz
tar -zcvf myhome.tar.gz /home
3) 将a.tar.gz 解压到当前目录 (解压的话一般都是在当前目录进行解压,所有一般先把压缩包移动到指定目录下 mv)
mv ...
tar -zxvf a.tar.gz
4) 将myhome.tar.gz解压到/opt/下
mv myhome.tar.gz /opt/
tar -zxvf myhome.tar.gz
以上是关于实用指令的主要内容,如果未能解决你的问题,请参考以下文章