Linux常用命令
1.查看目录内容--ls
环境:查看目录内容时
格式:ls [-lah(选项)] [文件或目录]
-l:以列表方式详细显示内容信息
-a: 显示所有文件,包含隐藏文件及目录
-h: 配合-l显示出文件的大小
通配符
*: 表示0到多个任意字符
? : 表示一个任意字符
[abcd] :表示可以匹配a、b、c、d中的任何一个字符
[a-z] :匹配从a到z范围内的的任意一个字符
2.切换目录--cd
格式:cd 目录或文件名
cd或者cd~:切换到当前用户的主目录
cd.:切换到当前目录
cd..:切换到上一级目录
cd-:切换到上一次所在的目录
3.创建文件--touch
格式:touch 文件名
4.创建目录--mkdir
格式:mkdir 目录名称
可以跟上 -p 选项,实现多个级层目录创建
5.删除文件或目录--rm
格式:rm 选项(-ifr) 目录或文件名
-i:测试前会提示
-f:删除前不会提示
-r:删除文件及文件夹以下所有的内容
6.复制文件或者目录--cp
格式:cp 原文件 目标文件
7.移动文件或目录--mv
格式:mv 原文件 目标文件
8.查看文件命令--cat、more、grep
cat 文件名: 适用于查看较少内容的文件
more 文件名: 适用于查看内容较多的文件,用于分屏显示文件内容
空格键:下一页 , b:上一页 , q:退出
grep 文件名: 适用于查看内容较多的文件,用于搜索文件内容
^a : 搜索行首内容以a文本开头的行
ke$: 搜索行尾内容以ke文本结尾的行
[Ss]igna[Ll]: 匹配[]中的任意一个字符,搜寻匹配单词为 SignaL、Signal、signaL、signal的行
9.重定向>、>>
执行的结果传递给文件中
格式:执行结果(屏幕展示内容)> >>指定保存的文件
10.管道符--|
一个命令的输出结果可以通过管道符做为另一个命令的输入
格式:输出结果 | 额外处理
more : 分屏显示执行结果
grep : 通过grep过滤执行结果的内容
信息系统相关命令
1.关机命令---shutdown
shutdown –r now :重新启动操作系统,shutdown会给别的用户提示
shutdown -h now : 立刻关机,其中now相当于时间为0的状态
shutdown -h 20:25 :系统在今天的20:25 会关机
shutdown -h +10 :系统再过十分钟后自动关机
2.查看系统进程--ps
场景:当某一个程序卡死时,需要将其进程杀死,那么首先要查到他的进程号
格式:ps -aux
-a : 显示终端上的所有进程,包括其他用户的进程
-u : 显示进程的详细状态
-x :显示没有控制终端的进程
ps命令一般会结合 grep使用,来查找特定应用程序的进程
ps –aux|grep 程序名
3.查看系统进程--top
场景::1.性能测试过程中,监控软件的服务器资源占用情况
2.当服务器运行缓慢,查看当前程序的服务器资源占用情况,确认是否将使用高的进程
给杀死
格式:top
M :根据内存的大小降序显示进程信息
P :根据CPU使用率大小降序显示进程信息
q : 退出top命令 或者按 ctrl+c也可以退出
4.关闭进程号--kill
使用场景:某一个软件(系统)卡死,需要将其进程杀死
命令:kill -9 进程号
5.查看系统监听端口--netstat
使用场景:查看某一个程序在服务器中运行时的端口号(访问某一个程序时,需要设置端口号)
命令:netstat -anp
6.查看系统监听端口--losf
使用场景:启动服务器中某一个程序,发现启动失败。查看其中程序使用的默认端口号是否被占用
httpd(http协议):80
mysql:3306
https协议:443
命令:lsof -i:端口号
7.查看日志信息命令--head
使用场景:开启文件,在系统中复现BUG,获取系统日志信息。将信息发给开发就可以进行问题定位
实时查看日志:tail -f 文件名
tail –f 文件名 | grep 关键字 实时显示日志并过滤关键字
用户权限和管理
1.查看权限
命令格式:ls -l 目录名称
权限分类
读:r--4
写:w--2
执行:x--1
角色分类:
拥有者:创建该文件/目录的人(角色)
组权限:拥有者所在分组的其他用户
其他用户:与拥有者不在同一个组的其他角色
类型
文件(-)
目录(d)
软连接(l)
2.修改权限
使用场景:测试环境部署项目时,将项目的安装包放入到Linux服务器之后,需要设置权限。不然没有办法完成数据的读、写、执行
命令格式:chmod 权限数字 文件名
注:更改目录下所有文件的权限,加入选项 -R
3.用户管理
使用场景:公司中,每一个linux服务器账号都有对应的权限。如果你的账号操作某一个程序/文件
没有权限,要么申请权限,要么换一个有权限的账号
查看当前用户:whoami
切换用户:su 用户名
4.用户退出
命令:exit
注意:如果切换过用户,那么退到上次切换前的用户
其他常用命令
1.查找指定文件
使用场景:进行环境部署时,将安装包解压之后需要针对某一个配置文件进行修改,但找不到该文件时,使用Linux提供查询文件的命令
命令格式:fifind 路径 -name 查找文件/目录名称
2.软连接--ln -s
命令格式: ln -s 源文件 链接文件
3.打包和解包
打包命令:tar -cvf 打包名称.tar 被打包的文件/路径
-c:create创建
-v:进度
-f:fifiles文件
强调:f选项,必须放在最后面
解包命令(解在当前目录):tar -xvf 打包的名称.tar
解包命令(解在指定目录):tar -xvf 打包的名称.tar -C 路径名称
注意:选项C必须大写
4.压缩和解压缩
gzip
压缩命令:tar -zcvf 压缩名称.tar.gz 被压缩的文件/路径
解压缩文件到当前目录:tar -zxvf 压缩包的名称.tar.gz
解压缩文件到指定目录:tar -zxvf 压缩包的名称.tar.gz -C 路径名称
zip
压缩命令:zip -r 压缩名称.zip 被压缩的文件/路径
解压缩文件:unzip -d 解压后的目录 压缩包的名称.zip
vi编辑器
目标:打开文件,编辑文件,保存文件
- 使用vi编辑器打开文件:vi 文件名
注意:文件名必须带上后缀,不然编辑的就是全新的文件
- 编辑文件:
- 默认不能编辑。因为默认的模式是命令模式,只能写命令
- 按a/i/o,进行"插入(insert)"模式,这时候才可以编辑
- 保存文件
- 按"exc"退出插入模块
- 进入末行模式:按键"shit"加上":"
- 末行模式中输入:
wq:保存后退出
q!:不保存直接退出
Linux系统中项目部署
1.项目部署前的准备工作
-安装服务器操作系统——Linux
-安装项目运行需要的软件
软件安装套装连接:lnmp.org/auto.html
2.软件状态检查
- 检查软件是否安装成功,版本号是否与要求一致
MySQL:mysql --version
Nginx:nginx -v
PHP:php -v
3.检查软件服务是否正常启动
MySQL:systemctl status mysqld
Nginx:systemctl status php-fpm
PHP:systemctl status nginx
----异常情况处理----
1.程序服务无法正常启动
重启服务:服务名称 restart
关闭服务:服务名称 stop
开启服务:服务名称 start
2.服务启动、运行过程中,卡死情况
a.查看服务的进程号
ps -aux | grep 服务名称
b.结束该服务的进程
kill -9 进程号
3.安装、启动服务时,提示端口号被占用
a.查看占用端口号的程序名称
lsof -i:端口号
4.访问、设置服务程序时(远程工具连接MySQL),需要获取服务端口号
netstat -anp | grep 程序名称
4.上传项目包
1.切换到指定目录
cd 指定路径
2.查看当前目录地址是否正确
pwd
3.文件上传
rz
4.确认文件上传是否成功
ls -l
5.解压并修改权限
1.将压缩文件进行解压-zip
原始解压命令:unzip -d ./ 压缩文件.zip
简化命令:unzip 压缩文件.zip
2.将解压后目录下的所有文件和目录修改权限为满权限
chmod -R 777 解压后目录名称
3.确认权限修改成功
ls -l 目录地址
6.修改文件并重启服务
1.找到修改文件
find / -name 配置文件名称
2.切换到文件所在目录
cd 。。。。
3.删除配置文件
rm -rf 配置文件名称
4.上传配置文件
rz
5.重启服务(重启服务器)
shutdown -r now
6.查看Nginx启动状态
systemctl status 程序服务名称
7.异常处理:配置完成之后查看Nginx状态异常处理
异常产生的原因: 原因是Nginx 启动时 PID 文件并未生成,导致文件无法读取
处理方法: 在 /usr/lib/systemd/system/nginx.service 中添加如下语句即可,作用是在执行可执行文件前等待 0.1s
ExecStartPost=/bin/sleep 0.1
初始化数据库
- 在浏览器中输入虚拟机ip地址,然后在可视化界面完成项目的数据初始化
确认项目部署成功
- 前台商城系统URL:
http://虚拟机ip地址/index.php - 后台管理系统URL:
http://虚拟机ip地址/index.php/Admin/Admin/login.html
完
就是这么简单,还不会把电脑拿过来手把手教你