参考视频:
[1]www.bilibili.com/video/BV1Sv…
Vim
vim的三种模式:
- 正常模式:打开一个档案就直接进入一般模式(这是默认的模式)。在该模式下,可以使用“上下左右”按键移动光标,也可以使用“删除字符”等处理档案内容,也可以使用“复制粘贴”。
- 插入模式:按下i,I,o,O,a,A,r,R等任何一个字母之后进入编辑模式。
- 命令行模式:该模式下,可以使用相关指令,完成读取、存盘、替换、退出vim、显示行号等操作。
几个常用快捷键:
- 拷贝当前行yy,拷贝当前行向下的5行5yy,并粘贴(输入p)。
- 删除当前行dd,删除当前行向下的5行5dd。
- 在文件中查找某个单词,命令行模式下输入 /关键字 回车查找,输入n就是查找下一个。注意,在命令行模式下只有查找命令用到 /。
- 设置文件的行号以及取消:在命令行模式下输入 :set nu和:setnonu。
- 在一般模式下,撤销动作u。
- 在一般模式下,定位最末行G,定位最首行gg。
- 在一般模式下,将光标移动到指定行:先输入行号之后输入shift+g。
参考:
[2]2021年了,如何上手Vim? - 刘志军的回答 - 知乎
目录结构
Linux 系统目录结构 | 菜鸟教程 (runoob.com))
关机重启命令
shutdown -h now 立刻进行关机
shutdown -h 1 1分钟后关机
shutdown -r now 现在重启计算机
halt 关机
reboot 现在重启计算机
sync 同步数据到硬盘
用户的登录和注销
登陆时尽量少用root账号,以避免操作失误。如果使用root账户权限,可以利用普通用户登录,之后使用su-用户名命令来切换。
注销用户使用logout,注意:logout指令在图形运行级别无效,在运行级别3以下有效
用户管理
Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号登入系统。
mindmap
Root
Tom
Jack
Alice
添加用户
useradd 用户名
- 当创建用户成功后,会自动创建和用户同名的家目录。
- 也可以通过useradd -d 指定目录 新的用户名来给新创建的用户指定家目录。
passwd 用户名 指定/修改密码(不添加用户名会修改当前登录账户的密码)
删除用户
userdel 用户名 有两种可选情况,第一种删除用户但是保留家目录userdel Alice,第二种是删除用户以及对应的家目录userdel -r Alice
查询用户信息指令
id 用户名 返回uid,gid和组,当用户不存在时,返回无此用户
切换用户
su -用户名
- 当从权限高的用户切换到权限低的用户,不需要输入密码,反之则需要
- 若要返回到原来的用户时,使用exit/logout指令
查看当前用户/登录用户
whoami/who am I
用户组
类似于角色,系统利用对有共性的多个用户进行统一的管理
新增组
groupadd 组名
删除组
groupdel 组名
增加用户时直接入组
useradd -g 用户组 用户名
修改用户的组
usermod -g 用户组 用户名
用户和组相关文件
- etc/passwd文件 用户的配置文件,记录用户的各种信息,每行的含义:用户名:口令:用户标识号:注释性描述:主目录:登录Shell
- etc/shadow文件 口令的配置文件,每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
- etc/group文件 组的配置文件,记录Linux包含的组的信息,每行的含义:组名:口令:组标识号:组内用户列表
运行级别
- 0:关机
- 1:单用户(找回丢失的密码)
- 2:多用户状态没有网络服务
- 3:多用户状态有网络服务
- 4:系统未使用保留给用户
- 5:图形界面
- 6:系统重启
常用级别为3和5,也可以指定默认运行级别
命令:init [0123456]
查看现在的运行级别:systemctl get-default
设置默认级别:systemctl set-default TARGET.target
TARGET.target:
在/etc/inittab中,multi-user.target analogous to runlevel 3,graphical.target analogous to runlevel 5
帮助指令
man获得帮助信息 基本语法:man 命令或配置文件
输出:功能描述:获得信息帮助
help指令 基本语法:help命令
输出:功能描述:获得shell内置命令的帮助信息
文件目录指令
pwd 显示当前工作目录的绝对路径。
ls [选项]
- -a 显示当前目录所有的文件和目录,包括隐藏的。
- -l 以列表的方式显示信息。
cd [参数] 切换到指定目录
- cd ~ 或者 cd ::回到自己的家目录。
- cd ..:回到当前目录的上一级目录。
mkdir [选项] 目录:用于创建目录。
- -p:创建多级目录。
rmdir [选项] 要删除的空目录:删除空目录。若要删除非空目录,需要使用rm -rf 要删除的目录。
touch 文件名称:创建空文件,比如:touch hello.txt。
cp [选项] source dest:拷贝指令。细节:强制覆盖不提示的方法 \cp。
- -r:递归复制整个文件夹。
rm [选项] 要删除的文件或者目录:移除指定的文件或目录。
- -r:递归删除整个文件夹。
- -f:强制删除不提示。
mv: 移动文件与目录或者重命名。
- mv oldNameFile newNameFile:重命名。
- mv /temp/movefile /targetFolder:移动文件。
cat [选项] 要查看的文件:查看文件内容。该指令只能浏览文件,为不能修改文件,为了方便浏览一般会带上管道命令:|more。more指令是一个基于vi编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内特,其中指令中内置了若干快捷键用于交互。
- -n:显示行号。
more 要查看的文件:类似于cat。
less 要查看的文件:类似于more,但是更强大,支持各种显示终端,其在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于打开大文件比较友好。
echo [选项] 输出内容:输出内容到控制台,比如echo $HOSTNAME。
head 文件:用于显示文件的开头部分,默认前10行。
- head -n 5 文件:显示前5行。
tail 文件:用于显示文件的结尾部分,默认后10行。
- tail -n 5 文件:显示后5行。
- tail -f 文件:实时追踪该文档的所有更新,Ctrl+C退出。
>/>>:输出重定向(覆盖写)/追加。
- ls -l 目录 > 文件:列表的内容写入文件。
- ls -al 目录 >> 文件:列表的内容追加到文件的结尾。
- cat 文件1 > 文件2:将文件1覆盖到文件2
- echo "内容" >> 文件:将内容追加到文件
ln -s 原文件或目录 软链接名:给源文件创建一个软链接。软链接/符号链接类似于win里的快捷方式。如果使用pwd指令查看目录时,仍然看到的是软链接所在的目录。
history:查看已经执行过的历史命令
- history 10:显示最近使用过的10个指令
- !5:执行历史编号为5的指令,并显示该指令