1.Linux背景知识

1.1 Linux是什么?

Linux是⼀个操作系统. 是和Windows属于"并列"的关系.
Unix & Linux 发展历程图(出自51课堂)
![[Pasted image 20260725170616.png]]

  1. 1969−1970年,⻉尔实验室的 Dennis Ritchie(丹尼斯·里奇) 和 Ken Tompson(肯·汤普逊) 开发了Unix操作系统。

他们本来是想开发⼀个操作系统,在开发的过程中,发现现有的编程语⾔不太好⽤,于是两个⼈便先开发了⼀个编程语⾔,于是C语⾔就诞⽣了。

Dennis Ritchie(丹尼斯·里奇) 在2011年就去天堂写代码了.en Tompson(肯·汤普逊)后来在google⼜参与发明了Go语⾔

  1. Unix ⽕了之后,衍⽣出很多的分⽀.其中有⼀⽀为"Minix".由荷兰Andrew S. Tanenbaum教授开发.源代码开放给⼤学教学和研究⼯作.(MINIX含义为"⼩型的UNIX")
  2. 1991年,还在读⼤学的芬兰⼈Linus Benedict Torvalds(1969年12⽉28⽇出⽣,当时22岁)基于Minix的启发,开发出了Linux的第⼀个版本.

值的⼀提的是,Linus在开发的时候,觉得现有的版本管理⼯具不太⽅便.于是开发了⼀个新的版本管理⼯具.也就是现在最⼴泛使⽤的git

Linus⼤佬现在50多岁了,但是仍然在互联⽹上⾮常活跃.经常会拍⼀些视频(IT届的活化⽯).在B站上就可以找到.

https://www.bilibili.com/video/BV1qv411b79d?from=search&seid=3828654573220073441

经过这么多年的发展,Linux已经成为世界第⼀⼤操作系统

有的同学可能表⽰,Linux都是世界第⼀⼤操作系统了,咋还没听说过?其实安卓系统就是基于Linux进⾏的开发

虽然⽇常⽣活中,⼤家对Linux的感知不⾼,但是作为⼀个程序员,在实际的⼯作中,⽆论你从事哪⽅⾯的开发:前端/后端/运维/算法/测试…多多少少都需要接触Linux开发.

1.2 Linux发⾏版

Linux严格意义来说只是⼀个"操作系统内核".⼀个完整的操作系统=操作系统内核+配套的应⽤程序.
由于Linux是⼀个完全开源免费的内核,因此有些公司/开源组织⼜基于Linux内核,提供了不同的配套程序.这就构成了不同的"发⾏版"

Red Hat Enterprise Linux

红帽应该是网工最熟悉的Linux版本之一,它是一款专为企业或商业目的而设计的 Linux 发行版。
Red Hat通常是服务器环境的首选,因为它的稳定性和定期的安全补丁可以提高其整体安全性。[[Pasted image 20260725173011.png]]

Gentoo

Gentoo这个发行版,真是为专业用途和专家量身打造的。它从一开始就考虑到用户要用的软件包。
对于刚接触Linux的新手来说,Gentoo可能不是最佳选择。
Gentoo更适合那些想深入了解Linux操作系统细节的人。它鼓励用户自己动手编译软件包、配置系统,从而实现最佳性能和灵活性。
这种高度定制化的特性,让Gentoo成为那些对操作系统细节有深入兴趣的用户的首选。![[Pasted image 20260725173124.png]]

Ubuntu

Ubuntu,Canonical公司开发。
全球范围内,不管是刚入门的小白、有一定基础的用户,还是那些专业的大佬,都特别喜欢这个Linux发行版。
专门为那些刚开始接触Linux系统,或者从Mac和Windows切换过来的用户量身打造的。
无论是初学者、中级用户还是专业人士都特别喜欢。
Ubuntu默认用的是GNOME桌面环境,还预装了一些常用的应用程序,比如Firefox浏览器和LibreOffice办公软件,还有图像编辑器(像GIMP)、音乐播放器和视频播放器(比如Audacious和Rhythmbox)都有。
![[Pasted image 20260725173402.png]]

1.3 Linux的优势

  1. 开源(意味着免费,便宜)
  2. 稳定(Linux可以运⾏很多年,都不会发⽣重⼤问题)
  3. 安全(Linux只有管理员或者特定⽤⼾才能访问Linux内核)、
  4. ⾃由(不会被强加商业产品和服务)
  5. 社区⽀持(Linux在全球社区都⾮常活跃和使⽤⼴泛,有很多志愿者在线帮⼤家解决问题)

2. Linux环境搭建

要想学习Linux,需要先有⼀个Linux的环境

2.1 环境搭建⽅式

主要有四种:

  1. 直接安装在物理机上.但是Linux桌⾯使⽤起来⾮常不友好.所以不建议.[不推荐].
  2. 使⽤虚拟机软件,将Linux搭建在虚拟机上.但是由于当前的虚拟机软件(如VMWare之类的)存在⼀
    些bug,会导致环境上出现各种莫名其妙的问题,⽐较折腾.[⾮常不推荐]
  3. 使⽤云服务器,可以直接在(腾讯云,阿⾥云或华为云等)服务器⼚商处直接购买⼀个云服务器.[推荐]

2.2 使⽤云服务器

进⼊官⽅⽹站 https://cloud.tencent.com/act/campus ,并登录(直接在百度上搜"腾讯云校园计划")
![[Pasted image 20260725175223.png]]

有问题可以直接找客服
或者领取阿里云大学生优惠300优惠券 https://university.aliyun.com/
![[Pasted image 20260725175254.png]]

⼩结在这个环节我们最重要的是得到三个信息:

  1. 服务器的外⽹iP
  2. 服务器的管理员账⼾(固定为root)
  3. 管理员账⼾密码(在腾讯云⽹站上设置的)
    这三个信息是我们登陆到Linux上的必要条件

2.3 使⽤终端软件连接到Linux

2.3.1 什么是终端软件

终端软件是⼀类⼯具软件,可以和远程的主机建⽴⽹络连接,从⽽对主机进⾏⼀些操作.
常⻅的终端软件:(我使用的是Xshell)
• XShell
• Putty
• MobaXTerm
• Iterm2
• SecureCRT

2.3.2 下载安装XShell

下载链接: https://www.xshell.com/zh/free-for-home-school/ 无脑安装直接下一步就🆗
![[Pasted image 20260725175700.png]]

2.3.3 使⽤XShell登陆主机

这个是登录成功的图片
![[Pasted image 20260725180107.png]]

登录失败的原因

  1. 未输⼊⽤⼾名和密码(会提⽰输⼊⽤⼾名和密码)
  2. IP输⼊错误
  3. 确认安装的是Ubuntu(安装其他操作系统,⽐如windows server,确实⽆法登录)
  4. 是否设置了初始密码
  5. 服务器是否启动
  6. 通过控制台登录
  7. 以上都没问题,咨询客服

3. Linux常⽤命令

一、基础信息类

  1. pwd:查看当前所在目录

  2. ls:列出目录文件

    • ls -l 详细列表;ls -a 显示隐藏文件;ls -lh 人性化显示大小
  3. cd 目录:切换目录

    • cd ~ 回到根目录;cd .. 上级目录;cd - 返回上一次目录
  4. whoami:查看当前登录用户

  5. hostname:查看主机名

  6. uname -a:查看系统内核信息

  7. date:查看系统时间

  8. clear:清屏

二、文件 & 目录操作

  1. mkdir test:创建文件夹 test

    • mkdir -p a/b/c 递归创建多级目录
  2. rmdir 目录:删除空目录

  3. rm 文件:删除文件

    • rm -r 目录 删除目录;rm -rf 目录 强制递归删除==(慎用!)==
  4. cp 源 目标:复制

    • cp -r dir1 dir2 复制文件夹
  5. mv 源 目标:移动 / 重命名

  6. touch file.txt:新建空文件

  7. ln -s 源文件 软链接名:创建软链接

三、文件查看

  1. cat file.txt:一次性读取全部内容(小文件)

  2. more file.txt:分页查看,空格翻页

  3. less file.txt:增强分页(上下箭头滚动,q 退出)

  4. head -n 10 file.txt:查看前 10 行

  5. tail -n 10 file.txt:查看末尾 10 行

    • tail -f file.txt 实时跟踪日志(非常常用)

四、文本搜索与过滤

  1. grep "关键词" file.txt:文件内搜索关键词

    • grep -i 忽略大小写;grep -v 反向匹配
    • ps aux | grep java 管道搜索进程
  2. | 管道:把前一个命令输出传给下一个

  3. > 输出重定向:覆盖写入 echo 123 > a.txt

  4. >> 追加写入:echo 456 >> a.txt

五、权限用户

  1. chmod 755 file 修改文件权限
  2. chown user:group file 修改文件归属用户组
  3. useradd test 添加用户
  4. passwd test 设置密码
  5. su root 切换 root;sudo 命令 使用管理员权限执行

六、进程管理

  1. ps aux 查看所有进程

  2. top 实时资源监控(q 退出)

  3. htop 美化版 top(需安装)

  4. kill PID 结束进程

    • kill -9 PID 强制杀死进程
  5. pkill 进程名 通过名字杀进程

七、网络命令

  1. ip addr 查看网卡 IP(替代旧命令 ifconfig)
  2. ping ip/域名 测试连通性
  3. netstat -tulnp 查看监听端口
  4. ss -tulnp 更高效查看端口(推荐)
  5. curl 网址 访问网络接口
  6. wget url 下载文件

八、压缩解压

tar(最常用)

bash

运行

# 压缩
tar -zcvf test.tar.gz test/
# 解压
tar -zxvf test.tar.gz
  • z:gzip;c:打包;x:解压;v:显示过程;f:指定文件

zip/unzip

bash

运行

zip -r test.zip 文件夹
unzip test.zip

九、磁盘内存

  1. df -h 查看磁盘分区占用
  2. du -sh * 查看当前目录各个文件大小
  3. free -h 查看内存、交换分区
Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐