【Linux】基本指令(上)

news2024/12/19 23:01:33

​🌠 作者:@阿亮joy.
🎆专栏:《学会Linux》
🎇 座右铭:每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根
在这里插入图片描述

目录

    • 👉操作系统👈
    • 👉文件👈
    • 👉基本指令👈
      • ls 指令
      • pwd 指令
      • cd 指令
      • touch 指令
      • mkdir 指令
    • 👉总结👈

👉操作系统👈

操作系统(Operating System,缩写:OS)是一组主管并控制计算机操作、运用和运行硬件、软件资源和提供公共服务来组织用户交互的相互关联的系统软件程序。

在这里插入图片描述

以上是百度对操作系统的定义。通俗来讲,操作系统就是一款管理软件,对下管理好软硬件资源,对上提供良好的(稳定、安全和高效)的运行环境。

而对一个程序员来说,学好 Linux 操作系统是非常重要的。而 Linux 系统通常没有图形化界面,Linux 系统是通过命令行来操作的。而在命令行里写指令就是相当于在 Windows 系统下学习基本操作,所以大家也不需要担心过难。

因为我们一般写代码都不是在 Linux 环境下写的,所以我就在 Linux 环境下写一个 C 语言和 C++ 的代码。这些内容将会在以后的博客来给大家讲解,接下来我们只需要了解一下有这件事即可。

Linux 环境下的 C 语言代码
在这里插入图片描述
注:gcc 是 Linux 环境下的 C 语言编译器。

Linux 环境下的 C++ 代码

在这里插入图片描述

g++ 是 Linux 环境下的 C++ 编译器。

以上就是在 Linux 环境下写代码的样子,是不是很新奇。其实我第一次敲的时候也觉得很新奇,现在依然。那么话不多说,进入 Linux 环境下的基本指令。

👉文件👈

相信大家对文件都是有一定的了解的。那我现在请问大家一个问题:如果我们创建了一个空文件,那这个空文件占不占用磁盘空间呢?可能有些小伙伴会说不占磁盘空间,其实这个空文件也会占用磁盘空间。因为一个文件等于文件的内容数据加上文件的属性数据,只要是数据就会占用磁盘空间。所以,操作文件的方法就有操作文件内容的操作文件属性的

在 Linux 环境下,有普通文件和目录。普通文件比较好理解,那目录是什么呢?目录就是文件夹,是保存其他文件的场所。

👉基本指令👈

因为大家之前都没有学习过 Linux 的基本指令,所以我就给大家先罗列几条接下来就要用到的指令。这些指令都会在后面的内容详细讲解。

注:# 后面的内容为注释内容

pwd  #显示当前用户所在的路径
ls   #显示当前路径下的文件或者目录名称
ls -l  #显示当前路径下的文件或者目录的更详细的属性信息
ll   #显示当前路径下的文件或者目录的更详细的属性信息
cd 路径  切换路径,让我们进入不同的路径操作
clear  #清空屏幕

指令演示

在这里插入图片描述

注:蓝色字体的名称为目录名称。

ls 指令

语法: ls [选项][目录或文件]

功能:对于目录,该命令列出该目录下的所有子录与文件。对于文件,将列出文件名以及其他信息。

常用选项

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

在这里,我只给大家演示几个比较常用的指令,其他指令大家可以自己敲一敲试试。

ls

ls  #显示当前路径下的文件或者目录名称

在这里插入图片描述
注:绿色字体的是可执行程序(相当于 Windows 系统下的 .exe 文件),蓝色字体的是目录名称。

ls -l 和 ll

ls -l  #显示当前路径下的文件或目录的更详细的属性信息
ll     #显示当前路径下的文件或目录的更详细的属性信息

在这里插入图片描述
在这里插入图片描述

注:在 Linux 系统下,大多数指令可以和选项合并在一起,所以ll等同于ls -l

ls -a 和 ls -a - l

ls -a  #列出当前路径下的所有文件,包括以.开头的隐藏文件
ls -a -l #列出当前路径下的所有文件更详细的信息,包括以.开头的隐藏文件

在这里插入图片描述
对比着来看,我们就可以发现带有-a的指令比没有带-a的指令多出了...两个文件。那这两个是什么呢?.是当前目录,..是上级目录。因为这两个文件都是以.开头,所以它们是隐藏文件。接下来给大家用cd指令验证一下.是当前目录,..是上级目录。

在这里插入图片描述
注:在 Linux 系统下,目录和路径是一个概念,不用加以区分。

接下来要跟大家提前讲两个指令,分别是touchmkdir,这两个指令在接下来的内容里会详细讲解。

touch 文件名  #创建普通文件
mkdir 目录名称  #创建目录

接下来,我们就用这两个指令来创建两个隐藏文件。

在这里插入图片描述
可以发现,只有带上-a的指令才能将隐藏文件显示出来。

ls -ld

ls -ld 目录名称  #显示该目录的详细信息

为了演示这个命令,我们先来创建一个目录。

在这里插入图片描述

在上面,我们讲到ls -l指令是显示当前路径下的文件或目录的更详细的属性信息。而ls -l指令加上文件名就会只显示该文件的更详细的属性信息,ls -l指令加上目录名称就会显示该路径下的文件或目录的更详细的属性信息。

在这里插入图片描述
有时候,我们可能只想显示某个目录的详细属性信息,而不是显示该目录里的文件的信息。那怎么才能做到呢?在ls -l 目录名称指令中再加上-d就行了,加上-d就是不进入目录,显示文件本身的信息。

在这里插入图片描述

ls -Rl

ls -Rl  #递归列出当前路径所有子目录下的文件的更详细的属性信息

在这里插入图片描述

以上就是我想要给大家讲解的ls指令,还有其他选项没有讲到的,大家自己去试一试。

pwd 指令

语法: pwd

功能:显示用户当前所在的目录

常用选项:无

pwd  #显示当前用户所处的路径

pwd指令在上面已经提及到了,在这里就不再多说了。我们来学习一下 Linux 和 Windows 的路径表示。

在这里插入图片描述

cd 指令

Linux 系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。

在这里插入图片描述

语法:cd 目录名

功能:改变工作目录,将当前工作目录改变到指定的目录下。

cd 绝对路径

cd 绝对路径  #去到该绝对路径

在这里插入图片描述

cd …

cd ..  #回到上级路径

这个指令在一开始的时候,我已经向大家提及过了,就是回到上一级路径。那如果我一直cd .. 呢?这样会发生什么?我们来试一下。见下图所示:

在这里插入图片描述
现在我们来思考一个问题,Linux 系统下的目录里面可以再放目录吗?这个问题的答案显而易见,当然是可以的。其实几乎所有操作系统文件的目录结构是一颗多叉树。

在这里插入图片描述
只要是树状结构,就有叶子节点和非叶子节点的概念。在 Linux 下,非叶子节点也称为路上节点。显而易见,目录结构的叶子节点是普通文件或者是空目录,路上节点只能是目录。一个目录里面既可以是目录又可以是普通文件。

为什么我们喜欢用路径来标识一个文件呢?因为我们一般从根目录/到指定文件下,路径加上文件名具有唯一性,这个具有唯一性的路径就是绝对路径。绝对路径比较官方,比如作为配置文件中的一个配置。

cd 相对路径

cd 相对路径  #切换到该相对路径

相对路径就是指相对当前所在的路径引起的跟其它文件(或文件夹)的路径关系。相对路径比较简单,用起来比较简单。

在这里插入图片描述
tree 指令

tree . 以树状结构显示当前路径下的所有文件

因为我们都是第一次使用 Linux 系统,所以很多小伙伴的 Linux 系统都是没有 tree 的这个指令的。所以我们需要先下载。

下载指令

yum install -y tree   #下载tree指令

注意:下载指令的时候需要将用户切换到 root 用户,如果不知道自己的当前用户是不是 root 用户,可以通过whoami指令来查询。

在这里插入图片描述

如果当前用户不是 root 用户的话,可以通过指令su root切换到 root 用户,然后输入yum install -y tree指令下载 tree指令。输入了后,稍等一会就会下载完成。

在这里插入图片描述

注:从 Win10 开始,Windows 系统就支持 Linux指令了。

cd ~

cd ~  #进入用户家目录

在这里插入图片描述

/home/XXX   #叫做XXX用户的工作路径或者家目录
            #特定用户登录是,默认所处的路径

如果你是 root 用户,你的家目录叫做/root

cd -

cd -  #返回最近访问目录

在这里插入图片描述

cd -这个指令是非常方便的,也非常简单。

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指令是 Linux 系统下创建普通文件的一个指令。

注意:Linux系统的文件不是通过文件后缀来标识,任何的普通文件都可以当做文本文件。

获得文件的更详细的信息

stat 文件名

在这里插入图片描述
文件的三个时间属性,我将会在后面的内容来跟大家讲解。

touch指令除了创建普通文件,还可以更新文件的时间。

在这里插入图片描述

mkdir 指令

语法: mkdir [选项] dirname…
功能:在当前目录下创建一个名为 “dirname”的目录
常用选项

  • -p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立 好那些尚不存在的目录,即一次可以建立多个目录
mkdir 目录名称  #创建空目录
mkdir -p 路径  #创建路径

在这里插入图片描述

👉总结👈

本篇博客主要讲解了操作系统的基本概念、文件和基本指令,整篇博客的内容不会很难,希望大家能掌握。以上就是本篇博客的全部内容了,如果大家觉得有收获的话,可以点个三连支持一下!谢谢大家啦!💖💝❣️

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

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

相关文章

Linux - 第2节 - Linux环境基础开发工具使用

1.Linux 软件包管理器 yum centos 7中安装软件的方式: (1)源码安装 (2)rpm包安装 (3)yum安装 yum安装的好处: (1)不用编译源码 (2)不用…

赶紧进来看看---C语言实现学生信息管理系统(2.0动态内存版)

本文介绍了将学生信息管理系统静态版本改造为动态内存版本,主要涉及改造思路,枚举类型的使用,动态内存函数和柔性数组的使用,动手写程序才能使基础知识更为牢固…(文章最后有源码展示) 学生信息管理系统1.0静态版->学生信息管理系统2.0动态内存版 c语言实现学生信息管理系统…

在python中使用ggplot2

python的ggplot2库:plotnine > 一.安装方法: pip install plotnine使用的编译器:pycharm 二.plotnine绘图 1.第一个图形 除了导包的操作不一致,其他类似 from plotnine import ggplot, geom_point, aes, stat_smooth, facet_wrap fr…

70.【JavaScript 6.0】

前端三要素1.前端三要素2.引入JavaScript3.JavaScript基本语法入门4.数据类型5.严格检查模式( use strict)6.Map和Set7.函数的定义和参数获取8.变量的作用域(局部 全局)-------> 和Java一样9.全局规范:10.方法的定义和调用11.内部对象1.Date--------->日期2.JSON--------…

自定义mybatis插件实现sql日志打印

自定义mybatis插件实现sql日志打印 mysql插件实现原理 官网的关键信息 参考文档 https://mybatis.org/mybatis-3/zh/configuration.html#plugins 官方文档 MyBatis 允许你在映射语句执行过程中的某一点进行拦截调用。默认情况下,MyBatis 允许使用插件来拦截的方…

【JavaSE】一篇文章领悟Java运算符

前言: 作者简介:爱吃大白菜1132 人生格言:纸上得来终觉浅,绝知此事要躬行 如果文章知识点有错误的地方不吝赐教,和大家一起学习,一起进步! 如果觉得博主文章还不错的话,希望三连支持&#xff01…

Java项目:超市管理系统(java+SSM+JSP+LayUI+jQ+Mysql)

源码获取:俺的博客首页 "资源" 里下载! 项目介绍 本项目分为超级管理员、总经理、店长、员工等角色,超级管理员可添加修改删除角色并进行角色菜单配置; 超级管理员角色包含以下功能: 商品管理:添…

C语言高级-4栈

14天阅读挑战赛 目录 一、栈的原理 1、栈的定义 2、栈的应用 (1)选课问题 (2)旅游:怎么样把每个城市去且仅去一遍? (3)栈的使用场景 (4)思考&#xf…

C++多态之虚函数表详解及代码示例

引言 C相对其他面向对象语言来说,之所以灵活、高效。很大程度的占比在于其多态技术和模板技术。C虚函数表是支撑C多态的重要技术,它是C动态绑定技术的核心。 如果对多态还不了解的小伙伴,可以点这里C多态详解基础篇。 在不考虑继承的情况下…

Vue3 Hooks 模块化抽离

Vue3中的Hooks 其实就是业务逻辑的抽离,跟Vue2中mixin 本质上是一样的:将当前组件的业务逻辑抽离到一个公共的文件中,提高逻辑复用性,让当前组件看起来更加清爽,不太一样的地方是我们封装hooks 的时候一般是返回一个函…

如何不改动 GatewayWorker 依赖包下自定义协议

前言: GatewayWorker 是 Workerman 的一个框架,对应用层开发者更友好。GatewayWorker 多了一个网关,也就是 Gateway,负责与客户端连接,消息转发等。而自定义的协议,也就是 gateway 面向客户端提供服务的协议…

java毕业设计——基于java+JDBC+sqlserver的物业管理系统设计与实现(毕业论文+程序源码)——物业管理系统

基于javaJDBCsqlserver的物业管理系统设计与实现(毕业论文程序源码) 大家好,今天给大家介绍基于javaJDBCsqlserver的物业管理系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。 文章目录: 基于javaJDB…

【H5微信授权】简单实现H5页面微信授权功能,微信开发者工具报错 系统错误,错误码-1,undefined解决办法【详细】

前言 最近写到了H5公众号,需要微信授权的功能。 这里记录一下授权的流程和踩了个坑 图片 授权代码执行后会跳转到授权的地方,没有授权的会有确认授权,授权过得会这样,直接自动登录,然后再跳转到中转页 授权流程 …

204 - 205.表的基本用法

表的基本操作 1.基本概念 1.1数据库和表的关系 每个数据库包含N张表,及表示在库中 1.2 表(二维表) 行和列组成,可以将复杂的数据保存在简单的表中 表中的每一行就是一条完整的记录 表中的列用于保存每条记录中特点的信息 2.…

【Redis】散列表(Hash)和列表(List)的运用和理解以及Hash和List应用场景对比详解

文章目录一. 散列表(hash)1.1 基本操作1.2 当value字符串的内容是数字时二.列表(List)2.1 基本操作三.Hash和List的应用场景3.1Hash的应用场景3.2List的应用场景一. 散列表(hash) Redis哈希是字符串类型字段和值的映射表。哈希特别适合存储对象。 Redis中…

mindspore.dataset的map问题

1、创建一个包含transform的自定义类并实例化 2. 类的实现如下: 请注意:在call函数中,我并没有调用init中定义的transform操作。 3. ImageFolder_forPretrain的定义如下。 在划红线的那行,出现错误。 错误信息: 疑问…

【Spark】spark-submit作业提交及参数设定

note 文章目录note一、Spark的常用启动方式1.1 local本地模式1.2 Standalone模式1.3 Spark on Yarn模式二、spark-submit 详细参数说明--master--deploy-mode--class--name--jars--packages--exclude-packages--repositories--py-files--files--conf PROPVALUE--properties-fil…

【趣学算法】Day3 贪心算法——背包问题

14天阅读挑战赛努力是为了不平庸~ 算法学习有些时候是枯燥的,这一次,让我们先人一步,趣学算法! ❤️一名热爱Java的大一学生,希望与各位大佬共同学习进步❤️ 🧑个人主页:周小末天天开心 各位大…

tomcat应用部署

目录 tomcta介绍 tomcat安装 每个目录的作用 端口 实验开始 安装,启动MySQL 创建数据库 更改数据库连接 项目导入tomcat和数据库查看 重启tomcat 访问应用 【注意】 tomcta介绍 Tomcat的是完全开源的 Tomcat的是免费的 Tomcat不支持EJB 应用范围&#xff1…

创造一个表格编辑距离指标

这个是我自研的, 与百度PaddleOCR的方式略有不同。 数据的格式: 相当于一个目标检测有两类,分别是table和cell。 在预测值和标签中要先把根据位置关系所有的cell划分到不同的table中。 另外cell标签中还有起止位置 比如 四个数字代表行和…