初识Linux篇:第三篇

news2024/11/28 12:31:22

初识Linux篇:第三篇

  • 初识Linux篇:第三篇
    • 1.Linux中常见的通配符
      • 1.1*号通配符
      • 1.2 ?通配符
      • 1.3[ ]通配符
      • 1.4{ }通配符
    • 2.man指令
    • 3.cp指令
    • 4.mv指令
    • 5.alias指令
    • 6. echo指令
    • 7.cat指令
    • 8.more指令
    • 9.less指令
    • 10.head与tail指令
    • 11.在Linux中写代码
  • 总结

在这里插入图片描述

初识Linux篇:第三篇

😁本篇接着学习Linux的基本指令的学习

在这里插入图片描述

1.Linux中常见的通配符

🤔什么是通配符?通配符有什么没用?

概念通配符是一种匹配文件名的一种特殊符号;

作用帮助我们更加方便和快捷地查找和操作文件;

首先我们先切换到普通用户,普通用户更方便操作而且风险更低:
在这里插入图片描述
切换用户的命令:su 用户名
su:switch user(切换用户的意思);
在这里插入图片描述


1.1*号通配符

*号表示任何字符,它可以让你很快的筛选指定的文件或目录;

我们可以验证一下,* 号是不是匹配所有文件或目录?
在这里插入图片描述
比如,我想要查看所有的.c文件以及删除所有的.c文件,就可以用通配符*号去匹配:
1.查看所有.c文件:
在这里插入图片描述
2.删除所有.c文件:
在这里插入图片描述

注意:* 号也可以搭配其他指令,让我们更快的查找和操作文件或目录;


1.2 ?通配符

?:表示占用任意单个字符,用来匹配匹配文件名中单个字符;

比如,我想要查找第一个字符是 ‘t’ ,并且倒数第三个字符也是 ‘t’ 的文件:
在这里插入图片描述

1.3[ ]通配符

[ ]是匹配单个字符集,用来匹配这个[ ]中的一个字符;

比如,我想要显示第二个字符是 ‘t’ 或 ’e‘ 的文件:

在这里插入图片描述

1.4{ }通配符

{}:是字符串集,用来匹配花括号的中的一个字符串;

比如,我要查找含有”suzhou“或”yangzhou“的文件:
在这里插入图片描述


总结:

  • *号通配符表示任意字符;
  • ?号通配符表示匹配单个字符或占用单个字符;
  • []表示匹配单个字符集中的任意一个字符;
  • {}表示匹配字符串集中的任意一个字符串;

2.man指令

😭有时候我们会忘记某些指令怎么用,怎么办?

man(manul)指令:查看联机手册,也就是看看Linux中的命令该怎么用;

在这里插入图片描述

语法: man [选项] Linux命令
常用选项

  • num 只在第num章节找,不写默认从第一章找;
  • -a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用-a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕;

注意

  • man手册共8章,因此你的num只能在1~8之间;
  • 我们不能用鼠标进行上下观看,可以用键盘上的上下键,或者键盘上的pgup,pgdown;
  • 退出手册可以按键盘上的q键或者ctrl+c;
  • 如果查不到,可能是man手册不完整,可以在root用户下输入以下命令:yum install -y man

我们输入:man man即可查看man的用法,以下是man的章节;
在这里插入图片描述
比如查看第三章C语言库函数中的printf函数:

在这里插入图片描述
在这里插入图片描述


3.cp指令

🤔什么是cp呢?

cp(copy)指令:用来拷贝文件或目录(加一个-r选项)的,也就是我们在windows下的ctrl+c和ctrl+v的结合;
在这里插入图片描述

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

  • -f 不要问我,强行复制文件或目录, 不论目的文件或目录是否已经存在;
  • -i 覆盖文件之前先询问用户;
  • -r 递归处理,将指定目录下的文件与子目录一并处理;

注意

  • 如果在同一个目录下,源文件名或源目录名与目标文件名或目标目录名相同,则拷贝失败,加-f也不行;
  • 如果目标文件或目录不存在,则自动创建目标文件或目标目录;
  • 如果目标文件存在,则源文件覆盖掉目标文件,如果目标目录存在,则源目录会拷贝到目标目录的当前路径下;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


注意:
在这里插入图片描述
在这里插入图片描述
通过这两张图,我们可以看到这两个test.c文件的内容是不一样的,那么我们cp一下:

在这里插入图片描述


对于两目录名相同而言:
原图:
在这里插入图片描述
拷贝后:
在这里插入图片描述


4.mv指令

🤔什么是mv指令?

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


windows下通俗的讲就是文件重命名或者对文件剪切+粘贴的操作;


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

  • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
  • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖;

🤔如何判断mv到底是重命名还是剪切呢?

其实我们都可以认为mv是剪切并重命名的意思,把目标文件看成一个目录,如果目标目录后有新的名字则表示剪切后重命名,没有新的名字则剪切后用自己原来的名字;
比如:
对于重命名:
在这里插入图片描述
对于剪切:
在这里插入图片描述

注意

  • mv的选项没有-r,也就是说它既可以剪切或重命名文件也能剪切或重命名目录
  • 在同一个目录下,如果源文件或目录名与目标文件或目录名相同,则剪切或重命名失败;
  • 如果目标文件存在,则源文件覆盖掉目标文件,源文件消失,如果目标目录存在,则源目录会拷贝到目标目录的当前路径下,源目录消失;
  • 如果目标文件或目录不存在则自动创建,将原文件数据拷贝过来,源文件消失;

举个例子:

在这里插入图片描述
在这里插入图片描述


5.alias指令

以后我们可以自己配置文件时可能会用到;

🤔什么是alias指令?

alias(别名):就是指令起别名;

🤔🤔为什么ls -l就可以写成ll,这其实就用到了alias指令;

在这里插入图片描述

注意which指令是用来查看指令的绝对路径 pwd是不行的,pwd只是显示我们自己写的所在文件的当前路径;


语法:alias [选项] 别名=’ 命令名称 ',双引号也可以;

常用选项:

  • -p显示当前所有的别名设置;

值得注意的是
alias仅作用于该次登陆的作业,若要每次登陆时都自动设置好别名,需要自己进行配置;


举个例子,我想让mkdir -p取名为为mk:

在这里插入图片描述


🤔那么如果我不想用别名了呢?

用unalias指令:取消对指令取别名;
语法:unalias [选项] 别名
常见选项

  • -a 删除当前会话的所有别名,包括ll这个别名;

注意:unalias,只能删除当前会话的别名,对于已经配置好的别名,在当前会话下也会被删除但是在下一次打开后,又会自动生成;

在这里插入图片描述
在这里插入图片描述
但是我们重新打开会话框,对于系统的别名依旧存在:
在这里插入图片描述


6. echo指令

🤔什么是echo?

echo英文单词是回响的意思,可简单理解为为显示;
echo指令:在linux里是一个用于字符串输出的命令;
语法:echo [选项] 字符串
常用选项

  • -e 表示对于转义字符按对应的方式进行处理;
  • -n表示输出不换行,默认会换行;

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
其实echo还有一个知识点就是输出重定向

🤔🤔什么是输出重定向?

输出重定向可以理解为重新换个输出方向;
输出重定向符号:>,表示输出到目标文件;
在这里插入图片描述
我们看到,原本我们没有输出重定向,默认会输出在显示器文件上,但是我们加了>就输出到(写入到)目标文件中了;


🤔🤔为什么我会说显示器文件?

在这里插入图片描述

因为Linux下一切皆文件,如显示器文件(一种输出流),键盘文件(一种输入流),显卡文件,普通文件;

🤔🤔🤔那么你是怎样看待指令的?

其实指令也是文件,是一个普通文件,更细的说是一个可执行程序,只不过这个可执行程序在Linux中的/usr/bin这个特定的路径底下,每次使用指令时,系统会自动在这个特定的路径下找;
在这里插入图片描述
实在记不住这个路径没关系,我们刚才学了which指令,可以查看指令的所在位置;


回到正题,这个输出重定向可以将字符串输出到指定文件中,但是他有一个特性就是每次写入到这个文件中都会先清理这个文件,再写入新的内容
在这里插入图片描述

🤔🤔🤔🤔那么如何不让它清理(也就是追加的写)呢?

这就涉及到追加输出重定向了,就是>>符号;
在这里插入图片描述
值得注意的是:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

所以我们还可以利用输出重定向或输出追加重定向创建文件或目录,用输出重定向清空文件或目录;


7.cat指令

注意这里的cat可不是猫的意思,这里的cat时concatenate的缩写,是来连接的意思,可理解为将文件的内容连接到显示屏上;

🤔什么是cat指令?

cat指令查看目标文件内容 但是cat只适用于看小文本;
语法:cat [选项] 目标文件
常用选项

  • -n 对输出的所有行编号;
  • -s 不输出多行空行,只输出一行空行;
  • -b 对非空输出行编号;

相信大家从上面已经看到这个指令很多了;

🤔我们刚才知道有输出重定向,那有没有输入重定向呢?

cat就是可以输入重定向;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们可以得出结论输入重定向<,在默认情况下是从键盘中读取的,加上文件后是从文件中读取的;


选项的用法展示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


8.more指令

🤔more指令是用来干什么的呢?

在这里插入图片描述
向上面这种稍大的文本我们就不适合用cat看了,因为它会自动刷屏到结尾,我们可以用more来观看;
语法:more [选项][文件]
常用选项

  • -num 打印到num行
  • q 退出more

注意:more是只打印满屏,不会将所有的都打印,只有当你按一下回车键才能继续往下打印一个,但是不能往上翻;
在这里插入图片描述


9.less指令

🤔🤔那有没有比more更好的查看大文本的指令呢?

less指令,既可以上下翻(上下键:慢翻,pgup/down:快翻),也可以搜索;
语法: less [参数] 文件
选项

  • -i 忽略搜索时的大小写;
  • -N 显示每行的行号;
  • /字符串:向下搜索“字符串”的功能;
  • ?字符串:向上搜索“字符串”的功能
  • q:quit退出;

在这里插入图片描述


10.head与tail指令

🤔🤔head与tail指令是干什么的呢?

head与tail指令是提取大文本的信息的,head是提取大文本前num行信息,tail是提取大文本后num行信息的,他们会将这些信息输出到显示器文件中;
注意:默认num是10行;
在这里插入图片描述

语法:head [选项] 文件
语法:tail [选项] 文件
常用选项

  • -num num表示查看的行数;

🤔那我想要200-300的信息呢?

在这里插入图片描述
但是这要创建一个文件,势必会占用磁盘空间;
所以介绍一个新的符号’|‘,管道(文件);
在这里插入图片描述

分析:先从head -300 out.txt处理,把前300行存到管道文件中,然后tail -101从管道这个文件中读取后101行,最后显示结果;


11.在Linux中写代码

我们现在先简单的学习一下如何在linux中写代码,需要用到编辑器nano;
1.先从yum软件资源安装包上安装nano编辑器,即输入这串指令:yum install -y nano
2.安装完后输入nano 文件名进入nano编辑器,编写代码;
在这里插入图片描述
在这里插入图片描述

3.按ctrl+o保存内容,按ctrl+x退出nano编辑器,再按Y保存文件,进入是否修改文件,按回车退出编辑器来到xshell中;
在这里插入图片描述

4.编译,系统中只有C语言的编译器:输入gcc 文件 ,想对文件重命名的输入:gcc 文件 -o 重命名
在这里插入图片描述

5.运行,./a.out,注意这个a.out是默认的文件名,如果你重命名了就用重命名后的名字,即./重命名;
在这里插入图片描述

注意:这个编辑器也能够写cpp的代码,不过系统没有cpp的编译器,所以要装cpp的编译器:yum install -y gcc gcc-c++,然后编译时用g++编译即可;

🤔怎么保存你运行的结果呢?

在这里插入图片描述

总结

本篇主要介绍了一些Linux中的常见指令,如cp,mv,echo,su,通配符,man,which,alias,unalias,cat,more,less,head,tail等等,如果喜欢本篇不妨留下一颗小❤️,下篇见!

在这里插入图片描述

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

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

相关文章

DHCP中继负载均衡使用原理

DHCP常用四种报文 基于UDP67服务端&#xff0c; 68端口客户端 discover 广播 offer 单播 rquest 广播 ack 单播 DHCP 50%时间续租时request报文为单播报文 DHCP 87.5%时间请求重新绑定IP时request报文为广播报文 DHCP的另类配置方案&#xff1a; 负载均衡&#xff1a; ip re…

【Python_Pandas】reset_index() 函数解析

【Python_Pandas】reset_index函数解析 文章目录 【Python_Pandas】reset_index函数解析1. 介绍2. 示例2.1 参数drop2.2 参数inplace2.3 参数level2.4 参数col_level2.5 参数col_fill 参考 1. 介绍 pandas.DataFrame.reset_index reset_index(levelNone, dropFalse, inplaceF…

【AI大模型智慧办公】用《文心一言》1分钟写一篇博客简直yyds

文章目录 前言文心一言是什么文心一言可以做什么文心一言写博客申请体验写在最后 前言 当今社会&#xff0c;博客已成为了许多人分享观点、知识和经验的重要平台。用文心一言写博客是将自己的思考、想法和经验以文字的形式呈现出来&#xff0c;让更多人了解自己。通过写博客&a…

【Python入门】Python循环语句(while循环的基础语法)

前言 &#x1f4d5;作者简介&#xff1a;热爱跑步的恒川&#xff0c;致力于C/C、Java、Python等多编程语言&#xff0c;热爱跑步&#xff0c;喜爱音乐的一位博主。 &#x1f4d7;本文收录于Python零基础入门系列&#xff0c;本专栏主要内容为Python基础语法、判断、循环语句、函…

【计网】第三章 数据链路层(4)局域网、以太网、无线局域网、VLAN

文章目录 3.6-1 局域网基本概念和体系结构一、局域网二、局域网基本概念和体系结构三、局域网传输介质四、局域网介质控制方法五、局域网分类六、IEEE 802 标准七、MAC 子层和 LLC 子层总结&#xff1a; 3.6-2 以太网一、以太网概述二、以太网提供无连接、不可靠的服务三、以太…

RabbitMQ启动失败

首先&#xff0c;你得先确认的你得Erlang的版本和RabbitMQ的版本是否能相互兼容&#xff0c;如果不能&#xff0c;请先下载对应的Erlang版本或者RabbitMQ版本。 1. 在Java中使用了RabbitMQ发现不停的尝试连接&#xff0c;却连不上的问题 先在cmd下输入erl&#xff0c;看一下E…

EXCEL比较麻烦零碎的日期数据的处理,数字转日期,日期转数字

1 有时候想输入日期&#xff0c;但会被EXCEL自动识别为数字 原因是 有的EXCEL版本会处理&#xff0c;有的则不会自动处理为日期。也可能&#xff0c;单元格因为各种原因被提前设置了格式&#xff0c;比如常规等。还有的原因是因为EXCEL从xml等其他文件里导入的日期时间等数据本…

大数据Doris(二十):Doris的Bitmap索引介绍

文章目录 Doris的Bitmap索引介绍 一、Bitmap位图索引原理 二、Bitmap位图索引语法 三、注意事项 Doris的Bitmap索引介绍 一、Bitmap位图索引原理 bitmap&#xff0c;位图&#xff0c;是一种数据结构&#xff0c;即bit的集合&#xff0c;每一个bit记录0或者1&#xff0c;代…

EPLAN2022 3D宏文件创建

我们经常使用导入3D模型文件创建宏文件。但有时候导入的3D文件缺少了一些细节或者变形&#xff0c;因此在导入3D文件之前&#xff0c;需要设置一下细节清晰度。 1. 设置导入3D图的清晰度 选择菜单栏中的【文件】➡【设置】 选择设置的项目【新项目&#xff08;4&#xff09;】…

【Linux内核解析-linux-5.14.10-内核源码注释】信号量semaphore机制

信号量实现方法 信号量机制是一种用于控制并发访问的同步机制&#xff0c;常用于多进程或多线程之间的协调。在Linux内核中&#xff0c;信号量机制是通过struct semaphore结构体来实现的。 每个semaphore结构体包含一个计数器和一个等待队列&#xff0c;它们用于跟踪当前可用…

【Promptulate】一个强大的LLM Prompt Layer框架,构建更强悍的GPT应用

本文节选自笔者博客&#xff1a; https://www.blog.zeeland.cn/archives/promptulate666 项目地址&#xff1a;https://github.com/Undertone0809/promptulate &#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是Zeeland&#xff0c;全栈领域优质创作者。&#x1f4dd;…

2023.5.14 第五十三次周报

目录 前言 文献阅读&#xff1a;基于BO-EMD-LSTM模型预测教室长期二氧化碳浓度 背景 思路 BO-EMD-LSTM 混合模型 EMD 算法 与其他模型的比较 结论 论文代码 总结 前言 This week, I studied an article that uses LSTM to predict gas concentration.This study wa…

Netty中NioEventLoopGroup介绍

一、Netty基本介绍 Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具&#xff0c;用以快速开发高性能、高可靠性的网络服务器和客户端程序。Netty 在保证易于开发的同时还保证了其应用的性能&#xff0c;稳定性和伸缩性。 Netty 是一…

cpuinfo库: 使用Python生成C++接口

文章目录 1. 目的2. 设计3. 生成器: Python 代码4. 结果: C++ 代码1. 目的 背景: cpuinfo 库提供了 CPU 信息的查询, 涵盖了 x86 和 arm 等常见的指令集架构, 可以提供自行实现的 CPU 基础功能函数的正确性验证。自行实现 CPU 基础功能则是为了简化功能、同时提供原汁原味…

详细介绍如何将博客图片从github/gitee批量转移到阿里云图床

背景介绍 我为什么想把博客文章中存储在github种的图片转移到阿里云呢&#xff1f; 存储在github中的图片有时会不稳定&#xff0c;破坏写文章过程中的思路和心流体验。写着写着就发现图片上传又出现问题了&#xff0c;很影响心情&#xff0c;阿里云是付费图床&#xff0c;在国…

【更新中】苹果自家的as汇编器的特色风格(与wasm的不同)

as汇编器是苹果的汇编器&#xff0c;Xcode 生成的代码也是as风格的&#xff0c;而as风格与大部分人在大学里所学的微软的masm风格大相径庭&#xff0c;所以本文会列出二者的不同。不过由于细节太多&#xff0c;没法一次性写出所有的不同&#xff0c;所以会持续更新。 你可能会…

linux常用系统工作命令

前言&#xff1a; 最近又重新抓起linux开始学习起来了&#xff0c;以前干过一段时间的菜鸟运维&#xff0c;对linux操作系统有点浅显的认识&#xff0c;中间又因为工作关系渐渐的又接触不到了&#xff0c;最近的博文算是回忆也当作笔记用&#xff0c;重新开始学习linux系统。 …

MYSQL主从复制和读写分离.1

1、什么是读写分离&#xff1f; 读写分离&#xff0c;基本的原理是让主数据库处理事务性增、删、改操作&#xff08;insert、update、delete&#xff09;&#xff0c;而从数据库处理select查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。 2、为什…

Mysql日志管理与备份恢复

目录 一、Mysql日志管理1、日志的分类1.1 错误日志1.2 通用查询日志1.3 二进制日志1.4 慢查询日志1.5 配置日志文件 2、日志的查询 二、Mysql备份与分类1、数据备份的重要性2、造成数据丢失的原因3、数据库备份的分类3.1 从物理与逻辑的角度划分3.2 从数据库的备份策略角度划分…

【配电网重构】基于SOE算法的多时段随机配电网重构方法【IEEE33节点、IEEE84节点】(Matlab代码实现)

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