LInux基础指令(二)

📝前言:
上篇文章Linux基础指令(一)我们已经讲解了一部分的Linux基础指令,这篇文章我们继续。

🎬个人简介:努力学习ing
📋个人专栏:Linux
🎀优快云主页 愚润求学
🌄其他专栏:C++学习笔记C语言入门基础python入门基础C++刷题专栏


一,重点知识

1,文件需要打包和压缩,打包:防止文件丢失,压缩:减少体积,节省存储空间,减少网络传输时间
2,压缩包解压完是默认会保留的
3,体系结构:计算机体系结构,如:x86_64,芯片结构:顾名思义,一般是看处理器
4,云服务器永不关机,除非维护或者不用了
5,LInux会自动记录历史命令,可用history查询

二,基础指令

1,cat

语法: cat [选项] 目标⽂件
功能:查看⽬标⽂件的内容
常⽤选项:

  • -b 对⾮空输出⾏编号
  • -n 对输出的所有⾏编号(包括空行)
  • -s 不输出多⾏空⾏,多⾏空⾏压缩成为⼀⾏

2,more

语法: more [选项] 目标文件
功能:和cat类似
常用选项:

  • -n 指定输出⾏数
  • q 退出more

3,重定向操作符

在Linux系统里,重定向操作符能够改变命令输入输出的方向,这在处理文件、数据时很实用。

输出重定向

1. >:覆盖输出

此操作符会把命令的输出结果覆盖写入指定的文件。若文件不存在,会创建新文件;若文件已存在,会清空文件内容再写入
示例:

ls > file_list.txt

该命令会把当前目录下的文件和文件夹列表写入file_list.txt文件,若文件原本有内容会被清空。

2. >>:追加输出

>>操作符将命令的输出结果追加到指定文件的末尾若文件不存在会创建新文件
示例:

echo "New line" >> file_list.txt

这会在file_list.txt文件末尾添加一行New line

输入重定向

1. <:从文件读取输入

<操作符可让命令从指定文件读取输入,而非从标准输入读取。
示例:

sort < numbers.txt

此命令会对numbers.txt文件里的内容进行排序并输出,排序命令sort的输入来自文件而非键盘。

4,less

语法: less [参数] ⽂件
功能:lessmore类似,但使⽤less可以随意浏览⽂件(用方向键控制),⽽more仅能向前移动,却不能向后移动,⽽且less在查看之前不会加载整个⽂件
选项:

  • -i :忽略搜索时的⼤⼩写
  • -N :显⽰每⾏的⾏号
  • /字符串:向下搜索“字符串”的功能
  • ?字符串:向上搜索“字符串”的功能
  • n:重复前⼀个搜索(与 /? 有关)
  • N:反向重复前⼀个搜索(与 /? 有关)
  • q:退出less

搜索文本:进入less模式以后,如果想在文件中查找特定的内容,可以按/键,然后输入要搜索的关键字,按下回车键后,less会自动定位到第一个匹配的位置。接着可以按n键查找下一个匹配项,按N键查找上一个匹配项。例如,在文件中搜索 error,就按/后输入 error 再回车,然后通过nN在不同的 error 出现位置间切换。

5,head && tail

headtail类似,不过一个是显示前面的,一个是显示后面的。
语法:head [选项] [文件名]
功能:head命令主要用于查看文件的开头部分内容,默认情况下,它会显示文件的前 10 行。
选项:

  • -n:指定显示的行数。
    例如,要显示文件的前 5 行,可使用以下命令:
head -n 5 example.txt

管道操作,即把上一条命令的结果通过管道|传送给下一条命令,如:
在这里插入图片描述

6,date && cal

date:用于显示或设置系统的日期和时间
cal:用于显示制定年份的日历,默认为当前月份
Unix 时间戳是一种用于表示时间的数字格式,它是指从 1970 年 1 月 1 日 00:00:00 UTC(世界协调时)到特定时间点所经过的秒数。能够方便地进行时间的统一表示和比较。

7,find

find命帮助用户在指定的目录及其子目录中查找符合特定条件的文件或目录。
基本语法
find [path] [options] [expression]

  • path:指定要搜索的路径。如果不指定路径,默认从当前目录开始搜索。
  • options:一些可选的参数,用于控制搜索的行为。
  • expression:搜索条件,用于指定要查找的文件或目录的特征。

常用选项

  • 按名称查找
    • -name:按照文件名进行精确匹配查找。例如,find /home -name "test.txt"表示在/home目录及其子目录中查找名为test.txt的文件。
    • -iname:与-name类似,但不区分文件名的大小写。比如,find /home -iname "TEST.TXT"也能找到/home目录下名为test.txt的文件。
  • 按文件类型查找
    • -type:根据文件类型来查找。常见的文件类型有f(普通文件)、d(目录)、l(符号链接)等。例如,find /home -type d -name "docs"表示在/home目录下查找名为docs的目录。
  • 按文件大小查找
    • -size:按照文件大小来查找。可以使用k(千字节)、M(兆字节)、G(吉字节)等单位。例如,find /home -size +10M表示查找/home目录下大于10兆字节的文件。
  • 按文件权限查找
    • -perm:根据文件的权限来查找。例如,find /home -perm 755表示查找/home目录下权限为755的文件或目录。
  • 按时间查找
    • -atime:根据文件的访问时间来查找。-atime +n表示查找n天前访问过的文件,-atime -n表示查找n天内访问过的文件。例如,find /home -atime +7表示查找/home目录下7天前访问过的文件。
    • -mtime:与-atime类似,但根据文件的修改时间来查找。
    • -ctime:根据文件的状态改变时间来查找。

示例

  • 查找当前目录下所有名为config.ini的文件:find . -name "config.ini"
  • 查找/var/log目录下所有大于100KB的日志文件(扩展名为.log):find /var/log -size +100k -name "*.log"(这个*代表任意数量,任意类型的字符,即匹配所有
  • 查找/home/user目录下所有在过去24小时内修改过的文件:find /home/user -mtime -1
  • 查找/etc目录下所有权限为644的文件,并将它们的权限改为755find /etc -perm 644 -exec chmod 755 {} \;

find命令比较复杂,在实际使用中,需要的时候再具体搜索用法。

8,which

功能:用于查找可执行文件的路径
在这里插入图片描述
这也反映了,指令本质是可执行文件

9,whereis

功能:⽤于找到程序的源、⼆进制⽂件或⼿册
在这里插入图片描述

10,alias

功能:设置命令的别名(设置的别名仅在当前 shell 会话中有效)
在这里插入图片描述

11,grep

语法:grep [选项] 搜寻字符串 ⽂件(搜索字符串也可以是正则表达式)
功能:在⽂件中搜索字符串,将找到的⾏打印出来

常用选项:

  • -i :忽略⼤⼩写的不同,所以⼤⼩写视为相同
  • -n:输出⾏号
  • -v:反向选择,亦即显⽰出没有 ‘搜寻字符串’ 内容的那⼀⾏
  • -r:递归搜索指定目录及其子目录下的所有文件

如:

grep -i "hello" test.txt

查找包含 “hello” 的行,不管是 “Hello”、“HELLO” 还是 “hello” 都会被匹配到。

12,zip/unzip

zip 命令

zip 命令用于创建压缩文件,其基本语法如下:

zip [选项] 压缩文件名 文件或目录列表

常用选项

  • -r:递归压缩目录及其子目录下的所有文件。(如果要压缩一个目录,带这个选项)
  • -q:安静模式,在压缩过程中不显示详细信息。
  • -v:详细模式,显示压缩过程中的详细信息。

使用示例

  • 压缩单个文件
zip example.zip test.txt

此命令会将 test.txt 文件压缩成 example.zip 文件。

  • 压缩目录
zip -r myfiles.zip mydirectory

该命令会递归地将 mydirectory 目录及其子目录下的所有文件和文件夹压缩成 myfiles.zip 文件。

unzip 命令

unzip 命令用于解压缩由 zip 命令创建的压缩文件,其基本语法如下:

unzip [选项] 压缩文件名
常用选项
  • -d:指定解压缩的目标目录。(不指定则默认当前目录)
  • -l:列出压缩文件中的文件列表,但不解压
  • -o:覆盖目标目录中已存在的同名文件,无需确认。
使用示例
  • 解压缩到当前目录
unzip example.zip

此命令会将 example.zip 文件中的内容解压缩到当前目录。

  • 解压缩到指定目录
unzip example.zip -d /home/user/newfolder

该命令会将 example.zip 文件中的内容解压缩到 /home/user/newfolder 目录。如果该目录不存在,需要先创建。

  • 列出压缩文件中的文件列表
unzip -l example.zip

执行此命令后,会显示 example.zip 文件中包含的所有文件和文件夹的列表。

注意事项

  • 文件权限:在解压缩文件时,unzip 会尽量保留原文件的权限和属性。
  • 文件名编码:如果压缩文件中的文件名包含非 ASCII 字符,可能会出现乱码问题。可以使用 -O 选项指定字符编码来解决,例如 unzip -O GBK example.zip

13,tar

语法tar [选项] [压缩归档文件名] [文件或目录名](默认递归打包)
文件打包压缩成:压缩归档文件(压缩归档文件名的后缀是:.tar.gz,为了简便写成:.tgz

选项(有时要带-,有时不带,自己试):
- -c:表示创建一个新的归档文件。(归档文件就是打包)
- -v:显示详细的操作过程,比如正在处理哪些文件等,让用户知道命令执行的进度。
- -f:指定归档文件的名称,需要紧跟在该参数后面给出具体的文件名。
- -x:表示解包归档文件,将归档文件中的内容提取出来。
- -z:表示使用gzip压缩算法对归档文件进行压缩,这样可以减小归档文件的大小,节省存储空间。
- -t:用于列出归档文件中的内容,不会实际解包或解压缩文件,只是显示归档文件中包含的文件和目录列表。
- -C : 解压到指定⽬录

常见写法,如打包压缩:

tar -czf aa.tgz aa  // 把aa打包压缩成aa.tgz

在这里插入图片描述
c代表新建归档文件,z代表压缩,f后面紧跟压缩的归档文件的名字

细节注意:
在使用 tar -czf aa.tgz 113/pp/aa 命令时,它默认会包含从当前工作目录开始的完整路径,所以 113/pp 也被包含进去了

解决办法:在打包时切换目录
使用 -C 选项切换到 113/pp 目录下,然后对 aa 目录进行打包,这样就不会包含上层目录。
命令如下:

tar -czf aa.tgz -C 113/pp aa

解释:
-C 113/pp :先将工作目录切换到 113/pp
aa :在切换后的目录下,对 aa 目录进行打包压缩,生成 aa.tgz ,此时 aa.tgz 里就只有 aa 目录及其内容,不会包含 113/pp

解包(同样 -C也可以解压到指定的目录 ):

tar -xzf aa.tgz

14,scap

scp是用于在Linux系统之间通过SSH协议安全地复制文件和目录的命令。

  • 基本语法
scp [选项] 源文件或目录 目标用户@目标主机:目标路径
  • 示例:假设要将本地的 example.tar.gz 压缩包传输到远程主机 192.168.1.100/home/user/ 目录下,用户名为 remoteuser,可以使用以下命令。
scp example.tar.gz remoteuser@192.168.1.100:/home/user/
  • 常用选项
    • -r:递归复制目录及其内容,用于传输整个目录的压缩包。
    • -p:保留文件的权限、时间戳等属性。

15,rz/sz

rzsz 是一组在 Linux 系统中用于文件传输的工具,包含 rz(接收文件)和 sz(发送文件)两个命令。它们主要借助串口终端或者 SSH 会话,实现本地计算机和远程 Linux 服务器之间的文件上传与下载(Windows和LInux互传)
下载安装:

sudo apt install -y lrzsz

sz

sz命令用于将远程服务器上的文件发送到本地计算机,也就是实现文件的下载功能。
如,若要把远程服务器上的 test.txt 文件下载到本地

sz test.txt

rz

rz用于从本地计算机上传文件到远程服务器。
输入命令rz,然后会弹出一个窗口,可以拖拽实现传输,选项-y代表覆盖远程服务器上已存在的同名文件

16,bc

bc就是一个计算器,进入后可进行计算,输入quit 退出

17,uname

语法uname [选项]
功能:⽤来获取电脑和操作系统的相关信息
常用选项

  • -a或‒all :详细输出所有信息,依次为内核名称,主机名,内核版本,内核版本编号,内核编译时间,硬件平台类型,操作系统名称
  • -r :显示内核版本

在这里插入图片描述
uname -a 命令输出内容依次解读如下:

  1. 内核名称Linux ,表示当前操作系统内核是 Linux 内核 。
  2. 主机名hcss-ecs-40b2 ,即这台计算机在网络中的标识名称 。
  3. 内核版本5.15.0-60-generic ,其中 5.15.0 是主版本号,-60 可能代表发行版本号等相关修订信息 ,generic 表示通用版本。
  4. 内核版本编号#66-Ubuntu#66 是该内核版本在 Ubuntu 发行版中的构建编号 ,Ubuntu 表明是 Ubuntu 发行版。
  5. 内核编译时间SMP Fri Jan 20 14:29:49 UTC 2023SMP 表示对称多处理,后面是具体的编译时间。
  6. 硬件平台x86_64 ,表示这台计算机基于 x86 - 64 架构,也就是 64 位的硬件平台 。
  7. GNU/Linux标识x86_64 x86_64 x86_64 GNU/Linux ,再次强调架构信息,以及表明系统遵循 GNU 规范,使用 Linux 内核 。

18,shutdown

shutdown关机操作(用云服务器的话,关的是云服务器)
选项:

  • -h:将系统的服务停掉后,⽴即关机。
  • -r:在将系统的服务停掉之后就重新启动
  • -t sec:-t 后⾯加秒数,即:过⼏秒后关机的意思

19,常用热键

  • ctrl + c:终止异常任务
  • 上下键:查找历史命令
  • Tab:命令搜索和命令补全(有时连按两下)
  • ctrl + r:搜索历史命令
  • ctrl + d:退出当前用户

🌈我的分享也就到此结束啦🌈
要是我的分享也能对你的学习起到帮助,那简直是太酷啦!
若有不足,还请大家多多指正,我们一起学习交流!
📢公主,王子:点赞👍→收藏⭐→关注🔍
感谢大家的观看和支持!祝大家都能得偿所愿,天天开心!!!

评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

愚润泽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值