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用户。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
起步 jusr 01.txtj 关于本手册 jusr 02.txtj Vim第一步 jusr 03.txtj 移动 jusr 04.txtj 小幅改动 jusr 05.txtj 定制你的Vim jusr 06.txtj 使用语法高亮 jusr 07.txtj 编辑多个文件 jusr 08.txtj 分隔窗口 jusr 09.txtj 使用GUI jusr 10.txtj 大刀阔斧 jusr 11.txtj 灾难恢复 jusr 12.txtj 奇技淫巧 高效编辑 jusr 20.txtj 加速冒号命令 jusr 21.txtj 进退之间 jusr 22.txtj 查找要编辑的文件 jusr 23.txtj 非文本文件 jusr 24.txtj 快速键入 jusr 25.txtj 编辑格式化文本 jusr 26.txtj 重复重复, 再重复 jusr 27.txtj 搜索命令和模式 jusr 28.txtj 折行 8 9 第00章目录 jusr 29.txtj 之于程序 jusr 30.txtj 程序的编辑 jusr 31.txtj 探索GUI 打造Vim jusr 40.txtj 定义新命令 jusr 41.txtj Vim脚本 jusr 42.txtj 增加新菜单 jusr 43.txtj 文件类型 jusr 44.txtj 自定义语法高亮文件 jusr 45.txtj 选择语言 运转Vim jusr 90.txtj 安装Vim 可以在下面的地址中找到以单个文件组织的可打印版的HTML或PDF格 式用户手册: http://vimdoc.sf.net 起步 请从头至尾细读本章, 本章讲述Vim的基本命令. jusr 01.txtj 关于本手册 j01.1j 两套帮助 j01.2j 关于安装 j01.3j 使用Vim教程 j01.4j 版权 jusr 02.txtj Vim第一步 j02.1j 首次运行Vim j02.2j 插入文本 9 10 第00章目录 j02.3j 移动光标 j02.4j 删除字符 j02.5j 撤消与重做 j02.6j 其它编辑命令 j02.7j 退出 j02.8j 求助 jusr 03.txtj 移动 j03.1j 以Word为单位的光标移动 j03.2j 将光标移到行首或行尾 j03.3j 将光标移动到指定的字符上 j03.4j 将光标移动到匹配的括号上 j03.5j 将光标移动到指定的行上 j03.6j 告诉你当前位置 j03.7j 滚屏 j03.8j 简单的搜索 j03.9j 简单的模式搜索 j03.10j 使用标记 jusr 04.txtj 小幅改动 j04.1j 操作符命令和位移 j04.2j 改变文本 j04.3j 重复改动 j04.4j Visual模式 j04.5j 移动文本 j04.6j 复制文本 j04.7j 使用剪贴板 j04.8j 文本对象 j04.9j 替换模式 j04.10j 结论 jusr 05.txtj 定制你的Vim j05.1j vimrc文件 j05.2j vimrc示例 j05.3j 简单的映射 j05.4j 增加一个plugin j05.5j 增加一个帮助文件 j05.6j 选项设置窗口 j05.7j 常用选项 10 11 第00章目录 jusr 06.txtj 使用语法高亮 j06.1j 打开色彩 j06.2j 没有色彩或色彩错误? j06.3j 不同的颜色 j06.4j 有色或无色 j06.5j 彩色打印 j06.6j 进一步的学习 jusr 07.txtj 编辑多个文件 j07.1j 编辑另一个文件 j07.2j 文件列表 j07.3j 切换到另一文件 j07.4j 备份 j07.5j 在文件间复制粘贴 j07.6j 查看文件 j07.7j 更改文件名 jusr 08.txtj 分隔窗口 j08.1j 分隔一个窗口 j08.2j 为另一个文件分隔出一个窗口 j08.3j 窗口大小 j08.4j 垂直分隔 j08.5j 移动窗口 j08.6j 针对所有窗口操作的命令 j08.7j 使用vimdiff查看不同 j08.8j 其它 jusr 09.txtj 使用GUI j09.1j GUI的各部分 j09.2j 使用鼠标 j09.3j 剪贴板 j09.4j 选择模式 jusr 10.txtj 大刀阔斧 j10.1j 命令的记录与回放 j10.2j 替换 11 12 第00章目录 j10.3j 使用作用范围 j10.4j 全局命令 j10.5j 可视块模式 j10.6j 读写文件的部分内容 j10.7j 格式化文本 j10.8j 改变大小写 j10.9j 使用外部程序 jusr 11.txtj 灾难恢复 j11.1j 基本方法 j11.2j 交换文件在哪? j11.3j 是不是死机了? j11.4j 进一步的学习 jusr 12.txtj 奇技淫巧 j12.1j 替换一个word j12.2j 将"Last, First"改为"First Last" j12.3j 排序 j12.4j 反转行序 j12.5j 统计字数 j12.6j 查找帮助页1 j12.7j 消除多余空格 j12.8j 查找一个word在何处被引用 高效编辑 此类主题可以独立阅读 jusr 20.txtj 加速冒号命令 j20.1j 命令行编辑 j20.2j 命令行缩写 j20.3j 命令行补齐 j20.4j 命令行历史记录 j20.5j 命令行窗口 1译: 仅对Unix类系统有意义 12 13 第00章目录 jusr 21.txtj 进退之道 j21.1j 挂起与恢复 j21.2j 执行shell命令 j21.3j 记住相关信息: viminfo j21.4j 会话 j21.5j 视图 j21.6j 模式行 jusr 22.txtj 查找要编辑的文件 j22.1j 文件浏览器 j22.2j 当前目录 j22.3j 查找一个文件 j22.4j 缓冲区列表 jusr 23.txtj 非文本文件 j23.1j DOS, Mac 和Unix格式的文件 j23.2j 来自因特网的文件 j23.3j 加密文件 j23.4j 二进制文件 j23.5j 压缩文件 jusr 24.txtj 快速键入 j24.1j 校正 j24.2j 显示匹配字符 j24.3j 自动补全 j24.4j 重复录入 j24.5j 从其它行复制 j24.6j 插入一个寄存器的内容 j24.7j 缩写 j24.8j 键入特殊字符 j24.9j 键入连字符 j24.10j Normal模式命令 jusr 25.txtj 编辑格式化文本 j25.1j 段行 j25.2j 文本对齐 13 14 第00章目录 j25.3j 缩进和制表符 j25.4j 处理长行 j25.5j 编辑表格 jusr 26.txtj 重复重复, 再重复 j26.1j Visual模式的重复 j26.2j 加与减 j26.3j 对多个文件做同样的改动 j26.4j 在一个shell脚本中使用Vim jusr 27.txtj 搜索命令和模式 j27.1j 忽略大小写 j27.2j 绕回文件头尾 j27.3j 偏移 j27.4j 多次匹配 j27.5j 多选一 j27.6j 字符范围 j27.7j 字符分类 j27.8j 匹配一个断行 j27.9j 例子 jusr 28.txtj 折行 j28.1j 什么是折行? j28.2j 手工折行 j28.3j 使用折行 j28.4j 保存和恢复折行 j28.5j 根据缩进的折行 j28.6j 根据标记的折行 j28.7j 根据语法的折行 j28.8j 根据表达式折行 j28.9j 折叠未有改变的行 j28.10j 使用何种折行方法? jusr 29.txtj 之于程序 j29.1j 使用tags j29.2j 预览窗口 14 15 第00章目录 j29.3j 在程序中移动 j29.4j 查找全局标识符 j29.5j 查找局部标识符 jusr 30.txtj 程序的编辑 j30.1j 编译 j30.2j C程序的缩进 j30.3j 自动缩进 j30.4j 其它语言的缩进 j30.5j 跳格键与空格 j30.6j 注释的格式化 jusr 31.txtj 探索GUI j31.1j 文件浏览器 j31.2j 确认 j31.3j 菜单命令的快捷键 j31.4j Vim的窗口位置和大小 j31.5j 其它 调节VimVim如你所愿地工作 jusr 40.txtj 定义新命令 j40.1j 键映射 j40.2j 自定义冒号命令 j40.3j 自动命令 jusr 41.txtj Vim脚本 j41.1j 介绍 j41.2j 变量 j41.3j 表达式 j41.4j 条件语句 j41.5j 执行一个表达式 15 16 第00章目录 j41.6j 使用函数 j41.7j 函数定义 j41.8j 注意事项 j41.9j 定制一个plugin j41.10j 定制一个文件类型相关的plugin j41.11j 定制一个编译相关的plugin jusr 42.txtj 增加新菜单 j42.1j 介绍 j42.2j 菜单操作命令 j42.3j 其它 j42.4j 工具栏和弹出式菜单 jusr 43.txtj 文件类型 j43.1j 文件类型的插件 j43.2j 添加一种文件类型 jusr 44.txtj 自定义语法高亮文件 j44.1j 基本的语法命令 j44.2j 关键字 j44.3j 匹配 j44.4j 区域 j44.5j 嵌套 j44.6j 后续组 j44.7j 其它参数 j44.8j 聚簇 j44.9j 包含另一个语法文件 j44.10j 同步 j44.11j 安装一个语法文件 j44.12j 可移植语法文件的布局要求 jusr 45.txtj 选择语言 j45.1j 用于消息的语言 j45.2j 用于菜单的语言 j45.3j 使用另一种编码方法 j45.4j 编辑另类编码方案的文件 j45.5j 输入 16 17 第00章目录 运转Vim Vimming之前. jusr 90.txtj 安装Vim j90.1j Unix j90.2j MS-Windows j90.3j 升级 j90.4j 常见问题 j90.5j 卸载Vim
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值