VIM编辑器
-
介绍:vi是默认的自带的终端编辑器,后来有了vi的加强版vim。被誉为“终端编辑器之神”
-
安装:
sudo apt-get install vim
-
工作模式:
- 正常模式:使用vim打开的默认模式
命令 | 说明 |
---|---|
vim filename | 打开/新建一个文件 |
ESC | 切换到正常模式 |
ZZ(shift+zz) | 保存退出 |
!v | 打开最后使用vim打开的文件 |
vim filename + n | 打开文件 将光标定位到第n行 |
vim filename + | 打开文件 将光标定位到尾行 |
gg | 定位到首行 |
G | 定位到尾行 |
ngg | 定位到第n行 |
^/0 | 定位到行首 |
$ | 定位到行尾 |
k | ↑ |
j | ↓ |
h | ← |
l | → |
ctrl + f | 下翻一页 |
ctrl + b | 上翻一页 |
ctrl + d | 下翻半页 |
ctrl + u | 上翻 |
内容处理 | |
x | 向右删除一个字符 |
nx | 向右删除n个字符 |
X | 向左删除一个字符 |
nX | 向左删除n个字符 |
dd | 删除光标所在的行 |
ndd | 删除光标开始的n行 |
yy | 复制光标所在行 |
nyy | 复制光标所在行开始的n行 |
p | 粘贴剪切板中的内容 |
u | 撤销 |
ctrl + r | 反撤销 |
- 插入模式: 可以完成文件内容的输入编辑等
命令 操作 i 在光标前插入内容 I 在第一个非空字符插入 a 在光标的下一个字符输入 A 在行尾插入 o 在光标所在的行下面插入空行 O 在光标所在的行上面插入空行 s s删除光标所在的字符,并进入输入模式 S s删除光标所在的行,并进入输入模式 - 单行模式:可以完成文件的整体编辑保存等操作 输入’:’ 即可进入
命令 说明 :w 保存 :q 退出 :wq 保存退出 :x 保存退出 :w! 强制保存 :q! 强制退出 不保存 :e! 放弃修改,恢复到修改之前的状态 :w newfile 文件另存为 :set nu[mber] 显示行号 :set nonu[mber] 隐藏行号 [:]/内容 查找指定内容,n下翻 N上翻 [:]?内容 查找指定内容,n下翻 N上翻 :%s/原内容/新内容[g] 所有行内容替换,g表示全局 :m,ns/原内容/新内容[g] m到n行内容替换 :n 将光标定位到第n行 n表示行号 :set tabstop=4 设置一个tab缩进4个字符 :set mouse=a 启用鼠标的点击功能 - 总结:
- 如果非正常关闭了vim,可能会产生临时的交换文件,我们需要手动删除交换文件,才能正常打开文件
- vim配置文件:打开文件后的配置是临时的,关闭后就失效了
- 在用户家目录下创建一个文件.vimrc
- 将vim相关的配置写在文件中
- 如果文件没有生效,需要重新加载一次source ~/.vimrc
help使用
- 说明:查看命令的帮助文档
- 实例:
ls --help
man使用
- 说明: manul的缩写 查询系统中标准的帮助文档
- 总结:有问题,找男人
文件操作
使用命令
-
命令格式:
命令 [选项] [参数] [] 表示可选参数
-
例子:
ls -a /etc
常用命令
-
ls:查看指定目录的内容 如果不指定目录 默认查看当前工作目录
选项 说明 -a 显示所有文件,包括隐藏文件 -l 列表显示详细信息 -h 人性化的显示大小 如:K/M/G -l 选项显示的结果:类型和权限/引用数 /用户/用户组/ 大小 / 月 / 日 / 时间/年/ 名称 文件类型:
符号 类型 - 普通文件 d 目录文件 l 链接文件 c 字符设备文件 b 块设备文件 s 套接字文件 p 管道文件 -
cd:切换工作路径
符号 说明 . 当前目录 … 上一级目录 ~ 当前用户家目录 - 表示上次切换之前的目录 / 表示根目录 1、使用cd的时候 不指定目标地址 会切换到家目录
2、凡是以 / 开头的目录都是绝对路径
3、凡是以.或者…开头的目录都是相对路径 -
pwd : 查看当前工作目录
-
alias: 给命令起别名
比如:alias "c"="clear"
查看文件
- 相关命令
命令 说明 cat 从上到下,显示文件全部内容 tac 从下到上,显示文件全部内容 head 查看开头指定行数的内容 不指定时默认10行 tail 查看文件末尾指定行数的内容 不指定默认显示10行 nl 功能与cat相同,但是显示了行号 wc 统计显示,内容:行数 单词数 字符数 文件名 more 一点一点查看内容 less 一点一点查看内容 - more/less| 使用说明
- 显示一屏就停止
- q退出查看
- enter下翻一行
- 空格下翻一页
- more查看完毕会自动退出 less不会
- less可以使用上下按钮翻看 more不行
- 经常结合管道使用: ls /etc | more
文件及目录
- 相关命令
命令 说明 touch 新建文件,可以是多个 rm 删除文件或目录(删除目录的时候要加 -r 选项) cp 拷贝文件或目录(拷贝目录的时候要加 -r 选项) mv 移动文件或目录 mkdir 创建目录,可以是多个 rmdir 删除空目录 - 选项说明:
- -r : 删除或拷贝目录时需要添加 表示递归操作
- -f : 表示强制操作,没有提示信息
- *: 表示通配符 模糊匹配 比如: rm *.py表示删除所有的py文件
- -p: 创建目录时如果需要创建中间目录 可以添加此选项
用户和用户组
- 相关命令
命令 说明 whoami 查看当前登陆的用户名 useradd 新建用户,-d指定家目录 -m -s 指定shell userdel 删除用户,-r会删除用户家目录 passwd 设置指定用户的密码 没有设定用户密码时无法登陆的 su - 切换用户 如果不加用户 默认切换到root sudo 以指定用户(root)身份执行命令 但是 并不是所有用户都有sudo权限 groupadd 新建用户组 goupdel 删除用户组 gpasswd 向指定组添加/删除用户 gpasswd -a/-d user group groups 查看指定用户的组信息 chown 修改文件所属用户 chgrp 修改文件所属用户组 - 涉及文件
- /etc/passwd : 系统中的用户信息
- /etc/group : 系统中的用户组信息
- /etc/shadow: 系统中的用户密码信息
文件权限
-
说明:在Linux下 所有文件都涉及到权限,分为三组 :所有者 所属组 其他
-
修改权限: chmod
格式: chmod [身份] [操作] [权限]
选项 说明 身份 u 所有者(user) g 所属组(group) o 其他(other) 操作 + 添加权限 - 去掉权限 = 设置权限 权限 r 可读 w 可写 x 可执行 sudo chmod o+w 1 给其他用户添加可写的权限
-
本质:使用一组(3位)八进制的数据来表示权限 如:755
转换为二进制:755 ―> 111 101 101
对应三组身份: 所有者 所属组 其他
每一组的权限:都包括 可读、可写、可执行
文件搜索
-
find
-
作用:用于任意文件的搜索 功能非常强大
-
格式:
find [目录] 条件选项
-
选项:
选项 说明 -name 指定名字 sudo find / -name passwd -maxdepth 指定最大深度 sudo find / -maxdepth 2 -name passwd -type 指定类型 (d/l/s/p/c/b) -size 指定大小 单位 k/m/g +表示大于 -表示小于 find -size +5k -mtime/-atime/-ctime 指定修改/访问/创建时间 单位是天 +表示几天前 -表示几天内 -mmin/-amin/-cmin 功能同上 单位是分钟 -user 通过指定用户查找 -group 通过指定组查找
-
-
whereis
-
作用 : 显示命令的详细信息
whereis ls ls: /bin/ls /usr/share/man/man1/ls.1.gz 命令名 命令位置 帮助文档位置
-
-
grep
-
作用:正则表达式搜索文件内容
-
-i : 忽略大小写 -n : 显示行号
-
示例:
grep -in abc 1.py ls /bin | grep '^m'
-
链接文件
-
命令: ln
-
作用:创建一个文件或目录的链接
-
格式:ln [-s] 源文件 新文件
-
查看: ls -l 结果中的第一列就是文件类型 为’l’的就是链接文件
-
软连接和硬链接
硬链接:使用ln时不加-s选项创建的链接 极少用到 1、不能给目录创建 2、不能跨文件系统 软连接:使用ln时添加-s选项创建的链接 比较常用 1、可以给目录创建 2、可以跨文件系统
系统服务
压缩解压
-
zip/unzip 文件后缀为zip
压缩:zip 压缩之后的文件名 要压缩的文件 解压:unzip 要解压的文件名
-
gzip/gunzip 文件后缀为gz
压缩:gzip 1.txt 会生成1.txt.gz 解压:gunzip 文件名 解压:gzip -d 文件名
-
bzip2/bunzip2 文件后缀为bz2
压缩:bzip2 1.txt 解压:bunzip2 1.txt.bz2 解压:bzip2 -d 1.txt.bz2
-
tar:打包解包工具 后缀为tar
选项:-c 创建新文件 -x 解包 -t 查看(不解包) 说明:以上三个选项不能同时使用 -f 指定操作文件 -v 显示详细信息 -z 调用gzip/gunzip进行压缩或者解压 -j 调用bzip2/bunzip2进行压缩和解压 -c 指定解压位置 --exclude 排除指定文件 示例: tar -cvf 123.tar *.txt 将所有txt文件打包成123.tar tar -tf 123.tar 查看包的内容 tar -xvf 123.tar 解包123.tar tar -zcvf 12.tar.gz 123.tar 调用gzip进行压缩 tar -jcvf 12.tar.bz2 123.tar 调用bz2进行压缩 tar -zxvf 12.tar.gz 解压 tar -jxvf 12.tar.bz2 解压 tar - zcvf 12.tar.gz *.txt --exclude 3.txt 除了3.txt以外所有的txt文件进行打包压缩
网络服务
- ping 检查网络连通性 “-c”指定发送测试包的数量
- ifconfig 查看或设置网卡信息
- ifup 启动网卡
- ifdown 关闭网卡
- 控制 service networking start | stop | restart
服务监测
- netstat
- 作用 : 查看网络端口占用情况
- 使用: netstat -tunpl
- free
- 作用:查看内存使用情况
- 使用:free -h人性化查看大小
- top
-
说明:w的详细信息 三秒刷新一次
-
结果:
第一行:与w相同 第二行:任务信息 第三行:cpu使用情况 第四行:内存使用情况 第五行:交换分区
-
进程管理
- ps
- 作用 查看进程信息
- 使用ps -ef ps -aux
- kill
- 作用:杀死进程
- 示例 : kill -9 PID
防火墙(ufw)
- 说明:简单版本的防火墙,底层依赖于iptables
- 安装:sudo apt-get install ufw
- 查看状态:sudo ufw status
- 开启/关闭:sudo ufw enable | disable