[Linux]:基本指令(上)

news2024/9/21 7:59:23

img

✨✨ 欢迎大家来到贝蒂大讲堂✨✨

🎈🎈养成好习惯,先赞后看哦~🎈🎈

所属专栏:Linux学习

贝蒂的主页:Betty’s blog

Windows环境不同,我们在linux环境下需要通过指令进行各操作,以下是常见操作的指令:

1. ls指令

1.1. 基本语法

  1. 语法:ls 选项 目录或文件
  2. 功能:对于目录,列出该目录下的所有子目录或文件;对于文件,列出文件名及其其他信息

img

1.2. 选项

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

img

其中.代表当前目录,..代表上级目录。

img

img

img

其中每个文件占四个byte,一共12字节。

img

其中值得注意的是:连续的两个选项是可以简化的。比如说:ls -l -a可以简化为ls -la。并且ls -l也可以简化为ll

2. pwd指令

  1. 语法:pwd
  2. 功能:显示用户当前所在目录。

img

3. whoami指令

  1. 语法:whoami
  2. 功能:显示用户当前身份

img

4. cd指令

首先在介绍cd命令之前我们得知道,Linux的目录结构是一颗多叉树,因为只有这样才能保证每个目录都有一个唯一且确定的位置。

img

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

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

知道了以上概念之后,我们就可以来学习一下cd命令。

  1. 语法:cd 目录名
  2. 功能:改变工作目录,将当前工作目录改变到指定目录下。
  1. cd ..:返回上级目录

img

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

img

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

img

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

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

5. clear指令

  1. 语法:clear
  2. 功能:清空屏幕。

6. touch命名

6.1. 基本语法

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

img

6.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 使用指定的日期时间,而非现在的时间。

7. mkdir指令

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

img

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

img

创建多级目录之后,我们可以通过tree指令查看相应的树形结构,如果系统内没有安装该命名,可以通过以下指令安装。

yum install -y tree

8. rmdir

  1. 语法:rmdir 选项 dirname
  2. 功能: 删除空目录。

img

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

9. rm指令

9.1. 基本语法

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

img

9.2. 选项

  1. -i删除前逐一询问确认(y为确定删除,n为不删除)。
  2. -f 即使文件属性为只读(即写保护),亦直接删除。
  3. -r 删除目录及其下所有文件(递归式删除)。

img

img

img

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

10. man指令

Linux环境下存在很多指令,为了方便我们使用,我们可以通过man命令进行对应的查询。

10.1. 基本语法

  1. 语法: man 选项 指令
  2. 功能: 查看指令的使用规则等。

比如我们来查询ls指令:

img

里面会包含该指令的名称,用法,以及对该指令功能的描述。在使用完之后按下q就可以退出。

然后我们还可以通过man man来查看手册的对应功能介绍。

img

一般而言,man手册有八个章节,每一章分别对应:

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

如果大家在查的时候有的东西查不到,可以在root用户下执行以下指令:

yum install -y man-pages

10.2. 选项

  1. -k:根据关键字搜索联机帮助。
  2. num:只在第num章节查找。
  3. -a:将所有章节的查找结果都显示出来。

11. cp指令

11.1. 基本语法

  1. 语法: cp 选项 源文件或目录 目标文件或目录
  2. 功能: 复制文件或目录。

img

11.2. 选项

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

img

img

img

当然cp指令也可以结合通配符*一起使用,一次性复制多种文件。

12. mv指令

12.1. 基本语法

  1. 语法:mv 选项 源文件或目录 目标文件或目录
  2. 功能: 视mv指令当中两个参数的不同而不同。当第二个参数是不存在的名称时,mv指令完成文件重命名或目录重命名。当第二个参数是已存在目录名称时,mv指令将文件移动置该目录中。

img

img

并且如果有需求的话,可以将目标文件剪切到目标目录并重命名,比如说我们将test.c文件剪切到上级目录并重命名为new.c可以使用mv test.c ../new.c

12.2. 选项

  1. -f :强行剪切文件或目录,不论目标文件或目录是否已经存在。
  2. -i :覆盖文件之前先询问用户。

13. nano指令

  1. 语法:nano 文件名
  2. 功能: 打开目标文件。

如果系统中没有该指令的话,可以使用下面指令安装:

yum install -y nano

然后我们就可以打开我们的目标文件,写一下代码或者其他信息。

img

书写完成之后,我们就可以先ctrl+x,在按下y进行保存并退出了。

14. cat指令

14.1. 基本语法

  1. 语法: cat 选项 文件
  2. 功能: 查看目标文件的内容。

我们可以先通过nano书写代码,然后通过cat指令查看。

img

14.2. 选项

  1. -b:对非空输出行编号。
  2. -n:对输出的所有行编号。
  3. -s:禁止重复的空输出行。

img

img

值得注意的是:cat指令会将目标文件内容全部打印到屏幕上。若是目标文件内容过大,则会导致刷屏。因此cat指令一般仅适用于查看内容较少的文件。

15. 重定向

15.1. echo指令

  1. 语法:echo 输出信息
  2. 功能:将信息打印到指定文件,默认为显示器。

img

15.2. 输出重定向

我们可以使用输出重定向将echo输出的语句重定向到指定文件中,比如echo "hello betty" > tmp.txt就能将字符串hello betty!重定向进tmp.txt文件中,如果该文件不存在则会自动创建。

img

我们除了使用输出重定向文件输入外,我们还可以利用>清空文件,因为文件一般打开都会默认清空其中的数据。

img

15.3. 追加重定向

我们知道文件打开一般默认会清空其中的数据,为了不让打开的文件数据被清空,我们可以使用追加重定向。追加重定向与输出重定向的使用方式类似,只不过将>改为了>>

比如说我们对tmp.txt文件进行追加重定向。

img

15.4. 输入重定向

上面我们学了cat指令,一般我们后面会跟一个文件,就可以显示文件的内容,那如果cat之后不跟文件名呢:

img

这时我们输入什么,按回车后,显示器就回显什么,一直输入,就一直回显,按crtl+c就可以结束。这就证明cat一直在默认从键盘读取数据,如果我们不想让其从键盘读取数据,就可以使用输入重定向>

img
这个输出重定向虽然与我们的cat直接输出类似,但是这两者是有区别的,这个我们后面会单独来谈。

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

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

相关文章

PHP8、ThinkPHP8框架中间的应用教程详解

前言 虽然PHP的落幕的话题一直不绝,但是实际在WEB端项目中PHP占有率达到了70%以上,一直在WEB一枝独秀,它以快速、高效的开发闻名,出圈了几十年,等待只是下一次的涅槃。而经过PHP8、PHP9的演变发展,PHP逐渐…

微软最新轻量级、多模态Phi-3.5-vision-instruct模型部署

Phi-3.5-vision-instruct是微软最新发布的 Phi-3.5 系列中的一个AI模型,专注于多模态任务处理,尤其是视觉推理方面的能力。 Phi-3.5-vision-instruct模型具备广泛的图像理解、光学字符识别(OCR)、图表和表格解析、多图像或视频剪…

【STM32】通用定时器TIM(输入捕获)

本篇博客重点在于标准库函数的理解与使用,搭建一个框架便于快速开发 目录 前言 输入捕获简介 输入捕获配置 初始化IO口 输入捕获初始化 选择触发源及从模式 测量频率方法 输入捕获代码 IC.h IC.c 输入捕获测占空比 前言 建议先阅读这篇博客&#xf…

Open3D mesh 均值滤波

Open3D点云算法汇总及实战案例汇总的目录地址: Open3D点云算法与点云深度学习案例汇总(长期更新)-CSDN博客 一、概述 均值滤波(Mean Filtering)是一种基本的网格平滑技术,通过将每个顶点的位置替换为其邻域…

[ABC369C] Count Arithmetic Subarrays

首先看了下题意 大致题意就是让你在长度为的序列找出所有的等差数列。 -----------------------------------------------------------------------------------------我是分界线 我的思路了,就是先从2开始计算等差数列,从3开始判断,如果是…

C#从入门到精通(21)—Mutex互斥锁在多线程、多进程下的使用

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家!人工智能学习网站 前言: 大家好,我是上位机马工,硕士毕业4年年入40万,目前在一家自动化公司担任…

C语言调用子函数时入/出栈(保护/恢复现场)全过程分析:以Cortex-M3为例

0 参考资料&工具 Cortex M3权威指南(中文).pdf keil5(用于仿真查看寄存器、栈变化)1 C语言调用子函数时出入/出栈(保护/恢复现场)全过程分析 使用C语言调用子函数是如何保护/恢复现场的呢?本文以Cortex-M3为例&a…

Zynq之IIC使用示例

前言 明确设计思路,精准定位问题,对于我们后期理解迭代工程有很大的帮助。 这就是我们常说的40%设计,20%编写和剩下的40%时间进行调试优化。 今天为大家带来的是Zynq-PS端的IIC使用demo,通过驱动外设DS1337来强化对IIC的使用方…

【C++二分查找 贪心】1552. 两球之间的磁力

本文涉及的基础知识点 C二分查找 贪心:决策兼容性 LeetCode1552. 两球之间的磁力 在代号为 C-137 的地球上,Rick 发现如果他将两个球放在他新发明的篮子里,它们之间会形成特殊形式的磁力。Rick 有 n 个空的篮子,第 i 个篮子的位…

百日草花语探秘:天长地久的情感寄托与丰富内涵解析

百日草宛如一颗璀璨的明珠,散发着独特的魅力。它那鲜艳夺目的花朵,仿佛是大自然用最细腻的笔触勾勒而成,每一朵都蕴含着无尽的奥秘与情感。当我们漫步于花海之间,不经意间与百日草相遇,那绚烂的色彩和别致的形态定会让…

李沐动手学深度学习:树叶分类竞赛

视频地址:30 第二部分完结竞赛:图片分类【动手学深度学习v2】 竞赛地址:https://www.kaggle.com/competitions/classify-leaves !nvidia-smi # 查看 GPU 信息 # !lscpu # 查看 CPU 信息 # !free -h # 查看内存(RAM) 信息 # !p…

datax编译:解决datax不支持MongoDB 6.0.10的问题

1. 需求及问题 最近使用datax同步MongoDB中的数据到hive,使用了mongodbreader和hdfswriter插件。MongoDB的版本是6.0.10,而datax的默认编译安装包中mongodbreader插件不支持MongoDB 6.0.10。 DataX工具介绍数据同步工具之DataX-CSDN博客 官方地址 https://github.com/alib…

模型 U型思考法(深度思考)

系列文章 分享 模型,了解更多👉 模型_思维模型目录。探索本质,创新求解。 1 U型思考法的应用 1.1 小罐茶的品牌创新 背景: 小罐茶作为一家新兴的茶叶品牌,面临着传统茶叶市场的激烈竞争和消费者需求的多样化。为了在…

地震模板代码 - 第三部分

Seismic stencil codes - part 3 — ROCm Blogs (amd.com) 2024年8月12日,作者:Justin Chang 和 Ossian O’Reilly。 在前两篇博客文章中,我们开发了一个 HIP 内核,能够计算地震波传播中常用的高阶有限差分。经过优化后&#xf…

Redis KEY操作实战手册:从设计到维护的全面指南

​ 🌈 个人主页:danci_ 🔥 系列专栏:《设计模式》《MYSQL》 💪🏻 制定明确可量化的目标,坚持默默的做事。 ✨欢迎加入探索Redis的key的相关操作之旅✨ 👋 大家好!文本…

在 Ubuntu 环境下使用 VSCode 和 PlatformIO 下载程序到 Arduino Uno

安装 VSCode 访问 VSCode 官网 下载 .deb 包使用以下命令安装&#xff1a;sudo dpkg -i <下载的文件名>.deb sudo apt-get install -f安装 PlatformIO 扩展 在 VSCode 中&#xff0c;转到扩展市场&#xff08;CtrlShiftX&#xff09;搜索 “PlatformIO IDE”点击 “安装”…

刷题记录-HOT 100(一)40道

记录题解和思路。 一、哈希表解决问题 1、两数之和 思路&#xff1a; 创建哈希表&#xff1a; 初始化了一个空字典来存储已经访问过的数字及其对应的索引。 遍历数组&#xff1a; 逐一遍历数组中的每个元素。在遍历过程中&#xff0c;针对每个元素 num&#xff0c;计算出它…

手机FM LNA方案设计

一 概述 关于手机FM的使用&#xff0c;较为传统的则是在打开FM应用前先插入有线耳机才能使用FM应用。然而随着智能手机的进步以及有线耳机日益被无线蓝牙耳机所代替&#xff0c;内置FM LNA方案被应用的越来越多&#xff0c;无需插入有线耳机&#xff0c;复用例如GSM天线也能实…

跨语言障碍:全球语言翻译神器崛起

1.背景 工作中经常要查看纯英文文档和纯英文视频&#xff0c;尽管本人经历了1年多的英语培训&#xff0c;看英文资料依然非常吃力。 大模型出来后&#xff0c;KIMI能够帮助翻译纯英文的文档内容&#xff0c;但视频翻译还没有一个很好的工具。最近发现了一款通过大模型翻译文档…

yolov9目标检测pyside6可视化检测界面python源码-用于计数统计-摄像头可用

项目概述 此项目旨在利用YOLOv9&#xff08;You Only Look Once version 9&#xff09;这一先进的目标检测模型&#xff0c;实现实时视频流中的物体识别与计数。通过集成PySide6库&#xff0c;我们能够构建一个直观且易于使用的图形用户界面&#xff08;GUI&#xff09;&#…