linux怎么用vim添加用户,Linux vim&用户管理

##cd切换工作目录##

cd directory //切换工作目录到指定目录

cd - //切换工作目录到之前所在目录

cd ~ //切换到自己的家目录

cd ~usernmae //切换到指定用户家目录

cd .. //进入到当前目录的上级目录

## ls 列出目录或文件信息 ##

ls //如果后面没有目标那么默认目标为当前目录

ls direcory|filename //列出文件或目录内容

ls -d direcotry //列出目录本身

ls -l filename|dorectory //列出文件或目录里面内容的属性

ls -ld directory //列出目录本身属性

ls -a //显示目录中的所有内容,包括以"."开头的隐藏文件

ls -R //递归显示目录中的内容

## cp 文件复制 ##

cp file file1 file2 ... directory //把file file1 file2 复制到 directory中

cp file test //建立test文件模板为file

cp -r directory direcotry1 //复制目录

## mv 移动或重命名 ##

相同磁盘的mv是重命名,不同磁盘的mv是复制删除过程

mv file file1 direcotry //移动file file1到directory中

mv 存在文件 不存在文件 //重命名文件

mv westos/linux . //把westos中的linux移动到当前目录 .代表当前目录

##vim文本编辑##

1.vim有三种模式

命令模式

插入模式

退出模式

2.vim  filename       //进入命令模式除目录和文件

命令模式不能编辑文件,如果要编辑文件要进入插入模式

按"i"进入插入模式

如果完成编辑,按”esc“退出插入模式,输入”:wq“保存退出;

3.vim命令模式下配置vim的工作方式

:set nu //行号添加

:set nonu //行号取消

:set mouse=a //添加鼠标选择

:set cusorline //行线显示

以上操作只能在当前打开的vim中生效,想要永久生效需要编辑/etc/vimrc文件

4.vim命令模式下关键字搜索

/关键字

n向下匹配

N向上匹配

5.vim命令模式下字符的管理

字符复制

yl //复制一个字母

y3l //复制3个字母

yw //复制一个单词

y3w //复制3个单词

yy //复制一行

y3y //复制3行

p //复制完成后按“p”粘贴

字符删除

dl //删除一个字母

d3l //删除3个字母

dw //删除一个单词

d3w //删除3个单词

dd //删除一行

d3d //删除3行

字符剪切

cl //剪切一个字母

c3l //剪切3个字母

cw //剪切一个单词

c3w //剪切3个单词

cc //剪切一行

c3c //剪切3行

esc -->p 剪切后会进入插入模式,在执行粘贴时一定要退出插入模式

vim的可视化模式

在命令模式下按“ctrl+v”进入可视模式

可视模式下添加字符:选中要加入字符所在列,按“I”进入插入模式,写入要加的字符,按“esc”退出

可视模式下修改字符::%s/原有字符/替换后的字符(只替换每一行中出现的第一个原有字符)

:%s/原有字符/替换后的字符/g(替换所有)

vim的退出模式

:q //用vim打开文件但没有操作可直接退出

:q! //用vim打开文件并对字符作操作,放弃所有操作退出

:wq //保存退出

:wq! //强行保存退出

vimtutor    //vim的手册

##通配符##

* //匹配0到任意字符

? //匹配单个字符

[[:alpha:]] //匹配单个字母

[[:lower:]] //匹配单个小写字母

[[:upper:]] //匹配单个大写字母

[[:digit:]] //匹配单个数字

[[:alnum:]] //匹配单个数字或字母

[[:punct:]] //匹配单个符号

[[:space:]] //匹配单个空格

{}表示不存在的或者存在的

{1..9} //1-9

{a..f} //a-f

{1,3,5} //135

{a,c,e} //a c e

{1..3}{a..c} //1a 2a 3a 2a 2b 2c 3a 3b 3c

[]表示存在的

[A-C] //aA bB cC

[a-c] //aA或者bB或者c

[1-3] //1或者2或者3

[145] //1或者4或者5

[^abc]|[!abc] //除了a并且除了b并且除了c

## 管理输入输出 ##

在linux系统中,正确输出的编号为1,错误输出编号为2

在系统中用普通用户执行 "student"

find /etc -name passwd

因为student用户权限问题会有以下输出

add6c39430de906478c2266965b412f0.png

find /etc -name passwd > file //重定向正确输出

find /etc -name passwd 2> file //重定向错误输出

find /etc -name passwd &> file //重定向所有输出

find /etc -name passwd 2> /dev/null //重定向错误到垃圾桶

注意: >, 2> ,&>  都会覆盖源文件内容

>file //清空file

472f246efb89d231c62ab9fb89ecf33f.png

find /etc -name passwd >> file //追加正确输出

find /etc -name passwd 2>> file //追加错误输出

find /etc -name passwd &>> file //追加所有输出

注意:>> 2>> &>> 不会覆盖源文件内容,会把相应的输出字符方到文件的最后

3d393612175094547d848392423e5c99.png

|管道,管道的作用是将前一条命令的输出变成管道后命令的输入

ls /bin | wc -l //统计ls /bin 命令输出的行数

##用户管理##

用户就是系统使用者的身份

在系统中用户存储为若干窜字符+若干个系统配置文件

用户信息涉及到的系统配置文件:

/etc/passwd //用户信息

用户:密码:uid:gid:说明:家目录:用户使用的shell

a1c4f8f7f3ab09ee085c7cb31be90965.png

/etc/shadow //用户认证信息

用户:密码:最后一次密码修改该时间:最短有效期:最长有效期:警告期:非活跃期:帐号到期日

/etc/group //组信息

组名称:组密码:组id:附加组成员

/etc/gshadow //组认证信息

/home/username //用户家目录

/etc/skel/.* //用户骨架文件

1.用户建立

useradd 参数 用户名字

-u //指定用户uid

-g //指定用户初始组信息,这个组必须已经存在

-G //指定附加组,这个组必须存在

-c //用户说明

-d //用户家目录

-s //用户所使用的shell,/etc/shells记录了用户能使用shell的名字

2.用户删除

userdel -r 用户名称 -r表示删除用户信息及用户的系统配置

3.组的建立

groupadd -g //建立组

groupdel 组名 //删除组

作以上实验的监控命令:

watch -n 1 'tail -n 3 /etc/passwd /etc/group;echo ====;ls -l /home;echo ===;ls -l /mnt'

4.用户id信息查看

id 参数  用户

-u //用户uid

-g //用户初始组id

-G //用户所有所在组id

-n //显示名称而不是id数字

-a //显示所有信息

5.用户信息更改

usermod 参数  用户

-l //更改用户名称

-u //更改uid

-g //更改gid

-G //更改附加组

-aG //添加附加组

-c //更改说明

-d //更改家目录指定

-md //更改家目录指定及家目录名称

-s //更改shell

-L //冻结帐号

-U //解锁

练习题1(通配符使用):

1. 在root用户家目录创建目录bbs, blog;

2. bbs目录中创建10个文件code{1..10}.java;

3. blog目录中创建5个python脚本, linux{a..f}.py;

4. 切换目录到bbs目录中, 复制/etc/passwd到当前目录;

5. 复制/etc/group文件到当前目录之前所在的目录;

6. 移动以.py结尾的所有脚本文件到student用户的家目录中;

7. 删除bbs目录中所有以code1开头的java文件;

2308e580f128e589bde387368d250148.png

练习2(重定向):

1. student用户身份执行find /etc/ -name passwd;

2. 将命令的正确输出保存在文件/tmp/findOk文件中;

3. 将命令的错误输出保存在文件/tmp/findErr文件中;

4. 将命令的所有输出放入垃圾箱(/dev/null)中;

5. 追加【年-月-日】到文件/tmp/findOk中;

d526719a381ab7b07a69faacba518af5.png

9ebcb34578fc6cf9a8a351ddc9fbac55.png

练习3(用户管理):

1. 新建用户redhat,用户说明为“redhat User”,

2. 并设置redhat密码为redhat,该用户首次登陆需修改密码。

3、给redhat用户授权,可创建用户;

4. redhat用户身份新建用户westos,指定uid=1008,gid=1008,但不能删除westos用户。

33d745faf0e85f3655c74f84822df015.png

a55ba43725b6a8271de7669e763be93d.png

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值