1.在阿里云购买的服务器需要开通安全组设置;用来开启端口号映射,否则外部无法访问(Linux防火墙开完之后,一定要在阿里云设置安全组规则!开放端口号,否则外界无法访问)。
2.获取服务器的公网ip地址,修改密码和实例名称,需要重启。
3.使用Xshell远程连接,远程连接Linux端口号一定要打开。(Xshell是远程连接工具,XFTP用于文件上传和文件管理)
4.搭建环境。(宝塔部署,所有的命令都是可视化操作,十分方便)
1.一切皆文件。
2.根目录/,所有的文件都挂在这个节点下。
/bin:
bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。
/boot:
这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。
/dev :
dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。
/etc:
etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/home:
用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。
/lib:
lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。
/lost+found:
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件
/mnt:
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。
/opt:
opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
/root:
该目录为系统管理员,也称作超级权限者的用户主目录。
/sbin:
s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。
/selinux:
这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。
/srv:
该目录存放一些服务启动之后需要提取的数据。
/sys:
这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。
sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。
该文件系统是内核设备树的一个直观反映。
当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
/tmp:
tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。
/usr:
usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。
/usr/bin:
系统用户使用的应用程序。
/usr/sbin:
超级用户使用的比较高级的管理程序和系统守护程序。
/usr/src:
内核源代码默认的放置目录。
/var:
var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
/run:
是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run
/www:
存放服务器网站相关资源,环境,网站的项目。
3.1 切换目录(cd)
cd / //切换到根目录
cd /bin //切换到根目录下的bin目录
cd ../ //切换到上一级目录 或者使用命令:cd ..
cd ~ //切换到home目录
cd - //切换到上次访问的目录
cd xx(文件夹名) //切换到本目录下的名为xx的文件目录,如果目录不存在报错
cd /xxx/xx/x //可以输入完整的路径,直接切换到目标目录,输入过程中可以使用tab键快速补全
3.2 查看目录(ls)
ls //查看当前目录下的所有目录和文件
ls -a //查看当前目录下的所有目录和文件(包括隐藏的文件)
ls -l //列表查看当前目录下的所有目录和文件(列表查看,显示更多信息),与命令"ll"效果一样
ls /bin //查看指定目录下的所有目录和文件
3.3 创建目录(mkdir)
mkdir tools //在当前目录下创建一个名为tools的目录
mkdir -p tool1/tool2/tools //在当前目录下创建多级目录
mkdir /bin/tools //在指定目录下创建一个名为tools的目录
3.3 删除目录(rmdir)
rmdir 文件名 //仅能删除空目录
rmdir -p 文件夹名 //-p :从该目录起,一次删除多级空目录
3.3 删除目录与文件(rm)
rm 文件名 //删除当前目录下的文件
rm -f 文件名 //删除当前目录的的文件(不询问)
rm -r 文件夹名 //递归删除当前目录下此名的目录
rm -rf 文件夹名 //递归删除当前目录下此名的目录(不询问)
rm -rf * //将当前目录下的所有目录和文件全部删除
rm -rf /* //将根目录下的所有文件全部删除【慎用!相当于格式化系统】
rm -i 文件夹名 //互动,询问是否删除
3.4 修改\移动目录(mv)
mv 当前目录名 新目录名 //修改目录名,同样适用与文件操作
mv /usr/tmp/tool /opt //将/usr/tmp目录下的tool目录剪切到 /opt目录下面
mv -r /usr/tmp/tool /opt //递归剪切目录中所有文件和文件夹
3.5 拷贝目录(cp)
cp /usr/tmp/tool /opt //将/usr/tmp目录下的tool目录复制到 /opt目录下面
cp -r /usr/tmp/tool /opt //递归剪复制目录中所有文件和文件夹
3.6 搜索目录(find)
find /bin -name 'a*' //查找/bin目录下的所有以a开头的文件或者目录
3.7 查看当前目录(pwd)
pwd //显示当前位置路径
3.8 创建文件(touch)
touch 文件名 //创建文件
在 Linux 中第一个字符代表这个文件是目录、文件或链接文件等等。
接下来的字符中,以三个为一组,且均为 rwx 的三个参数的组合。其中, r 代表可读(read)、 w 代表可写(write)、 x 代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号 - 而已。
属主:是指文件或目录的所有者。
属组:是指文件或者目录所属的用户组。当一个文件被创建时,系统会自动为它划分一份属组。
语法:
chgrp [-R] 属组名 文件名
参数选项
语法:
chown [–R] 所有者 文件名 chown [-R] 所有者:属组名 文件名
Linux文件属性有两种设置方法,一种是数字,一种是符号。
Linux 文件的基本权限就有九个,分别是 owner/group/others(拥有者/组/其他) 三种身份各有自己的 read/write/execute 权限。
先复习一下刚刚上面提到的数据:文件的权限字符为: -rwxrwxrwx , 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: -rwxrwx--- 分数则是:
所以等一下我们设定权限的变更时,该文件的权限数字就是 770。
Linux系统中使用以下命令来查看文件的内容:
Linux的链接分为硬链接和软链接。
硬链接:它们都指向了同一个文件。允许一个文件有多个路径,防止一些重要文件被误删。
软链接:类似于window下的快捷键,删除源文件,快捷方式也访问不了。
touch命令创建文件
echo命令输入字符串。
ls f1 f2 //创建一个硬链接f2
ls -s f1 f3 //创建一个软连接f3
Vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。
Vim可以通过一些插件实现和IDE一样的功能。连vim的官方网站都说自己是一个程序开发工具而不是文字处理软件。
基本上 vi/vim 共分为三种模式,命令模式(Command Mode)、输入模式(Insert Mode)和命令行模式(Command-Line Mode)。
用户刚刚启动 vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被 Vim 识别为命令,而非输入字符,比如我们此时按下 i,并不会输入一个字符,i 被当作了一个命令。
以下是普通模式常用的几个命令:
输入模式
在命令模式下按下 i 就进入了输入模式,使用 Esc 键可以返回到普通模式。
底线命令模式
在命令模式下按下 :(英文冒号)就进入了底线命令模式。
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
在底线命令模式中,基本的命令有(已经省略了冒号):
:w
:保存文件。:q
:退出 Vim 编辑器。:wq
:保存文件并退出 Vim 编辑器。:q!
:强制退出Vim编辑器,不保存修改。按 ESC 键可随时退出底线命令模式
一般在公司用的都不是root账号,任何一个要使用系统资源的用户,都必须先系统管理员申请一个账号,然后以这个账号的身份进入系统。只能root用户进行账号管理。
~/表示当前用户的主目录
/表示根目录
useradd 选项 用户名
参数说明:
选项:
实例1
# useradd –d /home/sam -m sam
此命令创建了一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目录 /home/sam(/home为默认的用户主目录所在的父目录)。
实例2
# useradd -s /bin/sh -g group –G adm,root gem
此命令新建了一个用户gem,该用户的登录Shell是 /bin/sh,它属于group用户组,同时又属于adm和root用户组,其中group用户组是其主组
增加用户账号就是在/etc/passwd文件中为新用户增加一条记录,同时更新其他系统文件如/etc/shadow, /etc/group等。
Linux提供了集成的系统管理工具userconf,它可以用来对用户账号进行统一管理。
如果一个用户的账号不再使用,可以从系统中删除。删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。
删除一个已有的用户账号使用userdel
命令,其格式如下:
userdel 选项 用户名
常用的选项是 -r,它的作用是把用户的主目录一起删除
修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shell等。
修改已有用户的信息使用usermod
命令,其格式如下:
usermod 选项 用户名
常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等
,这些选项的意义与useradd
命令中的选项一样,可以为用户指定新的资源值。
另外,有些系统可以使用选项:-l 新用户
#代表root权限
$代表普通用户
[root@Shenyc syc]# su syc //su切换用户
[syc@Shenyc /]$ exit //退出用户
用户管理的一项重要内容是用户口令的管理。用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,即使是指定空口令。
指定和修改用户口令的Shell命令是passwd
。超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。命令的格式为:
passwd 选项 用户名
可使用的选项:
如果默认用户名,则修改当前用户的口令。
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。
groupadd 选项 用户组
可以使用的选项有:
groupdel 用户组
# groupdel group1
此命令从系统中删除组group1。
groupmod 选项 用户组
常用的选项有:
用户可以在登录后,使用命令newgrp切换到其他用户组,这个命令的参数就是目的用户组。例如:
$ newgrp root
这条命令将当前用户切换到root用户组,前提条件是root用户组确实是该用户的主组或附加组。类似于用户账号的管理,用户组的管理也可以通过集成的系统管理工具来完成
完成用户管理的工作有许多种方法,但是每一种方法实际上都是对有关的系统文件进行修改。
与用户和用户组相关的信息都存放在一些系统文件中,这些文件包括/etc/passwd, /etc/shadow, /etc/group等。
下面分别介绍这些文件的内容。
Linux系统中的每个用户都在/etc/passwd文件中有一个对应的记录行,它记录了这个用户的一些基本属性。
这个文件对所有用户都是可读的。它的内容类似下面的例子:
# cat /etc/passwd
root:x:0:0:Superuser:/:
daemon:x:1:1:System daemons:/etc:
bin:x:2:2:Owner of system commands:/bin:
sys:x:3:3:Owner of system files:/usr/sys:
adm:x:4:4:System accounting:/usr/adm:
uucp:x:5:5:UUCP administrator:/usr/lib/uucp:
auth:x:7:21:Authentication administrator:/tcb/files/auth:
cron:x:9:16:Cron daemon:/usr/spool/cron:
listen:x:37:4:Network daemon:/usr/net/nls:
lp:x:71:18:Printer administrator:/usr/spool/lp:
sam:x:200:50:Sam san:/home/sam:/bin/sh
从上面的例子我们可以看到,/etc/passwd中一行记录对应着一个用户,每行记录又被冒号(:)分隔为7个字段,其格式和具体含义如下:
用户名:口令(登陆密码,不可见):用户标识号:组标识号:注释性描述:主目录:登录Shell
它的文件格式与/etc/passwd类似,由若干个字段组成,字段之间用":"隔开。这些字段是:
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
将用户分组是Linux 系统中对用户进行管理及控制访问权限的一种手段。
每个用户都属于某个用户组;一个组中可以有多个用户,一个用户也可以属于不同的组。
当一个用户同时是多个组中的成员时,在/etc/passwd文件中记录的是用户所属的主组,也就是登录时所属的默认组,而其他组称为附加组。
用户要访问属于附加组的文件时,必须首先使用newgrp命令使自己成为所要访问的组中的成员。
用户组的所有信息都存放在/etc/group文件中。此文件的格式也类似于/etc/passwd文件,由冒号(:)隔开若干个字段,这些字段有:
组名:口令:组标识号:组内用户列表
ps -aux(参数)
参数 | 说明 |
---|---|
-u | 列出进程的用户 |
-a | 显示终端上的所有进程 |
-x | 所有的终端进程 |
#ps -aux #查看所有进程
#ps -aux|grep mysql
|在Linxus中为管道符。
grep用来查找文件中符合条件的字符串。
结束进程等价于window结束任务。
kill -9 进程的id
安装软件一般有3种方式:rpm安装,解压缩,yum在线安装
Linux rpm 命令用于管理套件。
rpm(英文全拼:redhat package manager) 原本是 Red Hat Linux 发行版专门用来管理 Linux 各项套件的程序,由于它遵循 GPL 规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM 套件管理方式的出现,让 Linux 易于安装,升级,间接提升了 Linux 的适用度。
1.下载JDK rpm。去oracle官网下载
2.安装java环境
检测当前是否存在java环境 java-version
如果有,就需要卸载
rpm -qa|grep jdk #检测jdk版本
rpm -e --nodeps jdk
卸载完毕后即可安装jdk
rpm -ivh rpm包
3.配置环境变量
/etc/profile
4.让配置文件生效:source etc/profile
ssm中的war包就需要放到war包中运行
1.解压
[root@Shenyc syc]# tar -zxvf apache-tomcat-9.0.84.tar.gz
2.启动tomcat
#执行 ./startup.sh
#停止 ./shotdown.sh
yum是在线安装,必须要联网。
1.检测centos7
[root@Shenyc SSM]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
2.安装我们的准备环境
yum -y install gcc
yum -y install gcc-c++
3.根据Docker文档进行下载
1.项目Maven Package(打包)
2.将Target中的jar包放入Linux中
3.检查Linux的端口防火墙
firewall-cmd --list-ports #检查所有开启端口,如果是阿里云,需要配置安全组规则
firewall-cmd --zone=public --add-port=9000/tcp --permanent #开启端口
systemctl restart firewalld.service #重启防火墙才会生效
4.java -jar 项目jar包执行项目(后台执行使用nohup命令)
5.上传完毕的项目直接购买自己的域名,备案解析过去即可!
(域名解析后,如果端口80-http和443-https可以直接访问,如果是8080,9000,就需要通过Apache或者Ngnix做一下反向代理即可,配置文件)
磁盘管理,管道符(|)等去百度查看Linux菜鸟教程。
man [命令]可以查看各个命令的使用文档
ifconfig查看网络配置
网络配置目录:cd /etc/sysconfig/network-scripts