Hello大家好!很高兴我们又见面啦!给生活添点passion,开始今天的编程之路!

我的博客:<但凡.

我的专栏:《编程之路》、《数据结构与算法之美》、《题海拾贝》、《C++修炼之路》、《Linux修炼:终端之内 洞悉真理》

欢迎点赞,关注!

       从今天起正式开始更新linux的相关内容了。在学习linux的初期是比较枯燥的(各种指令),当然我会尽可能的解释清楚各种指令。

        使用环境:Centos 7


1、linux引入 

        Linux是一种开源的操作系统内核,由林纳斯·托瓦兹(Linus Torvalds)于1991年首次发布。它以Unix为设计灵感,但独立开发,遵循自由和开源软件(FOSS)原则。严格来说,“Linux”仅指内核,但通常被用来泛指基于Linux内核的完整操作系统(如Ubuntu、Fedora、Centos等),这些系统包含内核、工具链、库及应用程序。

        首先我们来说一下,什么是命令,为什么要学习命令?

        类比我们的windows操作系统,我们可以使用图形化界面这个“外壳程序”来使用操作系统,同样我们可以使用命令行,也就是一串串的命令,来操作我们的linux系统。命令行就是外壳程序。一串串的指令,就相当于我们使用鼠标在windows系统上的一次次点击,拖动。

        那么我们用户,通过命令行,对这个外壳程序“发号施令”接着,外壳程序通过命令行解释器,把我们的命令翻译成机器能够看懂的话,机器再根据这个翻译出来的话去执行。接着,执行结果在通过外壳程序反馈给我们。

        简单总结一下外壳程序的意义:

        (1)可以保护操作系统。

        (2)可以便于用户使用操作系统。

        所以说,各种命令是程序员和linux系统打交道必不可少的技能。那么我们在介绍完linux系统之后先简单介绍一些基础指令。

Linux的特点

开源与自由
Linux内核及其多数发行版遵循GNU通用公共许可证(GPL),用户可自由使用、修改和分发代码。

多用户与多任务
支持多用户同时访问,且能高效处理多任务并行运行。

高稳定性与安全性
由于模块化设计和开源特性,漏洞修复迅速,系统崩溃概率低,适合服务器等关键场景。

跨平台支持
兼容x86、ARM、PowerPC等多种硬件架构,从嵌入式设备到超级计算机均可运行。

常见的Linux发行版

Debian系
如Ubuntu、Linux Mint,以用户友好性和丰富的软件仓库著称。

Red Hat系
包括Fedora(社区版)和RHEL(企业版),强调稳定性和商业支持。

Arch Linux
滚动更新模式,适合高级用户,提供高度自定义性。

其他专精发行版
如Kali Linux(安全测试)、CentOS(服务器优化)等。

Linux的应用场景

服务器领域
超过90%的互联网服务器运行Linux,得益于其稳定性、低资源占用和开源生态。

嵌入式系统
智能家电、路由器、工业设备等广泛采用轻量级Linux版本。

开发与云计算
开发者常用Linux作为开发环境,云平台(如AWS、Azure)大量提供Linux虚拟机。

桌面与教育
部分发行版专注于桌面体验,如Ubuntu;也用于计算机科学教育。

Linux与其他操作系统的区别

与Windows对比
Linux更轻量、可定制,但部分专业软件(如Adobe套件)兼容性较差。

与macOS对比
macOS基于Unix(BSD),但闭源;Linux提供更自由的硬件选择和开源生态。

2、基础指令

        我们在家目录下创建以下这些文件,为了测试各种指令:

        ls指令

语法: ls [选项]  [目录或文件]

        ls 指令可以列出当前目录下的所有子目录和文件。对于列出的每个文件,列出文件名以及其他信息。

        常用选项:

-a 列出目录下的所有文件,包括以.开头的隐含文件。

-d 将目录像文件一样显示,而不是显示其下的文件。

-i 输出文件的i节点的索引信息。如 ls -ai 指定文件

-k 以k字节的形式表示文件的大小。

-l 列出文件的详细信息。ls -l可以用 ll 代替

-n 用数字的UID,GID代替名称

-F 在每个文件名后附上一个字符以说明该文件的类型," * "表示可执行的普通文件;" / "表示目录;“@”表示符号链接;“|” 表示FIFOs;"="表示套接字。

-r 对目录的反向排序

-t 以时间排序

-s 在l文件名后输出该文件的大小。

-R 列出所有子目录下的文件。

-l 一行只输出一个文件

示例:


        pwd命令 

        pwd命令可以显示用户当前所在目录。

示例:


        cd指令

         Linux系统中,万物皆是文件。一个个文件通过目录树进行链接。对于某个文件,我们需要通过指定的路径去访问。

        绝对路径:一般从/开始,不依赖其他目录的定位文件的方式。

        相对路径:相对于当前用户所处目录,定位文件的路径方式。

        cd指令可以改变工作目录。将当前工作目录改变到指定的目录下。cd+绝对路径或cd+相对路径。cd ~ 快速进入家目录。

示例:


        touch指令

        touch指令可以更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个文件。

语法:touch [选项]  文件...

        常用选项:

-a  仅更改访问时间

-c  仅更改修改时间

示例:


    mkdir指令 

        mkdir指令可以创建目录

语法: mkdir [选项] dirname

示例: 


        rmdir 指令

        rmdir是和mkdir相对的指令。可以使用rmdir删除目录。

语法:rmdir [选项] [dirname]

        常用选项: -p 当子目录被删除后父目录也变成空目录的话,就连父目录一起删除。


        rm指令

        rm命令可以同时删除文件或目录。

语法: rm [选项] [dirname/dir]

         常用选项:

-f 即使文件属性为只读,也直接删除

-i 删除前注意询问确认

-r 删除目录及其下所有文件    

示例: 


        man指令

         我们可以通过man指令查看linux命令手册

语法: man [选项] 命令

        常用选项:

-k 根据关键字搜索联机帮助

num 只在第num章节查找

-a 将所有章节的都显示出来

Linux 手册页分为多个章节,不同章节内容不同:

  1. 用户命令(如 lscd)。
  2. 系统调用(如 openfork)。
  3. 库函数(如 printfmalloc)。
  4. 设备文件(如 /dev/null)。
  5. 文件格式(如 /etc/passwd 的格式)。
  6. 游戏和屏保
  7. 杂项(如宏包、协议)。
  8. 系统管理命令(如 ifconfigiptables)。

         cp指令

        cp指令可以复制文件和目录

语法:  cp [选项] 源文件或目录 目标文件或目录

        常用选项:

-f 强制复制文件或目录,不论目的文件或目录是否已经存在

-i 覆盖文件之前先询问用户

-r 递归处理,将指定目录下的文件与子目录一并处理。

示例:

        mv指令 

        mv指令是move的缩写,可以用来移动文件或者将文件改名。

语法:mv [选项] 源文件或目录 目标文件或目录

        常用选项:

-f 如果目标文件存在则强制覆盖

-i 如果目标文件存在会询问是否覆盖 

 示例:

        移动文件:

       修改文件名:

        cat指令 

        cat指令可以查看目标文件的内容

语法: cat [选项] [文件]

        常用选项:

-b 对非空输出行编号

-n 对输出的所有行编号

-s 不输出多行空行

示例:

        我事先在code.c文件中写入了一万行重复内容,如果cat code.c的话,这些内容会一股脑的显示出来:

        more指令 

         more命令功能类似cat,但是比cat更好一些,因为他支持向下翻页(空格键)

        常用选项:

-n 指定输出行数

q 退出more

示例:

        less指令 

         less比more更强大,因为在使用less的时候我们既可以往前翻,也可以往后翻(通过上下箭头或空格键)。也就是说less可以随意浏览文件,而more仅能向前移动。less在查看之前不会加载整个文件。

        所以说,在less存在的情况下前面两个指令就有点小丑了。

语法: less [参数] 文件

        常用选项:

-i 忽略搜索时的大小写

-N 显示每行的行号

/ 字符串  向下搜索字符串

字符串 向上搜索字符串

n 重复前一个搜索

N 反向重复前一个搜索

q 退出 

示例:  

           搜索功能不好通过截图展示,大家自己测试吧

        我们也可以在下方直接输入数字,他就会自动跳转这个数字行数。 

        head指令

         head与tail就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head用来显示档案的开头至标准输出中,而tail是查看文档的结尾。

语法:head [参数...] [文件...]

        常用选项:

-n<行数> 显示的行数

        tail指令 

        用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用于查看日志文件。

        常用选项:

-f 循环读取

-n<行数> 显示行数

示例:

        date 指令

         可以用指定格式显示系统时间

语法:data [选项] ...

        常用选项:

%H 小时

%M 分钟

%S

%X 相当于 %H:%M:%S

%d

%m 月份

%Y 完整年份

%F 相当于%Y-%m-%d

%s 时间戳

-s 修改时间

        时间戳:以1970年1月1日(UTC)为起点,计算经过的秒数或毫秒数。例如,1625097600表示2021年6月30日0点0分0秒(UTC)。

示例:

        cal指令

        cal命令可以用来显示公历日历。

格式:cal [选项]  年份

         常用选项:

-3 显示系统前一个月,当前月,下一个月的月历

-j 显示在当年中的第几天

-y 显示当前年份的日历

示例:

        find指令 

        find指令可以在目录中搜索文件。find指令时比较复杂的,因为他的选项比较多,我们就介绍一个常用的,find指令是有可能会访问磁盘的。

语法:find pathname [选项]

        常用选项:

        -name 按照文件名查找文件。

示例:

         which指令

        which指令可以搜索系统指令的命令。

语法: which + 指令

示例:

        whereis 指令

        用于找到程序的源,二进制文件或手册。可以理解为升级版的which

示例:

         alias 指令

        用于设置命令的别名

语法:alias 别名=' 指令 '

示例:

         grep指令

        grep指令可以在指定文件中搜索字符串,并将他所在的行打印出来

语法:grep [选项] 搜索字符串 文件

 常用选项:

-i 忽略大小写(case-insensitive)。

-v 反向匹配,输出不包含模式的行。

-n 显示匹配行的行号。

-r 或 -R 递归搜索目录中的文件。

-l 仅输出包含匹配项的文件名。

-c 统计匹配的行数而非显示内容。

-w 全词匹配(避免部分匹配)。

-A NUM 显示匹配行及后续NUM行(After context)。

-B NUM 显示匹配行及前导NUM行(Before context)。

示例:

         我提前在code.c中写了一小段代码。

        zip/unzip 指令

        压缩与解压指令

语法: zip 压缩文件.zip 目录或文件

        常用选项:

-r 递归处理

 示例:

        将text1,text2压缩成combine.zip

        解压缩到testunzip文件夹,其中这个-d必不可少,他是告诉系统我们是要解锁到指定文件夹下,默认是解压到当前目录下。

         tar 指令

        这个指令也是打包/解包,但是这个指令更常用也更重要

语法:tar [选项]  dst  src

        常用选项:

-c  建立一个压缩文件的参数指令

-x  解开一个压缩文件的参数指令

-t  查看tarfile里面的文件 

-z  是否同时具有gzip的属性(带着就是打包并压缩)

-j  是否具有bzip2的属性

-v  压缩的过程中显示文件(常用)

-f  使用档名,在f之后要立即接档名

-C  解压到指定目录

        其实对于tar命令,我们一般使用的选项是-czvf(压缩)和-xzvf(解压)、如果去掉z就是打包和解包。

示例:

         压缩:

        解压:

        这里的-C也是用来告诉系统我们要解压到特定文件夹。

        echo指令

        echo命令默认是在终端输出文本或变量的值。也就是把文本输出到显示器文件。

        当然echo命令也可以搭配重定向符号>把文本输出到指定文件中。

        示例:

        其中>是覆盖内容,>>是追加内容。另外,我们!有特殊语义,所以说用 \ 转义一下。

        bc指令

        bc其实就是计算器。并且我们还可以设置计算器的精度。

        示例:

         其中设置精度仅对除法有效。

        uname命令

         uname命令可以获取电脑和操作系统的相关信息。

        常用选项:-a,全部显示。

        示例:

        我们也可以使用lsb_release -a查看软件方面更详细的内容:

       history指令

        我们可以使用history指令查看历史上使用过的命令。linux系统可以自动记录最近的一千条命令。

        我们可以把历史命令都放到指定文件中:

        shutdown指令

        这个命令就是关机,没啥好说的。如果你是服务器的话,在执行这个命令之后如果你想重新开启服务器,就得去你买服务器的那个官网上(比如阿里云,华为,火山...)重新开启服务器。

        在linux中,万物皆文件,而我们各种命令,其实也是别人已经提前写好的可执行程序而已。 

3、几个常用热键

        (1)tab补全

                输入命令的一部分,按tab可以补全命令,或者展示以这串字符开头的命令都有哪些。

        (2)ctrl+c

                ctrl+c可以直接终止当前程序。

        (3)ctrl+d

                ctrl+d可以退出。我们可以用ctrl+d退出xshell的登录。 我们可以使用xshell远程访问服务器。

        (4)上下箭头

                上下箭头可以看历史命令。

        (5)ctrl+r

                ctrl+r可以搜索历史命令。

        (6)!

                !+字符 可以自动执行历史上最近的以这个字符开头的命令。

        好了,今天的内容就分享到这,我们下期再见!

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

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

相关文章

【Linux网络】深入理解HTTP/HTTPS协议:原理、实现与加密机制全面解析

协议是通信双方必须遵守的规则&#xff0c;确保数据能够正确传输和解析&#xff0c;它规定了数据格式、传输顺序、错误处理等细节。应用层的协议一般都是我们自己进行定义的&#xff0c;但是有很多程序员前辈已经写出来了很哇塞的协议&#xff0c;我们直接进行学习和使用即可HT…

浅尝 Spring AI【使用超级简单~】

一直想要体验下 Spring AI&#xff0c;最近自己的一个工具有这个需求&#xff0c;所以这里准备使用下。其实使用起来超级简单。 1.IDEA 新建 Spring项目 1&#xff09;这里可以根据自己的喜好选择 项目名、jdk版本等 2&#xff09;这里选择 在ai中选择 openAI 即可。然后我另…

DDL期间TDSQL异常会话查询造成数据库主备切换

问题描述&#xff1a;7*24联机交易系统&#xff0c;傍晚时分&#xff0c;从客户端后台对3千万行的大表执行缩短varchar类型字段长度的ddl语句&#xff0c;执行期间&#xff0c;为了查看ddl进度&#xff0c;从TDSQL-MySQL赤兔前端页面点击异常会话查询&#xff0c;之后数据库卡住…

弧焊机器人气体全方位节能指南

氩弧焊&#xff08;TIG焊接&#xff09;作为其中一种高效且精密的技术&#xff0c;凭借其稳定性和高质量的焊接效果&#xff0c;在航空航天、汽车制造、船舶建造以及石油化工等领域占据了不可或缺的地位。氩弧焊通过使用惰性气体&#xff08;如氩气&#xff09;保护电弧和熔池&…

数据清洗(ETL/ELT)原理与工具选择指南:企业数字化转型的核心引擎​

目录 一、数据清洗&#xff08;ETL/ELT&#xff09;到底在干啥&#xff1f; 1.揪出并处理异常值 2.把缺失的数据补上&#xff08;或处理好&#xff09; 3.数据转换与标准化 4.一致性校验 二、工具怎么选&#xff1f;看菜吃饭&#xff0c;量体裁衣 1.数据量不大、要求不高…

阿里云服务器,CentOS7.9上安装YApi 接口管理平台

目录 1.node安装 1.1下载node,解压 1.2 部署bin文件 1.3 安装mongodb 2.启动yapi 2.1 前置命令 2.2 启动服务 3.利用pm2方便服务管理维护 3.1.安装pm2 3.2 常用 PM2 命令 4.常见问题 4.1. 确认 MongoDB 是否安装 4.2. 安装 MongoDB&#xff08;若未安装&#xff…

阿里云错题集分享

有最近想要考试阿里云的可以私信我 &#xff0c;一起加油错题集1.在使用阿里云的负载均衡SLB实例时&#xff0c;做了如下健康检查的配置:成功响应和超时响应时间均为1秒&#xff0c;健康检查间隔为2秒&#xff0c;不健康阈值为3&#xff0c;健康阈值为3。即对于确认一个云服务器…

Android 12 - 部分相机横屏显示方案

1.相机过渡界面方向旋转 Android 10 - 相机过渡界面默认角度 同A10 有些区别&#xff0c;再次增加记录修改。 这个文件没有修改&#xff0c;只是说明 src/com/android/camera/CameraActivity.javaprivate void freezeScreenCommon(boolean async) {long startTime System.…

Operation Blackout 2025 Phantom Check hayabusa+ControlSet001+VirtualBox

QAQA攻击者使用哪个 WMI 类来检索型号和制造商信息以进行虚拟化检测&#xff1f;Win32_ComputerSystem攻击者执行了哪个 WMI 查询来检索计算机的当前温度值&#xff1f;SELECT CurrentTemperature FROM MSAcpi_ThermalZoneTemperature攻击者加载了 PowerShell 脚本以检测虚拟化…

《O-PAS™标准的安全方法》白皮书:为工业自动化系统筑起安全防线

The Open Group 最新白皮书《O-PAS™标准的安全方法》重磅发布&#xff0c;为流程工业在迈向开放架构与多供应商互操作的过程中&#xff0c;指明了安全实践的方向。O-PAS™标准的安全方法ABOUT PUBLICATION亮点一&#xff1a;首次系统阐释 O-PAS™ 标准安全方法与 IEC/ISA 6244…

UML 图类型全解析:结构图与行为图分类详解

作为软件架构的核心建模语言&#xff0c;UML&#xff08;统一建模语言&#xff09;通过14种标准图表提供系统多维度视角。这些图表分为结构图&#xff08;静态模型&#xff09; 和 行为图&#xff08;动态模型&#xff09; 两大类&#xff0c;覆盖从需求到实现的完整生命周期。…

lodash不支持 Tree Shaking 而 lodash-es可以

lodash 无法有效支持 Tree Shaking 而 lodash-es 可以&#xff0c;核心区别在于‌模块规范、文件结构和静态分析兼容性‌。以下是具体原因分析&#xff1a; ⚙️ 一、模块规范差异&#xff08;核心原因&#xff09; lodash&#xff08;CommonJS 规范&#xff09;‌ 使用 requir…

java+vue+SpringBoo高校实习信息发布网站(程序+数据库+报告+部署教程+答辩指导)

源代码数据库LW文档&#xff08;1万字以上&#xff09;开题报告答辩稿ppt部署教程代码讲解代码时间修改工具 技术实现 开发语言&#xff1a;后端&#xff1a;Java 前端&#xff1a;vue框架&#xff1a;springboot数据库&#xff1a;mysql 开发工具 JDK版本&#xff1a;JDK1.8 数…

uniApp实战五:自定义组件实现便捷选择

文章目录1.最终效果预览2.快速选择组件封装3.弹框组件封装4.组件逻辑实现5.组件样式6.页面引入1.最终效果预览 2.快速选择组件封装 <uv-cell :border"isShowBorder"><template v-slot:title><text class"title-key">{{ title }}</te…

AI在垂直领域的深度应用:医疗、金融与自动驾驶的革新之路

AI在垂直领域的深度应用:医疗、金融与自动驾驶的革新之路 一、医疗领域:AI驱动的精准诊疗与效率提升 1. 医学影像诊断 AI算法通过深度学习技术,已实现对X光、CT、MRI等影像的快速分析,辅助医生检测癌症、骨折等疾病。例如,Google DeepMind的AI系统在乳腺癌筛查中,误检率…

模块三:现代C++工程实践(4篇)第二篇《性能调优:Profile驱动优化与汇编级分析》

性能调优&#xff1a;Profile驱动优化与汇编级分析实战&#xff1a;优化矩阵乘法至SSE/AVX指令集&#xff08;终极加强版&#xff09;一、性能瓶颈的全链路诊断&#xff08;深度扩展&#xff09;1.1 硬件性能计数器的极致利用PMU事件深度定制&#xff1a;# 捕获L1缓存事件与分支…

二刷 黑马点评 商户查询缓存

缓存 数据交换的缓冲区&#xff0c;俗称的缓存是缓冲区内的数据&#xff0c;一般从数据库中获取&#xff0c; 例1:Static final ConcurrentHashMap<K,V> map new ConcurrentHashMap<>(); 本地用于高并发例2:static final Cache<K,V> USER_CACHE CacheBuild…

【前端】【组件库开发】【原理】【无框架开发】现代网页弹窗开发指南:从基础到优化

效果 现代网页弹窗开发指南&#xff1a;从基础到优化 弹窗&#xff08;Modal&#xff09;作为网页交互的重要组件&#xff0c;在用户通知、确认操作和表单输入等场景中广泛应用。本文将循序渐进地讲解弹窗的技术实现与最佳实践。 一、弹窗基础概念 弹窗是一种覆盖在主内容之…

【操作系统】线程

JavaEE—线程 一、进程与线程 1.包含管理 2.资源布局 2.1公共资源 2.2私有资源 二、并发编程 1.多线程优势 1.1创建 1.1.1多线程 1.1.2多进程 1.2通信 1.2.1多线程 1.2.2多进程 1.3调度 1.3.1多线程 1.3.2多进程 1.4销毁 1.4.1多线程 1.4.2多进程 2.多进程…

React 自定义Hook——页面或元素滚动到底部监听 Hook

功能简介 useReachBottom 是一个 React 自定义 Hook&#xff0c;支持监听页面&#xff08;body&#xff09;或任意可滚动元素&#xff08;如 div&#xff09;是否滚动到底部。它能帮助你在用户滑动到底部时触发加载更多、显示提示等操作&#xff0c;极大提升前端交互体验。 亮…