【Linux】【系统纪元】Linux基础指令

news2024/9/28 17:33:20



快乐的流畅:个人主页


个人专栏:《C游记》《进击的C++》《Linux迷航》

远方有一堆篝火,在为久候之人燃烧!

文章目录

  • 引言
  • 一、文件管理
    • 1.1 ls
    • 1.2 pwd
    • 1.3 cd
    • 1.4 mkdir
    • 1.5 touch
    • 1.6 rm
    • 1.7 cp
    • 1.8 mv
  • 二、文件输出
    • 2.1 echo
    • 2.2 cat
    • 2.3 less
    • 2.4 head
    • 2.5 tail
  • 三、重定向与管道
    • 3.1 >
    • 3.2 >>
    • 3.3 <
    • 3.4 |
  • 四、文件查找
    • 4.1 which
    • 5.2 whereis
    • 4.3 grep
    • 4.4 find
  • 五、其他
    • 5.1 man
    • 5.2 zip
    • 5.3 tar
    • 5.4 date
    • 5.5 cal
    • 5.6 bc
    • 5.7 uname
  • 六、热键
    • 6.1 TAB
    • 6.2 CTRL + C
    • 6.3 CTRL + D
    • 6.4 CTRL + L
    • 6.5 CTRL + R
  • 七、Shell
    • 7.1 定义
    • 7.2 意义
    • 7.3 版本
  • 总结

引言

Linux下一切皆文件!

在Linux操作系统中,一切皆文件的哲学意味着几乎所有的东西都被视为文件,包括普通文件、设备(如显示器和键盘)、目录等。这种统一的文件接口使得对各种设备和文件的操作变得一致且简单。

  • 普通文件(具备写方法和读方法):

    普通文件在Linux中既可以被读取也可以被写入。
    例如:文本文件、配置文件等。
    
  • 显示器(具备写方法,不具备读方法):

    显示器通常作为标准输出设备,只需要写入数据。
    
  • 键盘(具备读方法,不具备写方法):

    键盘作为输入设备,只需要读取数据。
    

一、文件管理

1.1 ls

list:列出当前目录下的内容

ls [选项] [目录]

常用选项功能
-l列出文件的详细信息
-a列出目录的所有文件(包括隐藏文件)
-d列出目录的属性(而不是内容)

ps:. 表示当前目录, .. 表示上一级目录。
ps:文件名以 . 开头的都是隐藏文件。
ps:选项可以叠加,而且写的地方不固定(一般跟在指令后面)。

文件 = 文件属性 + 文件内容
文件属性包括文件名,大小,创建时间等。
文件内容则是通常写在文件里的信息。

同时,ls -l 可以简写为 ll,可以理解为 ll 是 ls -l 的别名。

1.2 pwd

print working directory:显示当前工作目录

pwd


ps:/ 称为路径分隔符(Linux风格)。
ps:上述也可写成 /home/huzch/,最后的 / 可加可不加。

Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。最开始的 / 称为根目录。

1.3 cd

change directory:改变当前工作目录

cd [目录]

绝对路径访问:

相对路径访问:

cd . .:返回上一级目录
cd ~:返回家目录
cd -:返回最近访问的目录


ps:用户最初进入的目录,称为家目录。

1.4 mkdir

make directory:创建空目录

mkdir [选项] 目录
常用选项功能
-p递归建立一连串目录

ps:tree指令可以显示对应目录的文件树,方便观察。

对应目录删除的指令是 rmdir,但是只能删除空目录。所以后续我们用rm指令来统一删除文件和目录。

1.5 touch

touch:创建空文件或更新文件的时间戳

touch [选项] 文件

1.6 rm

remove:删除文件或目录

rm [选项] 文件/目录
常用选项功能
-r递归删除目录及其子目录和文件
-f强制删除,不再询问
-i删除前逐一询问

警告:rm -rf / 会直接递归删除根目录,也就是删除了整个Linux系统,不要轻易尝试!

1.7 cp

copy:拷贝并重命名

cp [选项] 源文件 目标文件


默认情况下,拷贝到当前目录。


这种写法等价于上述默认写法。


默认情况下,不加文件名,则不改变文件名进行拷贝。


既加目录,又加文件名,则是拷贝并重命名。

常用选项功能
-r递归拷贝目录及其子目录和文件
-f强制拷贝覆盖,不再询问
-i覆盖文件前进行询问

1.8 mv

move:移动并重命名

mv [选项] 源文件 目标文件

常用选项功能
-f强制移动覆盖,不再询问
-i覆盖文件前进行询问

ps:mv的用法与cp相似。

二、文件输出

2.1 echo

echo:将字符串输出

echo [选项] 字符串

ps:字符串的引号可加可不加,不影响。

2.2 cat

concatenate:将文本输出

cat [选项] 文件

常用选项功能
-n对输出的所有行编号
-b对输出的非空行编号
-s不输出多行空行

ps:cat指令只适合查看小文本,而接下来学习的指令更适合查看大文本。

2.3 less

less:分页输出文件

less [选项] 文件
常用选项功能
-N对输出的所有行编号
-i忽略搜索时的大小写
?字符串向上搜索该字符串
/字符串向下搜索该字符串
n重复前一个搜索
N反向重复前一个搜索

其实还有一个相似的分页查看指令——more,但是more只能向下翻页,less既可以向上翻页,也可以向下翻页,更方便我们阅读文件内容。同时,less在查看之前不会加载整个文件。此外,less还可以向上向下进行搜索,功能更加强大。

2.4 head

head:输出文件开头

head [选项] 文件
常用选项功能
-行数显示的行数

默认输出行数为10行。

2.5 tail

tail:输出文件结尾

tail [选项] 文件
常用选项功能
-行数显示的行数

默认输出行数为10行。

三、重定向与管道

3.1 >

输出重定向(>):将命令的标准输出重定向到指定文件中。

命令 > 文件

  • 输出重定向将原本写入显示器文件的内容,写入了指定文件中。

ps:想要创建一个新文件,除了用touch指令,也可以用输出重定向>来创建。



但是,输出重定向每次会清除之前写的内容,再进行新一轮写入。所以,如果想要在原本的基础上写入,就要用到追加重定向>>

3.2 >>

追加重定向(>>):将命令的标准输出追加到指定文件的末尾。

命令 >> 文件

3.3 <

输入重定向(<):将指定文件的内容重定向为命令的标准输入。

命令 < 文件


乍一看,是不是感觉二者没有什么区别,好像<没什么用?其实,它们还是有差别的:

  • cat t1.c 这句指令中,cat知道t1.c的文件名,直接打开文件并输出。
  • cat < t1.c 这句指令中,cat不知道t1.c的文件名,只是从输入中读取并输出。而这里的输入便是t1.c的文件内容。

3.4 |

管道(|):将一个命令的输出作为另一个命令的输入。

命令1 | 命令2

如何查找一个大文件中的第30行到第50行?


这时我们可以用管道,进行流水线作业,来完成较复杂的输出操作。

  1. 首先,cat输出t2.c,作为管道文件传递给下一个指令。
  2. 其次,head -50输出管道文件的前50行,再作为新的管道文件传递给下一个指令。
  3. 最后,tail -20输出管道文件的后20行,就完成了第30行到第50行的输出。

ps:管道文件是内存级的。

四、文件查找

4.1 which

which:查找指令的路径

which 指令

指令的本质,就是编译好的程序或脚本,存放于系统的特定路径下,比如系统指令存放于 /usr/bin/ 路径下。

5.2 whereis

whereis:查找指令及其源代码和手册页的路径

whereis 指令

ps:相对于which指令,whereis指令查找的信息更加详细。

4.3 grep

global regular expression print:在文件中查找匹配特定模式的文本行

grep [选项] 模式 文件

常用选项功能
-n输出行号
-i忽略查找时的大小写
-v查找不匹配该模式的文本行

ps:grep是一种文本行过滤工具。

4.4 find

find:在文件系统中查找文件

find [路径] [选项] [表达式]
常用选项功能
-name通过文件名查找

在这里插入图片描述

ps:比起whichwhereis指令在特定路径下查找,find指令真的会遍历整个文件系统(以当前目录为根结点),在磁盘文件中查找。

ps:在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间。

五、其他

5.1 man

manual:查询特定命令或程序的手册页

man 命令
编号内容
1指令
2系统函数
3库函数
4特殊文件
5文件格式
6游戏
7杂项
8系统管理命令(通常只针对root用户)

ps:不加编号时,默认编号为1,查询指令。
ps:关于指令的众多选项,我们不用全部记住,只需要在要用时查询即可。

5.2 zip

zip:打包并压缩

zip [选项] 压缩包名 文件/目录
常用选项功能
-r递归处理目录及其子目录和文件

同时,与zip指令对应的是unzip指令,负责解包解压文件或目录。

ps:解包解压到特定目录,需要加选项-d。同时注意选项的位置。


打包的意义

  • 简化管理:将多个文件和文件夹组合成一个文件,便于管理和传输。
  • 保持结构:保留文件和文件夹的原始层次结构,便于备份和迁移。
  • 文件完整性:确保文件集的一致性和完整性,防止漏传或乱序。

压缩的意义

  • 节省存储空间:减少文件所占的存储空间。
  • 提高传输效率:减少文件大小,缩短传输时间,节省带宽。
  • 降低成本:减少存储和传输的数据量,降低成本。
  • 增强安全性:通过加密压缩文件,增加数据安全性。

打包与压缩结合的意义

  • 一体化处理:同时实现打包和压缩,提高效率。
  • 便捷性:便于分发和下载,用户操作更简单。
  • 兼容性:打包和压缩后的文件通常跨平台兼容。

5.3 tar

tape archive:打包或解包

tar [选项] 归档文件 文件/目录
常用选项功能
-c建立归档文件
-x从归档文件中提取文件
-t查看归档文件
-z通过gzip压缩或解压缩
-j通过bzip2压缩或解压缩
-v显示操作过程中的详细信息
-f指定归档文件的名称
-C解压到指定目录

ps:归档和打包是一个意思。


打包压缩

预览

解包解压

解包解压到指定目录

ps:后缀全称为 .tar.gz,tar是打包后缀,gz是压缩后缀,简写为 .tgz。

ps:tar指令本身用来打包解包,但是可以结合不同的压缩工具(如gzip、bzip2),进行打包并压缩。


ziptar 的区别

  • 功能
    • zip:集成了压缩和归档功能,可以直接创建压缩的ZIP文件。
    • tar:主要用于打包文件和目录,需要结合gzip、bzip2等压缩工具才能创建压缩 归档文件。
  • 使用场景
    • zip:常用于需要创建跨平台兼容的压缩文件,例如在WindowsmacOS之间传输文件。
    • tar:常用于LinuxUnix系统,适合备份和传输大量文件和目录,特别是在系统管理和开发环境中。
  • 压缩率
    • zip:提供较好的压缩率,但一般低于tar结合gzip或bzip2的压缩率。
    • tar:与不同的压缩工具结合使用时,可以达到较高的压缩率,bzip2和xz通常比gzip压缩率更高。
  • 文件处理
    • zip:可以方便地添加或删除单个文件而无需重新创建整个归档文件。
    • tar:修改归档文件内容通常需要重新创建归档文件。

5.4 date

date:指定格式显示时间

date [选项] [+格式]
常用格式功能
%Y
%m
%d
%H
%M
%S
%F相当于%Y-%m-%d
%X相当于%H:%M:%S

常用格式功能
%s日期->时间戳
-d@时间戳->日期

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

5.5 cal

calendar:显示公历

cal [选项] [] [] []


常用选项功能
-3显示上月、本月和下月的日历
-j输出儒略日格式的日历
-y显示一整年的日历

ps:儒略日是一种连续计数的时间表示法,从每年的1月1日算起今天是第几天。

5.6 bc

basic calculator:命令行计算器,支持任意精度的计算

bc [选项]

启用交互模式:

非交互模式执行计算:

5.7 uname

unix name:显示电脑和操作系统的信息

uname [选项]
常用选项功能
-a显示所有信息

  • 内核名称:Linux
  • 主机名称:code-space
  • 内核版本号:3.10.0-1160.108.1.el7.x86_64
  • 内核编译版本:#1 SMP Thu Jan 25 16:17:31 UTC 2024
  • 硬件名称:x86_64
  • 处理器类型:x86_64
  • 硬件平台:x86_64
  • 操作系统名称:GNU/Linux

这些信息有助于了解系统的基本状态和配置,常用于系统管理和调试。

六、热键

6.1 TAB

命令补全

6.2 CTRL + C

终止程序

6.3 CTRL + D

退出

ps:等同于exit指令。

6.4 CTRL + L

清空

ps:等同于clear指令。

6.5 CTRL + R

查找历史命令

ps:Linux系统会自动保存最近的1000条指令。

七、Shell

7.1 定义

Shell(外壳) 是一个命令行解释器(command Interpreter),用来沟通用户与 Kernel(内核)

命令行解释器分为四个部分:

  • 用户名:huzch
  • 主机名:code-space
  • 当前目录:~
  • 命令行提示符:$

7.2 意义

由于用户难以直接操作Linux内核,所以需要Shell外壳来作为桥梁进行连接。

命令行解释器主要有两个意义:

  1. 将用户的命令翻译给内核处理,同时将内核的处理结果翻译给用户。
  2. 变相保护操作系统,拦截用户的非法请求。

输入指令的本质,实际上是在输入字符串。而命令行解释器将将字符串翻译给内核,调用对应的指令。

ps:Linux下的命令行解释器可以类比Windows下的图形化界面。
ps:Linux = Kernel + Shell + 各种应用组件

7.3 版本

在Linux中,最常见的几种Shell包括:

  1. Bash(Bourne Again Shell)
  2. Zsh(Z Shell)
  3. Fish(Friendly Interactive Shell)
  4. Ksh(KornShell)
  5. Dash(Debian Almquist Shell)
  6. Tcsh(TENEX C Shell)

这些Shell各有特色,可以根据具体需求和个人偏好进行选择和使用。

总结

重要的指令mkdirrmcpmvlessfindmantar

知识点:Linux下一切皆文件、重定向与管道

真诚点赞,手有余香

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

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

相关文章

新学期新动力,以骨传导耳机开启健康音乐之旅

大学生快开学啦&#xff01;激励自己在学期的状态给自己准备一个礼物应该不过分吧&#xff0c;相信没有大学生能够没有耳机&#xff01;不管是在赶早八的路上也要放收歌来醒醒神&#xff0c;还是日常散步不那么单调&#xff0c;使用频率都很高&#xff0c;但是入耳式的蓝牙耳机…

Stable Diffusion 提示词插件:开启个性化艺术创作大门,探索AI绘画新境界。让灵感枯竭再无可能!

前言 之前的文章介绍了提示词的基础用法和进阶用法&#xff0c;东西很多很复杂&#xff0c;那么非程序员相关行业的人员&#xff0c;对字符不敏感怎么办&#xff1f; 没关系&#xff0c;今天我来介绍几款提示词插件&#xff0c;可以大大提升 Stable Diffusion 的使用效率。 …

微信怎么恢复聊天记录?轻松4招,恢复消失的聊天记录

微信聊天记录不仅是日常沟通的桥梁&#xff0c;更是珍贵记忆的储存库。然而&#xff0c;误删、系统故障或设备更换等意外情况&#xff0c;时常让我们的聊天记录瞬间消失&#xff0c;给我们留下遗憾。面对这一挑战&#xff0c;微信怎么恢复聊天记录成为许多人的迫切需求。幸运的…

opensuse leap15安装配置

opensuse leap15安装配置 查看opensuse leap15安装完成后的基本配置关闭SELinux禁用AppArmor 关闭firewalld防火墙关闭polki服务&#xff08;非必须&#xff09;tuned服务安装必备软件 查看opensuse leap15安装完成后的基本配置 默认开启了防火墙默认开启了Linux安全模块 关闭…

day34 代码随想录 | 不同路径 整数拆分

不同路径 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finish” &#xff09;。问总共有多少条不同的路径&#xff1f…

第37讲:Cephfs文件系统的正确使用姿势

文章目录 1.Cephfs文件系统简介2.Cephfs文件系统细节介绍2.1.Cephfs文件系统多客户端隔离挂载2.2.Ceph集群中多个Cephfs如何单独使用 3.挂载多个Cephfs文件系统4.Cephfs文件系统多客户端隔离挂载实战4.1.创建一个Cephfs文件系统4.2.将Cephfs文件系统挂载到本地路径4.3.在Cephfs…

JavaWeb - 认识web开发

JavaWeb Java和JavaWeb是两个不同的概念&#xff0c;它们在范围和应用上有所区别&#xff1a; Java&#xff1a; 定义&#xff1a;Java是一种面向对象的编程语言&#xff0c;由Sun Microsystems公司&#xff08;现已被Oracle收购&#xff09;于1995年推出。应用范围&#xff1…

易企秀场景秀源码系统全新升级,方便制作各种Html5应用的制作工具 带完整的安装代码包以及搭建部署教程

系统概述 在当今数字化的时代&#xff0c;Html5 应用已经成为了展示和传播信息的重要方式。而在众多的制作工具中&#xff0c;易企秀场景秀源码系统以其全新升级的功能和便捷性&#xff0c;吸引了众多用户的目光。它不仅为用户提供了方便制作各种 Html5 应用的工具&#xff0c…

亚马逊测评自养号:揭秘高效环境搭建的秘诀

亚马逊测评自养号环境搭建的技术要点主要涵盖了网络环境、IP管理、设备配置、浏览器防关联、支付卡选择与管理以及账号管理等多个方面。以下是对这些技术要点的详细解析&#xff1a; 1. 网络环境 使用国外服务器&#xff1a;在云端搭建安全终端&#xff0c;确保能够阻断硬件参…

【python基础】—离线环境下,在linux中安装python包(以sqlalchemy为例)

文章目录 第一步&#xff1a;在线环境下载离线安装包及依赖包。第二步&#xff1a;把包上传到离线环境的服务器上&#xff0c;进行安装。第三步&#xff1a;测试是否安装成功。常见报错之版本选择问题 第一步&#xff1a;在线环境下载离线安装包及依赖包。 下载第三方库官网&am…

基于django的影音播放网站 /基于python的影视网站/影视播放系统

摘 要 随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的管理系统应运而生&#xff0c;各行各业相继进入信息管理时代&a…

在Vue工程中开发页面时,发现页面垂直方向出现两个滚动条的处理

在Vue工程中开发页面时&#xff0c;发现页面垂直方向出现两个滚动条 最近在开发页面时&#xff0c;发现页面多了两个滚动条&#xff0c;如图&#xff1a; 原因&#xff1a; 当一个页面的内容高度大于屏幕的高度时就会出现滚动条。一般情况下当一个页面高度大于屏幕高度时&a…

Yolov8 人脸关键点检测

原文&#xff1a;Yolov8 人脸关键点检测 - 知乎 (zhihu.com) 基于yolov8的人脸检测&#xff0c;带关键点检测。主要基于yolov8 姿态估计进行修改&#xff1a; Ctrl CV&#xff1a;Yolov8 姿态估计20 赞同 39 评论文章 人脸关键点有5个点&#xff0c;分别为左右两个嘴角&…

XSS总结知识点+例题实操

目录 XSS总结知识点 1、XSS也是属于注入攻击的一类&#xff0c;他是通过构造一个JS代码&#xff0c;注入到网页中&#xff0c;由用户的浏览器来请求源码且运行达到攻击的效果&#xff1b; 2、XSS的危害 3、XSS产生的原因 4、反射性XSS 5、存储型XSS 6、DOM的XSS 7、XSS…

C++第三十八弹---一万六千字使用红黑树封装set和map

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】 目录 1、set/map基本结构 2、红黑树基本结构改造 3、红黑树的迭代器 4、set的模拟实现 5、map的模拟实现 6、完整代码 1、set/map基本结构 在封装…

三元组损失Triplet loss 详解

深度神经网络在识别模式和进行预测方面表现出色,但在涉及图像识别任务时,它们常常难以区分相似个体的图像。三元组损失是一种强大的训练技术,可以解决这个问题,它通过学习相似度度量,在高维空间中将相似图像准确地嵌入到彼此接近的位置。 在这篇文章中,我们将以简单的技术术语解…

程序员为什么要一直写bug ,不能一次性写好吗?

文章目录 一、前言二、为什么要写bug1、程序员的疑问&#xff1f;2、bug产生的原因3、减少bug的措施4、程序员不是机器 三、写代码的好习惯&#xff0c;减少80%的bug1、修改完代码&#xff0c;记得自测一下2、方法入参尽量都检验3、修改老接口的时候&#xff0c;思考接口的兼容…

SpringBoot3核心特性-快速入门

目录 传送门前言一、简介1、前置知识2、 环境要求3、SpringBoot是什么 二、快速体验1、开发流程2、特性小结3、Spring Initializr 创建向导 三、应用分析1、依赖管理机制2、自动配置机制2.1、初步理解2.2、完整流程2.3、如何学好SpringBoot 四、核心技能1、常用注解1.1、组件注…

Spring Boot的自动装配机制?(Spring Boot怎么完成自动装配的?)----面试常问

Spring Boot的自动装配机制&#xff1f;(Spring Boot怎么完成自动装配的?) 目录 一、概念版&#xff08;重要&#xff09; 二、实操版 1. 依赖管理 (pom.xml导坐标) 2. 自动配置类 2.1 SpringBootApplication 注解 2.2 EnableAutoConfiguration 2.3 Import({AutoCon…

基于node.js的宠物寄存管理系统,基于express的宠物寄存系统

摘 要 伴随着社会以及科学技术的发展&#xff0c;互联网已经渗透在人们的身边&#xff0c;网络慢慢的变成了人们的生活必不可少的一部分&#xff0c;紧接着网络飞速的发展&#xff0c;系统管理这一名词已不陌生&#xff0c;越来越多的宠物店等机构都会定制一款属于自己个性化…