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

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.rhkb.cn/news/34876.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自然语言秒转SQL—— 免费体验 OB Cloud Text2SQL 数据查询

在数据驱动决策的今天,企业急需从庞大业务数据中提炼信息,获取深度洞察。然而,面对海量数据,业务人员往往因缺乏SQL专业技能而难以快速查询和分析所需信息,频繁求助于BI部门不仅抬高了企业的沟通与时间成本&#xff0c…

鸿蒙next 多行文字加图片后缀实现方案

需求 实现类似iOS的YYLabel之类的在文字后面加上图片作为后缀的样式,多行时文字使用…省略超出部分,但必须保证图片的展现。 系统方案 在当前鸿蒙next系统提供的文字排版方法基本没有合适使用的接口,包括imagespan和RichEditor,根据AI的回…

C语言基础知识04---指针

目录 1、指针 1.1 指针概念 1.2 指针的大小 1.3 指针的定义 1.4 多级指针 1.5 指针的初始化 1.6 指针的使用 1.7 类型转换 1.8 大小端 1.9 地址偏移 1.10 指针常量&&常量指针 1.11 指针数组&&数组指针 1、指针 1.1 指针概念 指针保存地址&#xff…

spring boot 发送邮件验证码

一、前置需求 1、准备邮箱 2、登录授权码 qq邮箱在–>设置–>账号POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 开启服务 二、发送邮件 1、简单邮件 包含邮件标题、邮件正文 2、引入mail启动器 <dependency><groupId>org.springframework.boot</groupI…

Spring Cloud Config - 动态配置管理与高可用治理

引言&#xff1a;为什么需要配置中心&#xff1f; 在微服务架构中&#xff0c;配置管理面临分散化、多环境、动态更新三大挑战。传统基于application.yml等配置文件的硬编码方式&#xff0c;导致以下问题&#xff1a; • 环境差异&#xff1a;开发、测试、生产环境配置混杂&a…

[网络][tcp协议]:tcp报头

tcp(传输控制协议)是一种面向字节流的传输层协议,相较于udp协议,tcp能保证传输数据的可靠性与准确性,tcp也是目前最常见的传输层协议 本文主要介绍tcp报头各个字段的含义与用途 注:保留6位和6位标记位是目前最普遍的写法,在我查资料时,发现有一些拓展情况,会在后文细说 最简单的…

【sklearn 01】人工智能概述

一、人工智能&#xff0c;机器学习&#xff0c;深度学习 人工智能指由人类制造出的具有智能的机器。这是一个非常大的范围&#xff0c;长远目标是让机器实现人工智能&#xff0c;但目前我们仍处在非常初始的阶段&#xff0c;甚至不能称为智能 机器学习是指通过数据训练出能完成…

Excel ScriptLab学习笔记

注意 The Excel JavaScript API 没有“Cell”对象或类。 相反&#xff0c;Excel JavaScript API 将所有 Excel 单元格定义为 Range 对象。 Excel UI 中的单个单元格转换为 Excel JavaScript API 中包含一个单元格的 Range 对象。 单个 Range 对象也可以包含多个连续的单元格。…

【数据结构】线性表简介

0.本篇问题 线性表&#xff0c;顺序表&#xff0c;链表什么关系&#xff1f;它们是逻辑结构还是存储结构&#xff1f;线性表的基本操作有哪些&#xff1f; 线性表是具有相同数据元素的有限序列。 表中元素有先后次序&#xff0c;每个元素占有相同大小的存储空间。 一、线性…

设计模式(行为型)-备忘录模式

目录 定义 类图 角色 角色详解 &#xff08;一&#xff09;发起人角色&#xff08;Originator&#xff09;​ &#xff08;二&#xff09;备忘录角色&#xff08;Memento&#xff09;​ &#xff08;三&#xff09;备忘录管理员角色&#xff08;Caretaker&#xff09;​…

Navicat如何查看密码

近期遇到需要将大部分已存储的navicat数据库转发给其他人&#xff0c;于是乎进行导出文件 奈何对方不用navicat&#xff0c;无法进行文件的导入从而导入链接 搜罗navicat的密码查看&#xff0c;大部分都为php代码解析 以下转载GitHub上看到的一个python代码解析的脚本 这里是对…

Matlab 四分之一车体车辆半主动悬架鲁棒控制

1、内容简介 略 Matlab 173-四分之一车体车辆半主动悬架鲁棒控制 可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 略 4、参考论文 略

Python学习第十九天

Django-分页 后端分页 Django提供了Paginator类来实现后端分页。Paginator类可以将一个查询集&#xff08;QuerySet&#xff09;分成多个页面&#xff0c;每个页面包含指定数量的对象。 from django.shortcuts import render, redirect, get_object_or_404 from .models impo…

【大模型】Transformer、GPT1、GPT2、GPT3、BERT 的论文解析

前言 在自然语言处理&#xff08;NLP&#xff09;和深度学习的快速发展中&#xff0c;Transformer模型和 GPT系列模型扮演了至关重要的角色。本篇博客旨在对这些开创性的论文进行介绍&#xff0c;涵盖它们的提出时间、网络结构等关键信息&#xff0c;能够快速的理解这些模型的设…

【DeepSeek应用】本地部署deepseek模型后,如何在vscode中调用该模型进行代码撰写,检视和优化?

若已成功在本地部署了 DeepSeek 模型(例如通过 vscode-llm、ollama 或私有 API 服务),在 VS Code 中调用本地模型进行代码撰写、检视和优化的完整流程如下: 1. 准备工作:确认本地模型服务状态 模型服务类型: 若使用 HTTP API 服务(如 FastAPI/Flask 封装),假设服务地址…

【C语言】函数和数组实践与应用:开发简单的扫雷游戏

【C语言】函数和数组实践与应用&#xff1a;开发简单的扫雷游戏 1.扫雷游戏分析和设计1.1扫雷游戏的功能说明&#xff08;游戏规则&#xff09;1.2游戏的分析与设计1.2.1游戏的分析1.2.2 文件结构设计 2. 代码实现2.1 game.h文件2.2 game.c文件2.3 test.c文件 3. 游戏运行效果4…

需求分析、定义、验证、变更、跟踪(高软47)

系列文章目录 需求分析、定义、验证、变更、跟踪 文章目录 系列文章目录前言一、需求分析二、需求定义三、需求验证四、需求变更五、需求跟踪六、真题总结 前言 本节讲明需求分析、定义、验证、变更、跟踪相关知识。 一、需求分析 二、需求定义 三、需求验证 四、需求变更 五、…

【拒绝算法PUA】LeetCode 2270. 分割数组的方案数

系列文章目录 【拒绝算法PUA】0x00-位运算 【拒绝算法PUA】0x01- 区间比较技巧 【拒绝算法PUA】0x02- 区间合并技巧 【拒绝算法PUA】0x03 - LeetCode 排序类型刷题 【拒绝算法PUA】LeetCode每日一题系列刷题汇总-2025年持续刷新中 C刷题技巧总结&#xff1a; [温习C/C]0x04 刷…

uniapp 实现的步进指示器组件

采用 uniapp 实现的一款步进指示器组件&#xff0c;展示业务步骤进度等内容&#xff0c;对外提供“前进”、“后退”方法&#xff0c;让用户可高度自定义所需交互&#xff0c;适配 web、H5、微信小程序&#xff08;其他平台小程序未测试过&#xff0c;可自行尝试&#xff09; 可…

每日Attention学习26——Dynamic Weighted Feature Fusion

模块出处 [ACM MM 23] [link] [code] Efficient Parallel Multi-Scale Detail and Semantic Encoding Network for Lightweight Semantic Segmentation 模块名称 Dynamic Weighted Feature Fusion (DWFF) 模块作用 双级特征融合 模块结构 模块思想 我们提出了 DWFF 策略&am…