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用户权限问题会有以下输出



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

find /etc -name passwd >> file //追加正确输出
find /etc -name passwd 2>> file //追加错误输出
find /etc -name passwd &>> file //追加所有输出


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



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


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

 

 

 

 

 

 

 

##用户管理##

 


用户就是系统使用者的身份
在系统中用户存储为若干窜字符+若干个系统配置文件
用户信息涉及到的系统配置文件:
/etc/passwd //用户信息
用户:密码:uid:gid:说明:家目录:用户使用的shell

/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文件;


练习2(重定向):
1. student用户身份执行find /etc/ -name passwd;
2. 将命令的正确输出保存在文件/tmp/findOk文件中;
3. 将命令的错误输出保存在文件/tmp/findErr文件中;
4. 将命令的所有输出放入垃圾箱(/dev/null)中;
5. 追加【年-月-日】到文件/tmp/findOk中;


练习3(用户管理):
1. 新建用户redhat,用户说明为“redhat User”,
2. 并设置redhat密码为redhat,该用户首次登陆需修改密码。
3、给redhat用户授权,可创建用户;
4. redhat用户身份新建用户westos,指定uid=1008,gid=1008,但不能删除westos用户。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章