先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前在阿里
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
- 瞬态的(transient)
瞬态主机名是在系统运行时临时分配的主机名,相当于临时更改 - 灵活的
灵活主机名允许使用特殊字符的主机名
语法:hostnamectl
查看主机名:hostname
临时更改主机名:hostname [临时主机名]
永久更改主机名:编辑
(2)修改主机名(同时设置静态和瞬态主机名)
语法:hostnamectl set-hostname [主机名]
(3)设置灵活主机名
语法:hostnamectl --pretty set-hostname [主机名]
ls命令
语法:ls [选项] [目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息
在Linux中,以 .
开头的文件叫做隐藏文件
常用选项
- ls -a 列出目录下所有文件,包括以 . 开头的隐藏文件
注意:.
代表当前目录,..
代表上级目录
- ls -d 将目录像文件一样显示,而不是显示其下的文件
比如: ls -d 指定目录
- ls -l列出文件的详细信息。
注意:ls -l 可以简写成 ll,效果是一样的
- ls -n 用数字的 UID,GID 代替用户名称
- ls -R 列出所有子目录下的文件。 (递归)
- ls -r 对目录反向排序
默认是按字母从a到z排序,-r是从z到a反向排序
pwd命令
语法: pwd
作用:显示用户当前所在目录
cd命令
Linux的目录结构和文件的组织形式是以多叉树的形式组织的,几乎大部分操作系统,组织目录文件结构的时候,都喜欢用树形结构。
因为树形结构便于查找,所有的文件都必须得有唯一的标识方式,从根节点到叶子节点,路径是唯一的,反过来也是同理
语法:cd 目录名
功能:改变工作目录,也就是切换目录
在Linux中任何目录下,都默认存在两个目录(. & …)
. 单前目录
… 上一级目录
常用选项
(1)cd ..
:返回到上级目录
(2)cd /root/apache-tomcat-8.5.76/bin
:通过绝对路径访问目录
(3)cd ../webapps/
:通过相对路径打开目录
(4)cd ~
:进入根目录
cd -
返回最近访问的目录(上次访问的目录)
touch命令
语法:touch [选项] [文件]
功能:touch命令 可以新建一个不存在的文件,参数可以更改文档或目录的日期时间,包括存取时间和更改时间
常用选项:
(1) 新建文件
(2)新建多个文件
touch 文件1 文件2 ...
mkdir
语法:mkdir [选项] 目录名
功能:在当前目录下创建一个目录
常用选项
(1)直接创建一个目录
(2)递归创建多个目录
语法:mkdir -p 目录名/目录名...
rmdir 命令
rmdir是一个与mkdir相对应的命令。 mkdir是建立目录,而rmdir是删除命令
语法:rmdir 目录名
功能:删除空目录
适用对象:具有当前目录操作权限的所有使用者
语法二: rmdir -p 目录名
-p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除
rm命令
rm命令可以同时删除文件或目录
语法:rm [-f -i -r -v] [目录名]
适用对象:所有使用者
功能: 删除文件或目录
常用选项:
(1)-f 即使文件属性为只读(即写保护),也直接删除
(2)-i 删除前逐一询问确认
和默认的不带选项没啥区别
(3)-r 递归删除当前目录的所有目录和文件(包括子目录)
(4)rm使用技巧:可以使用通配符 *
rm -rf *
:删除单前目录下所有文件
rm ./ *
:删除单前目录下的所有文件
(5)rm -rf /
rm是删除,-r 是递归删除,-f是无需确强制删除
rm -rf /
递归强制删除根目录,这是一条非常危险的命令
man命令
Linux有很多命令,直接记是记不住的。那么就可以使用Linux自带的参考手册,通过 man
命令就可以访问使用Linux的参考手册
语法: man [选项] [命令]
不知道 man
命令怎么用,man 命令 还可以查自己的用法 man man
如果有些选项用不了可以使用 yum install man
命令下载man
再用 yum install man-pages
安装man
man常用选项
man手册分为8章
<1> 就是普通用户命令
<2> 是系统调用,比如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)
<3> 是库函数,比如 printf
<5>是指文件格式,比如 passwd
<6> 是给游戏留的,由各个游戏自己定义
<7> 是附件还有一些变量,比如environ
<8> 是系统管理用的命令,这些命令只能由root用户使用
cp命令
语法:cp [选项] 源文件或目录 目标文件或目录
功能:复制文件或目录
说明:cp指令用于复制或目录,如同时指定两个以上的文件或者目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息。
常用选项:
(1)-f
:强行复制文件或目录,无论目的文件或者目录已经存在
(2)-i
:覆盖文件之前先询问用户
(3)-r
:递归处理,将指定目录下的文件和子目录一并处理(会把所有source(来源)当做普通文件)
(4)-R
:和-r
类似,但是对于特殊文件(管道文件,块设备文件,字符设备文件)会进行创建操作,而不是拷贝。
(5)通配符*
拷贝,和rm
类似,可以使用通配符指定文件拷贝
mv命令
mv命令是move的缩写,可以用来移动文件或者将文件改名
语法:mv [选项] 源文件或目录 目标文件或目录
功能:
mv
命令中第二个参数类型的不同(目录或者文件),mv
命令将文件重命名或将其移至一个新目录中- 如果第二个参数类型是文件,
mv
命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所有的源文件或目录重命名为给定的目标文件名 - 第二个参数是已经存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数的源文件都移动到目标目录中
常用选项:
-f
:force强制的意思,如果目标文件已经存在,不会询问而直接覆盖-i
:若目标文件已经存在时,就会询问是否覆盖
(1)使用 mv
命令重命名
(2)使用 mv
命令 移动文件
(3)移动整个目录
cat命令
语法:cat [选项] [文件]
功能:查看目标文件的内容
注意:cat命令会将目标文件内容全部打印到屏幕上,若是目标文件内容太多,则会将所有内容全部打印到屏幕上,会不方便查看,所以cat一般查看内容较少的文件
常用选项:
(1)-p
对非空输出行编号
(2)-n
对输出的所有行编号(包括空行)
(3)-s
:不输出多行空行(多个空行只显示一行)
tac命令
语法:more
:[选项] [文件]
功能:反向查看文件内容
more命令
cat只适用于查看少量内容的文件,而 more就可以用于查看海量数据的文件,more
支持翻页
语法:more [选项] [文件]
功能:查看海量数据文件(不会一次性显示完,而是分页)
通过回车进行换页操作(按q退出)
注意:more
命令只支持下翻操作,不支持下翻操作
less命令
less工具也是对文件或其它输出进行分页显示的工具,应该是Linux上功能极其强大的文件查询工具
less
对比起 more
更加强大,more
只能向下翻页,而 less
既能向上翻,又能向下翻(通过 ↑ ↓翻页)
语法:less [选项] [文件名]
常用选项:
(1)-i 忽略搜索时的大小写
(2)-N 显示每行的行号
head命令
语法:heap [参数] [文件]
功能:head 用来显示文件内容的开头内容(默认是前10行)
常用选项:
(1)-n
<行数>:显示多少行(也可以直接 -行数
)
tail命令
语法:tail [必要参数] [选择参数] [文件]
功能:用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用语查看文件日志
常用选项:
-n<行数>
:显示最后 n 行内容(或者直接省略 n)
-f
:如果一行内容太长不换行显示
显示指定位置内容技巧(重定向和管道)
如果要显示 980行到1000行的内容
方法1:先用head查找文件前1000行数据重定向到临时文件中,再同tail命令查找临时文件中的后20行数据
方法2
用管道|
实现
|
左边是生产的数据,右边是读取的命令
> & >> & <
>
和 >>
是输出重定向
用 >
会覆盖文件内容,而 >>
是直接追加到文件里
输入重定向 <
把 tmp.txt的内容显示到屏幕上
less < tmp.txt
echo
语法:echo [字符串]
功能:显示字符串
配合 >> 追加内容
date
语法:date指定格式显示时间:date +%
常用选项:
- %H : 小时(00…23)
- %M : 分钟(00…59)
- %S : 秒(00…61)
- %X : 相当于 %H:%M:%S
- %d : 日 (01…31)
- %m : 月份 (01…12)
- %Y : 完整年份 (0000…9999)
- %F : 相当于 %Y-%m-%d
(1)显示当前时间
date +%Y/%m/%d-%H:%M:%S
date +%F/%X
(2)时间戳
时间戳:是指从 1970年1月1日开始所经历的秒数
时间转时间戳
date +%s
时间戳转时间
data -d@时间戳
cal命令
cal命令可以用来显示公历(阳历)日历
语法:cal [选项] [年份]
常用选项
(1)-3
显示系统前一个月,当前月,下一个月的月历
(2)-j
显示在当年中的第几天
(3)-y
:显示当前年份的日历
find命令
语法:find [路径] [选项]
功能:在文件树中查找文件(可能访问磁盘)
常用选项:
(1)-name
按文件名查找
(2)-size
:按文件大小查找
which命令
其实 Linux里的每一条指令都是用语言编写的
which命令可以查看系统命令的绝对路径
语法:which [命令]
grep命令
语法:grep [选项] [字符串] [文件]
功能:在文件中查找指定字符串
常用选项:
-i
:忽略大小写的不同,所以大小写视为相同
-n
:输出行号
-v
:反向选择,也就是查找不包含该字符的内容
grep -v "6" tmp.txt
:在tmp.txt中查找不包含 6
的字符串
alias命令
语言:alias [别名]=‘原名’
功能:给某条命令取别名
zip/unzip命令
zip:压缩
语法:zip [压缩文件.zip] [目录或文件]
功能:将目录或文件压缩成zip格式
常用选项:
(1)-r
:递归处理,将指定目录下的所有文件和子目录一并处理
unzip:解压
语法:unzip [解压文件名.zip]
默认解压到当前目录
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
ab8a22e2aff4149b9a4.png)
zip/unzip命令
zip:压缩
语法:zip [压缩文件.zip] [目录或文件]
功能:将目录或文件压缩成zip格式
常用选项:
(1)-r
:递归处理,将指定目录下的所有文件和子目录一并处理
unzip:解压
语法:unzip [解压文件名.zip]
默认解压到当前目录
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!