广州网站建设培训/百度竞价推广代理商

广州网站建设培训,百度竞价推广代理商,中国空间站天和核心舱,企业网站可以做淘宝客吗Linux基础命令完全指南【上篇】 Linux基础命令完全指南github地址前言命令行操作的引入Linux文件系统树形结构的根文件系统绝对路径和相对路径适用场景Linux目录下的隐藏文件 基本指令目录和文件相关1. ls2. cd和pwdcdpwd 3. touch4. mkdir5. cp6. mv移动目录时覆盖写入的两种特…

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.mzph.cn/pingmian/72591.shtml

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

相关文章

OceanBase 用户问题精选答疑:OceanBase 版本升级解析

背景 此篇博客的源自于OceanBase社区论坛内一位名为皇甫侯的热心用户所提的建议,希望向OceanBase的用户介绍OceanBase的版本升级路径。本文以一个版本升级为示例,汇总了对用户而言比较重要的版本升级要点,期望通过这份分享,能让读…

Docker Desktop 安装与使用详解

目录 1. 前言2. Docker Desktop 安装2.1 下载及安装2.2 登录 Docker 账号2.3 进入 Docker Desktop 主界面 3. Docker 版本查看与环境检查3.1 查看 Docker Desktop 支持的 Docker 和 Kubernetes 版本3.2 检查 Docker 版本 4. Docker Hub 和常用镜像管理方式4.1 使用 Docker Hub4…

推理大模型的后训练增强技术-Reasoning模型也进化到2.0了,这次居然学会用工具了

论文题目:START: Self-taught Reasoner with Tools 论文链接:https://arxiv.org/pdf/2503.04625 论文简介 Reasoning模型也进化到2.0了,这次居然学会用工具了!✨ 最近有个叫START的方法,让大模型也能学着用工具&#…

基于llama.cpp的QwQ32B模型推理

基于llama.cpp的QwQ32B模型推理 llama.cpp项目主页: https://github.com/ggml-org/llama.cpp# llama.cpp源码下载 cd /root/lanyun-tmpgit clone https://github.com/ggml-org/llama.cpp#llama.cpp编译 llama.cpp是个C语言项目,实际调用过程需要先构建项…

如何使用Spring AI提示词模板PromptTemplate?

如何使用Spring AI提示词模板PromptTemplate 目录 如何使用Spring AI提示词模板PromptTemplate 1、提示词Prompt介绍 2、Spring Boot集成Spring AI框架 3、提示词模板PromptTemplate用法 4、开发代码使用PromptTemplate 5、启动Springboot工程并验证 本文章节介绍Prompt…

Windows Server中的NTP服务器部署(NTP Srver Deployment in Windows Server)

构建稳定内网时间同步:Windows Server中的NTP服务器部署指南 服务简介 NTP(Network Time Protocol)服务器是用于同步计算机网络中各设备时间的服务器。它通过网络协议与标准时间源(如原子钟、GPS系统等)进行时间同步&…

【 <二> 丹方改良:Spring 时代的 JavaWeb】之 Spring Boot 的自动配置:约定优于配置的设计美学

<前文回顾> 点击此处查看 合集 https://blog.csdn.net/foyodesigner/category_12907601.html?fromshareblogcolumn&sharetypeblogcolumn&sharerId12907601&sharereferPC&sharesourceFoyoDesigner&sharefromfrom_link <今日更新> 一、Spring…

SourceTree的安装与使用

SourceTree的安装与使用 一、前言 作为可视化Git管理工具&#xff0c;SourceTree可以避免我们使用命令进行常规的代码拉取&#xff0c;更新&#xff0c;合并等操作。 鼠标点点就可以完成代码管理的工作。所以强烈推荐可视化的工具。不过SourceTree还是有点bug&#xff0c;比…

JMeter 性能测试

Jmeter 用户手册 名词解释&#xff1a; RPS&#xff1a;每秒请求数-每秒向服务器发送多少请求数&#xff08;一个场景&#xff0c;系统面临多大的压力&#xff09; TPS&#xff1a;每秒事务数-每秒能够处理多少请求/事务数性能评价标准&#xff08;其中的一个核心指标&#x…

【Mac 从 0 到 1 保姆级配置教程 09】09. 快速配置终端复用工具 tmux 和 oh-my-tmux

文章目录 1. 前言2. 安装 tmux3. 配置 tmux4. 安装 oh-my-tmux5. 最后6. 参考资料7. 系列教程 Mac 从 0 到 1 保姆级配置教程目录&#xff0c;点击即可跳转对应文章&#xff1a; 【Mac 从 0 到 1 保姆级配置教程 00】 - 教程说明 【Mac 从 0 到 1 保姆级配置教程 01】 - 安装无…

Java 大视界 -- 基于 Java 的大数据机器学习模型的迁移学习应用与实践(129)

&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎来到 青云交的博客&#xff01;能与诸位在此相逢&#xff0c;我倍感荣幸。在这飞速更迭的时代&#xff0c;我们都渴望一方心灵净土&#xff0c;而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识&#xff0c;也…

通义万相 2.1 与蓝耘智算平台的深度协同,挖掘 AIGC 无限潜力并释放巨大未来价值

我的个人主页 我的专栏&#xff1a; 人工智能领域、java-数据结构、Javase、C语言&#xff0c;希望能帮助到大家&#xff01;&#xff01;&#xff01; 点赞&#x1f44d;收藏❤ 引言&#xff1a;AIGC 浪潮下的新机遇 在当今数字化飞速发展的时代&#xff0c;人工智能生成内容&…

C语言高级学习之变量和内存分布

一.变量和内存分布 1.课程要求 2.技术层次 3.C语言标准 1.3.1 K&R C 起初&#xff0c;C语言没有官方标准。1978年由美国电话电报公司(AT&T&#xff09;贝尔实验室正式发表了C语言。布莱恩柯林汉&#xff08;Brian Kernighan&#xff09; 和 丹尼斯里奇&#xff08;D…

蓝桥杯学习-12递归

12递归 1.概述 2.几个递归模板 (1)求阶乘 int f(int n){ if(n 1) return 1; return f(n-1) * n; }(2)斐波拉契序列 int f(int n){ if(n 1 || n 2) return n; return f(n - 1) f(n - 2); }例题一-蓝桥5194 int f(int n){if(n 0) return 1;if(n % 2 0) return f(n / 2)…

Python----数据可视化(Pyecharts三:绘图二:涟漪散点图,K线图,漏斗图,雷达图,词云图,地图,柱状图折线图组合,时间线轮廓图)

1、涟漪特效散点图 from pyecharts.globals import SymbolType from pyecharts.charts import EffectScatter from pyecharts.faker import Faker from pyecharts import options as opts from pyecharts.globals import ThemeType # 绘制图表 es (EffectScatter(init_optsop…

自然语言处理预训练模型的研究综述

&#x1f4d5;参考&#xff1a;&#xff1a;2020-11-02,https://kns.cnki.net/kcms/detail/11.2127.tp.20201030.1952.017.html 主要是这篇文章的自己摘了点笔记。 预训练模型的深度学目标是如何使预训练好的模型处于良好的初始状态&#xff0c;在下游任务中达到更好的性能表现…

一次Linux下 .net 调试经历

背景&#xff1a; Xt160Api, 之前在windows下用.net调用&#xff0c;没有任何问题。 但是移植到Linux去后&#xff0c;.net程序 调用 init(config_path) 总是报错 /root/test 找不到 traderApi.ini (/root/test 是程序目录) 然后退出程序 解决过程: 于是考虑是不是参数传错了&…

iOS底层原理系列01-iOS系统架构概览-从硬件到应用层

1. 系统层级结构 iOS系统架构采用分层设计模式&#xff0c;自底向上可分为五个主要层级&#xff0c;每层都有其特定的功能职责和技术组件。这种层级化结构不仅使系统更加模块化&#xff0c;同时也提供了清晰的技术抽象和隔离机制。 1.1 Darwin层&#xff1a;XNU内核、BSD、驱动…

日志存储与分析

日志是系统运行的详细记录&#xff0c;包含各种事件发生的主体、时间、位置、内容等关键信息。出于运维可观测、网络安全监控及业务分析等多重需求&#xff0c;企业通常需要将分散的日志采集起来&#xff0c;进行集中存储、查询和分析&#xff0c;以进一步从日志数据里挖掘出有…

Flutter 边框按钮:OutlinedButton 完全手册与设计最佳实践

目录 1. 引言 2. OutlinedButton 的基本用法 3. 主要属性 3.1 核心属性详解 3.2 ButtonStyle 子属性详解 (styleFrom/copyWith) 状态响应优先级说明 4. 自定义按钮样式 4.1 修改边框颜色和文本颜色 4.2 修改按钮形状 4.3 修改按钮大小 4.4 集中演示 5. 结论 相关推…