Linux基础指令

1.ls指令

【语法】ls + 目录/普通文件

  • 对于目录,列出目录中的所有文件
  • 对于普通文件,列出文件的基本属性

选项:

  • -l  详细列出文件的属性
  • -a 列出当前目录下的文件和隐藏文件
  • -i 显示文件的索引信息
  • -R 以递归的方式显示目录下的文件 

1.1 [ls -l]

  • 列出文件更详细的内容

关于文件的扩展内容:

不管是在windows,还是Linux下,文件都被分为两个部分,文件 = 内容 + 属性

未来我们对文件进行操作,要么修改文件属性,要么修改内容

在Linux底下,使用ls指令仅仅列出文件属性中的文件名,想要查看一个文件更详细的属性,要用[ls -l]

1.2 [ls -a]

  • 列出隐藏文件

在Linux中,以[.]开头的文件表示该文件是隐藏文件,需要用[ls -a]指令才能显现出来,同时每个目录中都默认有两个文件[.]和[..]

其中,[.]表示当前目录,[..]表示上级目录

为什么要自带[.]和[..]两个文件呢?

  • [.]是为了方便查找当前目录下的文件
  • [..]是为了方便返回上级目录

2.pwd指令

  • 显示当前用户所在的路径

3.cd指令

【语法】cd + 绝对路径/相对路径

选项:

  • cd .. 返回上级目录
  • cd /home/code 进入选定目录
  • cd ~ 直接回到用户家目录
  • cd - 回到最近一次操作的目录下

绝对路径和相对路径的扩展内容:

Linux的目录结构是一颗树

也就是说任何一个目录或文件,如果从根目录开始,有且仅有一条路径与它对应;如果从其他目录开始,可以有多条路径与它对应

  • 绝对路径:从根目录开始,到一个文件/目录的路径,每个文件/目录有且只有一个绝对路劲
  • 相对路径:以其他目录为参照,到一个文件/目录的路径,每个文件/目录可以有多个相对路劲

比如:

假设我在etc目录下,要找到Code.c文件

绝对路径:/home/byh/Code.c

相对路径:../home/byh/Code.c

3.1 [cd ~]

  • 进入家目录

Linux开机时,默认进入家目录,如果你是root用户,会进入root的家目录;如果你是普通用户,会进入普通用户的家目录

使用[cd ~]指令可以快速的进入家目录

3.2 [cd -]

  • 进入最近一次所处的路径下

 4.touch指令

【语法】touch + 选项 + 文件名

  • 创建一个普通文件

5.which指令

【语法】which + 指令

  • 打印指令所处的路径

重新认识指令:

指令的本质其实是一个程序;系统在执行一个指令时,首先需要找到该指令的可执行程序,再执行该程序;每个指令都对应着一个文件,which就是显示一个指令所处文件的路径


6.mkdir指令

【语法】:mkdir + 选项 + 目录名

  • 创建一个目录

选项:

  • -p:递归创建多个目录

7.rmdir和rm指令

7.1 rmdir

【语法】rmdir + 选项 + 目录名

  • 和mkdir相对应,mkdir是创建目录,rmdir是删除目录,只不过直接rmdir只能删除空目录,如果需要递归删除,需要加上-p选项

选项:

  • -p:递归删除一系列目录

7.2 rm

【语法】rm + 选项 + 文件名/目录名

选项:

  • -r:删除目录及其下的所有文件,并在删除时进行确认
  • -f:如果要删除,不进行确认,直接删除
  • -i:删除每一个文件都需要确认
  • 如果rm不加任何选项,只能删除普通文件,不能删除目录,且在删除普通文件时会进行确认

8.man指令

【语法】man + 选项 + 指令

选项:

  • -a 将章节全部显示出来
  • num 只在第num章节找
  • -k 根据关键字查找

Linux中,有这么多的指令,我们不可能全部记住;man就相当于一个帮助手册,当不知道一个指令怎么用时,man一下指令,就会显示该指令的用法

我们也可以[man man]来查看man手册怎么用;在查找一个指令的用法时,如果不加num,会默认从头开始找,只要找到跟指令重名的就停下来,但找到的不一定是我们要的指令,因此在man时最好加上num,你想查找的指令在哪个章节


9.cp指令

【语法】cp + 源头 + 目的地

  • 拷贝源头的文件/目录到目的地

选项:

  • -r:如果想拷贝一个目录及其下的所有文件,需要递归拷贝

10.mv指令

【语法】mv + 源头 + 目的地

  • 剪切源头的文件/目录到目的地

选项:

  • -f:强制剪切,如果目的地存在和源文件同名的文件,不会询问,直接覆盖

11.cat指令

【语法】cat + 文件名

选项:

  • -n:输出时带上序号
  • 查看文件中的内容

11.1 tac

  • 逆向查看文件中的内容

cat指令只适合查看小文件的内容,不方便查看大文件的内容;想要查看大文件的内容,一般用more指令

在将more指令之前,跟大家讲些额外知识


echo指令:

【语法】echo + 字符串

  • 输出指定的内容到屏幕上
输出重定向:

我们接下来看看这样的操作

首先,我们的当前目录没有任何文件;接着我们使用了[echo "hello Linux" > file.txt]这样一串指令,发现当前目录多个一个file.txt的文件;我们再[cat file.txt],发现[file.txt]中的内容是我们刚刚echo指定的内容

经过上面一番操作,本来应当在显示器显示的内容,跑到了我们指定的文件中了,上面的符号[>]我们称为输出重定向

怎么理解输出重定向?这里再跟大家说一个概念,在Linux中,一切皆文件,在屏幕上打印了内容,本质上是因为我们向显示器文件写入了内容,显示器文件再按某种方式输出到我们的屏幕上,让我们看见;通过键盘输入内容本质上是因为键盘文件读取了我们输入的内容

默认状况下,echo向显示器文件写入我们指定的内容,但是通过[>],我们把原本应当向显示器文件写入的内容写到了我们指定的文件中,这就叫做重定向

我们再来看看下面的操作

输入[echo "abcdefg" > file.txt],我们发现,之前文件中的内容都没了;因此输出重定向的作用:

  1. 输出指定内容到指定文件中,如果指定文件不存在,则会先自动创建一个文件,再输出内容
  2. 每次重定向都会删除原有的数据,再输出新的数据

仔细想想,是不是跟C语言中的写文件操作有点相似;

以后我们创建一个文件和删除文件的内容可以这样写了:[>filename],这个指令相当于我打开一个文件,写空内容到文件中,打开文件时,如果该文件不存在,则会创建该文件,达到了创建文件的效果;如果该文件存在,则先删除文件内容,再往文件写入空内容,达到了删除文件内容的效果


追加重定向:

看了上面的操作,我们发现file.txt中的内容不像刚才那样,每次重定向都会先删除原本数据;这次不会删除原本数据,而是在原文追加相应的内容

此时,我们将[>>]符号叫做追加重定向,有点像C语言文件操作中以“a”的方式打开文件


输入重定向:

上面我们简单的介绍的一下cat的用法,是显示一个文件中的内容;来看看下面的操作

可以看到,如果cat后面什么都不加,默认是向键盘文件读取数据,而输入[cat < file.txt]指令后,cat就向我们指定的文件读取数据了,再以某种方式输出到我们的屏幕上;我们把[<]叫做输入重定向

可以看到,[cat file.txt]和[cat < file.txt]向屏幕输出的内容都是一样的,但要知道,这两个指令在原理上是完全不同的


  • 前面说到,在Linux中,一切皆文件,向显示器打印了数据实质上是因为向显示器文件写入了数据,那能不能在Linux中证明上述内容是正确的

[/dev/pts/0]就对应着我们当前屏幕的显示器文件,可以看到,我们将"Linux"内容重定向到该文件,结果在屏幕上打印了"Linux",进一步证明Linux中一切皆文件

Linux中,为什么要设计一切皆文件这样的理念?可以以统一的方式来对文件/设备访问


12.more指令

【语法】more + 选项 + 文件

  • 显示文件中的内容(适合显示大文件)

选项:

  • q:退出

[i=1; while [ $i -le 10000 ]; do echo "hello Linux $i"; let i++; done > big.txt]我们利用这样的代码创建一个有一万行内容的文件;这时,如果用cat查看big.txt的内容,就会将内容全部显示到屏幕上,如果向查看上面的内容,还要用鼠标去翻,很麻烦;

  • 用more指令,会只显示big.txt的前面一部分内容(中间的是被我剪掉了,原本不是这样输出的)

但用more指令还有问题,就是要查看下面的内容需要不停的按enter,还是不方便


13.less指令

【语法】less + 选项 + 文件

  • 显示文件中的内容(适合显示大文件)
  • 打开文件后提供搜索功能

选项:

  • -N:输出时显示行号
  • -i:搜索时不区分大小写进行搜索
  • /字符串:向下搜索字符串
  • ?字符串:向上搜索字符串
  • q:退出
  • n:执行上一次搜索

同样是显示文件内容,与more不同的是,使用键盘上的方向键就可以任意访问文件中的内容;因此,在日后学习过程中,想要访问一个文件的内容推荐使用less指令


14.head指令

【语法】head + -n<行数> + 文件

  • 显示文件的前n行

15.tail指令

【语法】tail + -n<行数> + 文件

  • 显示文件的后n行

问:现在有一个100行的文件,我想要查看50~60行的数据,利用head和tail指令,怎么实现?

方法1:先用head前60行,输出到file1.txt中,此时file1.txt中是前60行的内容;再对file1.txt使用tail后11行的内容,输出到file2.txt中,file2.txt就是要查看的50~60行的内容

方法2:使用管道符号[|]

所谓管道,就是将上一次命令处理完的数据交给下一个命令进一步处理;有点像生活中的流水线,一个人处理完东西后交给下一个人加工


16.时间相关的指令

16.1 date

【语法】date + 选项 + 格式

格式:

  • %Y:年
  • %m:月
  • %d:日
  • %H:时
  • %M:分
  • %S:秒
  • date不加任何选项,以英文的方式显示日期
  • 可以通过选项自己修改打印日期的格式,每两个格式之间可以加符号来调整格式

16.2 时间戳

由于地区的不同,我们日常使用的时间表示在另一个国家可能是错误的,因此,为了统一化时间,设计出了时间戳这样的概念;时间戳一直在递增

  • 当前时间转化为时间戳:date +%s
  • 时间戳转化为一个时间:date -d@时间戳

17.cal指令

【语法】cal + 选项/月份和年份

  • 如果cal后面只有一个参数,表示年份,显示指定年份的日立
  • 如果cal后面有两个参数,第一个参数表示月,第二个参数表示年,显示指定年份中指定月的日立

选项:

  • -3:显示当前月,上一个月和下一个月的日立
  • -y:显示当前年份的日立
  • -j:显示当前天处于该年中的哪一天

18.find指令

【语法】find + 开始查找的路径 + 选项[-name] + 文件

  • 从指定路径开始,以指定的方式(名字)查找文件


19.grep指令

【语法】grep + 选项 + 字符串 + 文件名

  • 文本过滤指令,留下有指定字符串的行,并打印到屏幕上

选项:

  • -n:打印时输出行号
  • -i:查找时不区分大小写
  • -v:反向查找,比如要查找“linux”,会显示所有没有“linux”的行

20.zip/unzip指令

20.1 zip

【语法】zip + xxx.zip + 目录

  • 压缩一个目录

选项:

  • -r:递归压缩一个目录中的所有文件

如果zip不加任何选型,默认只压缩一个空目录,想要压缩一个目录中的所有文件,要加上-r选项

20.2 unzip

【语法】unzip + xxx.zip

  • 解压一个压缩文件

为什么要压缩文件?

  1. 压缩文件大小,方便下载
  2. 压缩在一起,文件不容易丢失

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

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

相关文章

sql注入靶场

第一关&#xff1a; 输入&#xff1a;http://127.0.0.1/sqli-labs-master/Less-1/?id1 http://127.0.0.1/sqli-labs-master/Less-1/?id1%27 http://127.0.0.1/sqli-labs-master/Less-1/?id1%27-- 使用--来闭合单引号&#xff0c;证明此处存在字符型的SQL注入。 使用order …

《程序员考公指南》:零基础到上岸的完整攻略 | 开源日报 No.82

mastodon/mastodon Stars: 44.2k License: AGPL-3.0 Mastodon 是一个免费、开源的社交网络服务器&#xff0c;基于 ActivityPub。用户可以在 Mastodon 上关注朋友并发现新朋友&#xff0c;并且可以发布链接、图片、文字和视频等内容。所有的 Mastodon 服务器都能互操作成为联邦…

第五届全国高校计算机能力挑战赛-程序设计挑战赛(C语言模拟题)

1、已有定义“int a[10]{1,2},i0;”&#xff0c;下面语句中与“ a[i]a[i1],i;”等价的是()。 A. a[i]a[i1]; B. a[i]a[i]; C. a[i]a[i1]; D. i,a[i-1]a[i]; 2、两次运行下面的程序&#xff0c;如果从键盘上分别输入6和4&#xff0c;则输出结果是(&#xff09;。 A. 7和5 …

谁可以从使用 Amazon Lightsail 进行 VPS 托管中受益?

文章作者&#xff1a;Libai 介绍 在当今数字化的环境中&#xff0c;拥有可靠和高效的托管解决方案对于企业和个人来说至关重要。由于其灵活性、可扩展性和成本效益&#xff0c;虚拟专用服务器&#xff08;VPS&#xff09;托管已经在市场上获得了巨大的流行。Amazon Lightsail …

ORA-00837: Specified value of MEMORY_TARGET greater than MEMORY_MAX_TARGET

有个11g rac环境&#xff0c;停电维护后&#xff0c;orcl1正常启动了&#xff0c;orcl2启动报错如下 SQL*Plus: Release 11.2.0.4.0 Production on Wed Nov 29 14:04:21 2023 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to an idle instance. SYS…

相同的树 单值二叉树 二叉树的最大深度

文章目录 相同的树单值二叉树二叉树的最大深度 相同的树 力扣&#xff1a;100相同的树 给你两棵二叉树的根节点 p 和 q &#xff0c;编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同&#xff0c;并且节点具有相同的值&#xff0c;则认为它们是相同的。 示例 …

vue3 keep-alive页面切换报错:parentComponent.ctx.deactivate is not a function

问题&#xff1a; <router-view v-slot"{ Component }"><keep-alive ><component :is"Component" v-if"$route.meta.keepAlive" /></keep-alive><component :is"Component" v-if"!$route.meta.keepA…

27.0/多态/对象向上转型/向下转型/抽象类/抽象方法。

目录 27.1为什么使用多态? 27.1.2什么是多态 27.1.3对象多态 27.1.4多态的使用前提 27.2 向上转型 27.3向下转型 (面试题) 27.4抽象类和抽象方法 特点(面试题): 27.1为什么使用多态? 需求1&#xff1a;动物园让我们实现一个功能&#xff1a; 创建一个狗类 &#xff0c;狗…

亚马逊云科技向量数据库助力生成式AI成功落地实践探秘(一) ​

随着大语言模型效果明显提升&#xff0c;其相关的应用不断涌现呈现出越来越火爆的趋势。其中一种比较被广泛关注的技术路线是大语言模型&#xff08;LLM&#xff09;知识召回&#xff08;Knowledge Retrieval&#xff09;的方式&#xff0c;在私域知识问答方面可以很好的弥补通…

5种主流API网关技术选型,yyds!

API网关是微服务项目的重要组成部分&#xff0c;今天来聊聊API网关的技术选型&#xff0c;有理论&#xff0c;有实战。 不 BB&#xff0c;上文章目录&#xff1a; 1 API网关基础 1.1 什么是API网关 API网关是一个服务器&#xff0c;是系统的唯一入口。 从面向对象设计的角度…

Echarts 大屏注册自定义地图解析文件流报错以及坐标显示数值和地图填充以及dataV轮播数据不显示问题解决

效果图: 1、第一种方式 后台接口获取到SVG图片的文件流,postman能够正确解析出文件流,前端调用api时需要设置返回的响应格式为image/svg+xml格式,否则解析失败 拿到文件流后是这样的 <?xml version="1.0" encoding="utf-8"?> <!-- Generato…

连接备份1128

深度学习—分类识别篇&#xff1a;http://tr.daheng-imaging.com/watch/1050636http://tr.daheng-imaging.com/watch/1050636 深度学习—目标检测篇&#xff1a;http://tr.daheng-imaging.com/watch/1101141http://tr.daheng-imaging.com/watch/1101141 深度学习—缺陷分割篇&a…

STM32通讯设计

STM32通讯设计 通讯流程STM32程序 通讯流程 1.使用HT2202芯片配置为主机接收&#xff08;轮询模式&#xff09;。 2.将STM32芯片配置为从机发送&#xff0c;中断模式下发送固定数据。 3.如果HT2202芯片能够收到STM32发送的数据则通讯成功&#xff0c;否则通讯失败。 STM32程序…

mac 聚焦搜索不显示

我是连搜索框都不显示&#xff0c;不是搜索结果显示异常 点右上角的搜索按钮都毫无反应 我检查过快捷键之类的设置&#xff0c;都正常&#xff0c;最后是通过删除文件解决的 cd ~/Library/Preferences/ rm com.apple.Spotlight.plist 重启 mac 参考 Spotlight Search Not W…

蓝桥杯第一天-----时间显示

文章目录 前言一、题目描述二、测试用例三、题目分析四、具体代码实现总结 前言 本章中将相信介绍蓝桥杯中关于时间显示的题目。 链接&#xff1a;https://www.lanqiao.cn/problems/1452/learning/ 一、题目描述 二、测试用例 三、题目分析 1.输入的时间为毫秒&#xff0c;毫…

【LeetCode】每日一题 2023_11_30 确定两个字符串是否接近 (数组、排序、哈希/位运算、脑筋急转弯)

文章目录 刷题前唠嗑题目&#xff1a;确定两个字符串是否接近题目描述代码与解题思路 结语 刷题前唠嗑 LeetCode&#xff1f;启动&#xff01;&#xff01;&#xff01; 刷完今天&#xff0c;我的每日一题就坚持一个月啦&#xff0c;月度勋章要到手啦 今早很尴尬&#xff0c;…

9.Docker的虚悬镜像-Dangling Image

1.虚悬镜像的概念 虚悬镜像 (Dangling Image) 指的是仓库名 (镜像名) 和标签 TAG 都是 的镜像。 2.构建本地虚悬镜像 这里我以unbuntu为例来说明。 2.1 编写Dockerfile文件 FROM ubuntu:22.042.2 根据Dockerfile文件构建虚悬镜像 docker build .上面这段命令&#xff0c…

解决Ruoyi-vue项目中接口请求超时的设置

背景&#xff1a; 有个几十亿的数据量的查询&#xff0c;查询时间超过40s&#xff0c;而Ruoyi-vue默认超过10s就拦截&#xff0c;因此需要修改默认超时时间 解决办法&#xff1a; 只需要打开request.js&#xff0c;把timeout设置扩大即可&#xff0c;默认是10000毫秒&#xff0…

TDI网络过滤驱动应用(一)

文章目录 TDI网络过滤驱动应用1. 技术概览2. 数据包的抓取3. 应用实例3.1 TrafficShaper(限流)3.2 DnsRedirector(DNS重定向)3.3 TcpRedirector(TCP重定向) 4. 总结与参考 TDI网络过滤驱动应用 在前面的文章中&#xff0c;我们分析了TDI网络过滤驱动的基本开发框架以及TDI网络…

unity学习笔记12

一、物理系统 如何让一个球体受到重力的影响&#xff1f; 只要给物体添加刚体组件&#xff08;Rigidbody&#xff09;&#xff0c;就可以使其受到重力影响 1.刚体&#xff08;Rigidbody&#xff09;&#xff1a; 刚体是一个组件&#xff0c;用于使游戏对象受到物理引擎的控制。…