linux浩瀚如海,而部署服务器所需要的 linux 知识并不多,下面是在 linux 开发版 centOS7 的云服务器上部署项目常用的命令,作为简单的小结。
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 显示信息太多,可以用它清理界面,但是,可以滑到上查看之前的信息,
云服务器中你经常要修改软件里边的配置信息,就要用到如下知识
cat >>文件名
:进入指定文件内容进行编辑(如果文件不存在就会创建该文件,这和 MongoDB 类似)
编辑完毕,按 ctrl + d 退出编辑
① cat 文件名
:查看文件内容
② cat 文件名 | less
:只显示一屏文件内容,向后翻页 空格键,向前翻页 b,退出 q,
③ echo 编辑内容 >> 文件名
:输入内容进入指定文件夹
④ vi 文件名
:修改文件内容,主要是修改配置用到
Ⅰ
ctrl+f
向后翻页,
Ⅱctrl+b
向前翻页,
Ⅲ↑↓键
控制光标的位置,
Ⅳi
进入编辑模式,可以修改内容,
ⅤEsc
退出编辑,
Ⅵ:q
不保存修改,
Ⅶ:wq
保存修改并退出
rm 文件名
(rm:remove):删除指定的文件,之后会提问是否删除,是就输入 yes,否就输入 no ,但是无法删除目录
目录创建方法
Ⅰ
mkdir 目录名
(mkdir:make directory):创建文件夹
Ⅱmkdir -p 上一级目录名/下一级目录名
(p:parents):创建多层文件夹
① rm -r 文件夹名
(-r:recursive 递归):删除指定的目录
② rm -rf 文件夹名
(-f:force):删除时不会有提示
一般删除就使用上面这一个,果断直接
③ rm -rf 文件夹名A/
:删除目录名 A 下的所有内容(. 开头
的文件除外)
cp 文件名 复制的新文件名
(cp:copy) :复制文件
① cp -t 文件夹名 被复制文件名
(-t:target directory):复制文件到指定文件夹中,而不是本文件夹
② cp -r 被复制目录 接受文件的目录
(-r:recursive递归) :复制整个文件夹内容到指定文件夹中
③ cp --help
:查看命令使用说明,–help是通用的
mv 被移文件名 接受文件文件夹名
(mv:move):移动文件到指定目录
一般你在云服务器删通过 yum 下载的东西不在自己意愿的目录下时,可以通过这个命令更改目录
① mv 被重命名文件 新名字
:重命名
这是 mv 的一个内涵用法
① 压缩:tar -zcvf 打压后的文件名
(后缀为.tar.gz) 要压缩的文件,如 tar -zcvf file2.tar.gz file1.txt
② 解压:tar -xvf 要解压的文件名
[-C 要解压到的目录],如 tar -xvf file2.tar.gz -C file1
你可以通过本地 windows 系统去网上查找你要的资料,通过压缩包的形式传输给 linux 云服务器,而在那边用时就先使用这个命令进行解压
grep 要搜索的内容 文件名 --color(–color 高亮显示):grep 五五开 file1.txt --color
:查找 file1中内容和 五五开 有关信息
这个可以用来看目标进程是否开启,也可以来检测卸载软件是否彻底等
①locate
先 yum -y install mlocate
,再 updatedb
,则安装更新好了,可以使用了
优点:快
缺点:没有实时更新数据库,新创建的文件,将搜索不到,需要 updatedb
才能搜到。
②find
-name
是根据名称来查,此外也可以省略""
模糊查询,一个问号代表一个字符
指定配置字符
-iname
不区分大小写
③grep
-i
不区分大小写
pwd
(Print Working Directory):查看当前所在的位置
① ctrl c
退出正在执行的命令
① useradd 用户名
:增加用户
② userdel 用户名
:删除用户
③ passwd 用户名
:给用户名添加密码
④ groups 用户名
:查看用户的用户组
⑤ groupadd 用户组名
:新增用户组名
⑥ usermod -g 新用户组 用户名
(-g:group):指定用户所属主用户组,注意 g 为小写的
⑦ usermod -aG 用户名 新建用户组名
(-a:append):添加指定用户的附加用户组,可以这个方法为用户添加多个附加用户
⑧ usermod -G 新用户组 用户名
(-G:group):指定用户的唯一附加用户组,注意 G 为大写的
区分:-g、-G
-g 用户组,指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
① r(查看、4)、w(写入、2)、x(执行、1),如 7 表示可以进行 rwx 操作,wx的操作要有r基础,
这样就可以用数字来确定权限了
① su 用户名
(su:switch user):切换用户
② chown 用户名 文件名
(chown:change owner):改变文件的拥有者
③ chmod 权限 文件名
(chmod:change mode):更改文件的权限
+添加权限,-去掉权限
搭建服务器环境的话,不建议直接在云服务上安装配置
JDK、Tomcat、MySQL
等,可以使用Docker
,开箱即用!
如果执意要自己搭建配置可以参考如下的文章:
1、Centos7.3安装和配置jre1.8
2、Centos7.3安装和配置Tomcat8
3、Centos7.3安装和配置Mysql5.7
4、centos7 firewall 防火墙 命令
5、Centos 7关闭防火墙
①查看本地 JDK 配置
java -version
javac -version
有显示相关信息,表示配置成功
①查看 Tomcat 是否开启
通过查看 Java 相关的进程来确定: ps -ef|grep java
杀死进程: kill -9 进程号
②开启、关闭 Tomcat
进入 Tomcat 的 bin 目录下,
开启:./startup.sh
关闭:./shutdown.sh
①登录 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
(版本信息要根据上一句命令查询的信息而定)
①开启防火墙的命令
systemctl start firewalld.service
②关闭防火墙的命令
systemctl stop firewalld.service
③开机自动启动
systemctl enable firewalld.service
④关闭开机自动启动(云服务器默认)
systemctl disable firewalld.service
⑤查看防火墙状态
(详细:还有防火墙设置的信息等)
systemctl status firewalld
(简洁:就 not running 或 running)
firewall-cmd --state
查看监听的端口,如8080
netstat -anp|grep 8080
1、linux 命令官方参考中文文档,很全面权威
2、云服务器感觉还是 linux 好,曾经使用同等价钱的 windows 云服务器,加载一个信息比较多的页面巨慢(估计加点钱提高点配置 就好多了~~)。windows 里边的图形界面对外边使用 web 作品的人来说,并没有任何用途,又占用服务器的资源。而且我们也可以通过很多图形界面操作工具如 winSCP(主要是用来传输文件的) 辅助我们在 linux 中搭建部署服务器。
3、《Linux就该这么学》第2章 新手必须掌握的Linux命令。
4、鳥哥的 Linux 私房菜