Linux磁盘,进程,软件安装

Posted JavaConner

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux磁盘,进程,软件安装相关的知识,希望对你有一定的参考价值。

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 显示用户组

image-20210603132115870

image-20210603132006470

结束进程

语法:

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 安装

  1. 官网安装参考手册:https://docs.docker.com/engine/install/ubuntu/

  2. 查看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
    
  3. 卸载旧版本

    apt-get remove docker docker-engine docker.io containerd runc
    
  4. 更新apt包索引

    apt-get update
    
  5. 安装 apt 依赖包,用于通过HTTPS来获取仓库

    apt-get install \\
        apt-transport-https \\
        ca-certificates \\
        curl \\
        gnupg \\
        lsb-release
    
  6. 添加阿里云的GPG密钥

    curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
    
  7. 设置阿里云镜像源

    add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
    
  8. 更新

    apt-get update
    
  9. 查看有哪些版本

    apt-cache madison docker-ce
    
  10. 安装最新版或指定版

    #安装最新版
    apt-get install docker-ce docker-ce-cli containerd.io
    #安装特定版
    apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io
    
  11. 启动docker

    systemctl start docker
    
  12. 测试

    # docker版本
    docker version
    
    # docker执行
    docker run hello-world
    
    # docker镜像
    docker images
    

以上是关于Linux磁盘,进程,软件安装的主要内容,如果未能解决你的问题,请参考以下文章

Python学习第六天----Linux内存管理进程管理RPM包安装管理及源码安装软件

linux中关于磁盘IO

linux中关于磁盘IO

大数据学习之_01_Linux学习_02_组管理和权限管理+定时任务调度+linux磁盘分区挂载+linux的网络配置+进程管理(重点)+软件包管理+大厂面试题+感悟分享+资料附录

第117天学习打卡(Linux 账号管理 用户组管理 磁盘管理 进程管理 环境安装 JDK安装)

Linux下软件安装