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@jsxs home]# du 16./redis 8./www/.oracle_jre_usage # 包括隐藏文件的目录 24./www 48. # 这个目录(.)所占用的总量 # 将文件的容量也列出来 [root@jsxs home]# du -a 4./redis/.bash_profile 4./redis/.bash_logout ....中间省略.... 4./jsxs.txt # 有文件的列表了 48. # 检查根目录底下每个目录所占用的容量 . [root@Jsxs ~]# du -sm /* 0 /bin 132 /boot 1 /dev 26 /etc 236 /home 0 /lib 0 /lib64 1 /lost+found 1 /media 1 /mnt 32 /opt 1 /patch du: cannot access '/proc/229476/task/229476/fd/4': No such file or directory du: cannot access '/proc/229476/task/229476/fdinfo/4': No such file or directory du: cannot access '/proc/229476/fd/3': No such file or directory du: cannot access '/proc/229476/fdinfo/3': No such file or directory 0 /proc 65 /root 1 /run 0 /sbin 1 /sBBBBBBBBBBBBBBBBBBBBBBBBBBBAAAAAAAAAAAAAAAAAAclear 1 /srv 0 /sys 1 /tmp 3364 /usr 368 /var 5157 /www
通配符 * 来代表每个目录。
与 df 不一样的是,du 这个命令其实会直接到文件系统内去搜寻所有的文件数据。
4.磁盘挂载与卸除
根文件系统之外的其他文件要想能够被访问,都必须通过“关联”至根文件系统上的某个目录来实现,此关联操作即为“挂载”,此目录即为“挂载点”,解除此关联关系的过程称之为“卸载”
Linux 的磁盘挂载使用mount命令,卸载使用umount命令。
磁盘挂载语法:
mount [-t 文件系统] [-L Label名] [-o 额外选项] [-n] 装置文件名 挂载点
测试:
# 将 /dev/hdc6 挂载到 /mnt/hdc6 上面! [root@www ~]# mkdir /mnt/hdc6 [root@www ~]# mount /dev/hdc6 /mnt/hdc6 [root@www ~]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/hdc6 1976312 42072 1833836 3% /mnt/hdc6
磁盘卸载命令 umount 语法:
umount [-fn] 装置文件名或挂载点
选项与参数:
-f :强制卸除!可用在类似网络文件系统 (NFS) 无法读取到的情况下;
-n :不升级 /etc/mtab 情况下卸除。
卸载/dev/hdc6
[root@www ~]# umount /dev/hdc6
(九)、进程管理
开发人员,linux偏向于使用即可
1.什么是进程
- 在linux中,每一个程序都是有自己的一个进程,每一个进程都有一个id号
- 每一个进程,都会有一个父进程
- 进程可以有两种存在方式: 前台 后台运行
- 一般的话服务都是后台运行的,基本的程序都是前台运行的
2.命令
ps 查看当前系统中正在执行的各种进程的信息!
ps -xx:
- -a: 显示当前终端运行的所有的进程信息
- -u: 以用户的信息显示进程
- -x: 显示后台运行进程的参数
# ps -aux 查看所有的进程 # 查看某个进程的信息 ps -aux|grep mysql ps -aux|grep redis # | 在linux这个叫做管道符 A|B # grep 查找文件中符合条件的字符串
记住一个命令即可 ps -xx|grep 进程名字! 过滤进程信息
ps -ef: 可以查看父进程的信息
ps -ef|grep mysql # 查看父进程,我们一般可以通过目录树结构查看 pstree -p 显示父id -u 显示用户组
结束进程:
kill -9 pid
平时写的一个java代码死循环了,可以选择结束进程
(十)、环境安装
安装软件一般有三种方式:
- rpm(jdk) 在线发布一个springboot项目
- 解压缩(tomcat ,启动并通过外网访问)
- yum在线安装(docker:直接安装运行)
1.JDK (rpm安装)
1、rpm下载地址http://www.oracle.com/technetwork/java/javase/downloads/index.html
2、如果有安装openjdk 则卸载
[root@kuangshen ~]# java -version java version "1.8.0_121" Java(TM) SE Runtime Environment (build 1.8.0_121-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode) # 检查 [root@kuangshen ~]# rpm -qa|grep jdk jdk1.8.0_121-1.8.0_121-fcs.x86_64 # 卸载 -e --nodeps 强制删除 [root@kuangshen ~]# rpm -e --nodeps jdk1.8.0_121-1.8.0_121-fcs.x86_64 [root@kuangshen ~]# java -version -bash: /usr/bin/java: No such file or directory # OK
3.安装JDK
# 安装java rpm [root@kuangshen kuangshen]# rpm -ivh jdk-8u221-linux-x64.rpm # 安装完成后配置环境变量 文件:/etc/profile JAVA_HOME=/usr/java/jdk1.8.0_221-amd64 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 [root@kuangshen java]# java -version java version "1.8.0_221" Java(TM) SE Runtime Environment (build 1.8.0_221-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
发布一个项目练手(springboot项目)
# 开启防火墙端口 (springboot项目的端口号为9000) firewall-cmd --zone=public --add-port=9000/tcp --permanent # 重启防火墙 systemctl restart firewalld.service # 查看防火墙规则 firewall-cmd --list-all # 查看全部信息 firewall-cmd --list-ports # 只看端口信息
- 先测试jar能本地跑起来
- 使用xftp放到 /home/kuangshen 目录中
- 使用 java -jar XXXX.jar (nohup 挂起 ,服务器断了,也能访问网站)
2.Tomcat(解压安装)
SSM war 就需要放到tomcat中运行
1、安装好了Java环境后我们可以测试下Tomcat!准备好Tomcat的安装包!apache-tomcat-9.0.44.tar.gz
2、解压文件
tar -zxvf apache-tomcat-9.0.73.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 重启防火墙:systemctl restart firewalld.service 命令含义: --zone #作用域 --add-port=80/tcp #添加端口,格式为:端口/通讯协议 --permanent #永久生效,没有此参数重启后失效
上线自己的网站
域名解析,如果端口是80–http或者443–https可以直接访问,如果是9000 8080,就需要通过Apache或者Nginx做一下反向代理,修改配置文件即可
3.Docker (yum安装)
在linux执行,一定要联网,yum在线安装
基于CentOS 7 安装
- 官网安装参考手册:https://docs.docker.com/engine/install/centos/
- 确定你是CentOS 7及以上版本
[root@192 ~]# cat cat /etc/redhat-release cat: cat: No such file or directory CentOS Linux release 7.9.2009 (Core)
- 安装我么的准备环境
yum -y install 包名 # yum install 安装命令 -y 所有提示都为y yum -y install gcc yum -y install gcc-c++
- 卸载旧版本 后面根据官网安装即可
# 官网版本 yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
- 安装需要的软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
- 阿里云镜像
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 更新yum软件包索引
yum makecache fast
- 安装Docker CE
yum -y install docker-ce docker-ce-cli containerd.io
- 启动docker
systemctl start docker
- 测试
docker version docker run hello-world docker images