先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前在阿里
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
[✡root@oldboy ~]# localectl set-locale LANG=en\_US.UTF-8
[✡root@oldboy ~]# source /etc/locale.conf
[✡root@oldboy ~]# cat /etc/locale.conf
LANG=en_US.UTF-8
故障案例-中文乱码排查流程
原因
排查
查看xshell字符集
查看系统字符集
是否一致↑↑↑
解决
方法1
修改xshell字符集(不通用)
方法2
修改Linux字符集
※特殊符号
引号相关
' ' 单引号,所见即所得
echo '$LANG {1..5}'
" " 双引号,解析命令,但是需要与` `或$( )结合
echo "$LANG {1..5}"
不加引号
与双引号类似,支持花括号(通配符)
` ` 反引号,==$( )与后者作用相同,与双引号类似解析命令
echo $LANG {1..5}
优先执行里面的命令
重定向符号
含义
改变数据流向
箭头的方向就是水流方向
>或1>
标准输出重定向
先清空文件内容再写入
>>或1>>
标准输出追加重定向
追加内容到文件尾部
2>
标准错误输出重定向
先清空文件然后把错误信息写入文件中
2>>
标准追加错误输出重定向
把错误信息追加到文件结尾
2>&1
同时把错误信息或正确信息都记录到文件中
alex >>oldboy.txt 2>>oldboy.txt
< 或者0<
标准输入重定向
用来指引命令从哪里读取数据
用到小于号的命令 tr xargs
<< 或者0<<
标准追加输入重定向
只用来和cat配合 向文件中追加多行内容
cat >>oldboy.txt<<EOF
标准输出 数字1 把正确信息写入文件中
错误输出 数字2 命令的错误提示写入到文件,定向任务会用到
数字0 用于和特定命令配合
我们看一下2>&1↓↓↓↓↓↓
[✡root@oldboy /tmp]# alex >>oldboy.txt 2>&1
[✡root@oldboy /tmp]# echo alex oldboy >>oldboy.txt 2>&1
[✡root@oldboy /tmp]# cat oldboy.txt
-bash: alex: command not found
alex oldboy
| 管道符
含义
把前一个命令的结果通过管道传递给后面命令
管道默认传递的是文字符号
find和|xargs配合
|xargs 把管道传递的内容从文字符号---->文件名(参数)
|xargs 后面不支持别名
例子
find后的 -exec
把前面的命令依次执行到后面的命令中
找出/oldboy下以.txt结尾的文件并把他们显示(ls -l)
方法一:反引号
ls -l `find /oldboy/ -type f -name '\*.txt'`
方法二:管道
find /oldboy/ -type f -name '\*.txt'|xargs ls -l
方法三: -exec
find oldboy/ -type f -name '\*.txt' -exec ls -l {} \;
测试 --创建环境(三种方法)
找出/oldboy下面以.txt结尾的文件把他们显示(ls -l)
创建环境
mkdir -p /oldboy/lidao
touch /oldboy/oldboy{01..5}.txt /oldboy/lidao/alex{01..5}.txt
1.反引号
[✡root@oldboy ~]# ls -l $(find oldboy -type f -name '\*.txt')
-rw-r--r-- 1 root root 0 Apr 16 11:00 oldboy/lidao/alex01.txt
-rw-r--r-- 1 root root 0 Apr 16 11:00 oldboy/lidao/alex02.txt
-rw-r--r-- 1 root root 0 Apr 16 11:00 oldboy/lidao/alex03.txt
-rw-r--r-- 1 root root 0 Apr 16 11:00 oldboy/lidao/alex04.txt
-rw-r--r-- 1 root root 0 Apr 16 11:00 oldboy/lidao/alex05.txt
-rw-r--r-- 1 root root 0 Apr 16 11:00 oldboy/oldboy01.txt
-rw-r--r-- 1 root root 0 Apr 16 11:00 oldboy/oldboy02.txt
-rw-r--r-- 1 root root 0 Apr 16 11:00 oldboy/oldboy03.txt
-rw-r--r-- 1 root root 0 Apr 16 11:00 oldboy/oldboy04.txt
-rw-r--r-- 1 root root 0 Apr 16 11:00 oldboy/oldboy05.txt
2.管道
[?root@oldboy ~]# find oldboy/ -type f -name '\*.txt'|xargs ls -l
-rw-r--r-- 1 root root 0 Apr 16 11:00 oldboy/lidao/alex01.txt
-rw-r--r-- 1 root root 0 Apr 16 11:00 oldboy/lidao/alex02.txt
-rw-r--r-- 1 root root 0 Apr 16 11:00 oldboy/lidao/alex03.txt
-rw-r--r-- 1 root root 0 Apr 16 11:00 oldboy/lidao/alex04.txt
-rw-r--r-- 1 root root 0 Apr 16 11:00 oldboy/lidao/alex05.txt
-rw-r--r-- 1 root root 0 Apr 16 11:00 oldboy/oldboy01.txt
-rw-r--r-- 1 root root 0 Apr 16 11:00 oldboy/oldboy02.txt
-rw-r--r-- 1 root root 0 Apr 16 11:00 oldboy/oldboy03.txt
-rw-r--r-- 1 root root 0 Apr 16 11:00 oldboy/oldboy04.txt
-rw-r--r-- 1 root root 0 Apr 16 11:00 oldboy/oldboy05.txt
如果管道后不加xargs的话
[✡root@oldboy ~]# find oldboy/ -type f -name '\*.txt'|ls -l
total 36
-rw-------. 1 root root 1505 Mar 26 14:05 anaconda-ks.cfg
-rw-r--r-- 1 root root 686 Mar 28 19:05 bashrc
-rw-r--r-- 1 root root 2523 Apr 15 11:54 Centos-7\_(1).repo
drwxr-xr-x 3 root root 18 Apr 6 19:20 data
-rw-r--r-- 1 root root 712 Apr 7 22:59 day08vim
drwxr-xr-x 81 root root 8192 Apr 10 12:31 etc
drwxr-xr-x 3 root root 119 Apr 16 11:00 oldboy
-rw-r--r-- 1 root root 10 Apr 16 10:33 oldboy.txt
-rw-r--r-- 1 root root 970 Apr 4 16:13 passwd.bak
3.-exec
[✡root@oldboy ~]# find oldboy/ -type f -name '\*.txt' -exec ls -l {} \;
-rw-r--r-- 1 root root 0 Apr 16 11:00 oldboy/lidao/alex01.txt
-rw-r--r-- 1 root root 0 Apr 16 11:00 oldboy/lidao/alex02.txt
-rw-r--r-- 1 root root 0 Apr 16 11:00 oldboy/lidao/alex03.txt
-rw-r--r-- 1 root root 0 Apr 16 11:00 oldboy/lidao/alex04.txt
-rw-r--r-- 1 root root 0 Apr 16 11:00 oldboy/lidao/alex05.txt
-rw-r--r-- 1 root root 0 Apr 16 11:00 oldboy/oldboy01.txt
-rw-r--r-- 1 root root 0 Apr 16 11:00 oldboy/oldboy02.txt
-rw-r--r-- 1 root root 0 Apr 16 11:00 oldboy/oldboy03.txt
-rw-r--r-- 1 root root 0 Apr 16 11:00 oldboy/oldboy04.txt
-rw-r--r-- 1 root root 0 Apr 16 11:00 oldboy/oldboy05.txt
表示位置
~ 用户的家目录
.. 当前目录的上级目录
. 点开头的隐藏文件 一个点当前目录
- 切换上一次的目录 cd - su -
表示简单判断
&& and 并且,当前一个指令执行成功时,执行后一个指令
|| or 或者,当前一个指令执行失败后,执行后一个指令
表示判断
#
配置文件注释
root用户命令提示符
$
变量前需要加的符号
取变量内容 $LANG $PATH
$( ) ==`` 反引号
;
命令结束,连续不同命令的分隔符
!
逻辑运算中的“非”(not)
!ls
找出最近一次使用过的以ls开头的命令并执行
history |grep ls
利用管道筛选历史记录
※通配符
作用
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.youkuaiyun.com/topics/618635766)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
利用管道筛选历史记录
※通配符
作用
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.youkuaiyun.com/topics/618635766)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**