【Linux系统】—— 基本指令(二)

【Linux系统】—— 基本指令(二)

  • 1 「alias」命令
    • 1.1 「ll」命令
    • 1.2 「alias」命令
  • 2 「rmdir」指令与「rm」指令
    • 2.1 「rmdir」
    • 2.2 「rm」
      • 2.2.1 「rm」 删除普通文件
      • 2.2.2 「rm」 删除目录
      • 2.2.3 『 * 』 通配符
  • 3 「man」 指令
  • 4 「cp」 指令
    • 4.1 拷贝普通文件
    • 4.2 拷贝目录
  • 5 「mv」 指令
    • 5.1 普通文件
    • 5.2 目录
  • 6 nano 编辑器
  • 7 echo
  • 8 「cat」 指令
    • 8.1 初识 「cat」
    • 8.2 命令行选项
    • 8.3 「tac」命令
  • 9 时间相关指令
    • 9.1 显示时间
    • 9.2 时间戳
    • 9.3 「cal」 指令

1 「alias」命令

1.1 「ll」命令

  在讲 「alias」命令之前,我们先来看下 「ll」命令
  我们来看下「ll」命令有什么效果

在这里插入图片描述

  我们发现「ll」命令也是显示当前目录的各个文件,它的效果与 「ls -l -a」相同

在这里插入图片描述

  

1.2 「alias」命令

  在 Linux 中,「alias」 指令用于创建一个命令的别名,即给变量取别名。这样我们就可以用一个简短的字符串来代替一个较长或复杂的命令。
  
  比如现在我们给「 ls」命令取别名 m o n k e y monkey monkey

在这里插入图片描述

  
  再比如给「ls -l -a」起别名

在这里插入图片描述

  :alias 后的 ‘=’ 左右两边不能加空格
  
  实际上,「 ll 」就是「 ls -l -a」,「 ll 」本质alias ll='ls -l -a --color=auto'
  
   --color=auto 是什么呢?
   实际上,我们直接通过路径执行「ls」指令,文件名是没有颜色

在这里插入图片描述

   只有加上 --color=auto 才会显示颜色

在这里插入图片描述

  
  那为什么我们直接输入「ls」,又有颜色呢?
  那是因为这里的 「ls」也是一个别名。本质:alias ls='ls --color=auto'

  那如果我们起了别名有不想要了呢?
  不用担心,我们所起的别名是临时的,当我们重新登录时,起的别名就失效了
  
  

2 「rmdir」指令与「rm」指令

2.1 「rmdir」

  「rmdir」是一个与「mkdir」相对的指令,「mkdir」是创建目录,「rmdir」是用来删除删除目录的

  • 语法:「rmdir」 [dirName]
  • 功能:删除空目录
  • 使用对象:具有当前目录操作权限的所有使用者

在这里插入图片描述

  但是「rmdir」默认只能删除空目录,非空目录和普通文件它是不能删除的

在这里插入图片描述

  

2.2 「rm」

  「rmdir」使用起来有诸多限制,因此我们了解即可,平常我们更多的是用 「rm」 命令
  「rm」 命令可删除文件或者目录

  • 语法:「rm」 [dirName/dir]
  • 功能:删除文件或目录
  • 使用对象: 所有使用者

  

2.2.1 「rm」 删除普通文件

在这里插入图片描述

  

2.2.2 「rm」 删除目录

  我们创建一个空目录888,并用 「rm」 删除试试看

在这里插入图片描述

  不是说rm啥都能删吗,怎么连一个空目录都删不了呢?

  这是因为「rm」默认只能删普通文件,就跟「rmdir」一样默认只能删空目录。
  但是「rm」的选项更丰富
  如果想要删目录,需要加上 「-r」命令行选项

在这里插入图片描述

  
  目录本身的定义是多叉树当中的节点,在多叉树中做各种操作都是递归式进行定义的,所以「-r」就代表着递归(recursion)的意思。不管这个目录是否为空都能删除

在这里插入图片描述

  :删除的时候一定要仔细,不要一不小心把根目录给删了!
  

2.2.3 『 * 』 通配符

  在 Linux 中有一个 『 * 』 符号,这个 『 * 』 叫做通配符
  所谓通配符就是可以去匹配任意的内容

在这里插入图片描述

  比如:『ls *.txt』 表示显示所有后缀为 .txt 的文件;『test. *』 『*.*』也是同理

  这样我们就可以利用通配符,将某一类型文件一次性删除啦

在这里插入图片描述

  
  :如果直接『rm -r *』 的话,会直接将当前所在目录的所有内容删掉。这点一定要小心使用,确定自己在哪个目录下,不要一不小心把根目录所以内容删了

在这里插入图片描述

  :Linux 并没有所谓的回收站,删了就是删了。所以删除要谨慎

  
  

3 「man」 指令

  Linux 当中的命令有很多参数,我们不可能全部记住。我们可以通过查看 Linux 手册获取帮助。访问 Linux 手册的命令是「man」

  • 语法:「man」 [选项] 命令

  
  比如「pwd」指令我不会用,可查阅「man」手册

在这里插入图片描述

  直接输入『man pwd』就能跳转到对应的手册位置(按 Q 退出手册

在这里插入图片描述

  
  既然是一个手册,它就有第一章、第二章……
  我们输入『man man』可以看到该手册一共有九章

在这里插入图片描述

  我们默认都是在第一章去查找
  

我们学习 Linux 大部分只会用到前三章手册:

  • 第一章:普通的命令
  • 第二章:系统调用
  • 第三章:C语言库函数

  
  命令中有 printf 命令,同样 C语言 也有 printf函数
  两个 p r i n t f printf printf 并没有任何关系

printf 命令 使用:
  在这里插入图片描述

  
  「man」手册的查找原则是:从前往后寻找,找到了就返回
  像查找 「printf」命令可以:man printf
  也可以指定章节去查找:「man 1 printf」
  
  而如果想查找 C语言 中的 printf函数,则必须要指定章节去查找才能找到,不然 「printf」命令在前,系统搜索到「printf」命令是直接返回的
  指定章节查找:「man 3 printf」

  注:部分系统可能没安装「man」手册,ubunto可以输入命令 apt install -y man-pages 下载,centos可以输入命令 yum install -y man-pages 下载
  
  

4 「cp」 指令

  • 语法:「cp」 [选项] 源文件或目录 目标文件或目录
  • 功能:拷贝文件或目录

  

4.1 拷贝普通文件

  • 「cp」 源文件 目标文件

  在当前目录下拷贝生成目标文件,拷贝出的文件名为目标文件名
  在这里插入图片描述

  

  • 「cp」 源文件 目标目录

  如果后面跟的是目录,将会将源文件拷贝至目标目录下,拷贝出的文件名为源文件名,即与源文件名相同
  在这里插入图片描述

  同一个目录下不能有同名文件,但是不同目录可以
  

  不过当然,也可以指定文件名
  在这里插入图片描述

  

「cp」 拷贝普通文件

  • 「cp」 srcfile dstfile
  • 「cp」 srcfile dstdir/
  • 「cp」 srcfile dstdir/dstfile

  

4.2 拷贝目录

  那拷贝目录又是怎么拷贝的呢?

比如像拷贝 lesson1 目录。在这里插入图片描述

在这里插入图片描述

  发现直接拷贝目录是拷贝不了的
  
  因为目录是递归式定义的内容,所以这里需要带 「-r」命令行选项

在这里插入图片描述

  上述情况,目标目录是不存在的目录,是拷贝在当前目录下

  我们将 lesson1 中的内容再拷贝一次给 lesson2 ,此时的 lesson2 是已经存在的目录,这时拷贝会发生什么呢

在这里插入图片描述

  发现新拷贝出的目录名还是 lesson1,但是拷贝出来的目录是在 lesson2 目录下

  所以结论是当进行拷贝目录时:如果目标目录不存在,则在当前目录下拷贝;如果目标目录已经存在,会将目录拷贝到目标目录的内部

  那如果再将 lesson1 拷贝到 lesson2 里面呢?此时新拷贝的 lesson1 会将原来的 lesson1 覆盖
  
  

5 「mv」 指令

  「mv」 指令是 move 的缩写,可以用来移动文件或者将文件改名(move(rename)files),是 Linux 系统下常用的命令,经常用来备份文件后或者目录

  • 语法:「mv」 [选项] 源文件或目录 目标文件或目录
  • 功能:
    1. 在指定目录下,对一个文件或目录进行重命名
    2. 将指定目录下的目标或文件,剪切到指定目录下
    3. 不仅仅可以剪切,还可以在剪切时进行重命名

5.1 普通文件

  • 剪切功能

    • 当「mv」 src dst 中的 src 是普通文件时,就是对普通文件进行操作

  将 hello.txt 文件剪切动 lesson1 目录下

语法:「mv」 srcfile dstdir
  
在这里插入图片描述

  

  • 重命名功能

  将 test.txt 重命名为 1.txt
  
在这里插入图片描述

  那如何判断「mv」是剪切还是重命名呢?
  取决于「mv」 src dst 中的 dst,如果 dst 是目录并且不存在,那他就是重命名;如果是目录且存在就是剪切
  

5.2 目录

  当「mv」 src dst 中的 src 是目录时,就是对目录进行操作

  • 剪切功能

「mv」 srcdir dstdir

  
  我们将 a 目录从当前目录剪切到 lesson1 目录下

在这里插入图片描述

  其实剪切文件和剪切目录不用再可以去区分,因为 Linux 下一切皆文件
  

  • 重命名功能

  那目录可以重命名吗?
  与文件一样的道理
  当 「mv」 src dst 中的 dst 是一个已经存在的目录时,为剪切功能;是一个不存在的目录时,为重命名功能

  我们将 a 目录重命名成 222

在这里插入图片描述

  
  

6 nano 编辑器

  「nano」 是 Linux 操作系统中一款简单易用的文本编辑器,它提供了一个用户友好的界面和一系列快捷键,使用户能够轻松地进行文本编辑和修改。

  • 语法:nano 文件名(文件不存在则新建文件)
  • 功能:给用户提供文本编辑页面

  
使用方法:

在这里插入图片描述

  在这里插入图片描述
  
  
退出方法:
  

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  :有部分小伙伴没有安装 nano,centos 可以输入yum install -y nano(centos),ubunto 可以输入 apt install -y nano(ubunto)来安装 nano
  
  

7 echo

  「echo」 指令非常简单,我们这里简单提一下

  • 语法:echo [选项] [字符串]
  • 功能:将后续内容以字符串的形式打印出来

  
使用方式:

在这里插入图片描述

  :这里来我们建议将要打印的内容用单引号括起来,如果用双引用可能有时会出问题。
  
  当然,前面我们讲过的「printf」命令也是可以打印的

在这里插入图片描述

  所以我们如果想单纯的在显示器中回显一个字符串可以用「echo」也可以用「printf」
  
  

8 「cat」 指令

8.1 初识 「cat」

  • 语法:cat [选项][文件名]
  • 功能:显示指定文件名里面的内容

  
  例如:我们用「cat」将刚刚写入 hello.txt文件 中的内容打印出来

在这里插入图片描述

  
  那「echo」可以打印文件中能内容吗?

在这里插入图片描述

  不行
  可以看到「echo」将 hello.txt 当做字符串打印出来了
  所以如果要打印文件中的内容,还是要用「cat」命令

  需要注意的是:「cat」命令比较适合看短文件
  

8.2 命令行选项

  「cat」指令的命令行选项如下:

  • 「-b」:对非空输出行编号
  • 「-n」:对输出的所有行编号
  • 「-s」:不输出多行空行

  
  其中,最常用的就是 「-n 」选项。「-n 」可以帮我们把行号加上

在这里插入图片描述

  

8.3 「tac」命令

  「cat」命令有一个伙伴指令:「tac」命令
  「tac」命令也是显示文件内容,只不过他是 反向显示文件内容

在这里插入图片描述

  但是反向打印有什么用呢?

  当我们想看一个大型文件最开始的信息,如果用「cat」打印,那么最前面的信息都被刷屏刷掉了,这时我们就可以用「tac」进行反向打印,就能看到最前面的信息
  
  

9 时间相关指令

9.1 显示时间

  • 语法:「date」 选项 格式
  • 功能:用于显示时间、设置时间、完成时间与时间戳之间的相互转换等。

  
  Linux中,我们可以直接通过 「date」指令查看当前时间

在这里插入图片描述

  但是这样的显式格式看起来不太好,它是系统的默认时间格式
  如果我们想要修改格式,我们可以增加选项
  
  下面是「date」常用选项:

  • 「%H」:小时(00…23)
  • 「%M」:分钟(00…59)
  • 「%S」:秒(00…61)
  • 「%X」:相当于%H%M%S
  • 「%d」:如(01…31)
  • 「%m」:月份(01…12)
  • 「%Y」:完整年份(0000…9999)
  • 「%F」:相当于%Y-%m-%d

  
如:

在这里插入图片描述

  :「+」是固定的语法格式,但是选项之间的「-」和「_」是分隔符可以根据需要自己修改
  
  为什么我们可以查到时间呢?因为时间对于计算机来说是非常重要的,系统本身就要帮我们记录时间
  
  这里问一个小问题:
  计算机关机后,再次开机为什么还能准确的显示时间呢 ?
  大家有没有想过,电脑关机后都断电了,没有电源,为什么还能记录准确时间呢?

  其实不管是笔记本电脑还是台式机,在其主板上都会有一个纽扣电池,这个纽扣电池就可以让系统主板一直给我们记录时间。
  所以当电脑关个一年半载,再次开机时间就不对了,因为纽扣电池早就没电了,主板也就不能记录时间,

在这里插入图片描述

  
  

9.2 时间戳

  我们往系统中输入:『date +%s』 看看会发生什么

在这里插入图片描述

  
  这一串数字式什么呢?不懂,别急我们多输入几次,看看有什么发现

在这里插入图片描述

  我们发现,随着我们的不断查看,这串数字在不断增加

  这个东西是什么呢?
  这里就要引入一个新的概念:时间戳

  上述显示出的17279…一串的数字是格林威治时间戳

  Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从 1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒

  我们所有的计算机记录时间,并不是按年月日来记录的,因为维护一个字符串太复杂了。计算机内部会维持一个线性递增的计数器,每过一秒(其实是微妙)让这个计数器++ ,而计数的时间是从1970年1月1日的午夜开始。我们把1970年1月1日的午夜到现在所经过的秒数称为时间戳
  而英国的格林威治是世界时间的约定点,因此也叫格林威治时间戳
  
  时间戳有什么用呢?

  • 转化为年月日的时间
  • 日志中记录的时间是时间戳。
  • 区间查找,锁定一个时间范围

  
  那时间戳怎么转换成对应的标准时间呢?如下

在这里插入图片描述

  
  那我们是不是可以查看时间戳为 0 的时间呢?

在这里插入图片描述

  因为北京在东八区,与格林威治有 8 小时的时间差,所以这里显示的是 1970年1月1日早上8点
  

9.3 「cal」 指令

  「cal」命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。 “阳历”又名“太阳历”,系以地球绕行太阳一周为一年,为西方各国所通用,故又名“西历”。

  • 语法:cal [选项] [月份] [年份]
  • 功能: 用于查看日历等时间信息,如只有一个参数,则表示年份(1~9999),如有两个参数,则表示月份和年份。

在这里插入图片描述

  
选项:

  • 「-3」: 显示系统前一个月,当前月,下一个月的月历。
  • 「-j」 :显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)。
  • 「-y」: 显示当前年份的日历。

  
  
  
  


  好啦,本期关于基本指令的知识就介绍到这里啦,希望本期博客能对你有所帮助。同时,如果有错误的地方请多多指正,让我们在 Linux 的学习路上一起进步!

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

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

相关文章

从单层到 MVC,再到 DDD:架构演进的思考与实践

引言 在日常开发中,我们之前工作中经常接手的大多数都是传统 MVC 架构体系的项目。然而,随着现在分布式和微服务架构的普及,越来越多的项目开始重构、拆分,传统的 MVC 架构也逐渐向 DDD 架构演进。为什么需要将传统架构重构为 DD…

贝式计算的 AI4S 观察:使用机器学习对世界进行感知与推演,最大魅力在于横向扩展的有效性

「传统研究方法高度依赖于科研人员自身的特征和问题定义能力,通常采用小数据,在泛化能力和拓展能力上存疑。而 AI 研究方法则需要引入大规模、高质量数据,并采用机器学习进行特征抽取,这使得产生的科研结果在真实世界的问题中非常…

[产品管理-58]:安索夫矩阵矩阵帮助创业者确定研发出来的产品在市场中定位策略

目录 一、提出背景 二、核心思想与结构 三、应用背景与领域 四、实践案例 安索夫矩阵(Ansoff Matrix),也被称为产品/市场方格或成长矢量矩阵,其应用背景可以从以下几个方面进行详细阐述: 一、提出背景 安索夫矩阵…

安当ASP系统:适合中小企业的轻量级Radius认证服务器

安当ASP(Authentication Service Platform)身份认证系统是一款功能强大的身份认证服务平台,特别适用于中小企业。其中,简约型Radius认证服务器是安当ASP系统中的一个重要组成部分。以下是对该系统的详细介绍: 一、主要…

uniapp配置h5路由模式为history时404

为了不让URL中出现#,让uniapp项目配置h5路由模式为hisory 然而本地好好的,放到服务器上却404了。 解决方法是给nginx配置一个伪静态: location /xxx-html/ {alias /home/nginx_web/xxx_new_html/;try_files $uri $uri/ /xxx-html/index.ht…

Go-HTTP框架设计实现概述

1.再谈HTTP协议 第一个大规模使用:HTTP0.9 三十多年了 HTTP:超文本传输协议(Hypertext Transfer Protocal) 为什么是超文本:因为图片、音乐、视频是文本的扩充 为什么需要协议:约定俗称的规则(像说话&…

使用Matlab建立决策树

综述 除了神经网络模型以外,树模型及基于树的集成学习模型是较为常用的效果较好的预测模型。我们以下先构建一个决策树模型。 决策树算法的优点如下:1、 决策树易于理解和实现,用户在学习过程中不需要了解过多的背景知识,其能够…

【JavaSE】(3)数组

目录 一、数组的定义和初始化 1. 什么是数组 2. 数组的定义 3. 数组的初始化 4. 操作数组的工具包 二、数组的使用 三、引用类型 1. JVM内存分布 2. 引用变量 3. 默认值 null 四、二维数组 1. 二维数组的定义和初始化 2. 不规则的二维数组 一、数组的定义和初始化…

uniapp—android原生插件开发(3Android真机调试)

本篇文章从实战角度出发,将UniApp集成新大陆PDA设备RFID的全过程分为四部曲,涵盖环境搭建、插件开发、AAR打包、项目引入和功能调试。通过这份教程,轻松应对安卓原生插件开发与打包需求! 一、打包uniapp资源包: 打包…

【 AI写作鹅-注册安全分析报告-无验证方式导致安全隐患】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 1. 暴力破解密码,造成用户信息泄露 2. 短信盗刷的安全问题,影响业务及导致用户投诉 3. 带来经济损失,尤其是后付费客户,风险巨大,造…

esp32学习:利用虫洞ESP32开发板,快速实现无线图传

我们的虫洞开发板,能够完美运行esp who AI代码,所以实现无线图传那是非常容易的,我们先看看examples目录: 里面有比较多的web例程,在这些例程下,稍作修改,就可以快速实现我的图传无线功能&#…

Docker网络概述

1. Docker 网络概述 1.1 网络组件 Docker网络的核心组件包括网络驱动程序、网络、容器以及IP地址管理(IPAM)。这些组件共同工作,为容器提供网络连接和通信能力。 网络驱动程序:Docker支持多种网络驱动程序,每种驱动程…

RK3568平台开发系列讲解(设备树篇)设备树中CPU描述

🚀返回专栏总目录 文章目录 一、CPU节点1.1、节点结构:1.2、处理器属性:1.3、 处理器拓扑关系:二、cpu-map、 socket、 cluster 节点三、core、 thread 节点沉淀、分享、成长,让自己和他人都能有所收获!😄 一、CPU节点 设备树的 cpus 节点是用于描述系统中的处理器的一…

element plus中修改el-table的样式

文章目录 前情提要相关环境package.jsonvue代码结果 方式一直接看代码 方式二直接看代码 前情提要 因为项目中用到el-table的时候,需要将el-table表格的样式进行修改,将整个表格的背景颜色从白色变成透明,使得表格变得透明之后,展…

【启程Golang之旅】一站式理解Go语言中的gRPC

在本文中将深入探讨如何使用Go语言构建基于gRPC的高效服务通信,无论你是刚刚接触gRPC还是已经有一定基础的开发者,这篇文章都将带你从理论到实践,全面理解如何借助Go和gRPC提升应用程序的性能与可维护性。 目录 初识gRPC gRPC基本使用 初识…

Ubuntu22.04安装DataEase

看到DataEase的驾驶舱,感觉比PowerBI要好用一点,于是搭建起来玩玩。Dataease推荐的操作系统是Ubuntu22.04/Centos 7。 下载了Ubuntu22.04和DataEase 最新版本的离线安装包 一.安装ubuntu22.04 在安装的时候,没有顺手设置IP地址信息&#xff…

IDEA加载通义灵码插件及使用指南

安装通义灵码插件 登录通义灵码IDE插件 下载登录参考教程 https://help.aliyun.com/zh/lingma/user-guide/download-the-installation-guide 本地工程和企业知识库准备 请下载本地工程和知识库压缩包,并在本地解压缩,其中包含demoProject和知识库文件…

第二届开放原子大赛-开源工业软件算法集成大赛即将启动!

第二届开放原子大赛-开源工业软件算法集成大赛作为开放原子开源基金会组织举办的开源技术领域专业赛事,聚焦开源底座框架平台建设,通过组件化集成的开发模式,丰富平台功能模块,拓展其应用场景,以此促进工业软件生态的繁…

帮你快速理解并巧记设计模式

经常因为记不住或不能理解设计模式而苦恼的童鞋们注意了,闲暇之余总结了常用的22中设计模式,并一一举例,帮助大家快速理解、牢记,如有不对的地方,欢迎大家指正哈 创建型模式 单例模式(Singleton Pattern&…

甘肃高校大数据实验室建设案例分享

随着信息技术的快速发展,大数据技术已成为推动经济社会发展的重要引擎。甘肃省高度重视教育信息化建设,并积极支持省内高校建立大数据相关实验室,以促进学科交叉融合及创新人才培养。在此背景下,泰迪携手多所甘肃高校共同打造了一…