Linux 基础知识(四)、进程管理、文件压缩解压以及SSH升级

艺帆风顺 发布于 2025-04-03 16 次阅读


进程

查看进程

ps -a
ps -au
ps -aux
ps -ef

杀掉进程

kill -9 pid号

杀掉端口进程

# 手工查找 3306 的 PID
netstat -nlp | grep :3306

# 读取 3306 进程的 PID 号
netstat -nlp | grep :3306 | awk '{print $7}' | awk -F"/" '{ print $1 }'

# 杀掉 PID
kill -9 PID

也可以使用下面 1 条命令解决:

kill [']netstat -nlp | grep :3306 | awk '{print $7}' | awk -F"/" '{ print $1 }'[']

Docker

安装

CentOS 7

以下所有操作都是以 root 用户执行

# 更新到最新 yum 包
yum update -y

# 安装Docker以及Docker-compose
yum install -y yum-utils device-mapper-persistent-data lvm2
&& yum-config-manager
--add-repo
https://download.docker.com/linux/centos/docker-ce.repo
&& yum install -y docker-ce docker-ce-cli containerd.io
&& systemctl start docker
&& yum -y install epel-release
&& yum -y install python-pip
&& pip install --upgrade pip
&& pip install docker-compose


# 查看Docker版本
$ docker version
Client: Docker Engine - Community
Version: 19.03.5
API version: 1.40
Go version: go1.12.12
Git commit: 633a0ea
Built: Wed Nov 13 07:25:41 2019
OS/Arch: linux/amd64
Experimental: false

Server: Docker Engine - Community
Engine:
Version: 19.03.5
API version: 1.40 (minimum version 1.12)
Go version: go1.12.12
Git commit: 633a0ea
Built: Wed Nov 13 07:24:18 2019
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.2.10
GitCommit: b34a5c8af56e510852c35414db4c1f4fa6172339
runc:
Version: 1.0.0-rc8+dev
GitCommit: 3e425f80a8c931f88e6d94a8c831b9d5aa481657
docker-init:
Version: 0.18.0
GitCommit: fec3683

# 查看 Docker-compose 版本
$ docker-compose version
docker-compose version 1.25.4, build unknown
docker-py version: 4.1.0
CPython version: 3.6.8
OpenSSL version: OpenSSL 1.0.2k-fips 26 Jan 201

Ubuntu

使用官方自动安装脚本,美滋滋:

sudo apt instal curl

# 自动安装脚本
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

# 将当前用户添加到 docker 用户组里
sudo usermod -aG docker `whoami`

# 重启生效
reboot

# 检验版本输出是否正常
$ docker version
Client: Docker Engine - Community
Version: 19.03.12
API version: 1.40
Go version: go1.13.10
Git commit: 48a66213fe
Built: Mon Jun 22 15:45:44 2020
OS/Arch: linux/amd64
Experimental: false

Server: Docker Engine - Community
Engine:
Version: 19.03.12
API version: 1.40 (minimum version 1.12)
Go version: go1.13.10
Git commit: 48a66213fe
Built: Mon Jun 22 15:44:15 2020
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.2.13
GitCommit: 7ad184331fa3e55e52b890ea95e65ba581ae3429
runc:
Version: 1.0.0-rc10
GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd
docker-init:
Version: 0.18.0
GitCommit: fec3683

Docker 安装完成后那么开始准备安装 Docker Compose 了,首先去官网查看最新的稳定版为多少:

https://github.com/docker/compose/releases

然后手动下载最新版本 赋予执行权限即可:

# 下载我写这篇文章的最新版本 1.27.2
sudo curl -L "https://github.com/docker/compose/releases/download/1.27.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 赋予执行权限
sudo chmod +x /usr/local/bin/docker-compose

# 查看 Docker-compose 版本
$ docker-compose version
docker-compose version 1.27.2, build 18f557f9
docker-py version: 4.3.1
CPython version: 3.7.7
OpenSSL version: OpenSSL 1.1.0l 10 Sep 2019

国内 Docker 加速还是很有必要配置一下的,编辑一下配置文件:

sudo vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://xxxxxxxx.mirror.aliyuncs.com"]
}

内容如下,修改完后重启一下 Docker 服务:

# 配置完成重启 Docker 服务 让配置生效
sudo systemctl daemon-reload
sudo systemctl restart docker

压缩与解压

压缩

# tar
tar zcvf FileName.tar DirName

# tar.bz2
tar jcvf x.tar xxxx

# gz
gzip FileName

# Z
compress FileName

# tar.Z
tar Zcvf FileName.tar.Z DirName

# zip
zip -r FileName.zip DirName

# war 将 shell.jsp 压缩为 shell.war
jar cvf shell.war shell.jsp

解压

# tar
tar zxvf FileName.tar

# tar.bz2
bzip2 -d FileName.bz2
bunzip2 FileName.bz2

# gz
gzip -d FileName.gz
gunzip FileName.gz

# Z
uncompress FileName.Z

# tar.Z
tar Zxvf FileName.tar.Z

# zip
unzip FileName.zip

常见案例

CentOS 7 升级 OpenSSH

CentOS 自带的 SSH 版本为 OpenSSH 7.4 可以升级到 8 点几的版本。

下载 SSH 包

OpenSSH 软件包:https://ftp.riken.jp/pub/OpenBSD/OpenSSH/portable/

wget https://ftp.riken.jp/pub/OpenBSD/OpenSSH/portable/openssh-8.3p1.tar.gz

编译安装

解压到 /usr/local/src/ 目录下

tar -zxvf openssh-8.3p1.tar.gz -C /usr/local/src

然后进入到 OpenSSH 解压后的目录下 编译安装:

# 进入到目录
cd /usr/local/src/openssh-8.3p1

# 编译安装
./configure --prefix=/usr/local/openssh --with-ssl-dir=/usr/local/ssl --without-openssl-header-check
make && make install

修改配置

# 添加 SSH 配置
echo "PermitRootLogin yes" >> /usr/local/openssh/etc/sshd_config
echo "PubkeyAuthentication yes" >> /usr/local/openssh/etc/sshd_config
echo "PasswordAuthentication yes" >> /usr/local/openssh/etc/sshd_config

# 拷贝配置文件
cp /usr/local/src/openssh-8.3p1/contrib/redhat/sshd.init /etc/init.d/sshd

# SSH 服务
chkconfig --add sshd

mv /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
cp /usr/local/openssh/etc/sshd_config /etc/ssh/sshd_config

# 提示覆盖 覆盖掉
cp /usr/local/openssh/sbin/* /usr/sbin/sshd -f

# 这一步提示覆盖 都覆盖掉
cp /usr/local/openssh/bin/* /usr/bin/

重启验证

# 重启服务器
reboot

# 注意是大写V
ssh -V

支持一下

本文可能实际上也没有啥技术含量,但是写起来还是比较浪费时间的,在这个喧嚣浮躁的时代,个人博客越来越没有人看了,写博客感觉一直是用爱发电的状态。如果你恰巧财力雄厚,感觉本文对你有所帮助的话,可以考虑打赏一下本文,用以维持高昂的服务器运营费用(域名费用、服务器费用、CDN 费用等)

微信支付宝
版权声明:本文内容始发于个人博客>作者 : 国光,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行可。始发链接:https://www.sqlsec.com/2019/10/linux.html#在此特别鸣谢:个人博主>国光的创作。本文已获原作者国光授权发布在本公众号;原作者已在本公众号关联运营账号(安全小姿势),故在此声明本文原创为国光(安全小姿势)。此篇文章的所有版权归原作者所有,商业转载建议请联系原作者,非商业转载请注明出处。