实用指令
运行级别说明:
0:关机
1:单用户[找回丢失密码] 没有密码,直接是root用户
2:多用户状态[无网络服务] 基本不用
3:多用户状态[有网络服务] 正常都是它
4:保留级别
5:图形界面
6:系统重启
vim /etc/inittab 修改最后一行: id:5:initdefault:
init [012356]
测试: 1.从图形化切到级别3 init 3 2.再切回图形化 init 5 3.切换到关机级别 init 0
面试题:
如何找回 root 密码,如果我们不小心,忘记 root 密码,怎么找回。
思路: 进入到 单用户模式,然后修改 root 密码。因为进入单用户模式,root 不需要密码就可以登录。
动手: 开机->在引导时输入 回车键-> 看到一个界面输入 e -> 看到一个新的界面,选中第二行(编辑内核)在输入 e-> 在这行最后输入1 ,再输入 回车键->再次输入 b ,这时就会进入到单用户模式。 这时,我们就进入到单用户模式,使用 passwd 指令来修改 root 密码。
练习: 1.假设我们的 root 密码忘记了,请问如何找回密码 2.请设置我们的 运行级别,linux 运行后,直接进入到 命令行界面,即进入到 3 运行级别 vim /etc/inittab 最后一行 id:3:initdefault
man 指令及配置文件
help shell内置指令
百度
pwd 显示当前所在的目录
ls [选项] [目录或文件] 查看文件信息 ls -a 查看所有文件和目录,包括隐藏的 ls -l 以列表的方式显示 ls -h 以人类可读方式显示
cd 路径 绝对路径:cd /etc/ 相对路径: cd ~ 或者 cd: 回到家目录 cd ..: 回到上一级目录
练习: 1.使用绝对路径,切换到root目录 cd /root 2.使用相对路径,切换到root目录,比如当前在/usr/lib cd ../../root 3.回到上一级目录 cd .. 4.回到家目录 cd cd ~
mkdir [选项] 路径 创建文件夹
mkdir -p 路径 创建多级文件夹
rmdir [选项] 路径 删除空文件夹 rmdir -p 路径 递归删除空文件夹 文件夹下有内容,则无法删除
touch 文件路径
可以一次创建多个文件
touch 文件路径1 文件路径2
cp指令
拷贝文件到目标路径
cp [选项] 源路径 目标路径
cp 源路径 目标路径 拷贝单个文件
cp -r 源路径 目标路径 拷贝文件夹
小练习: 1./home下创建test1文件夹 cd /home mkdir test1 mkdir /home/test1 2.test1文件夹中创建a.txt,b.txt,c.txt三个文件 cd /home/test1 touch a.txt b.txt c.txt 3.把test1中的a.txt复制到/home下 cp /home/test1/a.txt /home 4.新建一个文件夹test2 mkdir /home/test2 5.拷贝整个test1到test2下 cp -r /home/test1 /home/test2
当拷贝时发现相同文件,会提示[是否覆盖?]
\cp [选项] 源路径 目标路径 取消提示,强制复制
rm指令
删除目录或者文件
rm [选项] 目标路径 rm 文件路径 删除文件 rm -r 文件夹路径 删除文件夹 rm -f xxxx 强制删除不提示
小练习: 1.删除test1中的a.txt文件 rm test1/a.txt 2.删除test2整个文件夹 rm -rf test2
mv指令
移动文件或重命名
mv 源路径 目标路径
小练习: 1.修改test1中的a.txt 为 d.txt 2.把test1中的c.txt 移动 到/home下
cat指令
显示文件内容
cat [选项] 文件路径
cat 文件路径 显示文件内容
cat -n 文件路径 显示文件内容,并显示行号
小练习: 1.用cat显示/etc/profile 的内容,并显示行号 cat -n /etc/profile
补充说明
正常情况为了方便阅读,我们会在cat指令最后加上管道符"|",把内容传给more,分页显示
如:
cat -n /etc/profile | more cat -n /etc/profile | grep "ip"
more指令
more指令是基于vi编辑器的文本过滤器,以全屏的方式按页显示文本内容
more 文件路径
空格 向下翻一页 Enter 向下翻一行 q 立即离开 Ctrl+F 向下滚动一屏 相当于空格 Ctrl+B 向上滚动一屏 = 显示当前行号 :f 输出文件名和当前行号 /搜索字段
less指令
比more更加强大,功能比more更过,这里只介绍部分
less 文件路径
空格 向下翻一页 pagedown 向下翻一页 pageup 向上翻一页 /字符串 向下查找[字符串],n下一个,N上一个 ?字符串 向上查找[字符串],n下一个,N上一个 q 离开less
命令 >/>> 文件路径 : 命名执行结果写入后面的文件里
>:输出重定向 会覆盖原来文件内容
>>:追加重定向 追加到文件末尾
1.a.txt里写上任意内容 2.把ll 查找的结果,用输出(覆盖)重定向写进a.txt 3.b.txt里写上任意内容 4.把ll 查找的结果,用追加重定向写进b.txt
小练习: 1.把/etc/profile 的内容 写进 /home/c.txt中 1.cp /etc/profile /home/c.txt 2.cat /etc/profile > /home/c.txt
echo指令
把内容输出到控制台
如下: echo "我是杨家三少" echo $PATH
小练习: 1.用echo输出'hello world'
head用于显示文件的开头部分内容,默认情况下head 指令显示文件的前10 行内容
head 文件路径 查看文件前10行 head -n 5 文件路径 查看文件前5行
小练习: 1.查看/etc/profile 的前5行内容
tail指令
tail用于显示文件的结尾部分内容,默认情况下tail指令显示文件的后10行内容
tail 文件路径 查看文件后10行 tail -n 5 文件路径 查看文件后5行 tail -f 文件路径 实时追踪文件所有的更新-----经常使用
小练习: 1.查看/etc/profile 的后5行内容 2.实时追踪/home/myinfo.txt,在虚拟机上更新myinfo.txt,看xshell的效果
软链接也叫符号链接,类似于 windows 里的快捷方式,主要存放了链接其他文件的路径
ln 源文件或源文件夹 软连接名 硬链接
ln -s 源文件或源文件夹 软连接名 软链接
测试: 1. 在/home目录下创建/root的软链接,名字为linktoroot ln -s /root linktoroot 2. cd 到软链接,然后pwd,查看当前路径 3. 创建一个a.txt的文件 4. cd 到 /root目录,查看是否有变化 5. 删除/home下的linktoroot (需要注意,不能加/,最好不要加-r) rm -f linktoroot
history指令
查看已经执行过历史命令,也可以执行历史指令
history 查看所有的历史指令 history 10 查看最近执行的10条指令 !100 执行编号为100的指令
date 显示当前日期 date +%Y 显示当前年份 date +%m 显示当前月份 date +%d 显示当前天 date “+%Y-%m-%d %H:%M:%S”
小练习: 1.显示当前时间信息 2.显示当前时间年月日 3.显示当前时间年月日时分秒
cal指令
查看日历
cal 显示当前日历 cal 2020 显示2020年的日历 cal 10 2018 显示2018年10月份日历
find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端
find [范围] [选项] 范围:指路径,不写默认从当前向下找,类似于windows的查找 选项: -name 文件名 按文件名查找 -user 用户名 查找属于该用户的所有文件 -size 按文件大小查找 +20M -20M 20M 20K
“*.txt” 通配符要加引号
小练习: 1.根据名称查找/home 目录下的 a.txt 文件 find /home -name a.txt find /home -name "*.txt" 2.查找/opt 目录下,用户名称为 lxx 的文件 find /opt -user lxx 3.查找整个 linux 系统下大于 20M 的文件 find / -size +20M 4.查询/ 目录下,所有.txt 的文件 find / -name "*.txt"
grep 指令 和 管道符号 |
管道符:"|",表示将前一个命令的处理结果输出传递给后面的命令处理
grep:过滤查找
grep [选项] 过滤内容 选项: -n 显示匹配行及行号 -i 忽略字母大小写
例子: 1.创建文件,写上多行,包含'yes'和'YES' 2.查找'yes'所在行,并显示行号 cat a.txt | grep -n "yes" 3.忽略大小写,查找'yes'所在行 cat a.txt | grep -ni "yes"
gzip/gunzip 指令(只能用于文件压缩)
用于压缩和解压文件
gzip 文件路径
gunzip gz文件路径
说明:使用gzip压缩文件之后,不会保留原来的文件
例子: 1.将 /home 下的 1.txt 文件使用gzip压缩 2.将 /home 下的 1.txt.gz 文件使用gunzip解压
zip 用于压缩文件, unzip 用于解压的,这个在项目打包发布中很有用的
zip [选项] xxx.zip 被压缩内容 压缩文件或者目录 -r 压缩目录 unzip [选项] xxx.zip 解压文件 -d 目录 指定压缩后的存放目录
例子: 1.将 /home 下的 所有文件进行压缩成 mypackage.zip zip -r mypackage.zip /home zip -r mypackage.zip /home/* 2.讲mypackge.zip解压到/opt/tmp下 unzip -d /opt/tmp mypackge.zip
tar指令
tar 指令 是打包指令,最后打包后的文件是.tar.gz的文件
压缩: tar -zcvf xx.tar.gz 被压缩内容(文件,文件夹,多个也行)
压缩 tar -zxvf xx.tar.gz -C 目标路径
解压 z:使用gzip格式压缩,否则是单纯打包 c:压缩 x:解压 f:显示压缩解压过程 v:显示提示信息
例子: 1.压缩多个文件,将 /home/a1.txt 和 /home/a2.txt 压缩成 a.tar.gz tar -zcvf a.tar.gz /home/a1.txt /home/a2.txt 2.将/home 的文件夹 压缩成 myhome.tar.gz 3.将 a.tar.gz 解压到当前目录 4.将 myhome.tar.gz 解压到 /opt/ 目录下