【Linux 系列】Linux 命令/快捷键详解

🚀 欢迎来到我的CSDN博客:Optimistic _ chen

一名热爱技术与分享的全栈开发者,在这里记录成长,专注分享编程技术与实战经验,助力你的技术成长之路,与你共同进步!


🚀我的专栏推荐

专栏 内容特色 适合人群
🔥C语言从入门到精通 系统讲解基础语法、指针、内存管理、项目实战 零基础新手、考研党、复习
🔥Java基础语法 系统解释了基础语法、类与对象、继承 Java初学者
🔥Java核心技术 面向对象、集合框架、多线程、网络编程、新特性解析 有一定语法基础的开发者
🔥Java EE 进阶实战 Servlet、JSP、SpringBoot、MyBatis、项目案例拆解 想快速入门Java Web开发的同学
🔥Java数据结构与算法 图解数据结构、LeetCode刷题解析、大厂面试算法题 面试备战、算法爱好者、计算机专业学生

🚀我的承诺:

✅ 文章配套代码:每篇技术文章都提供完整的可运行代码示例

✅ 持续更新:专栏内容定期更新,紧跟技术趋势

✅ 答疑交流:欢迎在文章评论区留言讨论,我会及时回复(支持互粉)


🚀 关注我,解锁更多技术干货!
⏳ 每天进步一点点,未来惊艳所有人!✍️ 持续更新中,记得⭐收藏关注⭐不迷路 ✨

📌 标签:#技术博客#编程学习#Java#C语言#算法#程序员

文章目录

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是开源操作系统,因此非常适合作为软件开发平台,非常适合作为开发环境。

环境搭建

  1. 使用虚拟机软件,将Linux搭建在虚拟机上使用。
  2. 使用云服务器,在腾讯、阿里、华为等各大服务器厂商处直接购买(很划算)

使⽤云服务器不仅环境搭建简单,避免折腾,同时还有⼀个最⼤的好处,部署在云服务器上的项⽬可以直接被外⽹访问到,就能让我们⾃⼰写的程序真的去给别⼈去使⽤(在同学面前装起来)

接下来使用终端软件连接到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 [文件名]
  1. 普通模式 :打开后默认模式,键盘的按键表⽰⼀些特殊功能的快捷键。
  2. 插入模式 :通过普通模式进入,使用i键进入到插入模式,(左下⻆提⽰--INSERT--)然后就可以像记事本⼀样正常编辑了。
  3. 保存 :插入模式下不能保存文件,需要Esc退回到普通模式
  4. 退出 :从普通模式退出
模式 常见命令 描述
普通模式 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

📌 收藏本文,下次需要时不迷路!

我们下期再见!💫 持续更新中......


悄悄说:点击主页有更多精彩内容哦~ 😊

相关推荐
snpgroupcn1 小时前
如何在SAP中实现数据验证自动化?5天缩短验证周期,提升转型效率的3大关键策略
运维·人工智能·自动化
ICT技术最前线1 小时前
如何高效测试Linux系统连通性?
linux·网络·智能路由器
浅笑离愁12342 小时前
VI视频输入模块学习
linux·音视频
gzr_csdn2 小时前
【报错解决】VMware 嵌套虚拟化问题
linux·容器
TH_12 小时前
腾讯云-(1)-轻量级服务器购买
服务器·云计算·腾讯云
袖手蹲3 小时前
树莓派 5 Trixie 镜像 + Docker 架设 Eclipse Mosquitto 与 ESP32 双向 MQTT 交互
运维·docker·容器
盛世隐者3 小时前
【Linux】好用的命令记录
linux
山卡拉噶3 小时前
在Linux中安装Kdump调试环境
linux·运维·服务器
闲猿类3 小时前
嵌入式第九天学习
linux·c语言·学习·算法·嵌入式