linux—vi编辑器 31. 打开文件 > 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.txtguangzhou 是存在的目录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 执行11:执行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 //递归给目录设置主人和组的信息,二级目录和三级目录等等都会设置