1.vim 的常用三种模式
在命令行中输入 vim+文件名 进入的就是正常模式;按Esc+i 进入的是编辑模式,可对文本内容进行编辑;按Esc+:进入的是命令模式。
# 正常模式下 ''' 1.拷贝当前行,并粘贴 拷贝:yy 粘贴:p 2.拷贝当前行向下5行(包括当前行总共5行),并粘贴 拷贝5行:5yy 3.删除当前行 删除:dd 4.删除当前行向下5行(包括当前行总共5行) 删除5行:5dd 5.光标移至最后一行 G 6.光标移至首行 gg 7.移动到第7行 7gg 8.撤销 u ''' # 命令模式 ''' 1.查找某个关键字 /关键字 2.取消高亮 :nohl 3.显示行号 :set nu 4.取消行号 :set nonu '''
2.开机 / 重启 / 用户切换 / 注销
shutdown 命令 shutdown -h now / 2 # 立刻关机 / 2分钟以后再关机(数字代表的是分钟) shutdown -r now / 2 # 立刻重启 / 2分钟以后再重启 sleep 30 && halt # 30秒钟以后关机(数字代表的是秒数) halt / reboot # 关机 / 重启 sync # 把内存同步到磁盘(关机或重启前,都应当先执行一下sync指令)
2)切换 / 注销用户
su - 用户1 # 切换到用户1 exit # 回到原来用户 logout # 注销用户(图形界面无效)
3.用户管理
1)添加用户(useradd)
useradd 用户名 # 添加一个新用户 useradd lin # 添加一个用户 in passwd lin # 为用户 lin 设置登录密码 useradd -d 目录路径 用户名 # 指定家目录 useradd -g 用户组名 用户名 # 指定用户所在的组名,组要先创建好才可以使用 useradd -g hxx lin # 指定用户 lin 在 hxx 组里
2)删除用户(userdel)
userdel 用户名 # 删除用户,保留家目录(常用这种) userdel -r 用户名 # 删除用户,不保留家目录 id 用户名 # 常用于查看用户是否存在
3)增加组(groupadd)
groupadd 组名 groupadd hxx # 增加一个名为 hxx 的组名
4)删除组(groupdel)
groupdel 组名 groupdel hxx # 删除一个名为 hxx 的组名 # 注意:组内如果有用户会导致删除失败,此时先删除用户再删除组。
5)修改用户的组(usermod)
usermod -g 组名 用户名 ''' [root@localhost home]# groupadd hxx [root@localhost home]# groupadd lxx [root@localhost home]# useradd -g hxx lili [root@localhost home]# id lili uid=501(lili) gid=504(hxx) 组=504(hxx) [root@localhost home]# usermod -g lxx lili [root@localhost home]# id lili uid=501(lili) gid=505(lxx) 组=505(lxx) ''' etc/passwd文件 # 用户的配置文件,记录着用户的各种信息 etc/shadow文件 # 口令配置文件,存用户密码和相关时间的地方 etc/group文件 # 组的配置文件
4.运行级别相关指令
1)指令运行级别(/etc/inittab)
0:关机 1:单用户[找回丢失密码] # 没有密码,直接是root用户 2:多用户状态[无网络服务] # 基本不用 3:多用户状态[有网络服务] # 正常都是它 4:保留级别 5:图形界面 6:系统重启
2)运行级别相关操作
vim /etc/inittab # 进入到配置文件中 id : 5 : initdefault : # 表示当前指令运行级别为 第5级别 init [012356] # 输入数字几,就表示当前指令运行级别为 第几级别 ''' 如何找回 root 密码,如果我们不小心,忘记 root 密码,怎么找回? 解题思路: 进入到 单用户模式,然后修改 root 密码。因为进入单用户模式,root 不需要密码就可以登录。 开机->在引导时输入 回车键-> 看到一个界面输入 e -> 看到一个新的界面,选中第二行(编辑内核)在输入 e-> 在这行最后输入1 ,再输入 回车键->再次输入 b ,这时就会进入到单用户模式。 这时,我们就进入到单用户模式,使用 passwd 指令来修改 root 密码。 '''
5.文件目录指令
1)pwd指令
pwd # 显示当前所在的目录
2)ls指令
ls [选项] [目录或文件] # 查看文件信息 ls -a # 查看所有文件和目录,包括隐藏的 ls -l # 以列表的方式显示
3)长度路径指令
绝对路径:cd /etc/ 相对路径: cd ~ 或者 cd: # 回到家目录 cd .. # 回到上一级目录
4)创建 / 删除 文件夹(mkdir/rmdir)
mkdir: mkdir 路径1+文件夹1 # 在路径1下创建一个文件夹1 mkdir -p 路径+文件夹名 # 创建多级文件夹 rmdir: rmdir 路径+文件夹名 # 删除空文件夹 rmdir -p 路径+文件夹名 # 递归删除空文件夹 rmdir -p 文件夹1 文件夹2 文件夹3 # 依次删除空文件夹
# 注意:如果文件夹下有内容,删除失败
5)创建文件(touch)
touch 路径1+文件1 # 在路径1 下创建一个 文件1 touch 路径+文件名1 路径+文件名2 # 可以一次创建多个文件,中间用空格隔开
6)拷贝文件到目标路径(cp)
cp 源路径 目标路径 # 拷贝单个文件 相当于复制 cp 源路径 目标路径 # 取消提示,强制复制。 cp -r 源路径 目标路径 # 将源路径拷贝到目标路径下 ''' 1./home下创建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 '''
7)移动文件或重命名(mv)
mv 源路径 目标路径 mv a.txt d.txt # 将test1中的a.txt 重命名为 d.txt mv /home/test1/c.txt /home # 把test1中的c.txt 移动到/home下
8)删除目录或者文件(rm)
rm [选项] 目标路径 rm 文件路径 # 删除文件 rm -r 文件夹路径 # 删除文件夹 rm -f xxxx # 强制删除不提示 rm -rf xxxx # 强制删除,不留痕迹 一般不建议使用
9)显示文件内容(cat)
cat [选项] 文件路径 cat 文件路径 # 显示文件内容 cat -n 文件路径 # 显示文件内容,并显示行号 cat -n /etc/profile | more # 把内容传给more,分页显示
10)重定向(
)>:输出重定向 # 会覆盖原来文件内容 >>:追加重定向 # 追加到文件末尾 ''' 1.把 ll 查找的结果,用输出(覆盖)重定向写进桌面的a.txt中 ll > /root/桌面/222.txt 2.把 ll 查找的结果,用追加重定向写进桌面的a.txt中 ll >> /root/桌面/222.txt '''
11)显示文件部分内容(head / tail)
head #用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容 head 文件路径 # 查看文件前10行 head -n 5 文件路径 # 查看文件前5行。n后接的数字可任意设置 tail #用于显示文件的结尾部分内容,默认情况下tail指令显示文件的后10行内容 tail 文件路径 # 查看文件前10行 tail -n 5 文件路径 # 查看文件前5行 tail -f 文件路径 # 实时追踪文件所有的更新 经常使用
6.时间日期类
1)查看日期(date)
date # 显示当前日期 date +%Y # 显示当前年份 date +%m # 显示当前月份 date +%d # 显示当前天 date "+%Y-%m-%d %H:%M:%S" # 设置当前显示时间的格式 ''' 1.设置当前时间格式为 2019年12月26日 23时44分35秒 date "+%Y年%m月%d日 %H时%M分%S秒" '''
2)查看日历(cal)
cal # 显示当前日历 cal 2020 # 显示2020年的日历 cal 10 2018 # 显示2018年10月份日历
3)find 查找指令
find [路径] [选项] [查找内容] #路径如果不写默认从当前向下找,类似于windows的查找 选项: -name 文件名 #按文件名查找 -user 用户名 # 查找属于该用户的所有文件 -size # 按文件大小查找 ''' 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 的文件. “ *.txt” 通配符要加引号" find / -name "*.txt" '''
4)
# 管道符:"|",表示将前一个命令的处理结果 再作为条件输出传递给后面的命令处理 grep [选项] 过滤内容 选项: -n 显示匹配行及行号 -i 忽略字母大小写 ''' 1.查找a.txt文件中'yes'所在行,并显示行号 cat a.txt | grep -n "yes" 2.忽略大小写,查找a.txt文件中'yes'所在行 cat a.txt | grep -ni "yes" '''