Linux笔记(二)
第二篇,主要讲解Linux中vim,用户管理,权限操作,文件压缩解压等命令
一、vim文本编辑
1、前言
Linux系统中,尤其是在服务器日常的远程操作中,没有图形界面,我们要修改一个文本文件,最直接,最有效的方式就是用vi
以下内容,以CentOS7.9系统为例
2、什么是vim
vi有个加强版本叫做vim,两者没有太大的区别,在较新版本的UNIX、LINUX系统中都预装了vim
vim有三大模式,分别是命令模式、插入模式、底行模式。
三大模式可以做不同的事情,也是区别于其他文本编辑器最大的不同之处。
3、命令模式
首先,用户启动vi/vim,就进入了命令模式。或者是在其他模式下,按ESC,也能进入命令模式。
怎么启动呢?执行vim 文件名
命令,比如vim 123.txt
就打开了vim编辑文件123.txt,默认进入的就是命令模式。该模式下,不可以输入文字,输入的字母都成为了命令。
序号 | 命令 | 功能 |
---|---|---|
01 | $ | 移动到这一行的行尾 |
02 | gg | 移动到文档第一行行首 |
03 | G | 移动到文档最后一行行首 |
04 | x | 删除一个字符 |
05 | dd | 删除游标所在的一整行 |
06 | yy | 复制游标所在的一整行 |
07 | v | 按下后,可选字符范围,再按y即复制 |
08 | p | 粘贴 |
09 | u | 回退操作,撤销原来的操作 |
10 | <Ctrl>+r | 重做上一个动作 |
10 | n+<Enter> | n指行号,回车后,跳至指定行 |
11 | /word | 向光标下寻找字符串word;找到后按n表示继续查找下一个 |
4、插入模式
插入模式也称编辑模式,顾名思义就是往文档内编写内容。
-
i,I
进入输入模式,大小写区别在于:小写i是从目前光标所在处输入,大写I是在目前行第一个飞空格符处开始输入。
-
a,A
小写a是从目前光标所在的下一个字符处开始输入,大写A是从目前行最后一个字符处开始输入。
-
o,O
小写o在目前光标所在下一行处输入新的一行,大写O是在目前光标所在上一行处输入新的一行。
-
r,R
相当于替换字符,小写r只会替换光标那个字符一次,大写R会一直替换,除非按ESC。
插入模式下,按ESC可退回到命令模式。
5、底行模式
首先,在命令模式下,按:进入底行模式,需要说明的是冒号:不是;号。有的人刚开始学习时候按不出来,是因为需要按<Shift>+;
序号 | 命令 | 功能 |
---|---|---|
01 | :w | 写入 |
02 | :w! | 强制写入 |
03 | :q | 退出vi/vim |
04 | :q! | 强制退出vi/vim |
05 | :wq | 存储写入内容后退出vi/vim |
06 | set nu | 显示行号 |
07 | set nonu | 不显示行号 |
08 | n | n为数字,光标移动到第n行 |
09 | /word | 寻找内容,与命令模式的/word类似 |
vim的常用操作大部分就在这里了,虽然命令繁多,但只要多用多练,还是比较容易记忆的。
二、Linux用户管理与组管理
- Linux是一个多用户、多任务的操作系统
- Linux用户的分类:
- 超级用户root:拥有最高的权限UID:0
- 普通用户:权限有一定限制,可以登录系统。一般可执行/usr/local/bin或者/bin或者/usr/bin或者自己家目录的命令UID:1000 - 60000(centos7)
- 系统用户(伪用户):一般不会登录系统,主要是用来维持某个服务程序UID :1-1000 (centos 7)
- 关于用户的相关配置文件
- 账号信息:/etc/passwd
- 密码信息:/etc/shadow
如果我们使用cat /etc/passwd
就会看到下面的内容:
整个内容其实是按:分隔的,对应的含义如下:
test : x : 1000 : 1000 : root : /home/test : /bin/bash
用户 密码占位符 UID GID 用户描述 用户家目录 登录后使用的shell解释器
上面图片中,有很多用户的解释器是/sbin/nologin,是什么意思呢?
/sbin/nologin
#是不可登录的
/bin/bash
#可以登录
- 添加用户命令:useradd
- -u #指定用户UID
- -d #指定用户主目录
- -g #指定用户所属组
- -r #指定用户是系统用户
- -s #用户登录shell解释器
- -M #不创建主目录
- eg:创建一个用户Test,指定UID为1111,指定家目录为/home/Test,指定所属组为root,指定登录shell为/bin/bash
- 切换用户su user
-
有时候登录时,出现
这种情况-
需要复制解释器相关的信息到家目录
cp -r /etc/skel/.bash* /home/Test
-
-
删除用户命令:userdel
- -r 参数连同家目录一起删除
-
添加用户组命令:groupadd
-
删除用户组命令:groupdel
-
修改用户信息命令:usermod
- -u 指定用户UID
- -d 指定用户主目录
- -g 指定用户所属组
-
设置用户密码命令passwd
- passwd Test
- echo “123456” | passwd --stdin Test
三、文件权限命令chmod
-rw-r--r-- 1 root root 115 mar 24 15:17 1.sh
文件类型权限 链接数 所有者 所有组 大小 创建时间或修改时间 文件名
重点讲一下文件类型权限-rw-r--r--
第一位代表的是文件或目录,-
是文件,如果是d
就是目录。
后面每三位为一组;分别对应的是所有者(Owner),用户组(Group),其他用户(Other Users)
rwx分别对应的意思是读,写,执行权限;也可以用数字来对应,分别是4,2,1
eg:
chmod u+x g+w o+w 1.sh
用数字就更直接了,eg:
chmod 777 1.sh
chmod 421 1.sh
chmod 221 1.sh
四、压缩解压tar
在Linux中,压缩解压大多使用tar命令。也有其他的比如gzip、xz,但gzip不能压缩目录,只能压缩文件,xz可以压缩目录和文件,但压缩的速度较慢。
- 压缩和解压命令tar:
- -c #创建新文件
- -f #指定文件格式
- -v #显示详细过程
- -z #以gzip方式归档压缩
- eg:tar -zcvf nginx-1.16.1.tar.gz nginx-1.16.1
- -x #解压操作
- -C #指定解压路径
- eg:tar -C /root/demo -xf nginx-1.16.1.tar.gz
五、小结
本篇主要讲解Linux中vim文件编辑,用户管理,权限操作,文件压缩解压等命令
可能讲得并不全面,但也足够日常使用。