你的位置:首页 > 操作系统

[操作系统]linux—vi编辑器 3


1. 打开文件
> vi 文件 //该模式是命令模式

2. 尾行模式操作
> :q //该模式是“尾行模式”
> :w //保存已经修改的文档
> :wq //保存并退出
> :q! //强行退出,不保存修改
> :/内容/ //查找指定内容,"n"会查找下一个,"N"会查找上一个
//查找到文档的最后,又会跑到文档的开头
> :set number/nu //给文件每行内容设置编号
> :set nonumber/nonu //取消编号设置
> :%s/bin/abcd/ //替换所有行的bin内容为abcd
> :s/bin/abcd/ //替换当前行首次出现的bin为abcd
> :s/bin/abcd/g //替换当前行所有的bin为abcd
> :n //光标跳转到n行位置
> /内容 //查找指定内容


3. 命令模式鼠标移动
字符移动:上、下、左、右 键盘
h(左) j(下) k(上) l(右)

单词移动 w : 下个单词的首字母
b : 本单词或上个单词的首字母
e : 本单词或下个单词的尾字母

行级移动 $ : 到达行尾
0 : 数字0到达行首

段落级移动 { : 段落首部
} : 段落的尾部

屏级移动 L : 屏幕尾部(当前屏其作用,不会走到下一屏)
H : 屏幕首部

文档级移动 G : 文档尾部
1G : 文档首行
nG : 光标走到第n行


4. 命令模式删除文档信息

字符级删除 x
通用删除 d+光标移动距离
d+$ 从当前位置删除到行尾
d+0 从单前位置删除到行首
d+w 删除单词(包括单词后边的空格)

d+} 删除到段落尾部(尾部空行有保留)
d+{ 删除到段落的首部(首部上边的空行也被删除,只删除一行空白行)

d+L 删除至屏幕尾部, 删除包括当前行
d+H 删除至屏幕首部,删除包括当前行

d+G 删除至文档尾部,删除包括当前行
d+1G 删除至文档首部,删除包括当前行
d+nG 删除至文档的第n行,删除包括当期行和第n行

dd 删除当前行
n+dd 从当前行向下删除n行


5. 命令模式复制并粘贴
yy 复制单行
n+yy 复制n行
y+光标移动距离 可以进行灵活复制 [该方式使用可以参考删除]
p 粘贴(光标所在位置的后边开始粘贴,[光标所在行的后一行])

6. 删除的内容,也可以被粘贴,删除的内容被放到缓存里边,也可以提供粘贴服务


7. 在“命令模式”对操作进行撤销
u //撤销,向上会递归撤销以往所有操作
r+字符 //单个字符替换
. //点,重复执行上个命令
J //合并两行

8. 修改目录的颜色为“金色”
编辑文件 vi /etc/DIR_CORLORS

Linux-常用命令

1. 查看当前目录下有哪些文件和目录
> ls //list
> ls -al //all list 显示当前目录全部的文件详细信息(以列表形式显示) 会显示隐藏文件
> ls -l //list显示当前目录一般文件的详细信息(以列表形式显示)
> ls -a //显示当前目录全部文件信息,只有文件的名字
> ls 目录 //罗列指定目录的文件信息
> ll //以列表形式列出当前目录文件的详细内容(不会显示隐藏文件)

2. 查看我当前在哪个目录
>pwd

3. 显示当前用户信息
>who am i //显示用户名 和 其登录系统的时间信息
>whoami //只显示当前登录系统的用户名信息

4. 从普通用户切换到root用户
> su - //提示输入密码
> su root //
两种切换方式:前者切换为超级管理员用户,权限也是超级管理员权限
后者虽然切换为超级管理员,其权限是普通权限

5. 从root用户切换到普通用户
> su shuhua //从root切回普通用户

6. 从桌面窗口切换为“命令行窗口”(通过超级管理员切换)
> init 3
> init 5 //从“命令行”切换回“桌面”

7. 目录切换
> cd 具体目录

8. 输出文件的信息,全部内容直接都输出
>cat 文件

9. 创建目录指令
> mkdir 目录
> mkdir -p 目录1/目录2/目录3 //递归创建目录

10. 修改目录的名字
> mv 目录1 目录2 //把"目录1"的名字改为"目录2"的名字
> mv 目录/目录a 目录/目录b //把“目录a”改成"目录b"

11. 移动操作
> mv 文件 目录 //移动文件到指定的目录
> mv 目录 目录 //移动目录到指定目录(包括多级目录)

12. mv指令什么时候是移动,什么时候是该名字
mv 一参 二参
二参 是不存在的,就是改名字
二参 是存在的目录,就是移动

mv com.txt red.txt
red.txt是存在的文件,com.txt也是存在的文件
首先明确,不可以移动操作
不能
【能】把名字由com.txt改为red.txt

mv guangzhou hello.txt
guangzhou 是存在的目录
hello.txt 是存在的文件
首先明确不能移动
是否可以把guangzhou的名字改为hello.txt
【不能】把名字由“guangzhou”改为"hello.txt"

13. 删除目录
> rmdir 目录 //删除单个目录(没有子级目录)
> rm -rf 文件名字 //force强制 recursive 递归删除
> rm -rf / //kill your self [root用户可以删除更多的文件]
> rm -rf shanghai/beijing //这是删除shanghai下边的beijing目录,不会删除shanghai

14. 复制
>cp copy
>cp 目录 地址 -R //复制目录需要加上固定参数-R,目录会进行递归复制
>cp 文件 目录/不存在名字 //文件在被复制到指定目录的同时被“改名字”
>cp 文件 新文件名字 //复制同时并起新名字

15. 查看文件内容
> more 文件 //从文件内容第一行开始显示,有显示内容查看%百分比
//敲回车,会逐行查看后边的内容,到最后会释放光标
> less 文件 //逐行显示文件内容,通过“上、下、左、右”可以查看文档的各部分内容
//允许向前查看,没有百分比显示
//通过"q"键释放光标
> head -n 文件 //查看文件前n行内容
> tail -n 文件 //查看文件尾部n行内容
> wc 文件 //计算文件内容行数、段落

16. 创建新文件
> touch 文件名 //创建文件

17. 给文件添加内容
> echo 内容 > 文件 //把指定内容输入到“文件”里边
> echo 内容 >> 文件 //把内容追加到文件里边

18. 重定向内容到一个文件
> cat 文件1 > 文件2 //把文件1的内容重定向到文件2里边,文件2没有则会自动创建
> cat 文件1 >> 文件2 //追加重定向

19.增加用户 /etc/passwd存放系统用户信息(组编号、家目录)
> useradd 用户名
> useradd -g 编号 用户名 //增加用户的同时设置“组编号”
> useradd -d 目录名 用户名 //增加用户同时设置“家目录”,目录没有会自动创建
> useradd -g 编号 -d 家目录 用户名 //同时设置组编号和家目录地址
> useradd -g 组编号 用户 //常用操作

20. 创建组 (可以设置组本身编号)
> groupadd 组名 //常用操作
> groupadd -g 编号 组名 //可以设置组编号,下一个组的编号要从最大的自增

21. 修改用户信息(组编号、家目录地址、用户名)
> usermod -g 组编号 用户名 //修改用户的组编号
> usermod -d 家目录 用户名 //修改用户的家目录,passwd文件有修改,实际并没有这个目录(手动创建)
> usermod -u 编号 用户名 //修改用户本身的编号
> usermod -l 新名字 旧用户名 //修改用户的名字

22. 修改组 (组编号、组名)
> groupmod -g 组编号 组名 //修改组编号
> groupmod -n 新组名 旧组名 //修改组名字

23. 删除用户(用户信息、家目录地址)
> userdel 用户
> userdel -r 用户 //删除用户同时,其“家目录”地址也会被删除

24. 删除组
> groupdel 组名 //一个组下边有具体用户,该组不允许删除


25. 查看一个指令在使用的时候有何种参数可以设置
> useradd --help 命令 --help

26. 给一个用户设置密码(可以让其登录系统)
> passwd 用户名 //密码根据提示输入两遍

27. 查看命令具体参数设置
> man 命令 //前后反复查看命令的使用参数

28. 给文件进行权限设置[相对方式]
> chmod u+x 文件
> chmod g+x 文件 //给同组用户设置执行权限
> chmod o+x 文件 //给其他组用户设置执行权限
> chmod o+w,o+x 文件 //同时给文件设置可写、可执行全选

> chmod u-r 文件 //取消主人的可读权限
> chmod g-w,g-x 文件 //取消同组用户写、执行权限
> chmod o-r,o-x 文件 //取消其他组用户读、执行权限

> chmod g+rx,o+wx 文件 //给文件同组用户设置“读、执行”权限,其他组用户有“写、执行权限”
> chmod u-rwx,g-rw //取消具体用户的权限

29. 数字[绝对方式]设置文件权限
读、写、可执行
二进制代码表示计算机的信息
1-------------1
10-------------2
100-------------4

例如:读:1 写:2 执行3
如果文件权限是读写执行都有就是数字6
如果文件只有读的权限就是数字1
3 不知道是“读写” 还是 “执行权限”,歧义产生

正确的用法是:读4 写2 执行1
1:执行
2:写
3:写、执行
4:读
5:读、执行
6:读、写
7:读、写、执行
> chmod 777 文件 //主人、同组用户、其他组用户权限是满的
> chmod 001 文件 //主人、同组用户都没有权限,其他组用户有可执行权限
ppink.txt 主人有写、执行 同组用户有读 其他组用户有读、执行
> chmod 345 ppink.txt

30. 给目录递归设置权限
> chmod 755 目录 -R //-R参数可以递归目录进行权限设置

31. 文件权限使用
-w- 文件只有可写权限[不可以看到原内容,可以写,覆盖写,强行保存]
r-- 文件只有可读权限[可以看到原内容,可以写,不会覆盖,强行保存]
--x 文件有可执行权限[不可以看到原内容,可以写,覆盖写,强行保存]

32. 目录权限
r-- 目录有可读权限[可以阅读里边的文件,不允许进入]
--x 目录有执行权限[不能阅读,不允许写,允许进入目录]
-w- 目录有些权限[不能阅读,不能增加或减少文件,不能进入目录]
rw- 有读、写权限[可以阅读,不能进入目录]
rwx 读、写、可执行[可以阅读,可以增加减少文件、可以进入]
一个目录如何进行写操作:给目录增加文件或减少文件就是写

33. 同组用户对文件权限操作
r-- 操作只读文件[可以阅读,可以写,强行保存,文件的主人和组已经更改]
-w- 写权限 [不能读,可以强行覆盖写,文件的主人和组有更改]
--x 是否可以进入目录

[一个目录有可执行权限,说明用户可以切换进该目录]

34. 文件或目录的各种权限对超级管理员root没有影响

35. 在指定文件里边查找我们需要的内容
> grep 内容 文件

36. 查看“任务管理器”
> top

37. 查看内存信息
> free -m //以M兆为单位显示内存大小使用情况

38. 查看文件或目录占用大小的情况
> du -h 目标 //有最小单元限制(4k) 1字节

39. 文件查找
find 目录 选项 选项值
> find ./ -name abc.txt //在当前目录查找名字为abc.txt的这个文件
> find / -name xxx //在根目录查找文件
> find ./ -size 大小 //根据文件的大小来查找
单位:
10 512字节默认
100c 1字节单位
100k 1024字节单位
> find ./ -size +100c //查找文件大小大于100字节的
> find ./ -size -100c //查找大小小于100字节的文件
> find ./ -size 4 //查找大小等于2048字节的文件
> find ./ -size 2k //查找大小等于2048字节的文件

> find ./ -maxdepth 1 //查找文件目录最深是2层
> find ./ -mindepth 1 //查找文件通过最浅层次进行查找

> find ./ -type f //通过类型查找,查找文件类型
> find ./ -type d //通过类型查找,查找目录类型

> find ./ -user 用户名 //查找文件主人为XX的文件
> find ./ -uid 用户编号 //查找文件主人编号为XX的文件
> find ./ -nouser //查找没有主人的文件
文件创建的时候,是某个用户创建的
有的一些文件创建好后,被用户发布到网络上边
我们把网络的文件下载本地,放到我们自己的系统里边
创建这个文件的用户,在我自己的系统里边并没有
例如,创建这个文件的用户编号是710(用户名:runfa)

> find ./ -perm 权限764 //根据文件的权限进行查找

> find ./ -name 'bao*' //进行模糊查找,名字前缀是bao的文件

40. 设置软连接
> ln -s 源文件 链接文件
> ln -s /home/shuhua/shanghai/passwd /var/passwd

41. 查看文件索引号码
> ls -li

42. 制作任务调度指令
> crontab -e //编辑任务调度指令
> crontab -l //查看任务调度指令设置情况
在17:38来执行具体任务指令
分钟 小时 日期 月份 星期 具体命令
38 17 * * * /home/shuhua/shanghai/newout.sh

0代表周日

43. 设置系统时间
> date -s "2013-08-13 17:39:40";
> date //查看系统时间

44. 给文件设置主人
> change owner
> chown 主人 文件

45. 给文件设置组
> change group
> chgrp 组 文件

> chown .组 文件

46. 同时给文件设置主人和组
> chown 主人.组 文件
> chown 主人.组 目录 -R //递归给目录设置主人和组的信息,二级目录和三级目录等等都会设置