97.【Linux】(六)

本文涉及的产品
云原生内存数据库 Tair,内存型 2GB
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云防火墙,500元 1000GB
简介: 97.【Linux】

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  # 只看端口信息
  1. 先测试jar能本地跑起来
  2. 使用xftp放到 /home/kuangshen 目录中
  3. 使用 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 安装

  1. 官网安装参考手册:https://docs.docker.com/engine/install/centos/
  2. 确定你是CentOS 7及以上版本
[root@192 ~]# cat cat /etc/redhat-release
cat: cat: No such file or directory
CentOS Linux release 7.9.2009 (Core)
  1. 安装我么的准备环境
yum -y install 包名   # yum install 安装命令  -y 所有提示都为y
yum -y install gcc
yum -y install gcc-c++
  1. 卸载旧版本 后面根据官网安装即可
# 官网版本
yum remove docker \
          docker-client \
          docker-client-latest \
          docker-common \
          docker-latest \
          docker-latest-logrotate \
          docker-logrotate \
          docker-engine
  1. 安装需要的软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
  1. 阿里云镜像
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  1. 更新yum软件包索引
yum makecache fast
  1. 安装Docker CE
yum -y install docker-ce docker-ce-cli containerd.io
  1. 启动docker
systemctl start docker
  1. 测试
docker version
docker run hello-world
docker images
相关文章
|
13天前
|
网络协议 安全 Linux
Linux的netns使用总结
Linux的netns(Network Namespace)是一项强大的网络隔离功能,可在内核层面创建多个独立的网络空间,每个空间配备独立的网络协议栈,包括接口、路由表及iptables规则等,确保不同应用或服务在网络环境中互不干扰,提升系统安全性和灵活性。通过`ip netns`命令可轻松管理netns,实现创建、删除及执行命令等功能。netns适用于容器技术、虚拟化环境及网络测试等多种场景,为用户提供高效、安全的网络环境管理方案。
41 3
|
3月前
|
算法 Linux Windows
linux中的压缩软件介绍
这些是Linux中一些常见的压缩软件工具,您可以根据需要选择合适的工具来压缩和解压缩文件。每种工具都有其特定的特点和压缩性能,因此根据具体情况选择合适的工具是重要的。
42 0
|
3月前
|
存储 缓存 Linux
『 Linux 』重新理解挂起状态
『 Linux 』重新理解挂起状态
|
11月前
|
Linux Shell 开发工具
|
Unix Linux
Linux 重定向符号以及2>&1
Linux 重定向符号以及2>&1
|
存储 运维 Linux
|
Shell Linux
linux more
more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。
741 0
|
Linux
Linux就该这么学
image.png elinks image.png uname -a uptime free -m who last cat ~/.
955 0
|
Linux 开发工具
Linux wired unmanageed
这是一个有线连接无法时行图形化界面管理的问题 在状态栏上有线连接的图标显示为 wired unmanageed image.png 插上网线也不知道是什么情况,这时要对它的配置文件进行设置一下 打开网络管理器的配置文件 huanyu@ubuntu:/etc/NetworkManager$ sudo vim NetworkManager.
1317 0