> linux命令
- shutdown 关机指令
- shutdown -h 设置多长时间后关机
- shutdown -r now 马上重启
- shutdown -r +10 十分钟后重启
- sync 将数据同步到硬盘
- reboot 重启命令
linux、没有输出就代表成功
> 目录结构
- 一切皆文件
- **/etc**:存放所有系统管理所需要的配置文件和子目录
- /home 用户的主目录,在linux中,每个用户都有一个自己的目录,一般该目录是以用户的账号命名
- /lost+found 存放突然关机的一些文件
- /opt 给主机额外安装软件需要摆放的目录,默认为空
- /usr 用户的很多文件应用程序都放在这个目录
- /var 存放着在不断扩充的东西,习惯将哪些经常被修改的目录放在这里,例如日志
- /tmp 临时文件目录
- /root 系统管理员用户目录
- /www 存放服务器网站相关资源
## 常用的基本命令
> 绝对路径、相对路径
cd .. :返回上一级目录
cd : 切换目录命令
./ :当前目录
> ls (列出目录)
-a参数 :all 查看所有的文件,包括隐藏文件
-l参数 : 列出所有文件,包含文件的属性和权限,看不见隐藏文件目录
所有的linux命令可以组合使用
> cd 命令 切换目录
cd 目录名(绝对路径都是以/开头,相对路径对于当前目录 ../../)
cd ~ 进入用户目录
> pwd 显示用户当前所在的目录
> mkdir 创建文件夹
mkdir 文件名 在当前目录下创建一个文件夹
mkdir -p 父文件名 /子文件名 递归创建文件夹
> rmdir 移除文件夹
rmdir 文件名 移除指定文件名文件夹
rmdir -p 文件夹/文件夹 移除层叠文件夹
> cp (复制文件夹或目录)
cp 需要复制的文件 复制到的文件夹
> rm (移除文件或目录)
-f 忽略不纯在的文件,不会出现警告,强制删除
-r 递归删除目录
-i 互动删除,询问是否删除
**<mark>rm -rf /系统中所有的文件就被删除了,谨慎使用</mark>**
> mv 移动文件或目录
-f 强制
-u 只替换
如果是同一个文件可以重命名
## 基本属性
文件列表第一个字母 **<mark>d代表 文件夹 - 代表是文件 I 代表是链接文档 b代表是装置文件里的课供存储的接口设备 c代表为装置文件里的串行端口设备</mark>**
后面的字符三个一组 均为**rwx**的组合
**<mark>[r]代表可读 [w]可写 [x] 可执行 若没有权限则用-代替每个文件的熟悉都有前个字符决定</mark>**
**第一位确定文件类型 第2~4 <mark>属主</mark> 表示主权限就是root用户可操作 第5~7 <mark>属组</mark>表示管理员或游客用户操作权限 第8~10表示其他用户的操作权限**
> 修改文件属性
- chgrp 更改文件属性
```
chown [-R] 属组名 文件名
```
-R 递归更改文件属组,在更改某个目录文件的数组时,如果加上-R的参数,在该目录下的所有属组都会更改
- chown 更改文件属主,也可以同时更改文件属组
chown [-R] 属主名 文件名
chown [-R] 属主名:属组名 文件名
- <mark>chmod 更改文件9个属性</mark>
chmod [-R] xyz 文件或目录
文件的权限字符为【-rwxrwxrwx】,九个字符三三一组,可以用相对应的数字来表示,数值如下:
**<mark> r: 4 w:2 x:1</mark>**
每个身份(owner/group/others)的权重是rwx累加在一起的例如 [-rwxrwxr--]分数是
owner = rwx = 4 + 2 + 1 = 7
group = rwx = 4 +2 +1 = 7
others = r-- = 4 +0 +0 = 4
相对应的命令则是<mark>chmod 774 demo </mark>
## 文件内容查看
- cat 由第一行开始显示文件内容
- tac 从最后一页开始显示
- nl 显示的时候输出换行符
- more 一页一页的显示
- less与more相似 但more可以向前翻页
- head只看头几行
- tail只看尾巴几行
ifconfig 命令查看网络配置
**<mark>/向下查找字符串 ?向上查找字符串 n继续查询下一个 N向上查找 n 与 N 是相反的</mark>**
## vim编辑模式
> 三种使用模式
### 命令模式(Command Mode)
刚启动vim就便进入了命令模式,此时按键盘对应的键就会被当做对应的命令
- i 切换到输入模式
- x删除当前光标所在的字符
- :切换到底线命令模式,以在最低一行输入命令
### 输入模式(Insert mode)
在命令模式下按**i**进入输入模式
- 字符键及shift组合 输入对应的字符
- enter 回车键换行
- backspace 退格键 删除光标前一个字符
- esc 退出编辑模式,回到命令模式
### 底线模式(Last line mode)
- : 进入底线命令模式
- q 退出程序
- w 保存程序 :wq保存并退出
**如果文件纯在则是编辑该文件,不纯在则是建立一个新文件**
> useradd 命令添加用户
useradd -选项 用户名
useradd -m 用户名 自动创建这个用户的主目录/home/用户名
-c 指定一段描述
> userdel 用户删除
userdel -r 用户名 删除用户时把目录也清除
> 用户密码设置
password 用户名 linux密码输入不显示
> 用户锁定
passwd -l 用户名 锁定之后用户就登录不了了
passwd -d 用户名 没有密码也不能登录
### 磁盘管理
> df du
查看当前目录下的文件
### 进程管理
在linux中,每一个程序都有自己的一个进程,都有一个自己的进程号
每一个进程都会有一个父进程
进程有两种存在方式(前台和后台运行)一般来说服务都是在后台运行,基本程序都是在前台运行
> 命令
**ps** 查看当前系统中正在执行的各种进程信息
- -a 显示当前终端所有进程信息
- -u 以用户的信息显示进程
- -x 显示后台运行进程的参数
```bash
# ps -aux 查看所有进程
ps -aux|grep mysql
ps -aux|grep redis
# | 在linux中叫做管道符
# grep 操作文件中符合条件的字符串
```
#### ps -ef :可以看到父进程的信息
```bash
ps -ef|grep mysql #看父进程
#进程树
pstree -pu
-p 显示父id
-u 显示用户组
```
> 结束进程
kill -9 进程id
### jdk安装
```bash
#安装jdk
rpm -ivh jdk-8u311-linux-x64.rpm
```
配置环境变量 <mark>/etc/profile</mark>
```bash
JAVA_HOME=/usr/java/jdk1.8.0_311-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`
```bash
#开启防火墙端口
firewall-cmd --zone=publisc --add-poprt=9099.tcp --permanent
#重启防火墙
sysytemctl restart firewalld.service
```