linux入门练级篇 第三讲 基本指令3

news2024/12/24 9:38:27

在这里插入图片描述

🎈个人主页:🎈 :✨✨✨初阶牛✨✨✨
🐻推荐专栏1: 🍔🍟🌯C语言初阶
🐻推荐专栏2: 🍔🍟🌯C语言进阶
🔑个人信条: 🌵知行合一
🍉本篇简介:>:
介绍linux下的基本指令,移动文件,复制文件,大文本查看,管道,指令的本质等等.

前言

linux基础指令比较多,这里分多篇文章讲解.

目录

  • 前言
  • 一、[mv]指令
    • 1.1 重命名文件
    • 1.2 剪切文件/目录
  • 二、[echo]指令与[cat]指令
    • (1) echo指令
      • ①输入重定向 "<"
      • ②追加重定向 "<<"
      • ③输出重定向 ">"
    • (2) cat指令
  • 三.查找文件指令
    • 3.1 [which]指令
    • 3.2 [whereis]指令
    • 3.3 [find]指令
  • 四、大文本查看
    • 4.1 [more]指令
    • 4.2 [less]指令
    • 4.3 [head]指令(重点)
    • 4.4 [tail]指令(重点)
    • 4.5 管道的介绍(重点)
  • 五、时间/日期指令
    • 5.1 [date]日期指令
    • 5.2 [cal]日历指令
  • 六、指令本质是什么?
    • [alias]指令

一、[mv]指令

mv命令全称:move

作用:
可以用来移动文件(剪切文件)或者将文件改名,是Linux系统下常用的命令,经常用来备份文件或者目录。

格式:mv+ 源文件或目录 +目标文件或目录

功能:

  1. 根据mv命令中第二个参数类型的不同
    目标文件;mv命令将文件重命名.
    目标目录:将其移至这个,目标目录中。
  2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它
    将所给的源文件或目录重命名为给定的目标文件名。
  3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至
    目标目录中。
    常用选项:
    -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
    -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖

1.1 重命名文件

格式: mv+ 文件名 +新文件名

示例:

将文件test.txt文件重命名为tmp.txt.

在这里插入图片描述

1.2 剪切文件/目录

格式: mv+ 文件名/目录名 +目的地

剪切文件:

示例:

将当前目录下的tmp.txt文件拷贝至上级目录.

指令: mv tmp.txt ..

操作:
在这里插入图片描述
剪切目录 :

示例:

dir1目录下的dir2目录拷贝至dir4目录下

指令: mv dir1/dir2 dir4

操作:
在这里插入图片描述

二、[echo]指令与[cat]指令

(1) echo指令

echo指令用来在终端窗口上打印输出一段文本。它可以用于输出变量的值、常量、字符串等内容,以及在脚本中进行调试时输出一些信息。在不带任何参数的情况下,echo指令会输出一个空行。语法为:

echo [选项] [字符串]

示例:

hello cjn显示在显示器中. 指令:echo "hello cjn"
hello CSDN显示在显示中. 指令:echo "hello CSDN"

在这里插入图片描述

①输入重定向 “<”

标准输入:键盘

输入重定向是指将一个文件的内容作为程序的输入,而不是只规定从键盘输入。所以被称为输入重定向.

示例1:
假设有一个名为“input.txt”的文件,想把它作为输入传递给cat命令,可以使用命令:

指令:

cat < input.txt

在这里插入图片描述

这将把“input.txt”文件中的内容作为cat命令的输入,而不是从键盘输入。

②追加重定向 “<<”

如果我们对同一个文件进行多次输出重定向时.

在这里插入图片描述
(图中写错了,是输出重定向)

很明显,结果只有最后一次向文件写入的结果,为什么呢?
向目标文件进行写入时,会将目标文件中的内容先全部清除,也就是覆盖写入.

(1)清空文件.
(2)写入新内容.

这里也就出现了最新的那一次内容:

追加重定向: “<<”:

示例:

test.txt文件后追加,星期一星期七.
在这里插入图片描述

③输出重定向 “>”

输出重定向: '“>”

定义:
Linux下,输出重定向指的是将程序的标准输出(屏幕)重定向到文件或者其他输出设备中,可以使用符号“>”或“>>”来实现。

例如,假设要将ls命令输出结果保存到文件“file.txt”中,可以使用命令:

ls > file.txt

这将把ls命令的输出结果重定向到一个名为“file.txt”的文件中.

  1. 如果文件不存在,则会自动创建一个新文件.
  2. 如果文件已经存在,则会覆盖原有内容。

另外,如果想把输出结果追加到文件中而不是覆盖原有内容,可以使用“>>”符号,例如:

指令:

ls >> file.txt

示例2:

将字符串:"欢迎来到CSDN! --初阶牛"写入到test5.txt中.

指令:

echo "欢迎来到CSDN! --初阶牛" > test5.txt

在这里插入图片描述

(2) cat指令

cat 指令功能: 查看目标文件的内容

格式:

cat+文件名

子选项:

-b 对非空输出行编号
-n 对输出的所有行编号
-s 不输出多行空行(即多行空行只输出一行)

示例:

在这里插入图片描述

如果cat指令后面什么都不跟,则是默认从输入设备(键盘等)获取数据,显示到显示器中.

示例:

指令:cat

在这里插入图片描述

三.查找文件指令

3.1 [which]指令

一般是在指定路径(/usr/bin)下搜索指令位置.

功能:

用于查找指令所在处目录

示例:

分别查询 lsllpwd指令所处目录

在这里插入图片描述

3.2 [whereis]指令

在系统的特定路径下查找,既可以查找可执行程序,又可以查找手册,安装包,压缩包等.
在这里插入图片描述

3.3 [find]指令

Linux下的find指令是一种强大的搜索工具,它可以在指定目录及其子目录中查找指定名称、时间、大小、权限等属性的文件或目录。

内容及其强大,在磁盘上查找任何文件(权限足够的话)

常用的find命令格式为:

find [path] [options] [expression]

其中,path指定要搜索的目录;options用于指定搜索的条件;expression为指定要搜索的文件名或类型等表达式。

示例:
查找当前目录下所有的txt文件,可以使用如下命令:

find ./ -name "*.txt"

在这里插入图片描述

这个命令中,“.“表示当前目录,”-name"表示按照文件名进行搜索,”*.txt"表示要搜索的文件名是以".txt"结尾的。

另外,还有一些常用的选项,如:

-type:按照文件类型进行搜索,常见的包括f(普通文件)、d(目录)、l(符号链接)、s(套接字)等;
-size:按照文件大小进行搜索,可用的单位有b(字节)、k(千字节)、M(兆字节)等;
-mtime:按照文件修改时间进行搜索,可用的单位有-代表小于、+代表大于、空代表等于;
-user、-group:按照文件所属用户或组进行搜索;
-exec:对搜索到的文件进行操作,例如执行一个命令等。

需要注意的是,find命令比较复杂,建议在使用前查阅相关文档或者使用man命令查看命令的详细用法。Linux下的find指令是一种强大的搜索工具,它可以在指定目录及其子目录中查找指定名称、时间、大小、权限等属性的文件或目录。

四、大文本查看

4.1 [more]指令

格式:more+ [选项] +[文件]

功能:more命令,功能类似 cat ,只不过是cat是适合查看小文本.

子选项:

-n 对输出的所有行编号

使用方法:

more +文件名

搜索: /+数字

向下滚动搜索: Enter键(more指令只有向下搜索键)

退出:more指令 :q

4.2 [less]指令

格式: less+ [参数]+ 文件
功能:
less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。

more指令一般很少使用,因为less指令更加强大.

less指令相比于more指令,它既可以向上搜索(‘↑’),也可以向下搜索(‘↓’).

less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。
less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看但若使用了 less 时,就可以使用 [pageup][pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!

选项:

-i :忽略搜索时的大小写
-N :显示每行的行号/字符串:向下搜索“字符串”的功能
?:字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
q: quit

4.3 [head]指令(重点)

tailheadLinux系统下常用的命令。

head命令会默认显示文本文件的前10行内容,并将结果输出到终端屏幕上。用户可以通过选项-n来指定输出的行数。

示例:head -20 test5.txt可以输出test5.txt文件的前20行。

在这里插入图片描述

4.4 [tail]指令(重点)

tail命令会默认显示文本文件的最后10行内容,并将结果输出到终端屏幕上。用户同样可以通过选项-n来指定输出的行数。
示例: tail -20 test7.txt可以输出test7.txt文件的最后20行。

在这里插入图片描述

tailhead命令还可以用于实时监控日志文件,例如,可以使用tail -f命令来实时监控日志文件的变化,新的日志信息将会实时输出到终端屏幕上。tailheadLinux系统下常用的命令。

4.5 管道的介绍(重点)

管道(pipe)是一种在Linux操作系统下,将多个命令连接在一起来实现数据传输和处理的机制。通过管道,一个命令的输出可以成为另一个命令的输入,从而可以实现对数据的处理。在Linux中,管道使用竖线符号“|”来表示。

基本使用方法:命令1 | 命令2

其中,命令1的输出会作为命令2的输入,命令2会处理命令1输出的数据。

示例:
对于大文本,如果我们不是需要头和尾的数据,而是要中间数据该怎样获取呢?

例如:

获取866行到888行的数据

指令: head -889 test7.txt | tail -23

在这里插入图片描述

五、时间/日期指令

5.1 [date]日期指令

date指令用于显示当前的日期和时间.

在这里插入图片描述

date 指定格式显示时间: date +%Y:%m:%d

1.根据自定义设置格式的连接符号:

%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
在这里插入图片描述

2.在设定时间方面(了解就行,不需要记住,可以当做查阅资料)

date -s //设置当前时间,只有root权限才能设置,其他只能查看。
date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00
date -s 01:01:01 //设置具体时间,不会对日期做更改
date -s “01:01:01 2008-05-23″ //这样可以设置全部时间
date -s “01:01:01 20080523″ //这样可以设置全部时间
date -s “2008-05-23 01:01:01″ //这样可以设置全部时间
date -s “20080523 01:01:01″ //这样可以设置全部时间

3.时间戳

时间戳是指一个特定时间点的标识,通常是一个整数,表示该时间点与某个特定时间点(通常是1970年1月1日 00:00:00 UTC)之间的时间差。在计算机领域中,时间戳被广泛应用于记录事件或计算时间间隔。常见的时间戳格式有Unix时间戳(以秒为单位)和JavaScript时间戳(以毫秒为单位)。时间戳是指一个特定时间点的标识,通常是一个整数,表示该时间点与某个特定时间点(通常是1970年1月1日 00:00:00 UTC)之间的时间差。

时间->时间戳:date +%s
时间戳->时间:date -d@1508749502

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

时间戳是一串数字,表示从1970年的1月1日 00:00:00,下面操作中是8点开始,那是因为北京是东八区,相对早八个小时.
在这里插入图片描述

5.2 [cal]日历指令

Linux系统中,cal是一个简单的命令行工具,用于显示当前月份的日历或指定月份的日历。

语法:cal [month] [year]

常用子选项:

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

如果省略了月份和年份,则默认显示当前月份的日历。

示例1:

输入“cal”命令,将显示当前月份的日历:

在这里插入图片描述

如果指定了月份和年份,则会显示该月份的日历。

示例:

cal 10 2023”命令,则会显示2023年10月份的日历:

    October 2023    
Su Mo Tu We Th Fr Sa
 1  2  3  4  5  6  7
 8  9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

指令:cal -3

  1. 显示当前月份的上一个月份.
  2. 显示当前月份.
  3. 显示当前月份的下一个月份.
    在这里插入图片描述

指令:cal+年份

示例:显示2023年的日历

在这里插入图片描述

六、指令本质是什么?

root账户下,我们可以查看一个特别的目录

指令: ls /usr/bin
在这里插入图片描述
指向过后,会发现很多指令,其中就有我们经常使用的catcdrmtree指令等等都将在里面被找到.
目录:usr/bin就是一个用于存放指令的特殊目录.

如果我们自己写了一个C代码,编译过后形成了一个可执行程序.

在这里插入图片描述
将自己编写的可执行程序放入这个用于存放指令的目录(usr/bin)下:

示例:

a.out文件移动到 /usr/bin路径底下

(注意这条操作只能在root账户下执行)
指令:mv a.out /usr/bin

在这里插入图片描述

所以看到这里就知道指令和我们平常写的代码生成的可执行程序没有本质区别,指令本身也是由python/c等等语言写的.

其实安装软件就是类似于这类行为.

指令的本质就是可执行程序

强烈不建议随意将自己写的可执行程序放入/usr/bin目录下,如果放多了,会很乱的,自己都可能不记得,还会与自带的指令混淆.

实验过后记得及时删除:
在这里插入图片描述

[alias]指令

alias指令可以给系统指令取别名.

示例:

ll指令取别名为_cjn

指令:alias _cjn='ll'

在这里插入图片描述

大家也不用担心会导致命名混乱,因为退出xshell客户端后,下次进来这些别名都将失效了,这只是临时别名.

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

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

相关文章

如何使用ChatGPT制作免费的数字人

传统的数字人制作过程 制作属于自己的免费的数字人是一个复杂的过程&#xff0c;需要涉及多个方面的知识和技术。以下是一个大致的步骤指南&#xff0c;以帮助你开始这个过程&#xff1a; 1. 确定数字人的目标和设计&#xff1a;首先&#xff0c;你需要确定数字人的用途和目标…

PPT里动画连续多次移动一个元素

PPT里有移动动画, 每次只可以移动一次. 其实可以再此添加移动动画, 但是注意新添加的动画移动轨迹是从原先的位置开始的: 如果想要其连续移动, 那么可以把第二次开始的起点拖动到第一次移动的终点上去:

MSP432学习笔记14:定时器A的学习整理

本文整理学习一下定时器A的相关基础知识&#xff0c;本文比较偏向理解与理论性&#xff0c; 主要是深入在官方手册层面进行对定时器A的深入研究&#xff0c;定时器 A的相关实践基本上在之前的文章中都有提及&#xff1a; 1.定时器A定时中断&#xff1a; MSP432学习笔记7&…

导航流程:从输入URL到页面展示,这中间发生了什么?

“在浏览器里&#xff0c;从输入 URL 到页面展示&#xff0c;这中间发生了什么&#xff1f; ”这是一道经典的面试题&#xff0c;能比较全面地考察应聘者知识的掌握程度&#xff0c;其中涉及到了网络、操作系统、Web 等一系列的知识。所以我在面试应聘者时也必问这道题&#xf…

Linux学习之系统默认打开的文件描述符、重定向

系统默认打开的文件描述符 一个进程默认会打开标准输入、标准输出、错误输出三个文件描述符。可以在/proc/PID/fd里边可以看到打开文件的描述符&#xff0c;PID需要改成具体的pid&#xff0c;比如可以使用A终端输入vim proctest之后按下回车键。 打开一个vim编辑窗口。 再打…

产品经理考PMP?开什么玩笑

早上好&#xff0c;我是老原。 熟悉我的粉丝都知道&#xff0c;我平常喜欢逛知乎&#xff0c;这不就关注到了一个话题 ​ 关于这个问题&#xff0c;老原我的回答当然是&#xff0c;有用。 毕竟没有人会自信到&#xff0c;可以只做产品经理的产品设计、需求分析、画画原型等&a…

云计算行业岗位介绍

云计算、大数据、人工智能作为新一代信息技术产业&#xff0c;未来发展前景不可估量&#xff0c;就业“前途”一片光明。 随着阿里云、腾讯云、华为云为首的国内云厂商的快速发展&#xff0c;释放出来的岗位也越来越多&#xff0c;很多有着“大厂梦”的小伙伴可以通过考取大厂…

shell脚本--------shell变量、条件表达式、流程控制

第三阶段基础 时 间&#xff1a;2023年7月7日 参加人&#xff1a;全班人员 内 容&#xff1a; shell变量、条件表达式、流程控制 目录 一、shell变量 二、shell条件表达式与运算符 三、break和continue语句 演示&#xff1a;break语句 continue语句 四、实例拓展 …

error: undefined symbol: _ZN5boost6locale4util17get_system_localeB5cxx11Eb

一、背景 UOS_x86系统&#xff0c;使用cmake编译了一个c的动态库&#xff0c;然后java通过JNI调用该动态库。编译阶段没有任何报错&#xff0c;但是运行该动态库时报了如下图的错误&#xff1a; 二、分析 目测最后这一串ZN5boost6locale4util17get_system_localeB5cxx11Eb表示…

AtcoderABC309场

A - NineA - Nine 题目大意 判断两个数是否相邻且水平排列&#xff0c;即它们在同一行并且相邻。可以直接打印或者找规律 思路分析 可以直接打印或者找规律 时间复杂度 O&#xff08;1&#xff09; 代码 #include<bits/stdc.h> using namespace std; int main(){i…

学术英语UNIT1~UNIT4知识点总结

目录 UNIT 1 1.Deciding on topic --AMI 2.Writing a working title 3.Literacy Skills--Avoiding plagiarism 4.Literacy Skills--citation and referring skills 5.Literacy Skills--quoting 6.Literacy Skills--summarizing UNIT2 1.Academic Writing -searching…

FreeRTOS(任务的创建和删除)

1. 什么是任务&#xff1f; 任务可以理解为进程/线程&#xff0c;创建一个任务&#xff0c;就会在内存开辟一个空间。 比如&#xff1a; 玩游戏、陪女朋友&#xff0c;都可以视为任务 Windows 系统中的 MarkText 、谷歌浏览器、记事本&#xff0c;都是任务。 任务通常都含有…

考虑储能的电价收益模型研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

D. Pairs of Segments

Problem - D - Codeforces 思路&#xff1a;其实它求的就是不相交区间的最大数量&#xff0c;但是它的区间是两个区间合并得到&#xff0c;所以我们可以直接将所有能合并的区间直接合并&#xff0c;然后做一遍不相交区间的最大数量&#xff0c;这样存在一种问题就是一个区间会不…

【力扣算法04】之合并 K 个升序链表- python

文章目录 问题描述示例1示例2示例3提示思路分析 代码分析完整代码额外讲解 完结 问题描述 给你一个链表数组&#xff0c;每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中&#xff0c;返回合并后的链表。 示例1 输入&#xff1a;lists [[1,4,5],[1,3,4],[2,6]…

简要介绍 | 融合深度学习与符号逻辑:神经符号结合的探索

注1&#xff1a;本文系“简要介绍”系列之一&#xff0c;仅从概念上对神经符号结合进行非常简要的介绍&#xff0c;不适合用于深入和详细的了解。 融合深度学习与符号逻辑&#xff1a;神经符号结合的探索 Neuro-Symbolic AI 本文将探讨神经符号结合的概念、原理、研究现状、挑战…

推荐分布式系统案例课

你将获得 一线大厂分布式系统设计方法论&#xff1b; 分布式核心技术详解&#xff1b; 系统架构师面试技巧&#xff1b; 百万年薪架构师成长路径。 演示地址&#xff1a;www.runruncode.com/houduankaifa/19452.html 课程介绍 是否具备分布式系统的架构和设计能力&#xff0c;是…

typescript helloword

创建文件夹 创建ch01文件夹 新建tsconfig.json {"compilerOptions": {"strict": true,"target": "ES5"} }“tsconfig.json”是TypeScript编译器默认使⽤的配置⽂件。此例中的配置⽂件启⽤了所有的严格类型检查编译选项&#xff0c;…

经过半年的努力,终于成为了谷歌开发者专家(GDE)

大家好&#xff0c;我是拭心。 几天前&#xff0c;我终于收到了一封心心念念的邮件&#xff1a; 邮件的意思是&#xff1a;我正式成为了一名 GDE&#xff01; 这封邮件来之不易&#xff0c;背后是半年多的准备、三次公开分享和两轮英文面试&#xff0c;我想有必要做一个总结&…

VMware vSphere 7 Update 3n 下载

VMware vSphere 7 Update 3n 下载 vCenter Server & ESXi, DellEMC, HPE, Cisco, LENOVO, FUJITSU, NEC, Inspur, Hitachi Custom Image 请访问原文链接&#xff1a;https://sysin.org/blog/vmware-vsphere-7-u3/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留…