Linux

Linux

环境搭建

Window:安装CentOS

  • 镜像

centos-7-isos-x86_64安装包下载_开源镜像站-阿里云 (aliyun.com)

VMware安装CentOs


**ECS **: Xshell

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO="static"
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=70d5c260-b51c-4fad-ab47-ce385187d7d8
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.238.3
NETMASK=255.255.255.0
PREFIX=24
GATEWAY=192.168.238.2
DNS1=114.114.114.114





常见命令

关机

关机指令为:shutdown

sync		#将数据由内存周步到硬盘中。---首先要运行sync命令,把内存中的数据写到磁盘中。
shutdown #关机指令,你可以man shutdown来看一下帮助文档。例如你可以运行如下命令关机:
shutdown -h 10 #这个命令告诉大家,计算机将在10分钟后关机
shutdown -h now #立马关机
shutdown -h 20:25 #系统会在今天20:25关机
shutdown -h +10 #十分钟后关机
shutdown -r now #系统立马重启
shutdown -r +10 #系统十分钟后重启
reboot #就是重启,等同于shutdown-rnow
halt #关闭系统,等同于shutdown-hnow和poweroff

系统目录结构

登录系统后,在当前命令窗口下输入命令:

#查看目录
ls /

树状目录结构:

image-20230813203439489




目录管理

cd 切换目录

cd 目录名		#进入目录
cd ../目录 #相对路径进入目录
cd /目录 #绝对路径进入目录
cd ~ #回到当前用户目录

pwd 获取当前所在目录

pwd		#获取当前所在目录

ls #列出目录

ls -a		#查看全部的文件,包括隐藏文件
ls -l #列出所有的文件,包含文件的属性和权限,没有隐藏文件
ls -al #隐藏+所有

mkdir 创建一个目录

mkdir test1		#创建目录
mkdir -p 目录1/目录2/目录3 #递归创建目录

rmdir 删除目录

rmdir test1		#删除目录,只能删除空目录
rmdir -p 目录1/目录2/目录3 #删除层级目录

rmdir仅能删除空的目录,如果下面存在文件,需要先删除文件,递归删除多个目录p参数即可


cp 复制文件或目录

cp 原来的地方 新的地方

rm 移除文件或者目录

-f 忽略不存在的文件,不会出现警告,强制删除!
-r 递归删除目录!
-i 互动,删除询问是否删除

rm -rf 文件   #系统中所有的文件就被删除了
rm -rf / #系统中所有的文件就被删除了

mv 移动文件

​ -f 强制
​ -u 只替换已经更新过的文件

mv 文件 文件夹/	#移动文件
mv name1 name2 #重命名文件夹





基本属性

image-20230813214032365

实例中,boot文件的第一个属性用”d”表示。”d”在LiuX中代表该文件是一个目录文件

在Liux中第一个字符代表这个文件是目录、文件或链接文件等等:

  • [ d ] 则是目录
  • [ - ] 则是文件;
  • [ l ] 则表示为链接文档(link file),快捷方式
  • [ b ] 则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
  • [ c ] 则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

接下来的字符中,以三个为一组,且均为『rwx』的三个参数的组合。其中[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。要注意的是,这三个权限的位置不会改变,如果没有权限,就险出现减号[-]而已

image-20230813213611576



修改文件属性

1、chgrp:更改文件属组

chargp [-R] 数组名 文件名

-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。


2、chown:更改文件属主,也可以同时更改文件属组

chown -R  属主名  文件名
chown -R 属主名:属组名 文件名

3、chmod:更改文件9个属性【*】

chmod [-R] xyz 文件或目录

Liux文件属性有两种设置方法,一种是数字,一种是符号。

Linux文件的基本权限就有九个,分别是owner/group/others:三种身份各有自己的read/write/execute权限。

文件的权限字符为:『-rwxrwxrwx』,这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下

r:4	w:2	x:1

每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为:[ -rwxrwx— ]分数则是:

  • owner = rwx =4+2+1=7
  • group = rwx =4+2+1=7
  • others = — =0+0+0=0
chmod 770 fileName





文件内容查看

  • cat 由第一行开始显示文件内容
  • tac 从最后一行开始显示,可以看出tac是cat的倒着写!
  • nl 显示的时候,顺道输出行号!
  • more 一页一页的显示文件内容,(空格代表翻页,enter代表向下看一行,:f行号)
  • less 与 mor e类似,但是比more更好的是,他可以往前翻页!(空格下翻页,pageDown,pageUp键代表翻动页面!退出q命令,查找字符串 / 要查询的字符向下查询,向上查询使用 ?,n继续查找下一个,N向上)
  • head 只看头几行,通过-n参数来控制显示几行 (head -n 20 filename)
  • tail 只看尾巴几行I,,通过-n参数来控制显示几行 (tail-n 20 filename)




防火墙

#查看firewall服务状态
systemctl status firewalld

#开启、重启、关闭、firewalld.service服务
#开启
service firewalld start

#重启
service firewalld restart

#关闭
service firewalld stop

#查看防火墙规则
firewall--cmd-list-all#查看全部信息
firewall-cmd-list-ports#只看端口信息

#开启端口
f端口命令:firewall--cmd-zone=public-add-port=80/tcp-permanent
重启防火墙:systemctl restart firewalld.service

命令含义:
-Zone#作用域
-ādd-port=80/tcp#添加端口,格式为:端口/通讯协议
-permanent#永久生效,没有此参数重启后失效
#开启防火墙端口
firewal1-cmd --zone=public --add-port=9000/tcp --permanent

#重启防火墙
systemctl restart firewalld.service





Vim编译器

image-20230814001129130

# 进入文件 -》 命令模式  -》i 输入模式 -》(Esc退出输入模式) 按 : 进入底线命令模式 -》 wq(保存退出编译器)

vim fileName.type #打开文件,文件不存在则创建


三种使用模式

基本上vi/wim共分为三种模式,分别是命令模式(Command mode),**输入模式(Insert mode)底线命令模式(Last line mode)**。这三种模式的作用分别是:


命令模式:
I用户刚刚启动vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被Vi识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,被当作了一个命令。
以下是常用的几个命令:

  • i 切换到输入模式,以输入字符。
  • x 删除当前光标所在处的字符。
  • : 切换到底线命令模式,以在最底一行输入命令。如果是编辑模式,需要先退出编辑模式 ESC


输入模式:

在命令模式下按下就进入了输入模式。

  • 字符按键以及Shift组合,输入字符
  • ENTER,回车键,换行
  • BACK SPACE,退格键,删除光标前一个字符
  • DEL,删除键,删除光标后一个字符
  • 方向键,在文本中移动光标
  • HOME/END,移动光标到行首/行尾
  • ESC 退出输入模式进入命令模式

image-20230814001836277



底线命令模式
命令模式下按下 英文冒号)就进入了底线命令模式。光标就移动到了最底下,就可以在这里输入一些底线命了!
在底线命令模式中,基本的命令有(已经省略了冒号):

按ESC键可随时退出底线命令模式。

长图_2023-08-14

image-20230814001702202

image-20230814001724187

image-20230814001911137






账号管理

useradd 命令添加用户

useradd -m 选项用户名

自动创建这个用户的主目录 home/选项用户名

useradd -m peng		#创建用户
passwd #当前普通用户设置密码

passwd 用户 #root 下为用户设置密码

查看: cat /etc/passwd


userdel 删除用户

userdel -r 用户名

删除用户的时候将他的目录页一并删掉!

userdel -r peng		#删除用户

usermod 修改用户

usermod 修改内容 用户名

usermod -d /home/223 peng		#修改peng账号转到233文件夹

切换用户

root用户

1.切换用户的命令为:su 用户名

2.从普通用户切换到root用户,还可以使用命令:sudo su

3.在终端输入exit或logouti或使用快捷方式ctrl+d,可以退回到原来用户,其实ctrl+d也是执行的exit命

4.在切换用户时,如果想在切换用户之后使用新用户的工作环境,可以在su和username之间加-,例如:【su-root】 $表示普通用户

#表示超级用户,也就是root用户


锁定账户

passwd -l 账户





磁盘管理

df (列出文件系统整体的磁盘使用量)

df
df -h #显示单位M

image-20230814205901570

du (检查磁盘空间使用量!)

du  
du -a #查看全部文件包括隐藏文件
du -sm /* #查看根目录下每个目录所占用的容量

image-20230814210042090






用户组管理

创建一个用户组 groupadd

groupadd 用户名 	#创建用户组
groupadd -g 指定id 用户名 #创建指定id的用户组,默认自增

cat /etc/group #查看全部用户组

删除用户组 groupdel

groupdel 用户名		#删除指定用户

修改用户组 groupmod -g -n

group -g 用户组id -n 新名字 旧名字

文件的查看

/etc/passwd

用户名:口令(登录密码,我们不可见):用户标识号:组标识号:注释性描述:主目录:登录she11





进程管理

ps 查看当前系统中正在执行的各种进程的信息!

ps -xx

  • -a :显示当前终端运行的所有的进程信息(当前的进程一个)
  • -u :以用户的信息显示进程
  • -x :显示后台运行进程的参数!
# ps -aux	查看所有的进程
ps -aux|grep mysql
# | 在Linux:这个叫做管道符 A|B
#grep查找文件中符合条件的字符串!

ps -xx|grep 进程名字 过滤进程信息!


ps -ef :可以查看到父进程的信息

ps-ef|grep mysq1	#看父进程我们一般可以通过目录树结构来查看!

#进程树
pstree -pu
-p 显示父id
-u 显示用户组


kill -9 进程的id 结束进程






环境安装

  • rpm
  • 解压缩
  • yum在线安装

rpm

JDK

Java Archive Downloads - Java SE 8 (oracle.com)

rpm -ivh rpm包 --force --nodeps
export JAVA_HOME=/usr/local/java/jdk1.8.0_202
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH


zip

Tomcat

  • 解压
tar -zxvf  **
  • 启动
#进入Tomcat目录 -》 bin 目录 -》
# ./xxx.sh脚本即可运行

#执行
./startup.sh

#停止
./shotdown.sh



yum

Docker

Install Docker Engine on CentOS | Docker Documentation

  • 安装命令
yum -y install 	#yum insta11安装命令-y所有的提示都为y

1、
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

2、
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3、更新yum软件包索引
yum makecache fast

4、安装Docker CE
yum -y install docker-ce docker-ce-cli containerd.io

5、启动docker
systemctl start docker

6、测试
docker version
docker run hello-world
docker images