vi和vim的编辑器:
- 简介:
所有的 Linux 系统都会内建 vi 文本编辑器。
Vim 具有程序编辑的能力,可以看做是 Vi 的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。 - vi和vim的三种常见模式:
- 正常模式:
以 vim 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用『复制、贴上』来处理你的文件数据 - 插入/编辑模式:
在此模式下可以编辑文本等操作。 - 命令行模式:
在这个模式当中, 可以提供你相关指令,完成读取、存盘、替换、离开 vim 、显示行号等的动作则是在此模式中达成的。
编辑器的常用快捷键:
- wq:保存编辑好的文件并退出
- q:在未修改文档的情况下,不保存退出
- !q:强制退出
- /n:在文本中查找某个关键字
- set nu:设置文档的行号
- G:跳到文档的最末行
- gg:跳到文档的最首行
- yy:拷贝当前行。5yy就是拷贝当前行向下的5行
- p:拷贝完后粘贴
- dd:删除当前行。5dd就是删除当前行向下的5行
- u:撤销某个增删操作
开机重启和用户登录注销等相关操作:
- shutdown -h now:立即关机
- shutdown -r now:立即重启
- su 用户名:切换到别的用户
Linux的运行级别:
- linux常用的运行级别是3和5,默认为5,可修改/etc/inittab文档下的配置的id:5:initdefault
- init 级别id:切换不同的运行级别(常用于忘记密码,通过进入单用户模式即可不用密码登录root用户后再修改密码)
文件目录类:
路径跳转和查看相关操作:
- pwd:显示当前工作所在目录的绝对路径。
- ls -a -l【目录或是文件】:显示某个目录下所有的文件和目录,包括隐藏的并以列表的方式显示信息
- cd 【绝对或相对路径】:跳转到某个目录下
cd /root:使用绝对路径跳到root目录
cd …/…/:使用相对目录跳转到根目录(假设当前目录在/usr/bin)
cd ~:回到家目录
删除,创建,查看等相关操作:
- mkdir -p 目录名:创建一个新目录,-p表示创建多级目录
- rmdir 空目录名:删除某个空目录,如果目录下有文件则不能删除
- rm -rf 目录名:删除某个目录以目录下所有的文件
- rm -r -f 文件或目录名:删除文件或者目录,-r表示递归删除整个文件夹,-f表示强制删除不提示
- touch 文件名称:创建空文件
- cp -r 文件名 目录名:拷贝文件到指定目录下,-g表示递归复制整个文件夹
- mv oldNameFile newNameFile:重命名文件或者目录
- mv moveFile targetFolder:移动文件到别的地方
- cat -n 文档名 | more:查看文档,-r表示显示文档行号,| more表示分页显示
- more 文档名:以全屏幕的方式按页显示文本文件的内容。
- less 文档名:分屏查看文档内容,它的功能与 more 指令类似,但是比 more 指令更加强大,支持各种显示终端。less 指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率
- ls -l > a.txt:>指令表示输出重定向,会将原来的文件的内容覆盖。将 ls -l 的显示的内容覆盖写入到 a.txt 文件,如果该文件不存在,就创建该文件。
- cat a.txt >> b.txt:>>指令表示追加,不会覆盖原来的内容。将a.txt文档中的内容追加到b.txt中
- echo 输出的内容体:将内容输出到控制台
- head -n num 文档名:head 用于显示文件的开头部分内容,默认情况下显示文件的前 10 行内容。-n num表示查看文档头的num行内容
- tail -n num 文档名:tail 用于输出文件中尾部的内容,默认情况下显示文件的后 10 行内容。-n num表示查看文档尾部的num行内容
- ln -s /root linkToRoot:ln指令表示软链接也叫符号链接,类似于 windows 里的快捷方式,主要存放了链接其他文件的路径。
- history num:查看num条历史命令。可以用!num执行编号为num的指令
查看和设置时间等相关操作:
- date:显示当前时间
- date -s 字符串时间:设置当前系统时间。比如date -s “2021-11-11 11:11:11”
- cal 年份:显示某一年的日历,不加年份显示当前日历
搜索和查找等相关操作:
- find 【搜索范围】 【选项】:表示从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。选项有-name按文件名查找,-user查找属于指定用户名的所有文件,-size按指定的文件大小查找,+表示大于,-表示小于。
- |:管道符,表示将前一个命令的处理结果输出传递到后面的命令处理
- grep [选项] 查找内容 源文件:过滤查找。选项有-n表示显示匹配及行号,-i忽略字母大小写。
- cat test.txt | grep -ni hello:表示在test.txt文件中查找"hello"所在的行,并且显示行号和不区分大小写。
压缩和解压等相关操作:
- gzip 文件名:压缩文件,只能将文件压缩为.gz文件
- gunzip 文件.gz:解压缩文件,只能加压.gz文件
- zip -r test.zip /root/:将/root下的所有文件递归压缩成test.zip。-r表示递归压缩
- unzip -d /opt/tmp test.zip:将test.zip解压到/opt/tmp目录下。
- tar 【选项】test.tar.gz /home/:将/home/下的文件全部压缩成test.tar.gz。
选项:
)-c:表示产生.tar打包文件
)-v:显示详细信息
)-f:指定压缩后的文件名
)-z:打包同时压缩
)-x:解压.tar文件
将/home的文件夹压缩成test.tar,gz:tar -zcvf test.tar.gz /home/
将test.tar.gz解压到/opt/目录:tar -zxvf test.tar.gz /opt/
组管理和权限管理:
- ls -ahl:查看文件的所有者
- groupadd 组名:添加用户组
- groupdel 组名:删除用户组
- usermod -g 新用户组 用户名:修改用户的组
- usermod -g 目录名 用户名:修改用户登录的初始目录
- useradd -d 指定目录 -g 用户组 用户名:创建新的用户并指定用户的家目录,再指定用户的所属组和用户名
- passwd 用户名:给用户设置或者修改密码
- userdel -r 用户名:删除某个用户并删除用户的家目录,一般不删除家目录
- id 用户名:查询用户信息
权限的基本介绍:
ls -l中显示的内容如下:
-rw-r–r--. 1 root root 553 4月 28 19:07 test.txt
0-9 位说明
1).第 0 位确定文件类型(d目录, -普通文件 , l软链接 , c字符设备 , b硬盘)
2).第 1-3 位确定所有者(该文件的所有者)拥有该文件的权限。—User
3).第 4-6 位确定所属组(同用户组的)拥有该文件的权限,—Group
4).第 7-9 位确定其他用户拥有该文件的权限 —Other
RWX权限:
文件中的权限:R表示可以查看,读取。W表示可以修改,但不能删除,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件。X表示可执行。
目录中的权限:R表示可以读取。W表示可以修改并且目录内可以创建和删除,重命名目录。X表示可以进入该目录。
修改权限的常用命令:
- chown 用户名 文件名:修改文件的所有者
- chgrp 组名 文件名:修改文件所在的组
通过+,-,=变更权限: - chmod u=rwx,g=rx,o=x 文件目录名:修改文件或者目录的权限。u表示所有者,g表示所有组,o表示其他人,a表示所有人
- chmod u=rwx,g+w,o-x 文件目录名:增加组写的权限,除去其他人执行的权限
通过数字变更权限: - 规则:r=4 w=2 x=1 ,rwx=4+2+1=7
- chmod u=rwx,g=rx,o=x 文件目录名 相当于 chmod 751 文件目录名