【Linux】-基本指令(上)

news2024/12/23 10:07:07

  🔑🔑博客主页:阿客不是客

🍓🍓系列专栏:深入代码世界,了解掌握 Linux

欢迎来到泊舟小课堂

😘博客制作不易欢迎各位👍点赞+⭐收藏+➕关注

Windows环境不同,我们在linux环境下需要通过指令进行各操作,今天要学习得就是一些常见的操作指令

注:上下键可以找到历史命令

命令1:ls 指令

1.1 基本语法

1.基本语法:ls 选项 目录或文件

2.功能:对于目录,列出目录下有关信息

1.2 选项

  1. -a:列出当前目录下所有文件,包括以.开头的隐藏文件。
  2. -d:将目录像文件一样显示,而不是显示其下的文件。
  3. -i:输出文件的 i 节点的索引信息。
  4. -k:以 k 字节的形式表示文件的大小。
  5. -l:列出文件的详细信息。
  6. -n:用数字的 UID、GID 代替名称。
    • UID(User ID)即用户标识号,用于唯一标识系统中的用户。
    • GID(Group ID)即组标识号,用于唯一标识系统中的用户组。
  7. -F:在每个文件名后附上一个字符以说明该文件的类型,*表示可执行的普通文件;/表示目录;@表示符号链接;|表示 FIFOs;=表示套接字(sockets)。
  8. -r:对目录反向排序。
  9. -t:以时间排序。
  10. -s:在文件名后输出该文件的大小,可用于大小排序,以便找到目录下最大的文件。
  11. -R:列出所有子目录下的文件。
  12. -1:一行只输出一个文件。

1.3 常用选项使用方法

1.3.1 ls

直接使用ls:显示当前所处目录或文件中的文件与目录名。

1.3.2 ls [目录或文件]

作用为显示当前目录下指定目录里面的文件或者目录名

注:ls / 是显示根目录

1.3.3 ls -l

ls -l [文件或目录]:列出文件的详细信息。当[文件或目录]为空时,列出当前所处文件或目录中所有文件或目录的详细信息,同时 ls -l可以简写成:ll

1.3.4 ls -a

ls -a: 列出目录下的所有文件,包括以 . 开头的隐含文件(在linux中,以 . 开头的文件为隐藏文件)。

如图所示,进入我新创建得113-1文件夹进行指令操作

1.3.5 同时指令得选项可叠加(叠加指令不分前后顺序)

命令2: pwd 指令

pwd 指令:显示用户当前所在的目录

命令3:cd 指令

语法:cd 目录名
功能:改变工作目录。将当前工作目录改变到指定的目录下。 

在linux系统中,我们知道以  .  开头的为隐藏文件,以 .. 开头的为隐藏文件夹,那么在 ls -a指令中单独出现的 . 和 .. 指的是什么呢?

, 代表的是当前目录, .. 代表的是上一级目录,这在linux系统中的任意目录下都是自动生成的。

知道了上述概念,为了更好理解cd指令的操作,我们还需要了解,Linux中的文件是如何存放的。
Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件,且每一个目录中的文件或目录不能重名,因为只有这样才能保证每个目录都有一个唯一且确定的位置。

示例如下所示:

因为路径具有唯一性,所以我们可以通过两种方式来描述文件的位置: 

  • 绝对路径:我们把这种从根目录开始,定位文件的路径称为绝对路径,比如:/home/bob
  • 相对路径:相对于当前所处路径去定位某个文件的路径,比如:当前路径为:/home/bob,然后我们可以通过../eve来进入eve文件。

在这里我们可以与Windows系统类比,在Linux中也存在着绝对路径与相对路径。 在上图中我们可以看到每一个子目录或文件只有一个父目录,因此对于每一个文件或目录的绝对路径是唯一的。同时也因为在同意目录下,每一个文件和目录都不能重名,也是我们在使用相对路径是,也可以准确的找到想要找到的文件。

因此在使用cd指令是的路径,可以是绝对路径,也可以是相对路径。

指令示例如下:

1. cd .. :返回上一级目录

2. cd 绝对路径:使用绝对路径改变当前工作目录。

3. cd 相对路径:使用相对路径改变当前工作目录。

  1. cd ~:进入主工作目录,也就是家目录。其中对于root用户主工作目录就是/root,而对于普通用户就是/home/xxx
  2. cd -:返回上一次访问目录。

中需要注意的是:如果一直用 cd ..回到上级目录,如果回到根目录就无法回退了,其中Linux下根目录为/。并且,/也可以作为路径分隔符,比如/home/beidi_113/113;而值得一提的是Window环境下的路径分割符为\

命令4:touch 指令

4.1 基本语法

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

4.2 选项

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

命令5 mkdir 指令

  1. 语法:mkdir 选项 dirname
  2. 功能: 在当前目录下创建一个名为dirname的目录。

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

命令6 rmdir 指令和 rm 指令

rmdir 命令:

由于rmdir指令只能删除对应的空目录,所以局限性很大,一般我们比较常用的是下面的rm指令。

6.1 基本语法

  1. 语法:rm 选项 dirname。
  2. 功能:删除文件或目录。

6.2 选项

-i 删除前逐一询问确认(y为确定删除,n为不删除)。

-f 即使文件属性为只读(即写保护),亦直接删除。

-r 删除目录及其下所有文件(递归式删除)。

当我们想删除当前目录下的所有文件时,可以使用通配符*rm ./*就能删除当前目录下的所有文件。如果我们想指定删除某种类型的文件,比如说我们想删除后缀为.c的文件,可以这样使用rm ./*.c

命令7 man 指令

Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是man
语法: man [选项] 命令

解释一下,面手册分为8章

  1. 是普通的命令
  2. 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)
  3. 是库函数,如printf,fread
  4. 是特殊文件,也就是/dev下的各种设备文件
  5. 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义
  6. 是给游戏留的,由各个游戏自己定义
  7. 是附件还有一些变量,比如向environ这种全局变量在这里就有说明
  8. 是系统管理用的命令,这些命令只能由root使用,如ifconfig

常用选项:

-k 根据关键字搜索联机帮助
num 只在第num章节找
-a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按 下q退出,他会继续往后面搜索,直到所有章节都搜索完毕

注:如果man后面直接跟指令时,它会从手册的第一章开始,依次往下找,直到找到为止。

man is:

man 3 printf:

注:使用q推出手册

命令8 cp 指令

8.1 语法:

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

直接使用cp 可拷贝任意文件和空文件夹

使用方式:

拷贝到当前路径下,并修改成新的名字:

 直接拷贝到指定路径下:

 修改名称拷贝到指定路径下:

 

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

 

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

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

相关文章

ASCII字符和中文字符的显示

目录 前言 ASCII字符的点阵显示 获取点阵 描点 main 中文字符的点阵显示 指定编码格式 汉字区位码 汉字点阵显示实验 打开汉字库文件 编写显示汉字的函数 使用 lcd_put_chinese 函数 前言 板子为韦东山老师的imx6ull板,要在LCD上实现字符的显示&#xf…

idea集成和使用Git指南

前言 Git是一个分布式的版本控制工具,可以管理我们开发过程中的源代码文件,而idea是Java的集成开发环境,在idea中配置Git,可以提高我们的团队开发效率。因此在idea中集成Git并使用Git管理我们的源代码是必要的 第一步:…

多线程的高手——海王(浅谈线程概念)

听到大海的声音了吗 让我想想炉石里面能被成为海王的卡牌 我个人感觉 就是拿着三叉戟的甲壳元素 可是这牌被删了我心痛 背景知识 还是地址空间那点破事! OS进行内存管理,不是以字节为单位的,而是以内存块为单位的! 默认是4k…

Halo 开发者指南——项目运行、构建

准备工作 环境要求 OpenJDK 17 LTSNode.js 20 LTSpnpm 9IntelliJ IDEAGitDocker(可选) 名词解释 工作目录 指 Halo 所依赖的工作目录,在 Halo 运行的时候会在系统当前用户目录下产生一个 halo-next 的文件夹,绝对路径为 ~/ha…

学习图解算法 使用C语言

图解算法 使用C语言 也就是通过C语言实现各种算法 链接:百度云盘 提取码:1001

【CMake】使用CMake在Visual Stdudio构建一个最简单的项目

一、准备工作 首先,确保在 V i s u a l S t u d i o Visual\ Studio Visual Studio上安装了 C C C桌面开发,如果没有安装,打开 V i s u a l S t u d i o I n s t a l l e r Visual\ Studio\ Installer Visual Studio Installer就可以修改…

【JAVA干货店】带你玩转数组与递归

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​💫个人格言:“没有罗马,那就自己创造罗马~” 文章目录 递归利用递归求斐波那契数列数组入门 递归 自己调用自己 StackOverflowError:栈溢出错误,出现的原…

滑动窗口(3)_最大连续1的数组个数III

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 滑动窗口(3)_最大连续1的数组个数III 收录于专栏【经典算法练习】 本专栏旨在分享学习算法的一点学习笔记,欢迎大家在评论区交流讨论💌 …

CTFHub技能树-信息泄露-HG泄漏

目录 漏洞产生原因 解题过程 当开发人员使用 Mercurial 进行版本控制,对站点自动部署。如果配置不当,可能会将.hg 文件夹直接部署到线上环境。这就引起了 hg 泄露漏洞。 漏洞产生原因 Mercurial(hg)是一种分布式版本控制系统,它与Git类似也可以用于管…

【Java】线程状态:线程生命周期的六个阶段

欢迎浏览高耳机的博客 希望我们彼此都有更好的收获 感谢三连支持! 在Java中,线程可以处于多种状态,这些状态描述了线程的生命周期。了解这些状态及其转换条件对于编写高效且无错误的多线程应用程序至关重要。本文将总结Java线程的几种状态&am…

半导体制造技术中的沉积和驱入(Deposition and drive-in)过程

来源:半导体制造技术导论——萧宏 沉积和驱入过程 图5.34 硼掺杂工艺高温扩散炉系统示意图 图5.35 扩散掺杂工艺流程 图5.36 扩散工艺在超浅结深(USJ)上的应用

C++设计模式——Prototype Pattern原型模式

一,原型模式的定义 原型模式是一种创建型设计模式,它允许通过克隆已有对象来创建新对象,从而无需调用显式的实例化过程。 原型模式的设计,使得它可以创建一个与原型对象相同或类似的新对象,同时又可以减少对象实例化…

项目实战应用Redis分布式锁

Redis分布式锁 一、前言二、Redis分布式锁过期处理三、Redis分布式实现3.1 基于Jedis 的API实现分布式锁3.1.1 基础命令3.1.2 基于Jedis API的分布式锁3.1.3 基于Lua脚本实现分布式锁 四、Redisson的使用五、Redision锁 核心源码分析六、总结 一、前言 对于项目中使用Redis分布…

jdk相关介绍

JDK,全称Java Development Kit,是Java语言开发的基础工具包。它包含了Java运行时环境(JRE)以及用于开发Java应用程序的各种工具和库。JDK为Java程序员提供了编译、调试和运行Java应用程序所需的全部环境。 JDK的主要组成部分包括&…

OpenCV_图像像素读写操作

本文详细介绍了如何在C项目中使用OpenCV进行图像像素的读写操作,包括使用头文件声明Pixel类,通过遍历和指针方式处理灰度图和彩色图,以及在主函数中调用这些操作。 数组遍历的方式进行图像像素读写 void QuickDemo::pixelVisit_Demo(Mat&am…

【最新华为OD机试E卷-支持在线评测】增强的strstr(100分)多语言题解-(Python/C/JavaScript/Java/Cpp)

🍭 大家好这里是春秋招笔试突围 ,一枚热爱算法的程序员 💻 ACM金牌🏅️团队 | 大厂实习经历 | 多年算法竞赛经历 ✨ 本系列打算持续跟新华为OD-E/D卷的多语言AC题解 🧩 大部分包含 Python / C / Javascript / Java / Cpp 多语言代码 👏 感谢大家的订阅➕ 和 喜欢�…

替换 Oracle ,江河信息用 TDengine 解决高基数查询写入问题

在数字经济快速发展的背景下,智慧水利作为重要的基础设施之一,正逐步成为提升水资源管理效率、优化生态环境的重要力量。江西省水投江河信息技术有限公司(以下简称“江河信息”)作为高新技术国有企业,坚定致力于打造数…

监控binlog日志监控表变化进行消息通知

前言 由于我们做项目的时候有项目任务管理工具,目前用的最多的是禅道,而我们用的是redmine,而redmine是使用ruby写的,刚好我们这边没有会用ruby的人,所以就有了这样一个小工具,用于监控binlog日志通过钉钉…

机器人相关知识的本身和价值

简要将人类简史分为 农业工业信息智能 四个时代。 在信息时代,知识本身就可以等同于价值。 常识看,学历可以变现,高品质文凭能极大概率获得工资远远高于平均值的工作机会。 在智能时代,知识本身毫无价值,知识的应…

UML 类图(提供 Java 实现)

文章目录 UML 类图概述及作用类图表示法类(接口)的表示类与类之间关系的表示关联关系(Association)单向关联(Unidirectional Association)双向关联(Bidirectional Association)自关联…