1、磁盘管理
1.1、概述
Linux磁盘管理好坏直接关系到整个系统的性能问题。
Linux磁盘管理常用命令为 df、du。
- df :列出文件系统的整体磁盘使用量
- du:检查磁盘空间使用量
1.2、df
df命令参数功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
语法:
df [-ahikHTm] [目录或文件名]
选项与参数:
- -a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
- -k :以 KBytes 的容量显示各文件系统;
- -m :以 MBytes 的容量显示各文件系统;
- -h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
- -H :以 M=1000K 取代 M=1024K 的进位方式;
- -T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
- -i :不用硬盘容量,而以 inode 的数量来显示
测试:
# 将系统内所有的文件系统列出来!
# 在 Linux 底下如果 df 没有加任何选项
# 那么默认会将系统内所有的 (不含特殊内存内的文件系统与 swap) 都以 1 Kbytes 的容量来列出来!
root@conner-virtual-machine:/home# df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 2999916 0 2999916 0% /dev
tmpfs 605896 1896 604000 1% /run
/dev/sda5 19992176 6808496 12145088 36% /
tmpfs 3029464 0 3029464 0% /dev/shm
tmpfs 5120 4 5116 1% /run/lock
tmpfs 3029464 0 3029464 0% /sys/fs/cgroup
# 将容量结果以易读的容量格式显示出来
root@conner-virtual-machine:/home# df -h
Filesystem Size Used Avail Use% Mounted on
udev 2.9G 0 2.9G 0% /dev
tmpfs 592M 1.9M 590M 1% /run
/dev/sda5 20G 6.5G 12G 36% /
tmpfs 2.9G 0 2.9G 0% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 2.9G 0 2.9G 0% /sys/fs/cgroup
# 将系统内的所有特殊文件格式及名称都列出来
root@conner-virtual-machine:/home# df -aT
Filesystem Type 1K-blocks Used Available Use% Mounted on
sysfs sysfs 0 0 0 - /sys
proc proc 0 0 0 - /proc
udev devtmpfs 2999916 0 2999916 0% /dev
devpts devpts 0 0 0 - /dev/pts
tmpfs tmpfs 605896 1896 604000 1% /run
# 将 /etc 底下的可用的磁盘容量以易读的容量格式显示
root@conner-virtual-machine:/home# df -h /etc
Filesystem Size Used Avail Use% Mounted on
/dev/sda5 20G 6.5G 12G 36% /
1.3、du
Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的,这里介绍Linux du命令。
语法:
du [-ahskm] 文件或目录名称
选项与参数:
- -a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。
- -h :以人们较易读的容量格式 (G/M) 显示;
- -s :列出总量而已,而不列出每个各别的目录占用容量;
- -S :不包括子目录下的总计,与 -s 有点差别。
- -k :以 KBytes 列出容量显示;
- -m :以 MBytes 列出容量显示;
测试:
# 只列出当前目录下的所有文件夹容量(包括隐藏文件夹):
# 直接输入 du 没有加任何选项时,则 du 会分析当前所在目录的文件与目录所占用的硬盘空间。
root@conner-virtual-machine:/home# du
4 ./conner/Public
4 ./conner/Desktop
4 ./conner/.mozilla/extensions
4 ./conner/.mozilla/systemextensionsdev
4 ./conner/.mozilla/firefox/Pending Pings
# 检查根目录底下每个目录所占用的容量
root@conner-virtual-machine:/home# du -sm /*
0 /bin
137 /boot
1 /cdrom
0 /dev
13 /etc
82 /home
通配符 * 来代表每个目录。
与 df 不一样的是,du 这个命令其实会直接到文件系统内去搜寻所有的文件数据。
1.4、磁盘挂载与卸除
根文件系统之外的其他文件要想能够被访问,都必须通过“关联”至根文件系统上的某个目录来实现,此关联操作即为“挂载”,此目录即为“挂载点”,解除此关联关系的过程称之为“卸载”
通俗解释:
插入新硬盘,分了新磁盘区sdb1。它现在还不属于/。把新硬盘的区sdb1挂载到工作目录的/Share/文件夹下,之后访问这个/Share/文件夹就相当于访问这个硬盘2的sdb1分区了。对/Share/的任何操作,都相当于对sdb1里文件的操作。
Linux 的磁盘挂载使用mount命令,卸载使用umount命令。
磁盘挂载语法:
mount [-t 文件系统] [-L Label名] [-o 额外选项] [-n] 装置文件名 挂载点
磁盘卸载命令 umount 语法:
umount [-fn] 装置文件名或挂载点
选项与参数:
- -f :强制卸除!可用在类似网络文件系统 (NFS) 无法读取到的情况下;
- -n :不升级 /etc/mtab 情况下卸除。
3、进程管理
3.1、概述
-
在Linux中,每一个程序都是有己的一个进程,每一个进程都有一个id号
-
每一个进程呢,都会有一个父进程
-
进程可以有两种存在方式︰前台!后台运行
-
一般的话服务都是后台运行的,基本的程序都是前台运行的
3.2、命令
语法:
ps -xx # 查看当前系统中正在执行的各种进程的信息
参数:
- -a:显示当前终端运行的所有进程信息(当前进程只有一个)
- -u:以用户的信息显示进程
- -x:显示后台运行进程的参数
例:
# ps -aux 查看所有的进程
ps -aux|grep mysql
# | 在Linux这个叫做管道符 A|B
# grep 查找文件中符合条件的字符串
ps -ef:可以查看到父进程的信息
ps -ef|grep mysql # 看父进程我们一般通过目录树来看
# 进程树
pstree -pu
-p 显示父id
-u 显示用户组
结束进程:
语法:
kill -9 进程的id
4、软件安装
4.1、jkd安装(rpm安装)
1、下载地址:https://www.oracle.com/java/technologies/oracle-java-archive-downloads.html (下载完通过Xftp传到Linux上)
2、安装jdk
-
安装alien
-
apt-get install alien
-
-
使用alien将rpm包转换为deb格式的包
-
alien jdk-9.0.4_linux-x64_bin.rpm
-
-
使用dpkg安装
-
dpkg -i jdk-9.0.4_9.0.4-1_amd64.deb
-
-
配置环境变量
-
#没有jre需要在java根目录下,使用终端执行 bin/jlink --module-path jmods --add-modules java.desktop --output jre # 进入 /etc/profile 配置文件在最下面进行配置 JAVA_HOME=/usr/java/jdk-9.0.4 CLASSPATH=.:%JAVA_HOME%/lib:%JAVA_HOME%/jre/lib PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin export PATH CLASSPATH JAVA_HOME # 保存退出
-
-
让环境变量生效
-
source /etc/profile
-
-
测试
-
java -version # 如果输出下面,那么配置成功 java version "9.0.4" Java(TM) SE Runtime Environment (build 9.0.4+11) Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode)
-
3、卸载jdk
java version "9.0.4"
Java(TM) SE Runtime Environment (build 9.0.4+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode)
# 检查
root@conner-virtual-machine:/home# dpkg --get-selections|grep jdk
jdk-9.0.4 install
# 卸载 -r是保留配置,-P是不保留配置
root@conner-virtual-machine:~# dpkg -r jdk-9.0.4
(Reading database ... 172474 files and directories currently installed.)
Removing jdk-9.0.4 (9.0.4-1) ...
# 检查是否卸载
root@conner-virtual-machine:~# java -version
-bash: /usr/java/jdk-9.0.4/bin/java: No such file or directory
4.2、Tomcat安装(解压缩安装)
1、下载地址:https://tomcat.apache.org/download-90.cgi(下载完通过Xftp传到Linux上)
2、将文件移动到/usr/tomcat/下,并解压!
# 创建tomcat目录
root@conner-virtual-machine:/home/tools# mkdir /usr/tomcat
# 移动
root@conner-virtual-machine:/home/tools# mv apache-tomcat-9.0.43.tar.gz /usr/tomcat
root@conner-virtual-machine:/home/tools# cd /usr/tomcat
root@conner-virtual-machine:/usr/tomcat# ls
apache-tomcat-9.0.43.tar.gz
# 解压
root@conner-virtual-machine:/usr/tomcat# tar -zxvf apache-tomcat-9.0.43.tar.gz
3、运行Tomcat,进入bin目录,和我们以前在Windows下看的都是一样的
# 执行:startup.sh -->启动tomcat
# 执行:shutdown.sh -->关闭tomcat
./startup.sh
./shutdown.sh
4、确保Linux的防火墙端口是开启的,如果是阿里云,需要保证阿里云的安全组策略是开放的!
# 查看firewall服务状态
systemctl status firewalld
# 开启、重启、关闭、firewalld.service服务
# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop
# 查看防火墙规则
firewall-cmd --list-all # 查看全部信息
firewall-cmd --list-ports # 只看端口信息
# 开启端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
# 关闭端口
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
#重启防火墙
systemctl restart firewalld.service
# 命令含义:
--zone #作用域
--add-port=8080/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
4.3、安装Docker(apt安装)
基于Ubuntu 20.04 安装
-
查看Ubuntu版本
root@conner-virtual-machine:/etc# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.2 LTS Release: 20.04 Codename: focal
-
卸载旧版本
apt-get remove docker docker-engine docker.io containerd runc
-
更新apt包索引
apt-get update
-
安装 apt 依赖包,用于通过HTTPS来获取仓库
apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg \ lsb-release
-
添加阿里云的GPG密钥
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
-
设置阿里云镜像源
add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
-
更新
apt-get update
-
查看有哪些版本
apt-cache madison docker-ce
-
安装最新版或指定版
#安装最新版 apt-get install docker-ce docker-ce-cli containerd.io #安装特定版 apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io
-
启动docker
systemctl start docker
-
测试
# docker版本 docker version # docker执行 docker run hello-world # docker镜像 docker images