认识Linux
linux 应用领域: 服务器
通常的服务器使用,LAMP(linux+apache+mysql+php) 或 LNMP(linux+nginx+mysql+php)组合
系统目录结构
1.一切皆文件
2.根目录/,所有的文件都是挂载在这个节点上
linux 下输入命令,没有任何提示,代表操作成功
基本命令
#关机:
sync #将数据同步到硬盘中
shutdown #关机操作
reboot #重启操作
根目录下的所有文件的作用
/bin: 存放最经常使用的命令,ls,cd,mkdir,ps,vim...
/boot: 启动linux核心文件,
/dev: 是device(设备)的缩小,存放外部设备,比如说U盘
/mnt: 临时挂载别的文件系统,也能看到挂载的文件,VCD,DVD等
/etc: #存放所有系统管理所需要的的配置文件和子目录(配置环境等),redis,java,tomcat...(重要)
/home: 自己用户的一个目录,一般以用户的账号命名的
/lib: 动态连接共享库(文件共享),(不能动)
/lost+found: 系统非法关机,存放文件(当突然关机时,存放文件)
/media: linux 自动识别一些设备,U盘光驱,
/opt: #外部安装的一些软件,存放位置oracle,数据库
/root: #系统管理员,超级用户的主目录
/user: #普通用户,用户的很多应用程序和文件存放在这个位置
/tmp: #临时目录,存放一些临时文件的
/www: #存放服务器网站相关的资源,环境,网站的项目的,服务器才有
常用的基本命令:
cd :切换目录命令!
./ : 当前目录
.. : 返回上一级目录
==============================
ls(列出目录!)
#常常被使用
-a: 查看全部的文件,包括隐藏文件
-l: 列出所有文件,包含文件的属性和权限
-al: 查看当前目录下的所有文件和隐藏文件的属性和权限
==============================
pwd(显示当前用户所在的目录)
==============================
mkdir(创建一个目录,文件夹)
[root@wuwutao test]# mkdir -p a/b/c #创建多级目录
[root@wuwutao test]# ls -l
total 8
drwxr-xr-x 3 root root 4096 May 18 18:32 a
-rw-r--r-- 1 root root 35 Apr 26 20:40 test.txt
[root@wuwutao test]# cd a
[root@wuwutao a]# ls
b
[root@wuwutao a]# cd b
[root@wuwutao b]# ls
c
===============================
rmdir(删除目录)
rmdir -p a/b/c #层级删除所有的目录 -p 递归删除所有目录
===============================
cp(复制文件或者目录)
cp 原来地方 新的地方
rm 移除文件或者目录
-f 忽略不存在的文件,不会出现警告,强制删除
-r 递归删除目录
-i 询问是否删除
[root@wuwutao home]# mkdir -p a/b/c
[root@wuwutao home]# ls
a docker docker-test-volume mysql test test.txt www
[root@wuwutao home]# rm -rf a #删除目录所有内容
[root@wuwutao home]# ls
docker docker-test-volume mysql test test.txt www
#rm -rf /
mv 移动文件或者目录
-f 强制
-u 值替换更新过的文件
基本属性
权限
修改文件属性
-
charp: 更改文件属组
chgrp [-R] 属组名 文件名 #需要被改成的名字 文件的名字www
-
chown:更改文件属主
chown [-R] 属主名 文件名 #需要被改成的名字 文件的名字
解释:
[root@wuwutao home]# ls docker docker-test-volume mysql test test.txt www [root@wuwutao home]# ls -ll total 24 drwxr-xr-x 2 root root 4096 May 18 18:38 test -rw-r--r-- 1 root root 13 Apr 26 10:34 test.txt drwx------ 3 www www 4096 Apr 26 12:13 www [root@wuwutao home]# chgrp -R root www [root@wuwutao home]# ls -ll total 24 drwxr-xr-x 2 root root 4096 May 18 18:38 test -rw-r--r-- 1 root root 13 Apr 26 10:34 test.txt drwx------ 3 www root 4096 Apr 26 12:13 www [root@wuwutao home]# chown -R root www [root@wuwutao home]# ls -ll total 24 drwxr-xr-x 2 root root 4096 May 18 18:38 test -rw-r--r-- 1 root root 13 Apr 26 10:34 test.txt drwx------ 3 root root 4096 Apr 26 12:13 www
3.chmod更改文件9个属性 (必须掌握)
两种方式,数字4,2,1 / 符文rwx
常用的是数字:r:4 w:2 x:1
chmod 777 -------------------->可读,可写,可执行
文件内容查看
cat 由第一行开始显示文件内容 #读文章,读取配置文件
tac 从最后一行开始显示,是cat 倒着写的
nl 显示的时候,顺便输出行号 #看代码,希望显示行号
more一页一页的显示内容 #空格代表翻页,enter代表向下翻一行 只能向下翻页
less 类似more,不过还可以翻页 #上下键代表翻动页面,退出按q,查询(/输入要查询的内容,向下查询,那如果需要向上查询,输入(?需要查询的内容),n继续搜寻下一个,N搜索上一个)
head 只看头几行 #head -n 行数
tail 只看尾
网络配置目录:cd /etc/sysconfig/network-scripts CentOs 7 的位置
拓展:Linux 链接的概念(了解即可)
创建硬链接 ln a a1
创建软链接 ln -s a a2
硬链接:A--------B,两个指向同一个文件,允许一个文件拥有多个路径,链接到重要文件,防止误删
软连接:类似wIndows 下的快捷方式,删除源文件,快捷方式也访问不了。
# 测试
[root@wuwutao home]# touch a #创建文件
[root@wuwutao home]# ls -la
total 32
drwxr-xr-x. 7 root root 4096 May 18 21:59 .
dr-xr-xr-x. 20 root root 4096 Apr 26 12:12 ..
-rw-r--r-- 1 root root 0 May 18 21:58 a
drwxr-xr-x 2 root root 4096 Apr 28 23:09 docker
drwx------ 3 www www 4096 Apr 26 12:13 www
[root@wuwutao home]# ln a a1 #创建一个硬链接 a1
[root@wuwutao home]# ls -l
total 24
-rw-r--r-- 2 root root 0 May 18 21:58 a
-rw-r--r-- 2 root root 0 May 18 21:58 a1
drwxr-xr-x 2 root root 4096 Apr 28 23:09 docker
drwx------ 3 www www 4096 Apr 26 12:13 www
[root@wuwutao home]# ln -s a a2 #创建一个软连接 a2
[root@wuwutao home]# ls -l
total 24
-rw-r--r-- 2 root root 0 May 18 21:58 a
-rw-r--r-- 2 root root 0 May 18 21:58 a1
lrwxrwxrwx 1 root root 1 May 18 21:59 a2 -> a
drwxr-xr-x 2 root root 4096 Apr 28 23:09 docker
drwx------ 3 www www 4096 Apr 26 12:13 www
[root@wuwutao home]# echo "i love wwt" >> a # 在a 文件 输入一串字符串
[root@wuwutao home]# cat a
i love wwt
[root@wuwutao home]# cat a1
i love wwt
[root@wuwutao home]# cat a2
i love wwt
Vim 编辑器
三种模式:
命令模式:command mode #输入i,进入输入模式
输入模式:insert mode #按esc,退到命令模式
底线命令模式:last line mode #输入模式下,按:冒号,进入
如果文件存在,打开原先编辑的文件,如果不存在,创建新的文件
常用的:
底线命令模式中设置行号 :set nu
搜索 /搜索内容
账号管理
用户账号的管理工作主要涉及到,添加,修改,删除
属主,属组
useradd 命令 添加用户
-m : 自动创建这个用户的主目录/home/wwt
[root@wuwutao home]# useradd -m wuwutao #创建一个用户
[root@wuwutao home]# ls -ll
total 24
drwxr-xr-x 2 root root 4096 Apr 28 23:09 docker
drwxr-xr-x 2 root root 4096 Apr 26 22:28 docker-test-volume
drwxr-xr-x 4 root root 4096 Apr 26 20:57 mysql
drwxr-xr-x 2 root root 4096 May 18 18:38 test
drwx------ 2 wuwutao wuwutao 4096 May 18 22:46 wuwutao
drwx------ 3 www www 4096 Apr 26 12:13 www
创建的用户信息在 /etc/passwd 的文件下能查到刚刚创建用户的信息
userdel 命令 删除用户
userdel -r wuwutao # 删除用户的时候将他的目也一并删除 加入 -r 的选项
修改用户
修改用户usermod 对应修改的内容 修改那个用户
usermod -d /home/233 wuwutao
**切换用户
切换命令
hostname 修改主机名,,,
锁定账户:
passwd -l 用户名 # -l :lock, 上锁 ,就登录不上
passwd -d 用户名 # 清空密码,也登录不上
用户组管理
groupadd 需要添加的组名
groupadd -g 409 需要添加的组名 #-g id 后面可以加上id 号,指定
groupdel 需要删除的组名
磁盘管理
df (列出文件系统整体的磁盘使用量),du (检查磁盘空间,磁盘使用量 )
df -h 显示使用过的数据单位为M,G
du
进程管理
linux 中,每一个程序都是有自己的一个进程,每一个进程对应一个id
进程----------->父进程
前台,后台运行
服务,后台运行,基本程序,前台运行
命令
ps 查看当前系统中正在执行的各种进程的信息!
ps -xx:
- -a :显示当前中的运行的所有的进程信息
- -u : 以用户的信息显示进程
- -x : 显示后台运行进程的参数
#ps -aux 查看所有的进程
ps -aux |
# | 在linux 这个叫做管道符 A|B 将A的结果给B,作为输出条件,进行操作
#grep 查找文件中符合条件的字符串 过滤
#操作
ps -aux|grep mysql #显示有关mysql的所有信息
ps -ef: 可以查看到父进程的信息
ps -ef|grep mysql # 看父进程我们一般可以通过目录树结构查看
#进程树 显示就会非常的清晰
pstree -pu
-p 显示父Id
-u 显示用户组
环境安装:
JDK 安装
1.下载------->官网,搜索jdk8 rpm,把下载好的文件通过xftp 传输
2.安装java环境
#检测当前系统是否存证java 环境 java -version
#如果有的话,就需要卸载
#rpm -qa|grep jdk #检测到jdk的版本信息
#rpm -e --nodeps jdk_(版本),上面查出来的信息
#卸载完毕,即可安装jdk
#安装命令
#rpm -ivh 包的具体名字 回车
#安装成功,输入java -version 查看版本信息
#jdk 安装完成后,需要配置环境变量
3.配置环境变量
#查找到 配置环境变量的那个文件,cd /etc/profile,打开,在最后面填写内容
JAVA_HOME=/usr/java/jdk1.8.0_221-amd64
CLASSPATH=%JAVA_HOME%/lib;%JAVA_HOME%/jre/lib
PATH=$JAVA_HOME/bin;$JAVA_HOME/jre/bin
export PATH CLASSPATH JAVA_HOME
#如何让刚刚配置的环境变量生效呢?
#输入命令source /etc/profile
发布一个项目试试,将java 打包成一个jar 包,通过文件传输xftp
#开启防火墙
firewall-cmd --zone=public --add-port=9000/tcp --permanent
#重启防火墙
systemctl restart filewalld.service
#查看所有开启的端口,如果是阿里云,需要配置安全组规则
firewall-cmd --list-ports
Tomcat 安装
ssm war 就需要放在tomcat中运行!
1.下载tomcat,官网下载,tomcat9 apache-tomcat-9.0.22.tar.gz
2.解压这个文件
#命令
tar -zxvf apache-tomcat-9.0.22.tar.gz
3.启动tomcat 测试 命令 ./xxx.sh 脚本即可运行
#执行 ./startup.sh
#结束 ./shotdown .sh
如果防火墙8080 端口开了,并且阿里云安全组也开放了,就可以直接访问远程了
#查看firewall 服务状态
systemctl status firewalld
#开启,重启,关闭,firewalld.service 服务
#开启
service firewalld start
#重启
service firewalld restart
#关闭
service firewalld stop
#查看防火墙规则
firewalld-cmd --list-all #查看全部信息
firewalld-cmd --list-ports #只看端口信息
#开启端口
开端口命令:firewall-cmd --zone=public --add-port=8080/tcp --permanent
重启防火墙:systemctl restart firewalld.service
命令含义“
--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通信协议
--permanent #永久生效,没有此参数重启后失效
上传完毕的项目直接购买自己的域名,备案解析过去即可
域名需要备案(身份证信息),再解析域名
yum 安装
需要联网,在线安装
yum -y install 包名 #yum install 安装命令 -y 所有提示都是yes
yum -y install gcc