Linux相关命令
用户相关
root用户登录
创建用户
1 | useradd name # name ——->用户名字 |
配置创建用户的密码
1 | passwd name # name ——->已将拥有的用户 |
切换到已将创建的用户下(无需密码)
1 | su - name # name ——->已将拥有的用户 |
删除已经创建的用户
1 | userdel -r name # name ——->已将拥有的用户 |
以上操作必须是root
用户否则要用sodo
非root用户登录
切换到超级管理员root
1 | sudo su - root |
防火墙相关
关闭防火墙
1 | systemctl stop firewalld |
重启防火墙
1 | firewall-cmd --reload |
停止 防火墙
1 | firewall systemctl stop firewalld.service |
禁止firewall开机启动
1 | systemctl disable firewalld.service |
查看已经开放的端口
1 | firewall-cmd --list-ports |
删除端口号80
1 | firewall-cmd --zone=public --remove-port=80/tcp --permanent |
开启端口号80
1 | firewall-cmd --zone=public --add-port=80/tcp --permanent |
1 | –zone #作用域 |
Netstat 命令
查询正在运行的端口
1 | netstat -tulpn |
查看具体的端口号
1 | netstat -tlnp|grep 80 |
显示网络接口列表
1 | netstat -ie |
systemctl 命令
显示系统状态
1 | systemctl status |
查看某个服务是否在运行
1 | systemctl is-active mysql.service # # 以MySQL举例 |
查看某个服务是否处于启动失败状态
1 | systemctl is-failed mysql.service |
查看某个服务是否建立了启动链接
1 | systemctl is-enabled mysql.service |
立即启动一个服务
1 | sudo systemctl start mysql.service |
立即停止一个服务
1 | sudo systemctl stop mysql.service |
杀死一个服务的所有子进程
1 | sudo systemctl kill mysql.service |
显示某个服务的状态
1 | sysystemctl status mysql.service |
重启服务
1 | systemctl restart network.service |
重新加载一个服务的配置文件
1 | sudo systemctl reload mysql.service |
重载所有修改过的配置文件
1 | sudo systemctl daemon-reload |
显示某个 服务 的所有底层参数
1 | systemctl show mysql.service |
列出开机启动项的状态
1 | systemctl list-unit-files |
这个列表显示每个配置文件的状态,一共有四种
1 | enabled:已建立启动链接 |
过滤查看启动项
1 | systemctl list-unit-files | grep enable |
过滤查看某服务名如下
1 | systemctl list-unit-files | grep mysql |
Vi
常用命令
一般模式:打开一个文件就直接进入一般模式了(这是默认的模式)
控制光标左、下、上、右移一格
1 | h j k l |
查找/搜索
1 | /mysql # mysql 需要查找的名字 |
光标移动到这个屏幕的最上方那一行的第一个字符
1 | H # 注意是大写字母 |
光标移动到这个屏幕的中间那一行的第一个字符
1 | M # 注意是大写字母 |
光标移动到这个屏幕的最下方那一行的第一个字符
1 | L # 注意是大写字母 |
移动到这个文件的最后一行
1 | G # 注意是大写字母 |
移动到这个文件的第一行
1 | gg 或 1G # 数字1 和 大写字母G |
为向后删除一个字符 (相当于【del】键)
1 | x # 小写字母 |
为向前删除一个字符(相当于【backspace】键)
1 | X # 大写字母 |
删除光标所在行
1 | dd |
删除光标所在处,到该行的最后一个字符
1 | d$ |
删除光标所在处,到该行的最前一个字符
1 | d0 或 编辑模式的 ctrl+u |
复制光标所在的那一行
1 | yy |
复制光标所在的向下n列
1 | nyy # n 数字 |
复制光标所在行到第一行的所有数据
1 | y1G |
复制光标所在行到最后一行的所有数据
1 | yG |
复制光标所在行到最后一行的所有数据
1 | y0 |
复制光标所在的那个字符到该行行尾的所有数据
1 | y$ |
将已复制的数据在光标下一行粘贴上
1 | p # 小写 |
将已复制的数据贴在光标的上一行
1 | P # 大写 |
恢复前一个操作
1 | u |
重复前一个操作
1 | . |
编辑模式
从目前光标所在处插入
1 | i |
在目前所在行的第一个非空格符处开始插入
1 | I |
从目前光标所在的下一个字符处开始插入
1 | a |
从光标所在行的最后一个字符处开始插入
1 | A |
在目前光标所在的下一行处插入新的一行
1 | o # 小写字母o |
在目前光标所在处的上一行插入新的一行
1 | O # 大写字母 O |
进入取代模式
只会取代光标所在的那一个字符一次
1 | r |
会一直取代光标所在的文字,直到按下 ESC 为止
1 | R |
退出编辑模式,回到一般模式
1 | Esc |
一般模式切换到命令行模式
下面的命令输入完成后按下回车👉 Enter
保存编辑的内容
1 | :w # 小写字母 w |
强制写入该文件,但跟你对该文件的权限有关
1 | :w! # 小写字母 w |
离开vi
1 | :q |
不想保存修改强制离开
1 | :q! |
保存后离开
1 | :wq 或 :x # 都是小写字母 |
常用命令
搜索
whereis命令只能用于程序名的搜索,而且只搜索二进制文件
1 | whereis mysql # 搜素mysql文件的位置 |
find找到任何你想找的文件
1 | find / -name mysql # 搜素mysql文件的位置 |
搜索当前目录(含子目录,以下同)中,所有文件名以my开头的文件
1 | find . -name "my*" |
搜索当前目录中,所有文件名以my开头的文件,并显示它们的详细信息
1 | find . -name "my*" -ls |
which命令,可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令
1 | which mysql |
查看所有进程
1 | ps aux # 其中PID为进程 |
查看具体进程
1 | ps aux | grep python # python->(进程的名字) |
结束进程/杀死进程
1 | kill -9 2903 # 2903->(进程数) |
解压
1 | tar xvf name # name->(压缩包名) |
递归强制删除
1 | rm -rf 文件或文件夹 |
查看更多操作
例如:查看MySQL
的相关命令
1 | mysql --help |