一、linux简介
Linux 内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。
二、安装VMware虚拟机
步骤略
三、在虚拟机上安装centos7
阿里云镜像地址:阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区
安装虚拟机
四、linux操作命令
ifconfig --查看Ip地址
clear --清除屏幕
pwd --查看自己当前所在的目录
cd / 返回根目录
cd .. 返回父目录
cd ~ 跳转到root目录
ls –a:查看目录下文件
ll 以列表形式查看目录
mkdir 创建文件目录
mkdir /a 在根目录创建 与 mkdir a在当前目录创建
touch a.html 创建文件
######################################################
rm –rf:删除文件或目录
rm ri:删除文件前询问用户
注意ri只能删除文件,并在删除前进行询问
cp /usr/test / 第一个是文件的路径 第二个是要拷贝的路径
mv:移动文件或修改文件名
###############################################################
vi命令:
有三种模式
1、命令行模式
首次进入文件,
输入i,a就可以进入编辑模式
2、编辑模式
写完文本内容以后,按ESC,就会进入底行模式
3、底行模式,按shift+分号,出现冒号
wq 保存并退出
q 退出
q!强制退出
vi:一款功能强大的全屏幕文本编辑器
vi命令
打开文件:vi [文件名]
进入编辑模式:i,a
退出编辑模式:按下 Esc 键
进入底行模式:“:”
保存并退出:wq或x
退出但不保存:q!
保存w
#######################################
head:从文件开始显示文件内容
head –n:显示指定文件开始的n行数据
tail:从文件结尾显示文件内容
tail –f:动态加载某个文件的内容 ctrl+c 切换回命令行
tail –n:查看某个文件结尾N行的内容
cat 文件名
查看所有文件内容
#####################################
ctrl+z 强制退出
五、xmanger工具的安装
xshell:一个远程连接的客户端软件,连接服务器使用的
xftp:客户端向服务器传送文件使用
六、Linux 系统目录结构
目录名称 | 说明 |
---|---|
/ | Linux系统根目录 |
/bin | 系统启动时需要的执行文件(二进制) |
/dev | 设备文件目录 |
/etc | 操作系统的配置文件目录(防火墙、启动项) |
/home | 用户信息存放的目录,用户的默认工作目录 |
/usr | 程序和数据存放目录 |
/var | 包含在正常操作中被改变的文件:假脱机文件、记录文件、加锁文件、临时文件和页格式化文件等 |
-
/bin: bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。
-
/boot: 这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。
-
/dev : dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。
-
/etc: etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。
-
/home: 用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve
-
/lib: lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。
-
/sbin: s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序
-
/tmp: tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。
-
/usr: usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。
七、chmod命令
Linux chmod(英文全拼:change mode)命令是控制用户对文件的权限的命令
示例:
d r-x r-x r-x
d rwx r-x r-x
第1位字母
d: 表示的是目录
-: 表示的是文件
l: 表示链接文件
c: 表示设备文件
第2,3,4位字母
u :表示该文件的拥有者【user】
第5,6,7位字母
g:表示与该文件的拥有者属于同一个群体者,组【group】
第8,9,10位字母
o: 表示其他以外的人,其他人【other】
字母的意思
r: read可读
w: wirte可写
x: excute执行
-:没有权限
赋权的命令
chmod u=rwx,g=rwx,o=rwx index.html
赋权的简写
读R- 4
写W- 2
执行X- 1
chmod 777 a.txt
第1位代表:user
第2位代表:group
第3位代表: other
注:ctrl+z #执行强制退出
八、用户和组
root root 超级管理员
mengshujun 123456 普通管理员
wex 123 普通管理员
分开用户的主要实现的是一种权限控制。对系统的某些资源具有什么样的权限。 可读 可写 可执行
在Linux中,用户组是一种将一组用户聚合在一起的机制,具有以下作用:
1、用来管理文件和目录的权限;
2、用于共享和管理系统资源;
3、通过将一组用户归为同一个用户组,可以简化用户和权限的管理。
1.用户
useradd 用户名 添加一个用户如果没有指定用户的组,则会自动添加一个与用户名同名的组
useradd -g msj zhangsan 添加一个张三的用户,分配到msj组
adduser --password 123456 testuser 添加一个testuser账号,指定密码为123456
userdel 用户名 删除用户(不会删除home目录)
userdel -r 用户名 删除用户以及home目录
2.组管理
id 查看当前用户所在的组
groupadd 组名 添加组
groupdel 组名 删除组,确保组中没有用户
3.添加用户和组
创建组
groupadd dev
创建用户
useradd -m jack
设置用户密码
passwd jack 会得到提示,根据提示信息设值密码
将用户添加到组
usermod -a -G dev jack
查看所有的组
getent group
查看指定名称的用户组
getent group jack
切换账户 (switch user:选择用户)
su - 用户名
给用户组开放一个目录命令
chgrp dev /devproject chmod 2774 /devproject
给用户授予目录权限
chown -R jack /devproject chmod -R u+rwx /devproject
九、进程操作命令
进程是在 CPU 及内存中运行的程序代码,也可以fork一些子进程
9.1 ps命令
用于查看系统当前运行的进程。常用的参数有: -e:显示所有进程 -f:显示进程详细信息 -u:显示与进程相关的用户信息 例如,ps -ef
可以显示所有进程的详细信息。
# 查看进程的 ps -ef|grep ssh #查看本机是否允许ssh远程连接,进程是否已经启动
ps -ef|grep 查找信息[mysql|redis]
grep:(Global Regular Expression Print)查找的意思,使用的权限是所有的用户,它是一种强大的文本搜索工具,能使用正则表达式搜索文本,并把匹配的行打印出来
|:管道命名,指的是 ps 命令和 grep 命令同时执行(可以把它看做是一个连接的作用)
查看所有进程命令
ps -aux
ps命令用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。
-
ps: 将某个进程显示出来
-
a:显示当前终端下的所有进程信息,包括其他用户的进程。
-
u:使用以用户为主的格式输出进程信息。
-
x:显示当前用户在所有终端下的进程。
根据进程名查找pid
pgrep ssh
9.2 top命令
实时显示系统中进程的资源使用情况。在top命令的交互界面中,可以实时查看各个进程的CPU、内存、IO等资源占用情况。
top
9.3 kill命令
用于向指定进程发送信号,实现进程的管理操作。常用的参数有: -9:强制终止进程 -15:正常终止进程 例如,kill -9
可以强制终止指定进程。
kill -9 8856 #杀掉进程
十、软件安装
rpm 安装,类似与windows .exe文件
tar.gz 安装,类似与window .zip .rar压缩包
yum 安装,在线安装,通过互联网进行下载安装
10.1 安装JDK步骤
1、上传软件rpm包到服务器的一个目录下
2、检测系统中是否存在jdk,如果存在,也可以使用,也可以卸载掉自行进行安装
检测命令:
java -version
rpm -qa | grep jdk #检测jdk的rpm包在系统中存不存在
3、如果存在,先卸载
rpm -e --nodeps 查看出的名称
4、rpm -ivh jdk-8u291-linux-x64.rpm 使用jdk的rpm软件包安装jdk
5、查看java执行文件的路径
which java 查看可执行文件的路径
6、配置环境变量
vim /etc/profile
打开文件后,在最后面添加如下配置
export JAVA_HOME=/usr/java/jdk1.8.0_291-amd64
export PATH=$JAVA_HOME/bin:$PATH
7、让配置文件生效
source /etc/profile
8、检测是否生效[查看linux上jdk所在目录]
echo $JAVA_HOME
java -version
10.2 安装tomcat步骤
1.下载tar.gz格式的Tomcat安装包
https://tomcat.apache.org/download-80.cgi
2. 将Tomcat解压到指定目录
切换到目录 cd /usr
mkdir web
3.进入tomcat的压缩包目录下、解压tomcat、
tar -zxvf apache-tomcat-8.5.55.tar.gz -C /usr/web
4.启动tomcat
cd /usr/web/apache-tomcat-8.5.55/bin
在bin目录下输入 sh startup.sh
5.观测是否启动成功
ps -ef|grep tomcat
防火墙操作命令
#查看firewall服务状态
systemctl status firewalld
#开启防火墙服务
systemctl start firewalld
#重启
systemctl restart firewalld
#关闭
systemctl stop firewalld
#开启8080端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
#含义:
--zone #设置作用域为全局生效
--add-port=8080/tcp #添加端口
--permanent #永久生效
#关闭5672端口
firewall-cmd --zone=public --remove-port=5672/tcp --permanent
# 配置立即生效
firewall-cmd --reload
#查看已经加入防火墙的端口号
firewall-cmd --zone=public --list-ports
#查看防火墙规则
firewall-cmd --list-all
#检查端口被哪个进程占用
netstat -lnpt|grep 8080
10.3 安装mysql步骤
#wget命令用来从指定的URL下载文件
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum install mysql-community-server
#重启mysql服务
service mysqld restart || systemctl restart mysqld.service
mysql -uroot 回车
#默认安装完,root是没有密码的,需要手动添加密码
#set password for 'root'@'localhost'=password('密码');
set password for 'root'@'localhost'=password('root');
#给root用户赋予远程登录权限
grant all privileges on *.* to root@'%' identified by 'root' with grant option;
#刷新mysql权限
flush privileges;
#开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 配置立即生效
firewall-cmd --reload
#重启防火墙
systemctl restart firewalld