老男孩note

1、SRE运维=网站稳定性工程师:数据不丢、网站不倒、用户体验好、安全运行
2、ubuntu
3、Linux组成:各种应用程序(linux各种命令,服务)、命令解释器(shell,解释运行Linux命令)、Linux内核(控制硬件)
如init 0,关机的过程
4、发行版本:通过内核+命令解释器+不同应用程序/桌面组成的
5、主流Linux系统:
Debian系列:Debian系统、ubuntu系统
红帽系列:RHEL(属于IBM)、centos系统(被红帽收购、已停服)、Rocky Linux
国产系列:中标麒麟、红旗、阿里、腾讯、华为欧拉系统
其他
6、https://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso
net.ifnames=0 biosdevname=0
用于让网卡名字变成ethx形式 eth0 eth1,centos 7中默认是ens33
7、ip a
ip(公网ip,局域网ip)
局域网ip:一般10.0.0.XXX 192.168.XX.XX 172.16.XXX.XXX
端口:
服务 远程连接服务 sshd 默认的端口22
网站服务 http 80
网站服务加密 https 443
端口号可以修改,上面的端口号都是默认的
ip可以修改,修改内网ip地址。公网ip是固定了。nmtui命令或者网卡配置文件修改
8、远程连接排查:
ping 10.0.0.200
防火墙,Selinux
telnet 10.0.0.200 22
9、[root@oldboy-85-vip-king ~]#
~表示当前用户的家目录 当前是root用户,所以是root用户的家目录 /root目录, root对应# ,普通用户对应$
主机名务必要修改,如果不修改默认是localhost
10、linux目录:一切从根开始,形式一个倒挂的大树
ls -l /etc/sysconfig/network-scripts/ifcfg-eth0 网卡配置文件的路径
11、命令行
光标移动到行首:ctrl+a
光标移动到行尾:ctrl+e,
把光标所在位置到行首的内容剪切(删除):ctrl+u
清屏:ctrl+l 用鼠标滚轮可以滚到之前的内容
取消当前命令:ctrl+c
12、shutdown -h now 立刻关机
或 shutdown -h 10 10分钟后关机 shutdown -c 取消关机
shutdown -r now 或 shutdown -r 10
13、systemctl status firewalld.service 查看防火墙状态
14、/etc/ 系统服务配置文件的目录,存放系统,服务,命令的配置。如主机名、网卡、配置文件等
类似C盘
/home/ 普通用户的家目录
/root/ root用户家目录,皇宫
/dev/ device,设备文件目录,硬盘、光盘
/tmp/ 临时目录
/proc/ 系统服务,进程信息,虚拟目录不占磁盘空间
/bin/ => /usr/bin/ 二进制文件 如命令 ping ls /bin/ping
/sbin/ => /usr/sbin/ 超级命令 只有root可以使用 如 reboot ls/sbin/reboot shutdown ls/sbin/shutdown
/boot/ 引导系统启动的目录
/lib /lib64 库文件,依赖
/lost+found 系统宕机,临时保存数据位置
/var 日志
15、
绝对路径:/etc/hostname/
/etc/sysyconfig/network-scripts/ifcfg-eth0/
相对路径:不是从根开始的路径
16、如果想上多层可以用 cd ../.. /形式
17、ls -lrt /etc/ -r是逆序 -t 按照修改时间 ll -rt /etc/
18、centos7的内核是 3.10.0 查内核命令:uname -a uname -r
19、linux组成:linux内核、命令解释器、外围的应用系统(命令、服务)
20、同时处理多个文件
touch a b c d e f
mkdir dira dirb dirc
mv file ....... dir
21、cp -r递归复制,复制目录及目录的内容
cp -dpr -p复制的时候保持属性不变 -d可以复制软链接 等价于 cp -a
mkdir -p 带父目录创建目录
cp的隐藏功能:备份
22、echo {1..10} 显示1-10 {}生成序列
touch {1..10} 创建10个文件 mkdir {1..10}创建10个目录
echo lidao{01..10} echo {a..z} ehco{A..Z}
23、cat -n /etc/passwd 显示内容并显示行号
合并 cat /etc/hostname /etc/passwd
cat /etc/hostname /etc/passwd >>2.txt
/etc/passwd 是 Linux 系统中用于存储用户账户基本信息的文本文件,包括用户名、密码(已加密或显示为占位符)、用户 ID、组 ID、用户信息、主目录和登录 Shell 等
24、配置yum源
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
下载 ,命令1
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
命令2
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
常用工具
yum install -y tree vim wget bash-
completion bash-completion-extras lrzsz net-
tools sysstat iotop iftop htop unzip nc nmap
telnet bc psmisc httpd-tools bind-utils
nethogs expect
娱乐命令
yum install -y sl cowsay
tree命令 sl命令
25、
vi系统自带
cat /etc/sysconfig/network-scripts/ifcfg-eth0 >>/tmp/vim.log
shift+g最后一行 gg第一行 10gg第10行
:set nu 行号 :set nonu 取消显示行号
shift+6 光标移动到行首 shift+4光标移动到行尾
批量删除 ctrl+v 选择区域 按d 删除
批量删除 ctrl+v 选择区域 按I 写内容 按Esc 等一下
26、
物理服务器,购买物理设备,租机房,带宽。。各种费用
公有云:云服务器
私有云:虚拟机/虚拟化
27、ll -d /etc/ 查看目录本身的属性信息 ll /etc/ 查看目录下面的文件信息
28、修改主机名:
hostnamectl set-hostname 新的主机名就行
hostname 查看
exit重新登录下
/etc/hosts 主机名和ip对应关系
/etc/rc.local 开机自启动配置文件 第1次使用这个文件之前需要给/etc/rc.d/rc.local增加执行权限
chmod +x /etc/rc.d/rc.local /etc/rc.local本质是个快捷方式(软连接),源文件是/etc/rc.d/rc.local
清空文件 >/etc/issue 或 echo >/etc/issue
29、
tail -n 30 /var/log/secure tail -f /var/log/secure tail /var/log/secure
ssh远程连接的命令 ssh -p 22 root@10.0.0.200
/proc 是虚拟目录,不会占用磁盘空间
lscpu 查看cpu信息,颗数,核心数
座 Socket: cpu颗数 CPU(s) 核心数
我的电脑一颗cpu,4个内核,8个逻辑处理器(线程数)
30、
查看日志不要使用,cat、vim
free -h 直观显示内存
head -5 /etc/passwd
31、统计/etc/services文件有多少行
wc -l /etc/services
过滤日志中的错误信息:grep 'Failed password' /var/log/secure |wc -l cat /var/log/secure |grep 'Failed password'|wc -l
grep 'Failed password' /var/log/secure |wc -l 的性能会更好,因为 grep 可以直接打开文件进行搜索,避免了 cat 命令先读取文件内容再传递给 grep 的额外开销。
在处理大文件时,这种性能差异会更加明显
grep Failed password /var/log/secure 不加单引号或者双引号,会在password文件和/var/log/secure文件搜索Failded这个内容
32、which 命令
diff vimdiff
sort -n 2.txt sort -nr 2.txt -r 逆序 -n 按照数字进行对比
sort -t ':' -rnk3 /etc/passwd -k要在最后
ll /etc/|sort -nrk5|head -3
sort -t ':' -nrk3 /etc/passwd
sort -nrk2 -nrk4 day005-08-sort.txt 优先对第2列排序,第4列是辅助的
sort -t '.' -nr -k3,3 -k4,4 sort-20k.txt 指定分隔符,多列排序的时候容易出现排序失误。这时候需要我们手动告诉sort, 排序的范围
sed -i 's|.| |g' sort-20k.txt
-i 选项表示直接在原文件上进行修改。
s 是替换命令,s|pattern|replacement|flags 是其基本格式。这里用竖线 | 作为分隔符,也能用斜杠 /,即 s/. / /g 。
. 对 . 进行转义,因为 . 在正则表达式里有特殊含义,转义后就表示普通的 . 字符。
(空格)是要替换成的内容。
g 是标志,表示全局替换,也就是把文件里所有的 . 都替换成空格
33、sort secure-ip.txt |uniq -c |sort -rn |head -5
uniq只能对相邻的行进行合并(去重),如果不相邻,需要通过sort命令调整为相邻的。先sort,然后uniq
date +%F-%w-%H:%M:%S date +%Y-%m-%d-%w-%H:%M:%S date +%Y-%m-%d-%w-%T date +%F-%T
date -d '-1day' 一天之前 date -d '1day' 一天之后
改时间 date -s '20221111'
ntpdate ntp1.aliyun.com
timedatectl set-timezone Asia/Shanghai
timedatectl status
34、特殊符号` `,反引号里面的 命令 会被 优先执行 ll `which find`
touch backup-etc-`date +%F'.txt
35、
查看目录大小,也可以查文件大小 du -sh /etc/
[root@oldboy etc]# ll -h /tmp/
总用量 12K
-rw-r--r--. 1 root root 1.2K 4月 11 17:52 2.txt
-rwx------. 1 root root 836 4月 9 16:32 ks-script-O_WQn4
-rw-r--r--. 1 root root 369 4月 11 19:02 test.log
drwx------. 2 root root 6 4月 9 16:37 vmware-root_945-4013199049
-rw-------. 1 root root 0 4月 9 16:27 yum.log
2.txt 文件大小是 1.2K,这里的 K 表示千字节,即 1.2 千字节,换算成字节就是 1.2×1024 = 1228.8 字节
836 和 369 应该是 836B 和 369B,但在 ls -lh 的输出中,为了遵循简洁和可读性原则,省略了 “B” 单位
ks - script - O_WQn4 文件大小为 836 字节,
test.log 文件大小是 369 字节,
yum.log 文件大小为 0 字节,
文件夹 vmware - root_945 - 4013199049 的大小显示为 6 字节,
这里表示的是该文件夹的元数据等信息占用的空间大小,而不是文件夹内文件的总大小
磁盘空间使用情况 df -h
查看inode的使用情况命令 df -i
36、tar czf etc.tar.gz /etc/ c create 创建包(打包) z gzip 压缩 f选项则指定了归档文件的名称为 etc.tar.gz
tar tf etc.tar.gz 查看 t list 列表,查看压缩包内容
tar xf etc.tar.gz 解压 x extract 解压
tar xf etc.tar.gz -C /opt/ 解压到指定目录 -C
解压 unzip etc.zip
file命令查看详细文件类型 text、data、二进制文件
是存放在目录的block中的. 没有存放在inode中,所以文件名不是文件属性
37、
grep -niv 'Failed password' /var/log/secure
ps -ef|grep sshd
ps -ef|grep crond crond 进程 执行各种定时任务
一个网站由来:公有云服务器、域名、备案
find /etc/ -type f -name 'hostname'
find / -type f -name 'ls'
find /etc/ -type f name '.conf'
1M等于1024KB或者1M等于1024
1024B,KB读作千字节,B读作字节,“KB” 有时会被省略为 “K” 来表示千字节
体会下find /root/ -name 'root' 和 find /root/ | grep 'root'的不同
找出/etc/中以.conf结尾大于10kb修改时间是7天之前的文件
find /etc/ -type f -name '.conf' -size +10k -mtime +7
ll -h $(find /oldboy/find/ -type f -name '
.txt')
ll -h `find /oldboy/find/ -type f -name '*.txt'`

find /oldboy/find/ -type f -name '.txt'|ls -lh 不合适
ls -lh 忽略了管道输入,它默认不会使用管道传递过来的内容作为其要显示的文件列表
find /oldboy/find/ -type f -name '
.txt'|xargs ls -lh

[root@oldboy ~]# find /oldboy/find/ -type f -name '*.txt'|xargs ll -h
xargs: ll: 没有那个文件或目录
这个错误是由于 xargs 尝试执行 ll 命令,但 ll 并不是一个标准的系统命令,它实际上是 ls -l 的别名,xargs 无法直接识别别名导致的

find /oldboy/find/ -type f -name '*.txt' -exec ls -lh {} ;
-exec是find选项,表示find找出文件后要执行的命令
{} 表示前面find命令找出的文件.
;表示命令结束,固定格式

find /oldboy/find/ -type f -name '.txt' -exec tar czf /tmp/find2.tar.gz {} ; 有坑,-exec ;执行方式 1个文件1个文件的压缩
修改后:find /oldboy/find/ -type f -name '
.txt' -exec tar czf /tmp/find2.tar.gz {} +

find / -type f -name 'ls'
find /oldboy/find/ -type f -name '*.txt'|xargs cp -t /tmp/

38、
alias #查看所有别名。
alias ll #查看ll别名对应的命令。
l. 或l. -l 查看隐藏文件
对于rm,cp,mv命令的别名,还要额外配置下,否则不生效

[root@oldboy ~]# find /bin/ -type f -name 'id'
/bin/id
[root@oldboy ~]# find /bin -type f -name 'id'
为啥下面的命令查不到数据
一般把后面的/ 带上,或者是链接文件,链接文件就要加-L,find -L /bin -type f -name 'id'

posted @ 2025-04-13 16:31  2025再坚持  阅读(48)  评论(2)    收藏  举报