【SRE笔记 2022.8.17 Linux基础配置文件】

Linux中的乐趣

跑火车

  • 1 能上网
  • 2 配置好epel源
  • 3 安装sl
  • 4 执行
    在这里插入图片描述

重要配置文件(接上期笔记)

8 配置用户登录系统之后显示提示内容的文件

  • /etc/motd
  • 该文件是空文件,可输入内容。
[root@aaa ~]# echo "你好" > /etc/motd 
[root@aaa ~]# cat /etc/motd 
你好
  • 重新登录系统后
WARNING! The remote SSH server rejected X11 forwarding request.
Last login: Wed Aug 17 17:48:17 2022 from 10.0.0.1
你好      # motd文件内容
[root@aaa ~]# 

9 声明Red Hat版本号和名称信息的文件

  • /etc/redhat-release
[root@aaa ~]# cat /etc/redhat-release 
CentOS Linux release 7.9.2009 (Core)
[root@aaa ~]# uname -r    # 查看内核  查看所有 uname -a
3.10.0-1160.71.1.el7.x86_64

10 Linux参数配置文件

  • /etc/sysctl.conf(系统优化)
[root@aaa ~]# cat /etc/sysc
sysconfig/   sysctl.conf  sysctl.d/    
[root@aaa ~]# cat /etc/sysctl.conf 
# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
  • 配置完毕,sysctl -p 生效。

11 配置系统的环境变量/别名等的配置文件

  • /etc/profile、/etc/bashrc。
    如PS1变量

/usr目录介绍

1 /usr/local

  • 编译安装软件默认的位置路径
  • 相当于windows的c:\programe files。

2 /usr/src

  • 程序源代码目录

/var目录

1 /var/log/message

  • linux系统日志文件,查询系统故障。
[root@aaa log]# tail -5  messages 
Aug 17 18:16:38 aaa nm-dispatcher: req:1 'dhcp4-change' [eth0]: new request (2 scripts)
Aug 17 18:16:38 aaa nm-dispatcher: req:1 'dhcp4-change' [eth0]: start running ordered scripts...
Aug 17 18:18:43 aaa systemd: Starting Cleanup of Temporary Directories...
Aug 17 18:18:43 aaa systemd: Started Cleanup of Temporary Directories.
Aug 17 18:20:01 aaa systemd: Started Session 3 of user root.

2 /var/log/secure:安全日志(ssh日志记录)

  • 该日志需要监控。
    -ssh登录失败,成功等,以登陆失败查询日志如下
[root@aaa log]# tail -f 5  secure 
tail: cannot open ‘5’ for reading: No such file or directory
==> secure <==
Aug 17 18:28:47 aaa sshd[2202]: pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root"
Aug 17 18:28:49 aaa sshd[2202]: Failed password for root from ::1 port 45544 ssh2
Aug 17 18:28:50 aaa unix_chkpwd[2205]: password check failed for user (root)
Aug 17 18:28:50 aaa sshd[2202]: pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root"
Aug 17 18:28:52 aaa sshd[2202]: Failed password for root from ::1 port 45544 ssh2
Aug 17 18:28:52 aaa unix_chkpwd[2206]: password check failed for user (root)
Aug 17 18:28:52 aaa sshd[2202]: pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root"
Aug 17 18:28:54 aaa sshd[2202]: Failed password for root from ::1 port 45544 ssh2
Aug 17 18:28:54 aaa sshd[2202]: Connection closed by ::1 port 45544 [preauth]
Aug 17 18:28:54 aaa sshd[2202]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=localhost  user=root

3 /var/log/dmesg

  • 记录硬件信息加载情况的日志文件,也可通过dmesg命令查看。
    、、
[root@aaa log]# dmesg | head -5
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 3.10.0-1160.71.1.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Tue Jun 28 15:37:28 UTC 2022
[    0.000000] Command line: BOOT_IMAGE=/vmlinuz-3.10.0-1160.71.1.el7.x86_64 root=/dev/mapper/centos-root ro crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap biosdevname=0 net.ifnames=0 rhgb quiet LANG=en_US.UTF-8
[root@aaa log]# head -5 dmesg
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 3.10.0-1160.71.1.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Tue Jun 28 15:37:28 UTC 2022
[    0.000000] Command line: BOOT_IMAGE=/vmlinuz-3.10.0-1160.71.1.el7.x86_64 root=/dev/mapper/centos-root ro crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap biosdevname=0 net.ifnames=0 rhgb quiet LANG=en_US.UTF-8

/proc目录

  • 进程和内核信息的文件
  • 1 /proc/cpuinfo :cpu信息
  • 2 /proc/meminfo:内存信息
  • 3 /proc/loadavg:系统的平均负载
  • 4 /proc/mounts:设备挂载明细
  • 5 /proc/interrupts:系统中断信息

/dev目录

  • /dev/sda 磁盘信息
  • /dev/null 黑洞
  • /dev/zero 无限零资源

cp命令

  • cp -r 复制目录,单cp只能复制文件
  • cp -p 保持属性
  • cp -a (a包括d p r三个参数),d代表设备。
  • cp -t 目标 源(源和目的调换)
  • mv 的用法和cp类似
  • rm 删除目录或文件 rm -rf 强制删除, rm -r 删除目录(递归删除)

/tmp目录

-临时文件目录,可以当做回收站。
-不要全路径删除文件

文件内容编辑命令vi&vim

vi

  • 用法同VIM。

vim

  • vim需要安装。
yum install -y vim-enhanced

vim的三种模式

普通模式
  • vim打开文档即进去普通模式,在普通模式下按u撤销。
编辑模式
  • 按"i/I a/A o/O"进入编辑模式,按Esc回到普通模式
  • i 在当前光标所在位置插入文字
  • A 在当前光标所在行尾最后一个字符处开始插入文件,和I相反
  • I 在当前光标所在行首最后一个非空字符处开始插入文件,和A相反
  • O 在当前所在行的上一行出入新的一行。
  • o 在当前所在行的下一行出入新的一行。
  • 命令模式:输入“ :、/、? ”后,可输入w(保存),q(退出)!(强制)。按esc回到普通模式。
  • 命令模式下
  • :set nu 显示行号
  • :set nonu 取消行号
vim的快捷键
移动光标
  • G 跳转到文件结尾行首字母
  • gg 跳转到文件首行首字母
  • $ 跳转到行尾
  • 0 跳转到行首
  • ngg 跳转到第n行首
  • n【按回车】移动n行
  • H 跳转到首行首字母
  • M 跳转到中间行首字母
  • L 跳转到结尾行首字母
搜索
  • /内容 向下搜索,此时按n是跳转到下一个内容,N是跳转到上一个内容。
  • ?内容 向上搜索,此时按n是跳转到下一个内容,n是跳转到上一个内容。
替换
  • %s/A/B/g,把A替换成B,(s 为替换,g为globe)
  • 如果A或B中有斜线,此时可把分割的斜线换成#或@。
  • 替换部分内容
  • :n1,n2s/A/B/g,替换n1到n2行,寻找A替换B。,如果替换内容中包含/,可用#或@替换。
复制粘贴,删除
  • yy 复制当前行
  • nyy 复制从当前开始的n行(包括当前行)
  • p 粘贴(粘贴到当前行的下一行)
  • P粘贴(粘贴到当前行的上一行)
  • dd 删除当前行
  • ndd 删除 删除从当前行开始的n行
  • x 删除光标后字符
  • X删除光标前字符
  • d1G 删除当前行至第一行
  • dG 删除当前行至最后一行 按回车
  • d0 删除当前光标文本至行首
  • d$ 删除当前光标文本至行尾
  • 在编辑文件的同时,定位到某一行
[root@aaa ~]# vim aaa.txt +22  #定位到22行

在这里插入图片描述

查看命令cat

  • cat -n 查看的时候显示行号。
[root@aaa ~]# cat -n aaa.txt 
     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
    11	games:x:12:100:games:/usr/games:/sbin/nologin
    12	ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

输入内容打印内容命令 echo

  • echo + 内容 内容可加单引号或双引号,也可不加。连续执行命令用分号来分割。
[root@aaa ~]# echo 123 ; echo 333
123
333
  • echo -n 不换行
[root@aaa ~]# echo -n 123 ; echo  333
123333
  • echo -e 支持转义字符
  • \n 相当于换行
[root@aaa ~]# echo  "big\nsmall"
big\nsmall
[root@aaa ~]# echo  -e "big\nsmall"
big
small
  • \t 相当于tab
[root@aaa ~]# echo  "big\tsmall"
big\tsmall
[root@aaa ~]# echo -e  "big\tsmall"
big	small

more/less 查看命令

  • less -N 显示行号。

head命令

  • 默认查看头10行
  • head -n 显示开头n行
[root@aaa ~]# head -n 5 aaa.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

tail命令

  • tail -n 显示结尾n行
  • tail -f 动态、实时的跟踪文件尾部的变化,

grep命令

  • grep [选项] 内容 文件
[root@aaa ~]# grep root aaa.txt  # 过滤含有root字符串的行
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin

–color-auto 过滤的内容显示颜色

参数 -v 取反

[root@aaa ~]# grep -v root aaa.txt 
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

参数 -i不区分大小写

[root@aaa ~]# grep -i root aaa.txt 
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
ROOT

参数 -E 同时过滤多个字符串 grep -E = egrep

[root@aaa ~]# grep -E "daemon|root" aaa.txt (grep -E 也可替换为egrep)
root:x:0:0:root:/root:/bin/bash
daemon:x:2:2:daemon:/sbin:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin

参数-o,只输出匹配的内容

如果过滤字符串aaa,则只会显示aaa,

[root@aaa ~]# grep -o Nobody aaa.txt 
Nobody

参数-n过滤出的内容,在文件中的行号

[root@aaa ~]# grep -n  Nobody aaa.txt 
13:nobody:x:99:99:Nobody:/:/sbin/nologin

特殊注意

[root@aaa ~]# grep -n  "." aaa.txt   # 此处的.代表任意字符 该命令能实现cat -n的效果。
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

参数 -w 按单词过滤**

注意是按单词!

序列

中括号序列

{1…10} {a…z} {A…Z}

seq命令 数字序列

[root@aaa ~]# seq 2 5
2
3
4
5
  • 指定空格为分隔符,类似echo的形式
[root@aaa ~]# seq -s " " 5
1 2 3 4 5
[root@aaa ~]# echo {1...5}
{1...5}

-w 参数

[root@aaa ~]# seq -w -s " " 11   # 序列要大于10。
01 02 03 04 05 06 07 08 09 10 11
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学习使我清醒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值