一、补充上节知识
1.grep 过滤关键字,针对文件内容进行过滤
过滤文件中带有root的内容:[root@qfedu ~]# grep 'root' /etc/passwd
过滤以root 开头的行: ^ 以什么开头:[root@qfedu ~]# grep '^root' /etc/passwd
过滤以bash结尾的行:$ --以什么结尾:[root@qfedu ~]# grep 'bash$' /etc/passwd
2.在服务器上进行文件的基本管理操作命令
touch 创建文件 mkdir 创建目录文件 cp 复制、拷贝 rm 删除 mv 剪切、更改文件名、移动 cat 查看文件 head 默认查看文件前十行 tail 默认查看文件后十行 less 无数鼠标模式可切换使用上下左右查看 (应急使用) more 空格键是向下翻页 回车键是翻行 Ctrl+B 向上翻页(应急使用)
二、文件编辑器
-
打开文件: vi 、 vim 如:[root@qfedu.com ~]# vim 文件名
-
进入编辑模式
i #在光标所在处进入编辑模式 a #在当前光标后面进入编辑模式 o #在光标的下一行进入编辑模式 I #在光标所在处行首进入编辑模式 A #在光标所在处行尾进入编辑模式 O #在光标的上一行进入编辑模式 # 从编辑模式进入命令模式:ESC
-
命令模式
0 $ #行首行尾
gg #页首(文本顶端)
G(shift+g) #页尾(文本底部)
3G #进入文本第三行
/string #查找字符,n下一个,N上一个
-
文本编辑
yy #复制
3yy #从光标开始复制3行,在最后粘贴
ygg #从当前光标开始复制到页首
yG #从光标开始复制到页尾
dd #删除光标这一行
3dd #从光标开始删除第三行
dgg #从光标开始删除到页首
dG #从光标开始删除到页尾
d^ #删除从光标之前的内容
p #粘贴到本行的下一行
大p #粘贴到本行的上一行
x #删除光标所在的字符
D #从光标处删除到行尾
u #undo撤销刚才执行的操作
r #可以用来修饰一个字符
-
扩展命令
shift : #进入尾行模式(扩展命令模式)
:10 #进入第10行,数字是几就进入第几行
:w #保存文本
:q #退出文本
:wq #保存并退出
:q! #不保存并退出
:wq! #强制保存退出
-
进入其他模式
ctrl v #进入可视块模式
shift v #进入可视行模式
-
文本的查找替换
替换语法:s / 旧文字符 / 新文字符/ 如 :s/old/new/ #将old用new替换
替换指定 :3s / 旧字符/ 新字符/ 如: 3s/sbing/nice/ #将第3行sbing用nice替换
:1,5 s/nong/sso/ #将1-5行中nong用sso替换
:%s/bin/sos/ #将所有行bin用sos替换
:%s/bin/sss/g #替换行内所有关键字 %:表示替换所有行 g: 表示行内所有关键字
-
将文件另存为的语法
存储到当前文件: w/新目录/文件名 如:w/twp/a.txt #另存为twp目录下a.txt文件
:1,3 w /tmp/2.txt #将1-3行的内容另存为tmp下的2.txt文件
-
设置环境
:set nu #在文本中增加行号
:set list #显示控制字符
:set nonu #取消设置行号
-
文件基本时间信息
访问时间: atime #查看内容就会改变时间
修改时间: mtime #修改内容就会改变时间
改变时间: ctime #文件属性改变就会改变时间,比如:权限,改文件名
-
查询实列
[root@qfedu ~]# ls -l passwd -rw-r--r--. 1 root root 839 Oct 31 21:29 passwd [root@qfedu ~]# stat passwd File: ‘passwd’ Size: 839 Blocks: 8 IO Block: 4096 regular file Device: fd00h/64768d Inode: 33583688 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:admin_home_t:s0 Access: 2019-10-31 21:29:40.750993492 +0800 Modify: 2019-10-31 21:29:36.449993550 +0800 Change: 2019-10-31 21:29:36.452993550 +0800 Birth: -
ls -l 文件名 #仅查看是文件修改时间
三、Linux用户管理
1.
账户为分三类: 超级用户(管理员):享有最高权限,具备系统中的所有权限(一般为root),UID为0 系统用户 :别称“伪用户”,无法登录系统,其主要作用是支撑系统运行,方便系统管理。uid号码小于1000. 普通用户:有权限限制,只能对自己目录下的文件进行操作,可以登录系统。uid 大于1000,登陆shell是bin/bash。 任何一个账户在创建的同时都会在系统里面创建一个同名的组。
2.Users and groups:
系统上的每个进程(运行的程序)都是作为特定用户运行的 . Every file is owned by a particular user. 每个文件是由一个特定的用户拥有 . . Access to files and directories are restricted by user. 访问文件和目录受到用户的限制
3.创建用户组
创建用户组: groupadd 加用户名组 如:[root@qfedu ~]# groupadd hr #创建一个用户组叫hr
[root@qfedu ~]# groupadd it #创建一个用户组叫it [root@qfedu ~]# groupadd net01 -g 2000 #创建组叫net01,并指定gid为2000 [root@qfedu ~]# grep 'net01' /etc/group #查看/etc/group中组net01信息 net01:x :2000
4.删除用户组
删除用户组: groupdel 加用户组名 如:[root@qfedu ~]# groupdel net01 #删除组net01
注意:用户的主属组不能删除
查看组:[root@qfedu ~]#cat /etc/group 组名:代表组密码:gid:组员
5.创建用户:useradd 加用户名 如:[root@qfedu ~]# useradd user01 //创建用户
[root@qfedu ~]# useradd user01 //创建用户 /etc/passwd ---->查看账户是否存在的文件 /home/ ---->用户的家目录,每创建一个用户会在/home目录下面创建对应的家目录 /etc/shadow --->用户的密码文件
/etc/passwd文件详解--案例:
此文件里面除了密码字段能删除不能直接修改之外,其他字段全部都能直接修改
*[root@qfedu ~]# cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin 分隔符:: 第一列:用户名 第二列:密码 第三列:用户标识号--->(uid)是一个整数,系统内部用它来标识用户。通常用户标识号的取值范围是0~65535。0是超级用户root的标识号 第四列:gid 第五列:描述信息。 第六列:家目录 第七列:是用户登陆到界面的第一个命令,开启一个shell。登陆shell 1.判断用户是否存在: [root@qfedu ~]# id user01 //查看用户的uid、gid、和所在组 uid=1001(user01) gid=1003(user01) groups=1003(user01) 主属组 附属组 uid 系统用来识别账户的user identify gid 系统用来识别组的group identify 2.查看现在所使用的的账户: [root@qfedu ~]# whoami 查看我现在所使用的账户
创建用户(带有选项)
[root@qfedu ~]# useradd user02 -u 503 #指定uid为503 *[root@qfedu ~]# useradd user05 -s /sbin/nologin #创建用户并指定shell [root@qfedu ~]# useradd user07 -G it,fd #创建用户,指定附加组 [root@qfedu ~]# useradd user10 -u 4000 -s /sbin/nologin
删除用户:userdel 加用户名 如:[root@qfedu ~]# userdel -r user02 //删除用户user2,同时删除用户家目录
用户密码
修改密码: passwd #passwd 加新密码
如:[root@qfedu ~]# passwd alice #root用户可以给任何用户设置密码 [root@qfedu ~]# passwd #root用户给自己设置密码 [root@qfedu ~]# su - alice [alice@qfedu ~]$ passwd #普通用户只能给自己修改密码,而且必须提供原密码
四、用户操作
1.修改UID -u
如:[root@qfedu ~]# usermod -u new_id jack
[root@qfedu ~]# id jack uid=1005(jack) gid=1004(jack) groups=1004(jack) 2.修改用户的登录shell -s [root@qfedu ~]# usermod -s /sbin/nologin user07 #修改用户的登录shell
*usermod -aG 添加用户到附属组
2.组员管理(注意只针对已存在的用户)
给组添加账户 -a 如:[root@qfedu ~]# gpasswd -a user10 grp2 Adding user user10 to group grp2 同时添加多个用户到组 -M:members成员的缩写 [root@qfedu ~]# gpasswd -M tom,alice it 3.从组删除用户1 -d *[root@qfedu ~]# gpasswd -d user07 hr Removing user user07 from group hr