
🚀 欢迎来到我的CSDN博客:Optimistic _ chen
✨ 一名热爱技术与分享的全栈开发者,在这里记录成长,专注分享编程技术与实战经验,助力你的技术成长之路,与你共同进步!
🚀我的专栏推荐:
| 专栏 | 内容特色 | 适合人群 |
|---|---|---|
| 🔥C语言从入门到精通 | 系统讲解基础语法、指针、内存管理、项目实战 | 零基础新手、考研党、复习 |
| 🔥Java基础语法 | 系统解释了基础语法、类与对象、继承 | Java初学者 |
| 🔥Java核心技术 | 面向对象、集合框架、多线程、网络编程、新特性解析 | 有一定语法基础的开发者 |
| 🔥Java EE 进阶实战 | Servlet、JSP、SpringBoot、MyBatis、项目案例拆解 | 想快速入门Java Web开发的同学 |
| 🔥Java数据结构与算法 | 图解数据结构、LeetCode刷题解析、大厂面试算法题 | 面试备战、算法爱好者、计算机专业学生 |
🚀我的承诺:
✅ 文章配套代码:每篇技术文章都提供完整的可运行代码示例
✅ 持续更新:专栏内容定期更新,紧跟技术趋势
✅ 答疑交流:欢迎在文章评论区留言讨论,我会及时回复(支持互粉)
🚀 关注我,解锁更多技术干货!
⏳ 每天进步一点点,未来惊艳所有人!✍️ 持续更新中,记得⭐收藏关注⭐不迷路 ✨
📌 标签:#技术博客 #编程学习 #Java #C语言 #算法 #程序员
文章目录
- [Linux 的历史](#Linux 的历史)
- Linux常用命令
- Linux常用快捷键
- 完结撒花!🎉
Linux 的历史
来源
说到Linux,不得不追溯到其精神先驱------UNIX操作系统 。它由美国贝尔实验室的肯·汤普逊、丹尼斯·里奇和道格拉斯·麦克罗伊等人合作开发,从1970年代开始流行,其影响延续至今。
而Linux的诞生则与1990年代的开源运动 浪潮紧密相关。当时,GNU项目已经为创建一个自由的类UNIX操作系统准备了大量基础组件,唯独缺少一个成熟可用的内核 。就在这样的背景下,1991年 ,芬兰学生林纳斯·托瓦兹开始编写一个新的操作系统内核 ,并将其命名为Linux 。同年, Linux 0.01版本作为第一个公开版本发布,此后的几年间,Linux逐渐发展壮大,并得到了许多贡献者的支持和帮助。

1994年 ,Linux 1.0版本发布,这是Linux的第一个稳定版本 。并迅速获得了广泛的关注和认可;
进入2000年代 ,凭借其开源、稳定和高效的特性,Linux在服务器领域确立了主导地位,并逐渐渗透到个人电脑、移动设备(如Android系统)和嵌入式设备等众多领域。
直到今天,Linux已经成为全球最受欢迎的操作系统之一,得到了广泛的应用和支持。它的开源特性和强大的性能使其成为开发者和企业的首选,也促进了技术的创新和发展。
应用
Linux是一种自由和开放源代码的类UNIX操作系统 ,严格来讲,Linux只是操作系统内核本身,但通常采用"Linux内核"来表达该意思。而Linux则常用来指基于Linux内核的完整操作系统,它包括GUI组件和许多其他实用工具。
GUI(通用公共许可协议):是一个广泛被使用的自由软件许可协议条款 ,最初由理查德斯托曼为GNU计划而撰写,GPL给予了计算机程序自由软件的定义, 任何基于GPL软件开发衍生的产品在发布时必须采用GPL许可证方式,且必须公开源代码。
应用领域:
- 服务器操作系统:Linux在互联网服务器领域非常流行,许多大型网站和服务使用Linux作为其服务器操作系统
- 超级计算机:Linux在超级计算机领域也非常流行
- 移动设备:Android操作系统是基于Linux内核开发的
- 虚拟化:Linux提供了强大的虚拟化技术,如KVM和Docker,可以用于创建和管理虚拟机和容器。
- 软件开发:Linux是开源操作系统,因此非常适合作为软件开发平台,非常适合作为开发环境。
环境搭建
- 使用虚拟机软件,将Linux搭建在虚拟机上使用。
- 使用云服务器,在腾讯、阿里、华为等各大服务器厂商处直接购买(很划算)
使⽤云服务器不仅环境搭建简单,避免折腾,同时还有⼀个最⼤的好处,部署在云服务器上的项⽬可以直接被外⽹访问到,就能让我们⾃⼰写的程序真的去给别⼈去使⽤(在同学面前装起来)
接下来使用终端软件连接到Linux,终端软件是⼀类⼯具软件,可以和远程的主机建⽴⽹络连接,从⽽对主机进⾏⼀些操作。比如我们设置好的云服务器,通过终端软件就可以操作。
博主使用的是XShell,感觉很不错,推荐。具体的操作步骤大佬们可以自己尝试,摸索。
Linux常用命令
HOME目录
每一个用户在Linux系统中都有自己的专属工作目录,称为home目录
- 普通用户的HOME目录,默认在:/home/用户名
- root用户的HOME目录,在: /root
Linux的树状目录结构:

- Linux只有一个顶级(根)目录 :
/ .是当前目录..是当前目录的上级目录
绝对路径 :形如 /usr/share/a 以根⽬录开头的,称为绝对路径
相对路径 :形如 ./logs 以. .. 开头的,称为相对路径
我们敲的所有的Linux命令,都可以使⽤tab键来尝试补全,加快效率
如果命令或者⽬录敲错了,可以ctrl+c取消当前的命令
ls命令
功能:在命令行中,以平铺的形式展示当前工作目录下的内容(文件或文件夹)
powershell
语法 [选项] [目录或文件]
ls [-l -h -a] [linux路径]
- linux路径:被查看的文件夹,表示查看当前工作目录
- -l :以列表的形式查看
- -a:列出⽬录下的所有⽂件,包括隐藏文件(以
.开头的文件或者文件夹默认被隐藏) - -d: 将目录像文件一样显示,不显示其下的文件
- -k:以k字节的形式表示文件大小

pwd命令
powershell
pwd
功能:显示用户当前所在目录

cd命令
功能:改变规则目录,将当前⼯作⽬录改变到指定的⽬录下。
powershell
# 返回上级目录
cd ..
# 进入用户目录
cd ~
# 返回最近访问目录
cd -

touch命令
功能:touch命令参数可更改⽂档或⽬录的⽇期时间,包括存取时间和更改时间,或者新建⼀个不存在的⽂件
powershell
touch [选项] 文件
touch test.txt

cat命令
功能:查看文件内容
powershell
cat test.txt
- -n:对输出的所有行进行编号
因这个文件是刚刚创建的,还没有输入内容,所以没有输出

mkdir命令
功能:在当前目录下创建一个名为 "dirname" 的目录
powershell
mkdir [-p] linux路径
mkdir -p test/test1
- -p:自动创建不存在的父目录
rm命令
功能:删除文件或目录
powershell
rm [-f -i -r -v] [路径]
rm test.txt
- -f :即使文件属性为只读,也直接删除
- -i:删除前逐一询问确认
- -r:删除目录及其以下所有文件

cp命令
功能:复制文件或目录。
说明:cp指令⽤于复制⽂件或⽬录,如同时指定两个以上的⽂件或⽬录 ,且最后的⽬的地是⼀个已经存在的⽬录,则它会把前⾯指定的所有⽂件或⽬录复制到此⽬录 中。若同时指定多个⽂件或⽬录,⽽最后的⽬的地并⾮⼀个已存在的⽬录,则会出现错误信息
powershell
cp [选项] 源文件或目录 目标文件或目录
cp test1.txt test2.txt
#复制当前目录下test1.txt 为 test2.txt
- -f:强制复制文件或目录,不论目的文件或目录是否存在
- -i:覆盖文件之前先询问用户
- -r:递归处理,将指定目录下的文件与子目录一并处理
mv 命令
功能:移动文件或目录
说明:目标文件或目录不存在,则进行改名
powershell
mv [选项] 源文件或目录 目标文件或目录
mv test1.txt test2.txt
- -f: force强制的意思,如果目标已经存在,不询问而直接覆盖
- -i:若目标文件已经存在,就会询问是否覆盖
tail 命令
功能:⽤于显⽰指定⽂件末尾内容,不指定⽂件时,作为输⼊信息进⾏处理。常⽤查看⽇志⽂件。
powershell
tail [参数] 目标文件
tail -10 test1.txt
- -f:持续跟踪文件修改
- -n:查看尾部多少行,默认10
vim
vim是一个知名文本编辑器,使用vim可以进行文本编辑(相当于记事本)
powershell
vim [文件名]
- 普通模式 :打开后默认模式,键盘的按键表⽰⼀些特殊功能的快捷键。
- 插入模式 :通过普通模式进入,使用
i键进入到插入模式,(左下⻆提⽰--INSERT--)然后就可以像记事本⼀样正常编辑了。 - 保存 :插入模式下不能保存文件,需要
Esc退回到普通模式 - 退出 :从普通模式退出
| 模式 | 常见命令 | 描述 |
|---|---|---|
| 普通模式 | i |
在当前光标位置进入插入模式 |
| 普通模式 | ↑ k |
向上移动光标 |
| 普通模式 | ↓ j |
向下移动光标 |
| 普通模式 | ← h |
向左移动光标 |
| 普通模式 | → l |
向右移动光标 |
| 插入模式 | Esc |
任何情况下都能回到普通模式 |
| 保存 | :wq |
保存并退出 |
| 保存 | :q |
仅退出 |
| 保存 | :q! |
强制退出 |
| 保存 | :w |
仅保存 |
| 保存 | :set nu |
显示行号 |
| 保存 | :set paste |
显示粘贴模式 |
grep 命令
功能:用于查找文件中是否包含指定字符串,并显示对应行(过滤)
powershell
grep [参数] [文件]
grep "hello" Hello.java
- -n:显示行数
- -w: 全字匹配,要求整个单词都完全相同的结果才能匹配出来,⽽不仅仅是⼀个单词的⼀部分
- -r:递归查找,可以搜索多级目录下的所有文件
- --color:高亮查找到的结果
管道符 |
管道是⼀种古⽼的"进程间通信"⽅式.
功能:将前⼀个指令标准输出的内容,作为第⼆个指令的标准输⼊内容,经常和grep一起使用。
powershell
tail -f test.txt|grep "Exception"
实时监控 test.txt 文件的变化,只显示包含 "Exception" 字符串的新行,忽略所有不包含 "Exception" 的内容。特别适合监控和过滤日志文件
ps 命令
功能:用于查看当前系统上运行的进程
powershell
ps aux
- a显示一个终端所有的进程
- u以用户为主的格式来显示程序状况
- x显示所有程序,包括系统守护进程
- f显示完整格式输出

netstat 命令
功能:查看系统上的网络状态
powershell
netstat [参数]
netstat -anp
- -a显示所有正在或不在侦听的套接字
- -n娴熟数字形式地址而不是去解析主机
- -p显示套接字所属进程的PID和名称

Linux常用快捷键
更多命令可以通过-- help查看:命令帮助手册

ctrl + c:强制停止/退出当前输入,重新输入
ctrl + d退出账户的登录
history:查看历史输入的命令
! 命令前缀:自动执行上一次匹配前缀的命令
ctrl + a:跳到命令开头
ctrl + e:跳到命令结尾
ctrl + ←:向左跳一个单词
ctrl + →:向右跳一个单词
ctrl + l:清空终端内容
clear:清空终端内容
当然,列举的这些命令和快捷键都是比较常用的,需要更多命令或快捷键可以去管网查看,同样可以平时多写写代码也就记住了,不需要单独拿出来背哦~ ~ ~
完结撒花!🎉

如果这篇博客对你有帮助,不妨点个赞支持一下吧!👍
你的鼓励是我创作的最大动力~
✨ 想获取更多干货? 欢迎关注我的专栏 → optimistic_chen
📌 收藏本文,下次需要时不迷路!
我们下期再见!💫 持续更新中......
悄悄说:点击主页有更多精彩内容哦~ 😊
