【Linux我做主】基础命令完全指南上篇

news2025/3/18 6:17:38

Linux基础命令完全指南【上篇】

  • Linux基础命令完全指南
  • github地址
  • 前言
  • 命令行操作的引入
  • Linux文件系统
    • 树形结构的根文件系统
    • 绝对路径和相对路径
      • 适用场景
      • Linux目录下的隐藏文件
  • 基本指令
    • 目录和文件相关
      • 1. ls
      • 2. cd和pwd
        • cd
        • pwd
      • 3. touch
      • 4. mkdir
      • 5. cp
      • 6. mv
        • 移动目录时覆盖写入的两种特殊情况
      • 7. alias
    • 文件查看相关
      • 1. cat
      • 2. more
      • 3. less
      • 4. head
      • 5. tail
  • 总结核心概念

Linux基础命令完全指南

github地址

有梦想的电信狗

前言

本文介绍Linux系统的基本知识和一些常见命令的基本使用,命令的更多用法需结合man手册进行查询。命令和命令的细节较多,因此文章分为上篇和下篇。本文是文章的上篇。

命令行操作的引入

Windows系统中,用户通常依赖图形界面(GUI)进行文件管理和操作,例如通过鼠标点击资源管理器完成复制、删除等任务;

Linux系统虽然也提供GUI工具,但其核心优势在于命令行(CLI)。通过终端输入简洁的命令,用户可直接操控系统内核,实现更高效、灵活的操作,例如批量处理文件、远程管理服务器等场景。

命令行不仅节省资源,还能通过脚本自动化复杂任务,是开发者及运维人员的核心工具,体现了Linux一切皆文件”的设计哲学。

  • 因此学习Linux下命令行的使用很有必要
  • Linux操作系统极其稳定,最常用于做服务器操作系统,因此最好永不关机

Linux文件系统

首先声明一个概念,Linux下一切皆文件。能被看到的都是文件,既包括最常见的文本文件,甚至鼠标,键盘,显示器等设备都是文件。随着后面学习的深入,会对这一概念有更深入的理解。

树形结构的根文件系统

Linux的目录结构整体上是一个多叉树,他的叶子结点,一定是空目录或者文件,路上结点一定是一个非空目录。
因此,我们所有的对文件或者目录的增删查改,本质都是对这颗多叉树的增删查改。

在这里插入图片描述

与大多数操作系统一致,Linux系统的文件系统结构是树形结构的。且各个目录都有各自的功能。

  • /:是Linux的根目录。
  • bin:存放二进制可执行文件,以命令居多
  • boot:存放开机启动程序
  • dev:存放设备文件: 包括字符设备文件、块设备文件
  • home:存放 普通用户 的目录
  • etc:用户信息和系统配置文件 passwd、group
  • lib:操作系统使用的库文件:例如 libc.so.6是一个动态库
  • root:管理员宿主目录(家目录)
  • usr:用户资源管理目录 unix software resource 用户的一些文件 第三方应用的资源文件
  • optproc: 与Linux 进程相关的文件

Linux的一个目录中,既可以存放目录文件,也可以存放其他文件。

绝对路径和相对路径

我们在磁盘中定位一个文件,通常需要路径来描述。

路径定位需要有唯一性。

  • 绝对路径:从/开始定位到指定位置,具有唯一性的路径,称为绝对路径。
  • 相对路径:以当前所处路径为起始参考位置,来进行定位的路径,成为相对路径。
  1. 绝对路径以根目录/为起点。
  2. 相对路径以当前路径为起点。

适用场景

  • 绝对路径:绝对路径以根目录/为起点,一般比较长,但具有不变性。一般用在一些固定常见,配置文件中使用。
  • 相对路径:以当前路径为起点,一般比较短小,命令行输入中常使用相对路径。

使用绝对路径进入目录dir1

在这里插入图片描述

使用相对路径进入目录dir1
在这里插入图片描述

Linux目录下的隐藏文件

Linux中的每一个目录下都有两个隐藏文件...。可以通过ls -a来查看
-l是让文件以列表的形式来进行呈现。

在这里插入图片描述
Linux中的每一个目录下都有两个隐藏文件...。这两个文件有什么用呢?

Linux中,以.开头的文件都是隐藏文件,只有在ls -a是才能被看到。

  • .表示当前路径。

  • ..表示当前路径的上级路径。

  • .存在的意义:帮助用户定位当前目录下的一个文件。如: ./a,out

  • ..存在的意义:帮助用户定位到当前路径的上级路径以及上级路径中的文件。

基本指令

目录和文件相关

1. ls

功能:列出目录内容
语法ls [选项] [目录]
常用参数

  • -l:长格式显示(包含权限、所有者、大小等信息)
  • -a:列出目录下的所有文件,包括以 . 开头的隐含文件。
  • -h:以人类可读格式显示文件大小,更人性化
  • -t:按修改时间排序
  • -R:递归列出子目录内容
  • -d: 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
  • -i: 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
  • -k: 以 k 字节的形式表示文件的大小。ls –alk 指定文件
  • -n: 用数字的 UID,GID 代替名称。
  • -F: 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别)
  • -r: 对目录反向排序。
  • -t:以时间排序。
  • -s: 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
  • -1: 一行只输出一个文件。
    在这里插入图片描述

2. cd和pwd

cd

语法cd 路径
路径可以是相对路径,也可以是绝对路径。
功能:改变工作目录。将当前工作目录改变到指定的目录下。

# 直接输入cd,默认切换到当前用户的home目录
# 对于root用户 则切换到 /root 目录下
cd 
#返回上级目录
cd .. 
# 使用绝对路径
cd /home/changan_memroy/linux/ 
# 使用相对路径
cd ../day02/
# 进入用户home目录  
cd ~ 
cd /home  # 与上一行的写法等价
# 返回最近访问目录
cd - 
  • ~该符号表示当前用户的home目录。
  • -该符号表示用户最近进入的一个目录。
  • .表示当前目录。
pwd

语法: pwd
功能:显示用户当前所在的目录
常用选项:无

  • cd配合-~方便地切换目录。
  • 切换完目录后使用pwd验证当前所在目录。
    在这里插入图片描述

3. touch

语法:touch [选项]… 文件…
功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
常用选项

  • -a--time=atime--time=access--time=use只更改存取时间。
  • -c--no-create 不建立任何文档。
  • -d: 使用指定的日期时间,而非现在的时间。
  • -f: 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
  • -m: 或--time=mtime--time=modify 只更改变动时间。
  • -r: 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
  • -t: 使用指定的日期时间,而非现在的时间

加上不同的参数,就有不同的用法,但最常用的用法是使用touch来创建文件。例如创建.c.cpp源程序文件或者普通文件,创建别的文件也是如此。

在这里插入图片描述

4. mkdir

语法mkdir [选项] 路径名称
功能:在当前目录下创建一个名为 dirname 的目录
常用选项
-p--parents 后面跟一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。(递归创建子目录)

演示如下

在这里插入图片描述

5. cp

语法cp [选项] 源文件或目录 目标文件或目录
功能: 复制文件或目录
说明: cp指令用于复制文件或目录。如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息
常用选项

  • -f--force: 强行复制文件或目录, 不论目的文件或目录是否已经存在
  • -i--interactive:拷贝时,若目标目录下有同名文件,覆盖文件之前会先询问用户是否覆盖
  • -r: 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
  • -R--recursive:递归处理,将指定目录下的文件及子目录一并处理

最常用的选项是-f-r

目标目录d1中没有同名文件,因此不需要加-f

在这里插入图片描述

6. mv

mv命令是move的缩写,可以用来移动文件或者将文件重命名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。

语法mv [选项] 源文件或目录 目标文件或目录
功能: 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。

  1. 第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
  2. 第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。

常用选项
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖
在这里插入图片描述

移动目录时覆盖写入的两种特殊情况
  • 目标路径下有同名目录,同名目录不为空时,无法覆盖。
    在这里插入图片描述
  • 目标路径下有同名目录,为空目录,直接覆盖。
    在这里插入图片描述

7. alias

之前对于ls命令,我们是否会有疑问?为什么ll等价于ls -l
在这里插入图片描述
这里本质上是命令alias在起作用。

语法alias [选项][名称[='命令']]
功能:创建或显示命令别名,用于简化复杂的命令。
常用选项
-p:以可被 Shell 重新使用的格式输出别名(便于保存到配置文件中)。

功能详解

  1. 定义别名:通过 名称='命令' 的格式将长命令或常用命令定义为简短的别名。
    • 示例:alias ll='ls -l'(输入 ll 即可执行 ls -l)。
    • 若命令包含空格或特殊字符,需用引号包裹。

  2. 查看别名
    • 直接输入 alias(不加参数)可列出所有已定义的别名。
    • 输入 alias 名称 可查看特定别名的定义(如 alias ll)。

  3. 永久生效
    • 在 ~/.bashrc~/.zshrc 中写入别名定义,重启终端或执行 source ~/.bashrc 后生效。

注意事项
• 使用 unalias 名称 可删除临时别名。
• 若别名与系统命令同名,优先执行别名(用 \命令command 命令 可绕过别名)。

文件查看相关

1. cat

语法cat [选项][文件]
功能: 查看目标文件的内容, 常用于行数短小的文件的查看
常用选项

  • -b:对非空行输出编号
  • -n: 对输出的所有行编号
  • -s:不输出多行空行

2. more

cat会查看整个文件的内容,直接定位到文件的末尾,当遇到大文件时,直接定位到文件的末尾,会导致我们不便查看到文件前面的内容。而more指令可以让我们从文件第的一行开始,通过Enter来进行向后滚动,逐行依次查看内容。

more缺点是只能从文件开头向后进行翻页,无法向前进行查看

语法more [选项][文件]
功能more命令,功能类似 cat
常用选项

  • -n :对输出的所有行编号
  • q: 退出more

3. less

语法less [参数] 文件
功能

  • less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。

  • less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看

  • 但若使用了 less 时,就可以使用 [pageup][pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!

  • 除此之外,在 less 内可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜索。而且less在查看之前不会加载整个文件

选项:以下选项适用于通过less进入文件后在文件内进行搜索,而不是在使用less打开文件时进行搜索。

  • -i 忽略搜索时的大小写
  • -N 显示每行的行号
  • /字符串:向下搜索“字符串”的功能
  • ?字符串:向上搜索“字符串”的功能
  • n:重复前一个搜索(与 / 或 ? 有关)
  • N:反向重复前一个搜索(与 / 或 ? 有关)
  • q:quit

在这里插入图片描述
所有选项是在:处进行输入的。例如向下查找字符串hello,输入/hello

其他命令也都是在使用less打开文件后再进行输入的。

因此查看文件使用lesscat,以及通过==管道(下篇介绍)==配合headtail比较多

4. head

headtail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 就是看档案的结尾。
语法head [参数]... [文件]...
功能
head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
选项

  • -n [行数] :显示文件的前n
    在这里插入图片描述

5. tail

tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容.
语法tail [必要参数] [选择参数] [文件]
功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。tail默认显示文件的后10行。
选项

  • -f 循环读取
  • -n 行数: 显示行数
    在这里插入图片描述

总结核心概念

  • "一切皆文件"设计理念贯穿系统设计
  • 命令行操作相比GUI更高效,适合批量处理与自动化
  • 掌握路径定位与基础命令组合使用是Linux操作的关键基础

这些命令构成了Linux系统操作的基石,熟练使用将显著提升工作效率。下篇将讲解查找、压缩解压等进阶命令。

以上就是本文的所有内容了,如果觉得文章写的不错,还请留下免费的赞和收藏,也欢迎各位大佬在评论区交流

分享到此结束啦
一键三连,好运连连!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2317049.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Designing Dashboards with SAP Analytics Cloud

Designing Dashboards with SAP Analytics Cloud

项目实战系列:基于瑞萨RA6M5构建多节点OTA升级-系统设计<一>

项目背景 原嵌入式控制系统采用分布式模块化架构,由12个功能板卡(通信控制、信号采集、驱动执行等)组成。系统维护阶段存在以下痛点: 低效的本地烧录机制:各板卡固件升级需通过JTAG接口逐一手动连接JLINK仿真器&#x…

《AI大模型趣味实战》 No3:快速搭建一个漂亮的AI家庭网站-相册/时间线/日历/多用户/个性化配色/博客/聊天室/AI管家(下)

《AI大模型趣味实战》 No3:快速搭建一个漂亮的AI家庭网站-相册/时间线/日历/多用户/个性化配色/博客/聊天室/AI管家(下) 摘要 本文介绍了家庭网站V1.3版本的更新内容,主要聚焦于AI管家功能的优化与完善。V1.3版本对AI管家模块进行了全面升级&#xff0…

c++基础知识-图论进阶

一、拓扑排序 1、基础知识 1)什么是拓扑排序 对一个有向无环图G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若,则u在线性序列中出现在v之前。 2)拓扑排序的操作方法 重复执行…

[Java实战]Spring Boot服务CPU 100%问题排查:从定位到解决

Spring Boot服务CPU 100%问题排查:从定位到解决 1. 引言 当Spring Boot服务出现CPU占用率100%时,系统性能会急剧下降,甚至导致服务不可用。本文将通过真实代码案例,详细讲解如何快速定位问题根源,并提供解决方案。无…

1.6 极限存在准则

1.夹逼定理(迫敛定理) 1.1 数列型 1.1.1 准则 1.2 函数型 2. 两个重要极限

大华SDK协议在智联视频超融合平台中的接入方法

一. 大华SDK协议详解 (一)、大华SDK协议概述 大华SDK(Software Development Kit)协议是大华股份为开发者提供的一套软件开发工具包,旨在帮助开发者快速集成大华设备(如摄像头、NVR、DVR等)的功…

卓越的用户体验需要智能内容

摘要:这篇文章指出静态文档已无法满足现代用户的需求,而智能内容则是构建卓越用户体验的关键。文章从智能内容的定义、优势和实际应用等方面进行了详细阐述,并强调了企业应积极拥抱智能内容,以提升客户满意度、降低成本并创造新的…

【蓝桥杯】1124修建公路1(Kruskal算法)

思路 找到能够连通所有城市的最小树即可,可用Prim或Kruscal。 !!注意,m的范围是包括0的,可就是包含没有道路的情况,要单独输出0 code import os import sys# 输入 n,m map(int,input().split()) road …

传感云揭秘:边缘计算的革新力量

在当今快速发展的科技时代,传感云和边缘计算系统正逐渐成为人们关注的焦点。传感云作为物联网与云计算的结合体,通过虚拟化技术将物理节点转化为多个服务节点,为用户提供高效、便捷的服务。而边缘计算则是一种靠近数据源头或物端的网络边缘侧…

Bigemap Pro 的三种地图下载方式

地图下载通常是是最基础但也最重要的任务之一,无论是进行空间分析、制作专题地图,还是进行数据可视化,高质量的地图数据都是不可或缺的。Bigemap Pro提供了三种地图下载方式,分别适用于不同的场景和需求。无论是免费版用户还是专业…

Python直方图:从核密度估计到高维空间解析

一、直方图的核心原理与数学本质 数据分布的视觉解码器 直方图(Histogram)是数据科学家的"分布显微镜",通过将连续数据划分为等宽区间(Bin),统计各区间的频数/频率,用相邻矩形条直观…

0基础 | 恒流源专题

目录 tip1:低端反馈​编辑 tip2: 恒流源电路的设计注意事项 tip3:三极管输出恒定电流受运放输出电流控制 tip4:高端反馈 基本逻辑: 当负端Vref不输入电压时, 当负端Vref输入电压时 tip1:低端反馈 判…

Webpack 前端性能优化全攻略

文章目录 1. 性能优化全景图1.1 优化维度概览1.2 优化效果指标 2. 构建速度优化2.1 缓存策略2.2 并行处理2.3 减少构建范围 3. 输出质量优化3.1 代码分割3.2 Tree Shaking3.3 压缩优化 4. 运行时性能优化4.1 懒加载4.2 预加载4.3 资源优化 5. 高级优化策略5.1 持久化缓存5.2 模…

【YOLOv8】YOLOv8改进系列(7)----替换主干网络之LSKNet

主页:HABUO🍁主页:HABUO 🍁YOLOv8入门改进专栏🍁 🍁如果再也不能见到你,祝你早安,午安,晚安🍁 【YOLOv8改进系列】: 【YOLOv8】YOLOv8结构解读…

【LangChain】理论及应用实战(7):LCEL

文章目录 一、LCEL简介二、LCEL示例2.1 一个简单的示例2.2 RAG Search 三、LCEL下核心组件(PromptLLM)的实现3.1 单链结构3.2 使用Runnables来连接多链结构3.2.1 连接多链3.2.2 多链执行与结果合并3.2.3 查询SQL 3.3 自定义输出解析器 四、LCEL添加Memor…

ai本地化 部署常用Ollama软件

现在用最简单的方式介绍一下 Ollama 的作用和用法: Ollama 是什么? Ollama 是一个让你能在自己电脑上免费运行大型语言模型(比如 Llama 3、Mistral 等)的工具。 相当于你本地电脑上有一个类似 ChatGPT 的 AI,但完全…

vllm部署QwQ32B(Q4_K_M)

vllm部署QwQ32B(Q4_K_M) Ollama是一个轻量级的开源LLM推理框架,注重简单易用和本地部署,而VLLM是一个专注于高效推理的开源大型语言模型推理引擎,适合开发者在实际应用中集成和使用。两者的主要区别在于Ollama更注重为用户提供多种模型选择和…

企业内网监控软件的选型与应用:四款主流产品的深度剖析

在数字化办公的时代背景下,企业内部网络管理的重要性愈发显著。对于企业管理者而言,如何精准掌握员工工作状态,保障网络安全与工作效率,已成为亟待解决的关键问题。本文将深入剖析四款主流企业内网监控软件,探讨其功能…