- 一般模式:以vim打开一个文件就会进入该模式,可以上下左右移动光标,用指令删除字符、删除整行、复制、粘贴
- 插入(编辑模式):一般模式按下i,I,A等字母后就会进入该模式,可以进行编辑
- 命令行模式:该模式下,可以提供相关的指令,完成读取、存盘、替换、退出vim、显示行号等。
vim部分常用快捷键
一般模式下
- 拷贝当前行 yy,拷贝当前行向下的n行 nyy,并粘贴(输入p)
- 删除当前行 dd, 删除当前行的向下n行 ndd
- 快捷键到达该文档的最末行[G]和最首行[gg]
- 撤销动作用 u
- 例:将光标移动到20行 -> 20+shift + g 【即大写G】
命令行模式
- 在文件中查找某个单词【命令行下/关键字,回车 查找,输入 n 就是查找下一个
设置文件行号,取消文件的行号。【命令行下,:set nu 和 :set nonu】
基本介绍
shutdown -h now ------>立刻进行关机
shutdown -h 1 ------>“hello, 一分钟后会关机”
shutdown -r now ------>现在重启计算机
halt ------>关机(同上)
reboot ------>现在重启
sync ------>把内存的数据同步到磁盘
基本介绍:一般是先登陆普通用户,后再通过 su - root(-两侧都有空格)转到管理员账号;登陆注销即在shell里面输入 logout 命令
添加用户&删除用户
添加用户
- 基本语法:useradd 用户名 (默认该用户的home/用户名)【登陆后会自动切换到该目录】
- 指定目录:useradd -d 指定目录 用户名 ,新创建的用户指定家目录
设置/修改密码
- 基本语法:passwd 用户名(要记得指定用户名,否则默认为当前的用户)【可以用passwd修改密码】
删除用户
- userdel 用户名:只删除用户,会保存用户的家目录
- userdel -r 用户名:删除用户以及其家目录
用户组
- 新增组:语法: groupadd 组名
- 删除组: 语法:groupdel 组名
- 将用户创建到指定的用户组:useradd -g 用户组 用户名
- 将用户移到指定的用户组:usermod -g 用户组 用户名
用户和组相关的文件
(在编辑模式下打开)/etc/passwd 文件:用户的配置文件,记录各种信息;
- 每行含义:用户名:口令:用户标识号:注释性描述:主目录:登陆的Shell
/etc/shadow文件:口令的配置文件
- 每行含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活跃时间:失效时间:标志
/etc/group 文件:组的配置文件,记录Linux包含的组的信息
- 每行含义:组名:口令:组标识符:组内用户列表
实用执行
找回Linux密码
帮助指令
- 基本语法:man (命令或配置文件) 例如man ls,且多种命令可以组合使用【-a 显示所有目录(包括隐藏),-l 单行显示】
文件目录类
- 举个栗子
cd 指令
- 基本语法:cd 【参数】 (功能:切换到指定目录【绝对或相对路径)
- cd ~ 或 cd : 回到自己的家目录
- cd .. 回到当前目录的上一级目录
创建目录--mkdir指令
- 基本语法:mkdir 【选项】 要创建的目录(-p:创建多级目录)
删除目录--rmdir指令
- 基本语法:rmdir 【选项】 要删除的空目录 (rm -rf:删除非空目录)
创建空文件--touch指令
- 基本语法:touch 文件名称
拷贝文件到指定目录--cp指令
基本语法:cp 【选项】 文件(-r :递归复制整个文件夹)【\cp是强制覆盖】
拷贝整个文件夹的案例
移除文件或目录--rm指令
- 基本语法:rm 【选项】 要删除的文件或目录 (-r:递归删除整个文件夹;-f:强制删除不提示
- 例1:将/home/a.txt删除, --> rm /home/a.txt
- 例2:将整个文件夹/home/bbb删掉 --> rm -rf /home/bbb(删掉bbb,且不提示)
移动文件域目录或重命名--mv指令
基本语法:mv 旧文件名 新文件名(同一文件夹下,是重命名)
mv 文件 文件夹(不同文件夹下,移动文件夹)
查看文件内容--cat指令(只能看,更安全)
cat [选项] 要查看的文件 (-n:显示行号)(可加上管道命令 |more,进行交互)
案例:
- more指令的用法:
less指令
输出内容到控制台--echo 【选项】【输出内容】
- 例如:echo $PATH等,还可以输出引号中的内容:echo "hello world~"
显示文件的开头部分(默认为10行)--head指令
- 基本语法:head (-n) 5 文件 :显示文件的前五行
输出文件的尾部部分(默认为10行)--tail 指令
- 基本语法:tail -n 5 文件 -->显示后五行;
- tail -f 文件(实时追踪文档的所有更新,Ctrl + C退出)
输出重定向和追加-- > 和 >>
基本语法:
ls -l > 文件 (功能:列表的内容写到文件中【覆盖原内容】)
- ls -al >> 文件 (功能:列表的内容追加到文件的末尾)
- cat 文件1 > 文件2 (功能:将文件1的内容覆盖到文件2)
- echo "内容" >> 文件
ln指令:软链接也称符号链接,类似于windows里的快捷方式,主要存放了链接其他文件的路径
基本语法:ln -s[原文件或目录]【软链接名】(功能:给一个原文件创建一个软链接)
查看使用过的指令--history指令
基本语法:history --> 显示曾经执行的所有指令;history 5--> 显示最近执行的5个指令
!6执行历史编号为6的指令
时间日期类
显示当前日期--date指令
date (功能:显示当前时间)
- date +%Y (功能:显示当前的年份) 加号和百分号中间没有空格(下同)
- date +%m (功能:显示当前的月份)
- date +%d (功能:显示当前是哪一天)
- date "+%Y-%m%d %H:%M%S" (功能:显示年月日时分秒)
- date -s 字符串时间 -->设置时间
显示日历--cal指令
基本语法:cal 【选项】 (功能:不加选项就是显示本月日历)
cal 年份 (功能:显示该年的所有月份日历)
搜索查找类
find指令:从指定目录向下递归地遍历其各个子目录,将满足条件的文件或目录显示在终端
- 基本语法:find 【搜索范围】【选项】 文件名
选项 功能 -name<查询方式> 按照指定的文件名查找模式来查找文件 -user<用户名> 查找属于指定用户名的所有文件 -size<文件大小> 按照指定的文件大小查找文件(+n大于,-n小于,n大于,单位有k,M,G)
locate指令:可以快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的locate数据库,实现快速定位给定的文件。locate指令无须遍历整个文件系统,查询速度较快。为了保证查询结果的准确性,管理员必须定时更新locate
- 基本语法: locate 文件名 使用前必须先使用updatedb指令来创建locate数据库
- 补充:which 指令 -->可以查看某个指令在那个目录下。 例which ls
过滤查找:grep指令和管道符号
基本语法:grep [选项] 查找内容 源文件(-n显示行号,-i忽略大小写)
压缩和解压类
压缩(gzip)/解压(gunzip)指令【只能压缩文件】
基本语法: gzip 文件(功能:压缩文件,只能将文件压缩为*.gz格式文件
gunzip 文件.gz (功能:解压文件命令)
压缩(zip)/解压(unzip)指令【可以压缩文件和目录】
基本语法:
- zip 【选项】 xxx.zip 将要压缩的内容(功能:压缩文件和目录的命令)
- unzip 【选项】 xxx.zip (功能:解压缩文件)
| 选项 | |
| ------------------------------- | ---------------------------- |
| -r (是zip指令的常用选项) | 递归压缩,即压缩文件目录 |
| -d (是unzip指令的常用选项) | 指定解压后的文件的存放位置 |
实例:![image-20220622164716314](https://s2.loli.net/2022/06/22/bwNvkIaytJcUSXF.png)
打包--tar指令:最后打包的文件是 .tar,gz 文件
- 基本语法: tar 【选项】 xxx.tar.gz 打包的内容 (功能:打包目录,压缩后的文件格式.tar.gz)
选项 功能 -c 产生.tar 打包文件 -v 显示详细信息 -f 指定压缩后的文件名 -z 打包同时压缩 -x 解包 .tar 文件