安装 Linux 系统
RPM指令
Yum 软件仓库
Yum 软件仓库可以 根据用户的要求分析出所需软件包及其相关的依赖关系,然后自动从服务器下载软件包并安 装到系统。
systemd 初始化进程
Linux 操作系统的开机过程是这样的,即从 BIOS 开始,然后进入 Boot Loader,再加 载系统内核,然后内核进行初始化,最后启动初始化进程。初始化进程作为 Linux 系统的 第一个进程,它需要完成 Linux 系统中相关的初始化工作,为用户提供合适的工作环境
1.为什么建议读者校验下载的系统镜像或工具?
为了保证软件包的安全与完整性。
2.使用虚拟机安装 Linux系统时,为什么要先选择稍后安装操作系统,而不是去选择RHEL 7系 统镜像光盘?
在配置界面中若直接选择了 RHEL 7 系统镜像,则 VMware Workstation 虚拟机会使用
内置的安装向导自动进行安装,最终安装出来的系统跟我们后续进行实验所需的系统 环境会不一样。
3.RPM(红帽软件包管理器)只有红帽企业系统在使用,对吗?
RPM已经被 CentOS、Fedora、openSUSE等众多 Linux系统采用,它真的很好用!
4.简述 RPM 与 Yum 软件仓库的作用。
RPM是为了简化安装的复杂度,而Yum软件仓库是为了解决软件包之间的依赖关系。
5.RHEL 7 系统采用了 systemd 作为初始化进程,那么如何查看某个服务的运行状态?
执行命令“systemctl status 服务名.service”可查看服务的运行状态,其中服务名后的.service 可以省略。
Linux 指令
Shell
(也称为终端或壳)充当的是人与内核(硬件) 之间的翻译官,用户把一些命令“告诉”终端,它就会调用相应的程序服务去完成某些工作。 现在包括红帽系统在内的许多主流 Linux 系统默认使用的终端是 Bash(Bourne-Again SHell) 解释器。主流 Linux 系统选择 Bash 解释器作为命令行终端主要有以下 4 项优势,读者可以在 今后的学习和生产工作中细细体会 Linux 系统命令行的美妙之处,真正从心里爱上它们。
➢ 通过上下方向键来调取过往执行过的 Linux 命令;
➢ 命令或参数仅需输入前几位就可以用 Tab 键补全;
➢ 具有强大的批处理脚本;
➢ 具有实用的环境变量功能
man命令![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/1751b5bd3bb00c7b67d0fde5bbbbe699.png)
常用系统工作命令
echo
echo
命令用于在终端输出字符串或变量提取后的值,格式为“echo [字符串 | $变量]”。 例如,把指定字符串“Linuxprobe.com”输出到终端屏幕的echo
命令为
[root@RICARDOfs ~]# echo Linuxprobe.com
该命令会在终端屏幕上显示如下信息:
Linuxprobe.com
date
date
命令用于显示及设置系统的时间或日期,格式为“date [选项] [+指定的格式]”。
只需在强大的 date 命令中输入以“+”号开头的参数,即可按照指定格式来输出系统的时 间或日期,这样在日常工作时便可以把备份数据的命令与指定格式输出的时间信息结合到一起
reboot
reboot
命令用于重启系统,需root权限
poweroff
poweroff
命令用于关闭系统,需root权限
wegt
wget
命令用于在终端中下载网络文件,格式为“wget [参数] 下载地址”
PS
ps 命令用于查看系统中的进程状态,格式为“ps [参数]”。
Linux系统中时刻运行着许多进程,如果能够合理地管理它们,则可以优化系统的性能。在 Linux 系统中,有 5 种常见的进程状态,分别为运行、中断、不可中断、僵死与停止,其各自 含义如下所示
➢R(运行)- 进程正在运行或在运行队列中等待。
➢S(中断)-进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该状态。
➢D(不可中断)-进程不响应系统异步信号,即便用 kill 命令也不能将其中断。
➢Z(僵死)-进程已经终止,但进程描述符依然存在, 直到父进程调用 wait4()系统函数后将进程释放
➢T(停止)-进程收到停止信号后停止运行
当执行 ps aux 命令后通常会看到如表 2-7 所示的进程状态,表 2-7 中只是列举了部分输 出值,而且正常的输出值中不包括中文注释
TOP
top
命令用于动态地监视进程活动与系统负载等信息,其格式为 top。 top 命令相当强大,能够动态地查看系统运维状态,完全将它看作 Linux 中的“强化版的 Windows 任务管理器”。top 命令的运行界面如图
top
命令执行结果的前5行为系统整体的统计信息,其所代表的含义如下。
➢ 第 1 行:系统时间、运行时间、登录终端数、系统负载(三个数值分别为 1 分钟、5 分钟、15 分钟内的平均值,数值越小意味着负载越低)。
➢ 第 2 行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程 数。
➢ 第 3 行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源 百分比、空闲的资源百分比等
➢ 第 4 行:物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量。
➢ 第 5 行:虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、已被提前加载的内存量
pidof
pidof
命令用于查询某个指定服务进程的 PID 值,格式为“pidof [参数] [服务名称]”。 每个进程的进程号码值(PID)是唯一的,因此可以通过 PID 来区分不同的进程。例如, 可以使用如下命令来***查询本机上 sshd 服务程序的 PID***:
[root@RICARDOfs ~]# pidof sshd
2156
kill
kill
命令用于终止某个指定 PID 的服务进程,格式为“kill [参数] [进程 PID]”。 接下来,我们使用 kill 命令把上面用 pidof 命令查询到的 PID 所代表的进程终止掉,其命 令如下所示。这种操作的效果等同于强制停止 sshd 服务
[root@linuxprobe ~]# kill 2156
killall
killall
命令用于终止某个指定名称的服务所对应的全部进程,格式为:“killall [参数] [服务名称]”。 通常来讲,复杂软件的服务程序会有多个进程协同为用户提供服务,如果逐个去结束这 些进程会比较麻烦,此时可以使用 killall 命令来批量结束某个服务程序带有的全部进程
系统状态检测命令
ifconfig
ifconfig
命令用于获取网卡配置与网络状态等信息,格式为“ifconfig [网络设备] [参数]”。
使用 ifconfig 命令来查看本机当前的网卡配置与网络状态等信息时,其实主要查看的就是网卡名称、inet 参数后面的 IP 地址、ether 参数后面的网卡物理地址(又称为 MAC 地址),以及 RX、TX 的接收数据包与发送数据包的个数及累计流量(即下面加粗的信息内容):
uname
uname
命令用于查看系统内核与系统版本等信息,格式为“uname [-a]”。在使用 uname 命令时,一般会固定搭配上-a 参数来完整地查看当前系统的内核名称、主机名、内核发行版本、节点名、系统时间、硬件名称、硬件平台、处理器类型以及操作系统名
称等信息。
[root@RICARDOfs ~]# uname -a
Linux RICARDOfs.com 4.14.129-bbrplus #1 SMP Tue Jun 25 12:23:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
[root@RICARDOfs etc]# cat redhat-release
CentOS Linux release 7.7.1908 (Core)
uptime
uptime
用于查看系统的负载信息,格式为 uptime。它可以显示当前系统时间、系统已运行时间、启用终端数量以及平均负载值等信息。平均负载值指的是系统在最近 1 分钟、5 分钟、15 分钟内的压力情况(下面加粗的信息部分);负载值越低越好,尽量不要长期超过 1,在生产环境中不要超过 5。
free
free
用于显示当前系统中内存的使用量信息,格式为“free [-h]”。
[root@RICARDOfs etc]# free -h
total used free shared buff/cache available
Mem: 228M 69M 12M 12M 146M 149M
Swap: 255M 18M 237M
who
who
用于查看当前登入主机的用户终端信息,格式为“who [参数]”。
[root@RICARDOfs etc]# who
root pts/0 2020-03-23 15:43 (登陆的ip地址)
last
last
命令用于查看所有系统的登录记录,格式为“last [参数]”。
使用 last 命令可以查看本机的登录记录。
history
history
命令用于显示历史执行过的命令,格式为“history [-c]”。
执行 history 命令能显示出当前用户在本地计算机中执行过的最近 1000 条命令记录。如果觉得 1000 不够用,还可以自定义/etc/profile 文件中的
HISTSIZE 变量值。在使用 history 命令时,如果使用-c 参数则会清空所有的命令历史记录。
还可以使用“!编码数字”的方式来重复执行某一次的命令。
[root@RICARDOfs etc]# history
1 bash <(curl -s -L https://git.io/v2ray.sh)
2 bash <(curl -s -L https://git.io/v2ray.sh)
3 bash <(curl -s -L https://git.io/v2ray.sh)
4 V2RAY
5 v2ray
6 c06f22c3-1ba9-4155-aa08-1cad98ecad16c06f22c3-1ba9-4155-aa08-1cad98ecad16
7 uname -r
8 sysctl net.ipv4.tcp_available_congestion_control
9 sysctl net.ipv4.tcp_congestion_control
10 wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh
11 v2ray url
12 v2ray
13 wget --no-check-certificate https://freed.ga/github/shadowsocksR.sh; bash shadowsocksR.sh
14 wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh
[root@RICARDOfs etc]# !84
free -h
total used free shared buff/cache available
Mem: 228M 69M 10M 12M 148M 149M
Swap: 255M 18M 237M
历史命令会被保存到用户家目录中的***.bash_history*** 文件中。Linux 系统中以点(.)开头的文件均代表隐藏文件,这些文件大多数为系统服务文件,可以用 cat 命令查看其文件
内容。
sosreport
sosreport
命令用于收集系统配置及架构信息并输出诊断文档,格式为 sosreport。
工作目录切换命令
pwd
pwd
命令用于显示用户当前所处的工作目录,格式为“pwd [选项]”。
[root@RICARDOfs ~]# pwd
/root
cd
cd 命令用于切换工作路径,格式为“cd [目录名称]”。“cd -”命令返回到上一次所处的目录,
使用***“cd…”命令进入上级目录,以及使用“cd ~”命令切换到当前用户的家目录,亦或使用“cd ~username”***切换到其他用户的家目录。例如,可以使用“cd 路径”的方式切换进/etc 中。
ls
ls
命令用于显示目录中的文件信息,格式为“ls [选项] [文件] ”。
所处的工作目录不同,当前工作目录下的文件肯定也不同。使用 ls 命令的“-a”参数看到全部文件(包括隐藏文件),使用“-l”参数可以查看文件的属性、大小等详细信息。
[root@RICARDOfs ~]# ls -al
total 124
dr-xr-x---. 3 root root 4096 Mar 23 11:00 .
dr-xr-xr-x. 18 root root 4096 Nov 30 12:12 ..
-rw-------. 1 root root 1316 May 14 2018 anaconda-ks.cfg
-rw-------. 1 root root 1809 Mar 23 11:51 .bash_history
-rw-r--r--. 1 root root 18 Dec 29 2013 .bash_logout
-rw-r--r--. 1 root root 176 Dec 29 2013 .bash_profile
-rw-r--r-- 1 root root 210 Feb 2 19:28 .bashrc
-rwxr-xr-x 1 root root 13173 Nov 30 13:27 bbr.sh
-rw-r--r-- 1 root root 13173 Nov 30 13:39 bbr.sh.1
-rw-r--r-- 1 root root 13173 Nov 30 13:39 bbr.sh.2
查看目录属性信息,则需要额外添加一个-d 参数。例如,可使用如下命令查看/etc 目录的权限与属性信息:
[root@RICARDOfs ~]# ls -ld /etc
drwxr-xr-x. 75 root root 4096 Feb 4 10:32 /etc