一、前言
linux浩瀚如海,而部署服务器所需要的 linux 知识并不多,下面是在 linux 开发版 centOS7 的云服务器上部署项目常用的命令,作为简单的小结。
二、文件处理
1、显示
ls(ls:list):当前目录下的内容——文件名
cd 文件夹 (cd:change directory,文件夹可多层嵌套)进入, cd ../ (../ 可多层嵌套,上一级直接 .. 回车): 返回上一级
Ⅰ . :还可以表示当前的目录,.. :表示当前目录的父目录
Ⅱ cd ~ :切换到用户主目录(或者直接cd回车),一般进入文件里边处理多了,迷失了方向用这个最直接
windows 有图形界面,一点击文件夹,就能看到里边的内容,
而 linux 则先使用 cd 到对应的目录下,再使用 ls 显示内容,ls 和 cd 的配置使用最频繁了
①ls -l(可简写为ll): 权限 目录下文件数量 文件目录拥有者 所属的用户组 日期
②ls -lh: 文件大小、单位
③ls -lha: 隐藏文件
④ls –help: 使用说明
–help 是比较好用的linux命令工具了,在你忘了命令的具体用法时,立刻可以得到权威的介绍
⑤ls 文件夹名(可多层嵌套) :查看指定文件夹下的内容
在你对该linux服务器的文件目录相当清晰时,使用时也可以使用 tab 键 自动补全检测记忆是否正确,这可以大大减少 cd ls 的使用
⑥ctrl l:ls 显示信息太多,可以用它清理界面,但是,可以滑到上查看之前的信息,
2、编辑
云服务器中你经常要修改软件里边的配置信息,就要用到如下知识
cat >>文件名 :进入指定文件内容进行编辑(如果文件不存在就会创建该文件,这和 MongoDB 类似)
编辑完毕,按 ctrl d 退出编辑
① cat 文件名:查看文件内容
② cat 文件名 | less :只显示一屏文件内容,向后翻页 空格键,向前翻页 b,退出 q,
③ echo 编辑内容 >> 文件名:输入内容进入指定文件夹
④ vim 文件名 :修改文件内容,
Ⅰ ctrl f 向后翻页,
Ⅱ ctrl b 向前翻页,
Ⅲ ↑↓键 控制光标的位置,
Ⅳ i 进入编辑模式,可以修改内容,
Ⅴ Esc 退出编辑,
Ⅵ :q! 不保存修改,
Ⅶ :wq! 保存修改并退出
3、删除
rm 文件名(rm:remove):删除指定的文件,之后会提问是否删除,是就输入 yes,否就输入 no ,但是无法删除目录
目录创建方法
Ⅰ mkdir 目录名(mkdir:make directory):创建文件夹
Ⅱ mkdir -p 上一级目录名/下一级目录名(parents):创建多层文件夹
① rm -r 文件夹名(-r:recursive):删除指定的目录
② rm -rf 文件夹名(-f:force):删除时不会有提示
一般删除就使用上面这一个,果断直接
③ rm -rf 文件夹名A/*:删除目录名 A 下的所有内容(. 开头的文件除外)
4、复制
cp 文件名 复制的新文件名(cp:copy) :复制文件
① cp -t 文件夹名 被复制文件名(-t:target directory):复制文件到指定文件夹中,而不是本文件夹
② cp -r 被复制目录 接受文件的目录(-r:recursive递归) :复制整个文件夹内容到指定文件夹中
③ cp –help:查看命令使用说明,–help是通用的
5、移动
mv 被移文件名 接受文件文件夹名(mv:move):移动文件到指定目录
一般你在云服务器删通过 yum 下载的东西不在自己意愿的目录下时,可以通过这个命令更改目录
① mv 被重命名文件 新名字:重命名
这是 mv 的一个内涵用法
6、压缩解压
① 压缩:tar -zcvf 打压后的文件名(后缀为.tar.gz) 要压缩的文件,如 tar -zcvf file2.tar.gz file1.txt
② 解压:tar -xvf 要解压的文件名 [-C 要解压到的目录],如 tar -xvf file2.tar.gz -C file1
你可以通过本地 windows 系统去网上查找你要的资料,通过压缩包的形式传输给 linux 云服务器,而在那边用时就先使用这个命令进行解压
7、搜索
grep 要搜索的内容 文件名 –color(–color 高亮显示):grep 五五开 file1.txt –color:查找 file1中内容和 五五开 有关信息
这个可以用来看目标进程是否开启,也可以来检测卸载软件是否彻底等
三、用户权限
1、pwd
(Print Working Directory):查看当前所在的位置
① ctrl c 退出正在执行的命令
2、用户、用户组 CRUD
① useradd 用户名:增加用户
② userdel 用户名:删除用户
③ passwd 用户名:给用户名添加密码
④ groups 用户名:查看用户的用户组
⑤ groupadd 用户组名:新增用户组名
⑥ usermod -g 新用户组 用户名(-g:group):指定用户所属主用户组,注意 g 为小写的
⑦ usermod -aG 用户名 新建用户组名 (-a:append):添加指定用户的附加用户组,可以这个方法为用户添加多个附加用户
⑧ usermod -G 新用户组 用户名(-G:group):指定用户的唯一附加用户组,注意 G 为大写的
区分:-g、-G
-g 用户组,指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
3、用户权限
① r(查看、4)、w(写入、2)、x(执行、1),如 7 表示可以进行 rwx 操作,wx的操作要有r基础,
这样就可以用数字来确定权限了
4、用户操作
① su 用户名(su:switch user):切换用户
② chown 用户名 文件名(chown:change owner):改变文件的拥有者
③ chmod 权限 文件名(chmod:change mode):更改文件的权限
添加权限,-去掉权限
四、JDK、Tomcat、mysql、防火墙 常用命令
1、JDK
①查看本地 JDK 配置
Java -version
javac -version
有显示相关信息,表示配置成功
2、Tomcat
①查看 Tomcat 是否开启
通过查看 Java 相关的进程来确定: ps -ef|grep java
*死进程: kill -9 进程号
②开启、关闭 Tomcat
进入 Tomcat 的 bin 目录下,
开启:./startup.sh
关闭:./shutdown.sh
3、mysql
①登录 mysql :mysql -uroot -p
再输入密码即可
② mysql 的开启、关闭、状态、开机启动
启动mysqld:systemctl start mysqld.service
停止mysqld:systemctl stop mysqld.service
重启mysqld:systemctl restart mysqld.service
设置开机启动:systemctl enable mysqld.service
查看 MySQL Server 状态:systemctl status mysqld.service
③卸载 mysql
卸载:
先:yum remove mysql-community mysql-community-server mysql-community-libs mysql-community-common
基本干净了,查看剩下 mysql 相关的包:rpm -qa |grep -i mysql
再:yum remove -y mysql57-community-release-el7-11.noarch(版本信息要根据上一句命令查询的信息而定)
4、防火墙
①开启防火墙的命令
systemctl start firewalld.service
②关闭防火墙的命令
systemctl stop firewalld.service
③开机自动启动
systemctl enable firewalld.service
④关闭开机自动启动(云服务器默认)
systemctl disable firewalld.service
⑤查看防火墙状态
systemctl status firewalld (详细:还有防火墙设置的信息等) 或者 firewall-cmd –state(简洁:就 not running 或 running)