核心配置文件②&&核心命令

3364 字
17 分钟
核心配置文件②&&核心命令

核心配置文件②&&核心命令#

[TOC]


/etc/核心配置文件#

/etc/hosts#

位置: /etc/hosts

作用: 本地DNS解析、将字符串解析成IP地址

浏览器输入www.baidu.com ----> /etc/hosts ---> DNS223.6.6.6 ---> 返回百度对应IP地址给浏览器

你的主机先访问你本地的DNS解析,如果找不到,然后再访问223.6.6.6

  • Linux系统: /etc/hosts
    • 这个是斜线

  • windows系统: C:\Windows\System32\drivers\etc
    • 这个是撬棍
Warning

⚠️ 我们可以手动劫持,它不安全,将 www.jd.com 的域名映射到别的IP地址上去,那么我们就会访问到一个假的京东

Terminal window
'格式'
[root@oldboy ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.219.128 centos
192.168.219.128 www.baidu.com www.jd.com www.taobao.com
# 后面可以跟多个域名,或主机名,空格隔开
10.0.0.200 hhhh
# 也可以是一个随机的字符串
[root@oldboy ~]# ping hhhh # **ping hhhh**
PING hhhh (10.0.0.200) 56(84) bytes of data.
64 bytes from hhhh (10.0.0.200): icmp_seq=1 ttl=64 time=0.802 ms
64 bytes from hhhh (10.0.0.200): icmp_seq=2 ttl=64 time=0.540 ms
# 相当于是自己ping自己

/etc/motd#

📌 存放字符串 每次xshell连接显示里面的内容

Terminal window
(@) * (@) * (@)
: * (@) * (@) * .;
(@) * (@) * (@) * (@)
* ; * ; (@) * ; * :
;\ \ \ \| / / /;
\\ \ Y/ / /
`_\ |/ _'
/ \\Y// \
( ,-}={-, )
\_//((\_/
//))(\
(/ ))
(/
Terminal window
_ooOoo_
o8888888o
88" . "88
(| -_- |)
O\ = /O
____/`---'\____
.' \\| |// `.
/ \\||| : |||// \
/ _||||| -:- |||||- \
| | \\\ - /// | |
| \_| ''\---/'' | |
\ .-\__ `-` ___/-. /
___`. .' /--.--\ `. . __
."" '< `.___\_<|>_/___.' >'"".
| | : `- \`.;`\ _ /`;.`/ - ` : | |
\ \ `-. \_ __\ /__ _/ .-` / /
======`-.____`-.___\_____/___.-`____.-'======
`=---='
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
佛祖保佑 永不死机
心外无法 法外无心

/etc/issue和/etc/issue.net#

📌 连接时一些冗余信息

直接清空两个文件就行

Terminal window
[root@oldboyedu ~]# > /etc/issue # 清空issue文件
[root@oldboyedu ~]# > /etc/issue.net # 清空issue.net文件

/etc/os-release#

📌 ⭐查看操作系统版本信息

Terminal window
[root@oldboyedu ~]# cat /etc/os-release # 查看系统版本
NAME="Kylin Linux Advanced Server"
VERSION="V10 (Lance)"
ID="kylin"
VERSION_ID="V10"
PRETTY_NAME="Kylin Linux Advanced Server V10 (Lance)"
ANSI_COLOR="0;31"
# 不管什么版本都能够查看

/var/核心配置文件#

📌 一般来查看各种日志,最新的日志在最底部

/var/log/messages#

📌 系统日志

/var/log/secure#

📌 系统用户登录和退出日志

tail -f 日志路径#

📌 实时查看文件最新的日志

可以敲回车至一个空白处,然后,只要有信息,就会显示!

⚠️ 使用ctrl+c结束


/proc核心配置文件#

  • 上传写入用Buffer

  • 我们把一些热点数据放在Cache”读缓存”中

    • 这样用户就可以快速的进行读了

/proc/meminfo#

📌 查看内存信息

Terminal window
[root@oldboyedu ~]# cat /proc/meminfo # 查看内存信息
MemTotal: 954520 kB # 内存总大小
MemFree: 433032 kB # 内存空闲大小
MemAvailable: 579144 kB # 内存可用大小 ✅️
'我们以可用的内存大小为标准'
# 因为内存有欺骗行为,假设这两个服务同时依赖这个库文件
# 内存显示用了400M,但实际只用了300M
Buffers: 2708 kB # 写缓冲区
Cached: 261096 kB # 读缓存区

Terminal window
[root@oldboyedu ~]# free -h # ⭐重点命令
# -h以人类可读形式显示
总内存 使用了多少 空闲 共享内存 缓冲/缓存 可用内存
total used free shared buff/cache available
Mem: 932Mi 219Mi 422Mi 6.0Mi 289Mi 565Mi
Swap: 2.0Gi 0B 2.0Gi
# 主要以可用的内存为标准

/proc/cpuinfo#

📌 查看CPU信息

Terminal window
[root@oldboy ~]# cat /proc/cpuinfo # 查看CPU信息
processor : 0
vendor_id : AuthenticAMD
cpu family : 25
model : 80
model name : AMD Ryzen 5 5600H with Radeon Graphics

lscpu#

Terminal window
[root@oldboyedu ~]# lscpu # 查看CPU架构信息
架构: x86_64 ✅️
CPU: 4 ✅️ # 总共的核心数
在线 CPU 列表: 0-3 # 列表
# 0代表第一个CPU,以此类推
每个核的线程数: 1 # 每个核可以同时做的事情数量
每个座的核数: 2 ✅️ # 每个CPU的核心数

/proc/loadavg#

📌 查看系统负载

Terminal window
[root@oldboy ~]# cat /proc/loadavg # 查看系统负载
0.00 0.00 0.00 3/160 2444
# 1,5,15分钟的平均负载 当前运行的进程/总共的进程
Terminal window
1)uptime
[root@oldboyedu ~]# uptime # 查看系统运行时间和负载
'w命令也可以查看系统负载' --> 第一行和uptime一样
10:47:20 up 12 min, 1 user,load average: 0.00, 0.00, 0.00
# 当前时间 运行了12分钟 1个用户 平均负载 1分钟 5分钟 15分钟平均负载
2)w
'后面也可以查看登录的用户并且正在干什么!'
[root@oldboyedu ~]# w # 查看系统负载和登录用户
10:50:54 up 16 min, 1 user, load average: 0.00, 0.00, 0.00
# w的第一行等于uptime命令
USER TTY LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 10:34 0.00s 0.05s 0.00s w
# 登录用户 第一个终端 登录时间 ................
Important

📌 什么是系统负载?

系统负载是衡量系统的繁忙程度,如果负载接近于CPU的核心数说明系统非常繁忙

CPU核心4核: 负载达到4说明满负荷状态. 如果负载达到5说明有进程已经处于等待状态

负载 = 4,在4核机器上 ≈ CPU刚好满载 负载 = 4,在2核机器上 ≈ 进程排队严重(过载)


达到多少是系统负载高? 90%以上❌️ <— 驴唇不对马嘴

✅️ 系统负载达到了核心数,说明系统非常繁忙了. 是核心数! 并非百分比!


那这些百分比说明啥? CPU的使用率,内存的使用率,磁盘的使用率

📌 关键点: 即使 CPU 空闲,高 I/O 也会推高负载 高负载 ≠ 高 CPU:可能是磁盘慢、NFS 卡住、大量进程等

哪些问题会导致系统负载?

  • CPU 大量的计算
  • 大量磁盘I/O
  • 内存(使用 swap 分区)
  • 网络原因
  • 程序问题

查看磁盘信息#

Terminal window
[root@oldboyedu ~]# df -h # 查看磁盘使用情况
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 963M 0 963M 0% /dev
/dev/mapper/klas-root 47G 3.7G 44G 8% /
# 根分区,整个磁盘空间的大小,基本上都给它了
.....................
/dev/sda1 1014M 169M 846M 17% /boot
# 别的,我们后面讲磁盘管理的时候再详细的了解

(1)sda

📌 表示第一块磁盘

Terminal window
sda1 # 表示第一块磁盘的第一个分区
sda2 # 表示第一块磁盘的第二个分区

(2)sdb

📌 表示第二块磁盘

Terminal window
sdb1 # 表示第二块磁盘的第一个分区

面试题

需求命令
查看系统内存free -h
查看系统CPUlscpu
查看系统负载以及三个数的含义uptime / w
三个数含义1分钟 5分钟 15分钟系统的平均负载
查看系统的磁盘df -h

系统核心命令#

less#

📌 一页一页的查看文件内容、主要查看大文件 超过200M的文件

语法格式:

Terminal window
less 文件名称

less -N d.txt#

📌 显示文件的行号

📌 less配合管道,可以处理屏幕上显示的内容

Terminal window
cat d.txt | less -N # 支持所有命令的输出
history | less -N # 历史命令和less简直绝配
  • 这个 N/n 是**/搜索模式**下使用的

  • 正常的翻页是空格和 f向下翻页 / b向上翻页


📌:快捷键

快捷键功能
空格 / f往下翻页
b往上翻页
100G快速移动到100行
gg到文件的第一行
G快速到文件的末尾
q退出命令
/搜索的内容搜索 N/n匹配

🧣这个查找的功能配合less非常好用

more#

📌 和less相似 了解

vim的快捷键用不了,比较鸡肋

只能上下翻,q退出

📌 显示头部信息


(1)head file

📌 默认显示文件的前10行

Terminal window
[root@oldboyedu ~]# cp /etc/passwd . # 复制passwd到当前目录
[root@oldboyedu ~]# ll passwd # 查看文件信息
-rw-r--r-- 1 root root 1882 10月 31 11:46 passwd
[root@oldboyedu ~]# head passwd # 默认显示前10行
..........

(2)head -n 3

📌 显示文件的前3行

Terminal window
[root@oldboyedu ~]# head -n3 passwd # 显示前3行
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin

(3)简写-3

📌 省略-n

Terminal window
[root@oldboyedu ~]# head -3 passwd # 显示前3行(省略-n)
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)配合管道符

Terminal window
其他命令输出 | head
[root@oldboyedu ~]# history | head -3 # history结果取前3行
1 history
2 ip a
3 touch a.txt

tail#

(1)tail file

📌 默认显示文件的后10行

Terminal window
[root@oldboyedu ~]# tail passwd # 默认显示后10行
.........

(2)tail -n 3 file

📌 显示文件的后3行

Terminal window
[root@oldboyedu ~]# tail -n 3 passwd # 显示后3行
tcpdump:x:72:72::/:/sbin/nologin
old:x:1000:1000::/home/old:/bin/bash
ntp:x:38:38::/etc/ntp:/sbin/nologin

(3)tail -3 file

📌 简写

Terminal window
[root@oldboyedu ~]# tail -3 passwd # 显示后3行(省略-n)
tcpdump:x:72:72::/:/sbin/nologin
old:x:1000:1000::/home/old:/bin/bash
ntp:x:38:38::/etc/ntp:/sbin/nologin

(4)tail -f file

📌 实时持续查看文件的变化

可以敲回车至一个空白处,然后,只要有信息,就会显示! ---> ✅ 方便观察

⚠️ 使用ctrl+c结束


(5)tail -F file

📌 实时查看文件的变化、文件不存在也可以监控(了解)

✅ 即使没有这个文件,一直在这里等着…


(6)history | head -15 | tail -5

📌 显示指定的行数(11-15)(不要前十行了)

Terminal window
[root@oldboy ~]# history | head -15 | tail -5
'显示第11-15行'
11 route
12 route -e
13 ping www.baidu.com
14 ip a
15 cat /etc/resolv.conf
# 可以通过衔接head和tail显示指定的行数

grep#

格式: grep 关键字 文件路径

📌 作用: 模糊过滤文件中包含字符串的行

我们后面会继续学习更深层次的过滤,现在仅供了解

过滤文件中包含 failure 的行

Terminal window
[root@oldboyedu ~]# grep failure /var/log/secure # 过滤包含failure的行
Oct 30 10:19:08 oldboy-lnb passwd[17518]: authentication failure;
Oct 30 10:19:14 oldboy-lnb passwd[17522]: authentication failure;
Terminal window
[root@oldboy ~]# cat /var/log/secure | grep failure # 用管道符过滤
# 我还是习惯用管道符进行过滤

==高亮显示==

📌 为它设置别名即可

Terminal window
[root@oldboy home]# alias grep='grep --color=auto' # 设置grep高亮别名
'Kylin默认没有高亮,Ubuntu有的'
[root@oldboy home]# grep failure /var/log/secure # 过滤并高亮
# 重新连接后,就没有了,临时生效
# 想要永久生效,写入到/etc/profile中

-c#

📌 统计包含关键字的行数

  • 这条命令的作用是 统计包含关键字 failure 的==行数==
    • ⚠️ 而不是统计关键字出现的总次数 ❌(即”个数”)
Terminal window
[root@oldboy home]# cat > hh.txt <<EOF # 创建测试文件
> Dec 7 10:00 sshd[1234]: Failed password for user (failure)
> Dec 7 10:01 sshd[1235]: Failed password for user (failure) and another failure
> Dec 7 10:02 sshd[1236]: Accepted password for user
> EOF
'总共包含3个failusre'
[root@oldboy home]# grep -c failure ./hh.txt # 统计包含failure的行数
2 <-- 统计的是行数 ✅
[root@oldboy home]# grep failure ./hh.txt # 查看具体内容
Dec 7 10:00 sshd[1234]: Failed password for user (failure)
Dec 7 10:01 sshd[1235]: Failed password for user (failure) and another failure
# -c统计的是行数,不是failure出现的总次数

-v#

📌 不包含字符串的行.对过滤到的内容取反

Terminal window
[root@oldboyedu ~]# cat 1.txt # 查看测试文件
a 111111
b 222222
c 333333
[root@oldboyedu ~]# grep a 1.txt # 正常过滤
a 111111
[root@oldboyedu ~]# grep -v a 1.txt # -v取反,排除包含a的行
b 222222
c 333333
# 顺利把包含a的行排除掉了

alias(了解)#

📌 作用: 给命令起一个外号

  • 个人感觉只是给变量赋了一个值,所以临时生效
    • 想要永久生效,写入到/etc/profile环境变量中 —> 别忘了,source生效
Terminal window
alias 外号='可执行的命令'

📌 系统外号: ls -l的外号是ll, rm -i的外号是rm

alias可以给存在的命令起外号、也可以是不存在的命令 —> 自娱自乐

type#

查看命令的别名

Terminal window
[root@rocky10 ~]# type ll # 查看ll的别名
ll is aliased to `ls -l --color=auto'
# ll 是 `ls -l --color=auto' 的别名

🌰 案例1. 给 mkdir -p 起个外号叫 mkdir

Terminal window
[root@oldboyedu ~]# alias mkdir='mkdir -p' # 设置别名
[root@oldboyedu ~]# mkdir a/b/c # 测试递归创建
[root@oldboyedu ~]# ll # 验证结果
总用量 12
-rw-r--r-- 1 root root 27 10月 31 14:36 1.txt
drwxr-xr-x 3 root root 15 10月 31 14:39 a

🌰 案例2. 给一个不存在的起外号

Terminal window
[root@oldboyedu ~]# alias vimens33='vim /etc/sysconfig/network-scripts/ifcfg-ens33' # 给长命令起别名
[root@oldboyedu ~]# vimens33 # 直接敲别名进入编辑
TYPE=Ethernet
BOOTPROTO=none
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=10.0.0.200
PREFIX=24
GATEWAY=10.0.0.2
Caution

⚠️ 以上两个案例都是临时生效,重新连接Xshell或者重新启动服务器,就没有了

  • 永久生效,请写入/etc/profile环境变量
    • 并不是**/etc/rc.local(不放变量,放可执行命令)**
Note

🌰 我们这里演示永久让grep高亮显示案例: 中间犯了一个错误 alias grep='grep --color=red'

又犯了一个错误

重启后,再次过滤,进行验证,永久生效

alias#

📌 查看系统已经存在的外号

直接回车即可

Terminal window
[root@oldboy ~]# alias # 查看所有别名
alias cp='cp -i'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mkdir='mkdir -p'
alias mv='mv -i'
alias rm='rm -i'
alias vimens33='vim /etc/sysconfig/network-scripts/ifcfg-ens33'

unalias#

📌 取消alias别名

因为默认是临时生效的,所以,重新连接后(重启后),就失效了

Terminal window
[root@oldboyedu ~]# unalias rm # 取消rm的别名
'不想退出重连,用这个命令'
Important

因为企业里面的东西都是不能删除的,特别是当你操作客户的机子时,一定要提前设置好alias别名,不要乱删

  • 数据恢复很麻烦!!! 尽量使用mv来替代rm删除键
    • 后面操控用户电脑,先给rm起别名…并提示…
Terminal window
[root@oldboy ~]# alias rm='echo 使用mv替代rm删除,不要乱删文件!!!' # 给rm设置保护别名
[root@oldboy ~]# rm -rf /home/hh.txt # 测试删除
使用mv替代rm删除,不要乱删文件!!! -rf /home/hh.txt
# 文件没有被真正删除!
[root@oldboy ~]# ll /home/hh.txt # 验证
-rw-r--r-- 1 root root 189 12月 7 10:32 /home/hh.txt
[root@oldboy ~]# unalias rm # 取消别名
[root@oldboy ~]# rm -rf /home/hh.txt # 真正删除
[root@oldboy ~]#
# 成功删除
# 用\rm也行,取消别名: \ 临时取消别名

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

核心配置文件②&&核心命令
https://www.kpyun.fun/posts/basics/core/core06/
作者
久棹
发布于
2025-07-24
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
久棹
只要胆子大,天天寒暑假!
公告
欢迎来到久棹的技术小站!本站专注 Linux 运维学习笔记分享,如有问题欢迎交流探讨 🎉
分类
标签
站点统计
文章
98
分类
11
标签
203
总字数
244,453
运行时长
0
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.13.5
文章许可
CC BY-NC-SA 4.0

文章目录