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/
# 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 1月 2 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
(全文完)