Linux,作为开源操作系统的代表,广泛应用于服务器、嵌入式系统、云计算等领域。对于初学者来说,掌握Linux的基础知识和使用步骤是进入这个领域的第一步。为了帮助大家更好地入门Linux,本文精心汇总了一系列学习资料,从基础知识到实践应用,让你轻松掌握Linux的核心技能。
linux学习资料1
经典书籍
《鸟哥的 Linux 私房菜》
《Linux 命令行大全》
《Linux 从入门到精通》
《Linux 命令行与 shell 脚本编程大全》
《深入理解 Linux 内核》
《Linux 程序设计》
《Unix 环境高级编程》
《Unix 网络编程》
linux学习资料2
常用快捷键
[tab]键
这是你不能没有的 Linux 快捷键。它将节省你 Linux 命令行中的大量时间。只需要输入一个命令,文件名,目录名甚至是命令选项的开头,并敲击 tab 键。它将自动完成你输入的内容,或为你显示全部可能的结果。如果你只记一个快捷键,这将是必选的一个。
[ctrl+c]键
这些是为了在终端上中断命令或进程该按的键。它将立刻终止运行的程序。如果你想要停止使用一个正在后台运行的程序,只需按下这对组合键。
[Ctrl + Z]键
该快捷键将正在运行的程序送到后台。通常,你可以在使用&选项运行程序前之完成该操作, 但是如果你忘记使用选项运行程序,就使用这对组合键。
[Ctrl + D]键
该快捷键将移动光标到所在行首。假设你在终端输入了一个很长的命令或路径,并且你想要回到它的开头, 使用方向键移动光标将花费大量时间。注意你无法使用鼠标移动光标到行首。这是 Ctrl+A 节省时间的地方。
[Ctrl + E]键
这对快捷键与 Ctrl+A 相反。Ctrl+A 送光标到行首,反之 Ctrl+E 移动光标到行尾。
[ Ctrl + U]键
输入了错误的命令?代替用退格键来丢弃当前命令,使用 Linux 终端中的 Ctrl+U 快捷键。该快捷键会擦除从当前光标位置到行首的全部内容。
[ Ctrl + K]键
这对和 Ctrl+U 快捷键有点像。唯一的不同在于不是行首,它擦除的是从当前光标位置到行尾的全部内容。
[ Ctrl + W]键
你刚才了解了擦除到行首和行尾的文本。但如果你只需要删除一个单词呢?使用 Ctrl+W 快捷键。使用 Ctrl+W 快捷键,你可以擦除光标位置前的单词。如果光标在一个单词本身上,它将擦除从光标位置到词首的全部字母。最好的方法是用它移动光标到要删除单词后的一个空格上, 然后使用 Ctrl+W 键盘快捷键。
[ Ctrl + Y]键
这将粘贴使用 Ctrl+W,Ctrl+U 和 Ctrl+K 快捷键擦除的文本。如果你删除了错误的文本或需要在某处使用已擦除的文本,这将派上用场。
[ Ctrl + P]键
你可以使用该快捷键来查看上一个命令。你可以反复按该键来返回到历史命令。在很多终端里,使用 PgUp 键来实现相同的功能。
[Ctrl + N]
你可以结合 Ctrl+P 使用该快捷键。Ctrl+N 显示下一个命令。如果使用 Ctrl+P 查看上一条命令,你可以使用 Ctrl+N 来回导航。许多终端都把此快捷键映射到 PgDn 键。
[Ctrl + R]键
你可以使用该快捷键来搜索历史命令。
[Ctrl+左右键]
在单词之间跳转
[Alt – d]键
由光标位置开始,往右删除单词。往行尾删
linux学习资料3
什么是 Linux
Linux 系统内核与 Linux 发行套件的区别
Linux 系统内核指的是由 Linus Torvalds 负责维护,提供硬件抽象层、硬盘及文件系统控制及多任务功能的系统核心程序。
Linux 发行套件系统是我们常说的 Linux 操作系统,也即是由 Linux 内核与各种常用软件的集合产品。
总结:真正的 Linux 指的是系统内核,而我们常说的 Linux 指的是“发行版完整的包含一些基础软件的操作系统”。
Linux 对比 Windows
稳定且有效率;
免费(或少许费用);
漏洞少且快速修补;
多任务多用户;
更加安全的用户与文件权限策略;
适合小内核程序的嵌入系统;
相对不耗资源。
Linux 系统种类
红帽企业版 Linux :RHEL 是全世界内使用最广泛的 Linux 系统。它具有极强的性能与稳定性,是众多生成环境中使用的(收费的)系统。
Fedora :由红帽公司发布的桌面版系统套件,用户可以免费体验到最新的技术或工具,这些技术或工具在成熟后会被加入到 RHEL 系统中,因此 Fedora 也成为 RHEL 系统的试验版本。
CentOS :通过把 RHEL 系统重新编译并发布给用户免费使用的 Linux 系统,具有广泛的使用人群。
Deepin :中国发行,对优秀的开源成品进行集成和配置。
Debian :稳定性、安全性强,提供了免费的基础支持,在国外拥有很高的认可度和使用率。
Ubuntu :是一款派生自 Debian 的操作系统,对新款硬件具有极强的兼容能力。Ubuntu 与 Fedora 都是极其出色的 Linux 桌面系统,而且 Ubuntu 也可用于服务器领域。
linux学习资料4
学习Linux的资料非常丰富,包括在线教程、书籍、视频教程、实践项目等。以下是一些建议的学习资料:
在线教程和网站:
Linux Journey:这是一个为初学者设计的网站,提供了从基础到进阶的Linux学习路径。
Linux Academy:提供了全面的Linux在线课程,涵盖了各种Linux发行版、系统管理、云计算等主题。
Tutorialspoint:提供了大量的Linux教程,涵盖了Linux基础、Shell编程、系统管理等内容。
书籍:
《Linux命令行与Shell脚本编程大全》:这本书是Linux命令行与Shell脚本编程的经典之作,适合初学者和进阶学习者。
《鸟哥的Linux私房菜》:这是一本非常受欢迎的Linux入门书籍,以通俗易懂的方式介绍了Linux的基础知识和常用命令。
《深入理解Linux内核》:对于想要深入了解Linux内核的学习者来说,这本书是必读的。
视频教程:
Coursera上的Linux课程:Coursera提供了多门与Linux相关的在线课程,有些课程是免费的,有些则需要付费。
Udemy上的Linux课程:Udemy也是一个提供大量在线课程的平台,其中包括很多与Linux相关的课程。
YouTube上的Linux视频教程:YouTube上有大量的Linux视频教程,涵盖了各种主题和难度级别。
实践项目:
安装和配置Linux发行版:选择一个流行的Linux发行版(如Ubuntu、Debian、Fedora等),并尝试安装和配置它。这将帮助你熟悉Linux系统的基本操作和常用命令。
搭建Linux服务器:尝试搭建一个Linux服务器,并配置各种网络服务(如Web服务器、FTP服务器、SSH服务器等)。这将帮助你深入了解Linux系统的网络功能和安全性。
参与开源项目:加入一个开源项目,并尝试为该项目贡献代码或文档。这将帮助你了解开源社区的运作方式,并提高你的编程和问题解决能力。
linux学习资料5
书籍
《Linux命令行与shell脚本编程大全》:这本书是学习Linux命令行和Shell脚本编程的经典之作,适合初学者和有一定经验的用户。
《鸟哥的Linux私房菜》:这是一本非常受欢迎的Linux入门书籍,内容详实,讲解生动。
《Linux内核设计与实现》:如果你对Linux内核感兴趣,这本书将为你提供深入的剖析。
在线课程
Coursera上的Linux课程:Coursera上有多门关于Linux的课程,包括系统管理、网络管理、安全等。
Udemy上的Linux课程:Udemy也提供了一系列关于Linux的课程,从基础到高级,应有尽有。
Linux Foundation Certified System Administrator (LFCS) 和 Certified Kubernetes Administrator (CKA):这两个认证课程也是学习Linux系统管理和Kubernetes的好资源。
博客和网站
Linux中国:这是一个专注于Linux技术的中文社区,有很多高质量的博客文章和教程。
TLDR Pages:这是一个简洁的Linux命令手册,提供了一系列常用命令的简短说明。
LWN.net:Linux专业网站,提供Linux内核和相关技术的新闻、分析和文章。
社区论坛
Stack Overflow:这是一个全球知名的编程社区,你可以在这里找到关于Linux编程和系统管理的各种问题和答案。
Red Hat论坛:Red Hat的官方论坛,有很多关于Red Hat Enterprise Linux(RHEL)的讨论和解决方案。
实践和项目
安装和配置Linux系统:通过实际安装和配置Linux系统(如Ubuntu、CentOS等),你可以加深对Linux的理解。
参与开源项目:加入开源社区,参与开源项目的开发和维护,可以让你在实践中学习Linux技术。
linux学习资料6
Linux学习路线
第一阶段:初级入门
目标是入门,不要求太精太细,原理可以不懂,但要知道概念。
● Linux系统基本操作:Linux发行版、系统安装、网络配置、远程登录、文件和目录、用户、磁盘、编辑器vi、软件安装卸载、打包压缩、系统状态监测、系统服务、系统日志、防火墙等
● shell脚本入门:正则三剑客(grep,sed,awk)、shell脚本基础知识和语法等
● 基础服务搭建和配置:NFS、FTP、Nginx、PHP、Tomcat、Redis、MySQL、Docker、Zabbix
● 网络基础知识:OSI七层网络模型、TCP/IP等
● 知道公有云概念:常见公有云阿里云/腾讯云/亚马逊云/华为云等懂基本操作,知道常见的资源(云主机、云数据库、CDN、对象存储、网络存储、快照、镜像、安全组策略等等)
第二阶段:中级进阶
目标是扩大知识面,学会解决问题的方法论,积累经验
● 网络方面要达到CCNA水平
● Linux系统相关操作非常熟练,掌握内核参数调优,熟练解决系统层面问题(系统无法启动、文件系统损坏、系统性能瓶颈定位)
● 对常见服务配置优化以及故障处理非常熟悉(Httpd、Nginx、PHP、MySQL、Redis、Tomcat、JVM等)
● 常见服务的高级用法:Nginx、MySQL高可用以及集群、Redis高可用以及集群
● 有集群架构的思路(高可用、负载均衡、分布式)
● 扩展服务:MongoDB、RabbiMQ、Kafka、Zookeeper、Etcd、ElasticSearch、Prometheus等
● 堡垒机(Jumpserver)、虚拟化(KVM、Vmware、PVE)、自动化(cobbler、Ansible、Spug)
● DevOps思想和工具使用(Jenkins、GitLab、Pipline、CI/CD)、K8s搭建和基本的维护
● Shell脚本可以熟练编写需求
● 掌握一门编程语言Python/Go,不求写项目,但会用,能实现局部功能(如写脚本工具、简单的二次开发)
● 熟练操作公有云资源并解决故障
第三阶段:高级提升
目标是具备运维体系思维、平台思维,搞清楚原理,能解决深层次的问题
● 架构师能力(通过各种开源软件设计出复杂、稳定、高效的运维架构,如高可用、负载均衡、分布式、异地多活架构等)
● 平台设计能力(为企业落地运维体系平台:CMDB平台、监控平台、虚拟化平台、日志分析平台、自动化运维平台、DevOps落地系统、K8s周边等)
● 网络能力达到CCNP水平,熟悉TCP/IP协议,能够解决Linux系统底层(内核相关、TCP相关)故障
● 编码能力(Shell、Python、Go)二次开发工具、平台。
第四阶段:专家
目标是,朝一个方向发展,深入研究,能针对企业的应用针对开源软件二次开发实现新功能,或者提出可行的、可落地的具体方案。
linux学习资料7
学习建议
● 选择合适的教材:选择经典的C语言教材,如《C程序设计语言》等,确保内容系统详尽。
● 在线学习平台:利用在线学习平台,如MOOC(慕课)网站上的C语言课程,例如Coursera、edX、bilibili等。
● 编程实践:C语言是实践出真知的语言,多动手写代码,解决实际问题,提高编程能力。
● 刷题提升算法:如果你的目标是编程竞赛或算法题,刷LeetCode等在线判题网站。
linux学习资料8
学习资源
● 《C程序设计语言》:这是C语言的经典教材,深入浅出。
● C语言中文网:提供了大量的C语言学习教程,适合初学者。
● GitHub:在GitHub上搜索C语言相关的项目,学习他人的代码,了解实际应用。
● LeetCode:提供了丰富的C语言编程题目,适合提升算法和编程能力。
● Bilibili:在哔哩哔哩上有很多高质量的网课和教学博主,如黑马程序员等。
linux学习资料9
去可视化的命令行
top: 实时动态地查看系统的整体运行情况。
sleep 10 :睡眠10秒、
&:任务在后台运行
ps -ef : 标准格式显示进程
ifconfig : 显示或配置网络设备
ls 、cd – :回到上一个目录
tab : 补全
pwd、*通配符、mkdir、touch
echo:内容打印到屏幕
rm、mv、cp、cat、head
> :重定向
Ctrl +c :终止命令
批量、高效、多用户 (Linux特点)
相对路径和绝对路径
df -dh : 磁盘整体使用量
linux学习资料10
档案内容处理
一、grep搜索文本
1.命令格式:
grep [选项] 模式 [文件…]
2.命令功能:
搜索文本的匹配内容,逐行搜索所指定的文件或标准输入,并显示匹配模式的每一行。
3.命令参数:
-b显示块号
-c仅显示各指定文件中包含模式的总行数
-i模式中字母不区分大小写
-h不将包含模式的文件名显示在该行上
-l仅显示包含模式的文件名
-n显示模式所在行的行号
-s指定文件若不存在或不可读,不提示错误信息
-v显示所有不包含模式的行
-w 精确查找
正规表达式可以是:
. 匹配任意一个字符
*匹配0个或多个*前的字符
^匹配行开头
$匹配行结尾
[]匹配[ ]中的任意一个字符,[]中可用 – 表示范围,
例如[a-z]表示字母a 至z 中的任意一个
\转意字符
4. 使用实例:
实例1:ls -l grep Jun 匹配所有有Jun 的行
ls -l grep .*Jun 匹配在Jun之前有任意字符的行
ls -l grep -c Jun 统计满足条件的总行数
ls -l grep -n Jun 在匹配行前输出其在档案中的行数
输出:
实例2:
grep -c “^$” aa.txt #统计aa.txt中的空行总数
grep “\$” aa.txt # 显示包含$ 字符的行,grep -i “jun” aa.txt #忽视大小写,查找包含jun的行
ls -l grep -v Jun #显示不匹配模式的行ls -l grep -E “Jun Jul” #显示匹配Jun或Jul模式的行
二、sed 对行匹配
1.命令格式:
sed [选项] 命令 [文件…]
2.命令功能:
主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作
3.命令参数:
-n∶使用安静(silent)模式,显示经过sed 特殊处理的那一行(或者动作)
-i∶直接修改读取的档案内容,而不是由萤幕输出。
-e: 多个匹配
常用命令:
= 显示文件行号
a 在定位行号后附加新文本信息,附加
d 删除定位行,删除
g 全局替换
i 在定位行号后插入新文本信息,插入
p 打印匹配行
q 第一个模式匹配完成后推出或立即推出
r 从另一个文件中读文本
s 使用替换模式替换相应模式
w 写文本到一个文件
4. 使用实例:
实例1:
sed -n ‘2p’ quote.txt #只打印第二行
sed -n ‘1,3p’ quote.txt #打印1-3行sed -n ‘3,$p’ quote.txt #打印3到最后一行,$为最后一行的意思
sed -n ‘/Neave/’p quote.txt #打印匹配单词Neave的行sed -n ‘/\$/’p quote.txt #查询包含$的行,特殊字符前需要使用转义字符’\’ 屏蔽其特殊含义
sed -e ‘/music/=’ quote.txt #打印所有内容,并在匹配行前一行打印行号。sed -n ‘/music/=’ quote.txt #只打印匹配行号。= 显示出行号
sed -n -e ‘/music/p’ -e ‘/music/=’ quote.txt #打印匹配行和行号sed ‘1,$d’ quote.txt #删除1到最后一行,原始文件不变,只是显示在屏幕上的字符没有这些行而已
sed ‘/company/d’ quote.txt #匹配删除sed ‘s/night/NIGHT/’ quote.txt #用NIGHT替换第一个匹配的night
sed ‘s/night/NIGHT/g’ quote.txt #用NIGHT替换全部匹配的nightsed ‘s/\$//’ quote.txt #将字符$删除,因为没有用任何字符来替换
sed -n ‘s/nurse/”Hello” &/p’ quote.txt #修改模式后带 &,将其放在匹配模式之前sed ‘s/[0-9][0-9]*/& Passed/g’ une.txt #修改模式前带&,将其放在匹配模式之后, 可以理解为& 是为匹配模式占位
sed ‘1,2 w send.out’ quote.txt #将1,2行内容写入send.out,w写sed ‘/good/ w send.out’ quote.txt #将匹配行内容写入send.out
sed ‘/.a.*/q’ quote.txt #查询模式首次出现行,并退出sed -i ‘/world/s/jint/jjjjjjj/g’ test.sh
cat dos.txt sed ‘s/^0*//g’ sed ‘s/^M//g’ sed ‘s/##//g’
#将dos.txt文件,删除行首的任意个0,删除控制字符,并用空格替换##
三、awk 对列匹配
1.命令格式:
awk [-F field-separator] ‘commands’ input-file(s)
2.命令功能:
能够依照用户定义的格式来分解输入的资料也可以依照用户定义的格式来打印资料。
3.命令参数:
-F 指定列分割符,默认用空格为分割符
$0 打印整行
$NF 打印每行的最后一个字段,$(NF-1) 倒数第二个字段
NR 打印行号
4. 使用实例:
实例1:在屏幕上输出test.txt的全部列,并将其写入wow文件中
命令:awk ‘{print $0}’ test.txt tee wow.txt
输出:
实例2:在屏幕上输出test.txt的行号,第一列和最后一列
命令:awk ‘{print NR,$1,$NF}’ test.txt
输出:
实例3:
awk ‘BEGIN{print”Name\n———“}{print $1}END{print “end-of reports”}’ une.txt #在屏幕上加入报告头,和信息尾
awk ‘{if($4~/good/)print $1}’ grade.txt #将第四列与good匹配,打印匹配行的第一列awk ‘$3==”48″ {print $0}’ grade.txt #精确匹配,只能是48
awk ‘{if($3~/48/) print $0}’ grade.txt #模糊匹配,第三列有48即可awk ‘END {print NR}’ grade.txt #查看整个记录的总行数
awk ‘{print NF,NR,$0}END{print FILENAME}’ grade.txt #NF记录的总列数,NR 行数,$0 全部列,并在结尾处添上 文件名
Linux的世界充满了无限的可能和挑战,但只要你持之以恒、勇于探索,必定能够在这片广阔的天地上找到自己的位置。让我们一起踏上Linux的学习之旅,探索这个强大而灵活的操作系统背后的奥秘吧!
本文由用户 shuwan 上传分享,若有侵权,请联系我们(点这里联系)处理。如若转载,请注明出处:https://www.dzlps.cn/doc/w1697.html