跳至主要內容

Linux 环境 (Ubuntu20.04)

大约 4 分钟

Linux 环境 (Ubuntu20.04)

1 前言

现代企业多使用各云服务厂商提供的各种云服务,一般情况下已经不需要传统运维手动部署运维各种环境了。

日常工作中,为了贴近生产环境,我们一般也是使用云上的资源。

对于手头没有云上资源的,也可以通过搭建 Linux 虚拟机进行练习。

注:2020 年 12 月 8 日,CentOS 项目宣布,CentOS 8 将于 2021 年底结束,而 CentOS 7 将在其生命周期结束后停止维护。

这里我们选用 Ubuntu 发行版进行替代。

1.1 Downloads

ubuntu-20.04.3-desktop-amd64.iso: https://ubuntu.com/open in new window

# git bash
$ echo "5fdebc435ded46ae99136ca875afc6f05bde217be7dd018e1841924f71db46b5 *ubuntu-20.04.3-desktop-amd64.iso" | shasum -a 256 --check
ubuntu-20.04.3-desktop-amd64.iso: OK

# powershell
$ Get-FileHash ubuntu-20.04.3-desktop-amd64.iso

Algorithm       Hash                                                                   Path
---------       ----                                                                   ----
SHA256          5FDEBC435DED46AE99136CA875AFC6F05BDE217BE7DD018E1841924F71DB46B5       D:\下载2\linux-downloads\ubuntu-20.04.3-desktop-amd64.iso
  • VirtualBox 选择网络模式为 "桥接网络"
  • 内存 2048 MB
  • 硬盘 30 GB
  • 最小安装 "Minimal Installation"

1.2 启用 ssh

机器安装完后,为贴近生产环境,在宿主机通过 ssh 工具登录虚拟机进行操作。Ctrl + Alt + T 组合键调出 Terminal:

# 查看 sshd 状态
$ systemctl status sshd
# 若没有则需安装 openssh-server
$ sudo apt install openssh-server

# 查看虚拟机 ip
$ ifconfig
# 若没有 ifconfig 命令则需安装 net-tools
$ sudo apt install net-tools

1.3 修改宿主机 hosts 文件

192.168.3.19 localhost.ubuntu0.com
192.168.3.20 localhost.ubuntu1.com
192.168.3.21 localhost.ubuntu2.com

1.4 环境预设

以下命令使用 MobaXterm 远程连接 linux 虚拟机操作:

# 安装 gcc
$ sudo apt install gcc
# 查看 gcc 版本
$ gcc --version
gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

# 安装 make
$ sudo apt install make
# 查看 make 版本
$ make -v
GNU Make 4.2.1
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

# 安装 vim
$ sudo apt install vim

# 修改 root 密码
$ sudo passwd root

# 安装 jdk
$ tar zxvf openjdk-17.0.2_linux-x64_bin.tar.gz
$ vim /etc/profile

export JAVA_HOME=/home/admin0/Downloads/jdk-17.0.2
export PATH=$PATH:$JAVA_HOME/bin

$ source /etc/profile
# 查看 jdk 版本
$ java --version
openjdk 17.0.2 2022-01-18
OpenJDK Runtime Environment (build 17.0.2+8-86)
OpenJDK 64-Bit Server VM (build 17.0.2+8-86, mixed mode, sharing)

2 用户和用户组

2.1 UID 与 GID

  • UID: User ID 用户 ID /etc/passwd
  • GID: Groud ID 用户组 ID /etc/group

2.2 用户管理

  • id
  • finger
  • useradd
  • userdel
  • passwd
  • usermod

2.3 用户组管理

  • groupadd
  • groupmod
  • groupdel

3 文件和目录管理

目录内容
/bin构建最小系统所需要的命令
/sbin与系统操作有关的命令
/boot内核与启动文件
/dev各种设备文件
/etc系统软件的启动和配置文件
/home用户的主目录
/root超级用户 root 的主目录
/usr非系统的程序和命令
/var系统专用的数据和配置文件
/opt可选的应用软件包
/tmp临时文件存放点

3.1 常用命令

  • pwd
  • cd
  • mkdir
  • rmdir: 删除空目录
  • rm
  • cp
  • mv
  • find

3.2 查看文件内容

  • cat: 查阅内容,不翻页
  • more: 翻页查阅内容
  • less: 翻页查阅内容,比 more 丰富
  • head: 查看文档前几行
  • tail: 查看文档后几行

4 文件和目录权限管理

$ ls -l
-rw-rw-r--   1 admin0 admin0   2476542 12 15:05 redis-6.2.6.tar.gz

4.1 文件类型

  • d: 目录文件
  • -: 普通文件
  • l: 链接文件
  • b/c: 块设备文件/字符设备文件

4.2 权限(owner 权限、group 权限、other 权限)

缩写文件目录
r可读取内容可读取结构
w可编辑内容(不含删除)可修改结构
x可被执行可进入

4.3 常用命令

  • ls -l
  • chown
  • chgrp
  • chmod

tar -zxvf redis-6.2.6.tar.gz 其中 zxvf 含义分别如下:

  • z: gzip 压缩格式
  • x: extract 解压
  • v: verbose 详细信息
  • f: file(file=archieve)文件

5 vi/vim 编辑器

  • 一般模式
  • 编辑模式
  • 指令模式

5.1 快捷键

  • gg: 移动光标到第一行
  • G: 移动光标到最后一行
  • nG: 跳转到第 n 行
  • /word: 向下搜索 word
  • ?word: 向上搜索 word
  • n: 下一个搜索位置
  • N: 上一个搜索位置
  • :1,Ss/word1/word2/g 第一行到最后一行 word1 替换为 word2
  • :w: 保存
  • :wq: 保存并退出
  • :q!: 放弃修改退出

6 文件系统管理

  • fdisk: 创建分区
  • mkfs: 创建文件类型
  • mount: 挂载文件系统
  • df -h: 查看文件系统的磁盘空间占用情况
  • du -h: 查询文件或目录的磁盘使用空间
  • lsof: 显示系统打开的文档
  • fsck/e2fsck 修复文件系统

7 网络管理

  • ifconfig
  • route
  • ping
  • traceroute

8 进程和任务管理

  • ps
  • top
  • pstree
  • kill
  • kill -9: 强制终止进程
  • at: 管理定时任务

9 系统监控

  • netstat

(全文完)