2026年3月16
回顾
纪律
01.核心命令
0.profile问题
步骤1:
将变量写入/etc/profile
[root@oldboy ~]# tail /etc/profile
if [ -n "${BASH_VERSION-}" ] ; then
if [ -f /etc/bashrc ] ; then
# Bash login shells run only /etc/profile
# Bash non-login shells run only /etc/bashrc
# Check for double sourcing is done in /etc/bashrc.
. /etc/bashrc
fi
fi
export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin/tmp"
步骤2:如何让profile生效
1)重新连接xshell
2)使用.或者source生效 #了解 在shell编程讲到 只能是变量不能是配置文件
[root@oldboy ~]# touch 1.txt
-bash: touch:未找到命令
[root@oldboy ~]# . /etc/profile
[root@oldboy ~]# touch a.txt
[root@oldboy ~]# ll
-rw-r--r-- 1 root root 0 3月 16 00:31 a.txt
3)重启系统生效
#配置文件和变量的区别
PATH
LANG
PS1
#配置文件不是变量虽然配置文件中有些是等号,但是也是配置文件而不是变量
主机的配置文件/etc/hostname
网卡的配置文件/etc/sysconfig/network-scripts/ifcfg-ens33
1.head
作用:显示文件的前10行
语法格式:head 文件
df|head -2 #处理其他命令的输出
参数选项:
-n #指定显示n行,n为数字n可以省略直接写数字
-n2 = -2
案例1:显示文件的前10行
[root@oldboy ~]# cp /etc/passwd .
[root@oldboy ~]# head passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
案例2:显示文件的前2行
[root@oldboy ~]# head -n2 passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
案例3:可以省略n 但是不能省略-
[root@oldboy ~]# head -3 passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
案例4:head处理其他命令的结果
#注意head可以处理所有输出到屏幕上的数据
[root@oldboy ~]# df -h|head -2
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 963M 0 963M 0% /dev
案例5:显示ip结果的前3行
[root@oldboy ~]# ip a|head -3
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
案例6:处理cat的结果
[root@oldboy ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33 |head -2
TYPE=Ethernet
PROXY_METHOD=none
#必须语法支持的才能接管道 |
cat 1.txt|cat错误示例
cat 1.txt
ls /opt/
2.tail
作用:默认显示尾巴10行
语法结构:
tail 1.txt
df -h|tail #显示磁盘信息的后10行
tail -f file #实时显示最新的内容
tail -F file #实时显示文件最新的内容,即使文件不存在。了解
案例1:显示passwd的后10行
[root@oldboy ~]# tail passwd
setroubleshoot:x:994:991::/var/lib/setroubleshoot:/sbin/nologin
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
cockpit-ws:x:993:990:User for cockpit-ws:/nonexisting:/sbin/nologin
chrony:x:992:989::/var/lib/chrony:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
dhcpd:x:177:177:DHCP server:/:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
pesign:x:991:987:Group for the pesign signing daemon:/var/run/pesign:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
案例2:显示passwd的后2行
[root@oldboy ~]# tail -n2 passwd
pesign:x:991:987:Group for the pesign signing daemon:/var/run/pesign:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
[root@oldboy ~]# tail -2 passwd
pesign:x:991:987:Group for the pesign signing daemon:/var/run/pesign:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
案例3:显示/etc/profile的最后一行
第一步:将变量写入/etc/profile
vim /etc/profile
第二步;检查自己写的是否正确
[root@oldboy ~]# tail -1 /etc/profile
export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin:/tmp"
案例4:实时显示文件的内容变化secure
-f参数
[root@oldboy ~]# tail -f /var/log/secure
#使用ctrl +c退出
案例5:head和tail可以结合使用、只显示passwd中的5-10行
[root@oldboy ~]# cp /etc/passwd .
[root@oldboy ~]# cat -n passwd > 1.txt
第一步:使用head显示文件前10行
[root@oldboy ~]# cat 1.txt |head
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
4 adm:x:3:4:adm:/var/adm:/sbin/nologin
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8 halt:x:7:0:halt:/sbin:/sbin/halt
9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10 operator:x:11:0:operator:/root:/sbin/nologin
第二步:在tail显示文件尾巴6行
[root@oldboy ~]# cat 1.txt |head|tail -6
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8 halt:x:7:0:halt:/sbin:/sbin/halt
9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10 operator:x:11:0:operator:/root:/sbin/nologin
或者直接使用head调用文件
[root@oldboy ~]# head 1.txt |tail -6
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8 halt:x:7:0:halt:/sbin:/sbin/halt
9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10 operator:x:11:0:operator:/root:/sbin/nologin
3.less
作用:查看大文件、一页一页的加载查看。
语法结构:less 文件
cat passwd|less
参数选项:
-N 显示行号
空格或f #向下翻页
b #向上翻页
G #文件的末尾
g #文件行首
100G 100g #到100行
q #退出less命令
/字符串 #搜索字符串
n #向下查找
N #向上查找
案例1:less查看/etc/services
[root@oldboy ~]# less -N /etc/services
案例2:翻页查看其他命令的结果
[root@oldboy ~]# df -h | less
案例3:cat命令的结果通过less查看
[root@oldboy ~]# cat /etc/services |less
4.more
类似less 只支持上翻也下翻、到结尾退出,了解。
5.cat
语法结构:cat 1.txt
参数选项:
-n 显示行号
cat 往文件中写入内容 #了解
#追加内容到1.txt
[root@oldboy ~]# cat >>b.txt<<EOF
a
b
c
EOF
[root@oldboy ~]# cat b.txt
a
b
c
#覆盖写入
[root@oldboy ~]# cat >h.txt<EOF
-bash: EOF: 没有那个文件或目录
[root@oldboy ~]# cat >b.txt<<EOF
> abc dddd
> EOF
[root@oldboy ~]# cat b.txt
abc dddd
6.alias
作用:给命令做别名、起外号 #了解
语法结构:alias 外号="可执行命令"
案例1:陪着玩、临时生效重启生效
[root@oldboy ~]# alias vie3="vim /etc/sysconfig/network-scripts/ifcfg-ens33"
[root@oldboy ~]# vie3
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
案例2.rm起个外号,执行rm实际相当于执行echo输出字符串
alias rm="echo rm不可用"
[root@oldboy ~]# alias rm="echo rm不可用"
[root@oldboy ~]# rm -rf *
rm不可用 -rf 1.txt 2.txt
#临时取消别名
[root@oldboy ~]# unalias rm
[root@oldboy ~]# rm -rf *
[root@oldboy ~]# ll
总用量 0
查看系统中的别名:
[root@oldboy ~]# alias
alias cp='cp -i'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias vie3='vim /etc/sysconfig/network-scripts/ifcfg-ens33'
7.特殊字符
#支持所有的命令输出
> #先清空文件内容、在写入 标准正确输出重定向 只能接收正确的结果1>
>> #追加内容到文件中 标准正确追加输出重定向 只能接收正确的结果1>>
#扩展一个只要错误的结果
2>
2>>
案例1:将oldboy输入到1.txt
[root@oldboy ~]# echo oldboy > 1.txt
[root@oldboy ~]# cat 1.txt
oldboy
案例2:重新写入会覆盖源文件内容
[root@oldboy ~]# cat 1.txt
oldboy
[root@oldboy ~]# echo abc > 1.txt
[root@oldboy ~]# cat 1.txt
abc
案例3:清空文件内容
[root@oldboy ~]# > 1.txt
[root@oldboy ~]# cat 1.txt
案例4:追加字符串到1.txt
[root@oldboy ~]# echo hehe > 1.txt
[root@oldboy ~]# echo oldboy >> 1.txt
[root@oldboy ~]# cat 1.txt
hehe
oldboy
案例5:将df -h的结果写入到2.txt
[root@oldboy ~]# df -h > 2.txt
[root@oldboy ~]# cat 2.txt
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 963M 0 963M 0% /dev
tmpfs 979M 0 979M 0% /dev/shm
tmpfs 979M 34M 945M 4% /run
tmpfs 979M 0 979M 0% /sys/fs/cgroup
/dev/sda3 48G 3.8G 45G 8% /
tmpfs 979M 23M 956M 3% /tmp
/dev/sda1 195M 139M 56M 72% /boot
tmpfs 196M 0 196M 0% /run/user/0
案例6:将/etc/passwd的5-10行追加到2.txt中
[root@oldboy ~]# head /etc/passwd|tail -6 >> 2.txt
案例7:将/etc/passwd前10行放到一个文件中
[root@oldboy ~]# head /etc/passwd > 1.txt
[root@oldboy ~]# cat 1.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
> 和>>只要正确的结果
正确的结果:
1.正确的命令、结果输出正确的
[root@oldboy ~]# ll > 1.txt
[root@oldboy ~]# cat 1.txt
总用量 4
-rw-r--r-- 1 root root 0 3月 16 03:17 1.txt
-rw-r--r-- 1 root root 675 3月 16 03:15 2.txt
2.命令错误的和结果的错误
[root@oldboy ~]# ll /etc/hostssss
ls: 无法访问 '/etc/hostssss': 没有那个文件或目录
[root@oldboy ~]# ll /etc/hostssss >> 1.txt
ls: 无法访问 '/etc/hostssss': 没有那个文件或目录
[root@oldboy ~]# lll /etc/hosts >> 1.txt
-bash: lll:未找到命令
* #表示所有
? #表示单个字符
- #cd -
~ #家目录
.
..
\ #转义符
| #管道前面命令的输出作为后面命令的输入
{} #序列
# #注释
! #执行最后一次的相关命令 !cat
$ #查看变量的内容
系统优化
1.yum仓库
作用:安装软件去哪里下载?具体位置是
/etc/yum.repos.d/kylin_x86_64.repo
yum里面存放着一个链接地址、这个地址是指向到安装软件的服务器地址。
安装软件的服务器(小米应用商店、华为应用商店、华军软件园...)
#必须要会判断域名是哪个国家的?
[root@oldboy ~]# cat /etc/yum.repos.d/kylin_x86_64.repo
1.ping域名拿到对应的IP地址123.125.246.121
[root@oldboy ~]# ping update.cs2c.com.cn
PING update.cs2c.com.cn.eo.dnse1.com (123.125.246.121) 56(84) bytes of data.
64 bytes from 123.125.246.121 (123.125.246.121): icmp_seq=1 ttl=128 time=9.15 ms
2.百度输入IP回车

centos:默认的仓库地址是指向国外、下载速度慢,所以修改成国内的仓库地址
kylin:默认的仓库地址是国内的服务器、所以默认的yum仓库不需要修改。
问题:centos和kylin下载一些软件的时候默认的yum仓库中找不到怎么办?
需要配置额外的仓库地址:epel仓库
centos和kylin系统配置扩展长裤步骤:
第一步:打开国内的仓库地址
https://developer.aliyun.com/mirror/
或者百度搜索阿里源或者百度源
第二步:找到对应的操作系统epel

第三步:找到对应的系统版本号

粘贴到系统
[root@oldboy ~]# wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
--2026-03-16 03:51:14-- https://mirrors.aliyun.com/repo/epel-7.repo
正在解析主机 mirrors.aliyun.com (mirrors.aliyun.com)... 218.61.162.42, 218.61.162.35, 218.61.162.36, ...
正在连接 mirrors.aliyun.com (mirrors.aliyun.com)|218.61.162.42|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:664 [application/octet-stream]
正在保存至: “/etc/yum.repos.d/epel.repo”
/etc/yum.repos.d/epel.rep 100%[====================================>] 664 --.-KB/s 用时 0s
2026-03-16 03:51:15 (15.7 MB/s) - 已保存 “/etc/yum.repos.d/epel.repo” [664/664])
[root@oldboy ~]# wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
最后一步:测试是否安装成功
[root@oldboy ~]# yum -y install sl

如果默认的仓库和扩展的epel仓库中都没有我们安装的软件怎么办?
去官方网站下载需要的软件。
重点小结
01.记录问题
02.核心命令
head
head -n2
head -2
head file
cat file |head
tail
tail -n2
tail -2
tail -f file
less
翻页空格/f
b
-N #显示行号
cat
特殊符号
>
>>
|
yum仓库:下载软件通过yum仓库中配置的链接去下载
yum -y install sl
kylin默认的仓库是国内的、只需要配置额外的仓库地址即可
wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
#上面wget命令是将https://mirrors.aliyun.com/repo/epel-7.repo内容,写入到本地的/etc/yum.repos.d/epel.repo文件中
下次内容:
系统优化
时间同步
字符集
yum仓库
防火墙
正文完