【Linux】基础指令(三) —— 收尾篇

news2025/3/1 4:22:12

文章目录

  • 前言
  • zip 和 unzip 指令
  • tar 指令
  • bc 指令
  • uname 指令
  • history
  • 关机
  • 热键补充
    • ctrl + c
    • ↑ && ↓
    • ctrl + r
    • ctrl + d
  • 指令拓展
  • 结语

前言

今天为大家带来的是最后一部分基础指令讲解。主要内容为 7个指令讲解、热键补充、简单提一下指令的拓展 。内容相对之前较少,更简单。话不多说,我们这就开始。

zip 和 unzip 指令

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

功能: 将目录或文件压缩成zip格式

常用选项:

  • -r 递归处理,将指定目录下的所有文件和子目录一并处理

zip -r 压缩文件.zip 目录或文件名:压缩一个文件,生成压缩包

image-20221126213445985

unzip 压缩文件:解包到当前路径

解压会形成同名目录,先删除掉原先目录 tmp

[root@VM-4-3-centos lesson4]# ll
total 8
drwxr-xr-x 4 root root 4096 Nov 26 21:31 tmp
-rw-r--r-- 1 root root 1402 Nov 26 21:33 tmp.zip
[root@VM-4-3-centos lesson4]# rm -rf tmp
[root@VM-4-3-centos lesson4]# ll
total 4
-rw-r--r-- 1 root root 1402 Nov 26 21:33 tmp.zip

此刻进行解压:

[root@VM-4-3-centos lesson4]# ll
total 4
-rw-r--r-- 1 root root 1402 Nov 26 21:33 tmp.zip // 此刻并没有 tmp目录
[root@VM-4-3-centos lesson4]# unzip tmp.zip
Archive:  tmp.zip
   creating: tmp/
   creating: tmp/dir/
   creating: tmp/tmp/
 extracting: tmp/tmp/test.c          
 extracting: tmp/tmp/test.txt        
 extracting: tmp/tmp/test.py         
 extracting: tmp/tmp/test.java       
 extracting: tmp/tmp/test.php        
 extracting: tmp/tmp/test.cpp        
[root@VM-4-3-centos lesson4]# tree ./tmp // tree 当前目录下的 tmp 解压完成了
./tmp
|-- dir
`-- tmp
    |-- test.c
    |-- test.cpp
    |-- test.java
    |-- test.php
    |-- test.py
    `-- test.txt

2 directories, 6 files

那么如何解压到指定目录?其实只要在 在解压命令后加上 -d 就可以指定路径解压。

unzip 压缩文件 -d 路径:解压到指定目录

我们在当前目录下再创建一个目录 mydir

[root@VM-4-3-centos lesson4]# mkdir mydir
[root@VM-4-3-centos lesson4]# ll
total 12
drwxr-xr-x 2 root root 4096 Nov 26 21:43 mydir
drwxr-xr-x 4 root root 4096 Nov 26 21:31 tmp
-rw-r--r-- 1 root root 1402 Nov 26 21:33 tmp.zip

然后将 tmp.zip 解压到 mydir 中,并使用 tree 命令查看是否解压成功:

[root@VM-4-3-centos lesson4]# unzip tmp.zip -d ./mydir
Archive:  tmp.zip
   creating: ./mydir/tmp/
   creating: ./mydir/tmp/dir/
   creating: ./mydir/tmp/tmp/
 extracting: ./mydir/tmp/tmp/test.c  
 extracting: ./mydir/tmp/tmp/test.txt  
 extracting: ./mydir/tmp/tmp/test.py  
 extracting: ./mydir/tmp/tmp/test.java  
 extracting: ./mydir/tmp/tmp/test.php  
 extracting: ./mydir/tmp/tmp/test.cpp  
[root@VM-4-3-centos lesson4]# tree ./mydir
./mydir
`-- tmp
    |-- dir
    `-- tmp
        |-- test.c
        |-- test.cpp
        |-- test.java
        |-- test.php
        |-- test.py
        `-- test.txt

3 directories, 6 files

tar 指令

语法:tar [-cxtzjvf] 文件与目录 … 参数:

常用选项:

  • -c :建立一个压缩文件的参数指令(create 的意思);
  • -x :解开一个压缩文件的参数指令!
  • -t :查看 tarfile 里面的文件!
  • -z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
  • -j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
  • -v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
  • -f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
  • -C : 解压到指定目录

tar 是一个神奇的指令,它既可以 压缩,又可以 解压

tar 打包后文件的后缀为 tgz

tar -czf dst src :将 src 中的内容压缩到 dst 中。

tar 命令默认可以文件(包括目录)中的文件全部打包。

tar -czf 的 - 可以省略,但是建议不要省略。

[root@VM-4-3-centos lesson4]# ll
total 4
drwxr-xr-x 4 root root 4096 Nov 26 21:31 tmp
[root@VM-4-3-centos lesson4]# tar -czf tmp.tgz tmp
[root@VM-4-3-centos lesson4]# ll
total 8
drwxr-xr-x 4 root root 4096 Nov 26 21:31 tmp
-rw-r--r-- 1 root root  253 Nov 26 21:59 tmp.tgz

tar -xzf dst:将压缩文件 dst 指定到当前路径

tar -xzf 的 - 可以省略,但是建议不要省略。

在使用这条指令之前,先把 tmp 删除。因为 tmp 和 解压后的文件重名,虽然解压后 tmp 会被解压后的内容覆盖,但是不够直观,我们还是选择删除 tmp 再解压:

[root@VM-4-3-centos lesson4]# ll
total 8
drwxr-xr-x 4 root root 4096 Nov 26 21:31 tmp
-rw-r--r-- 1 root root  253 Nov 26 21:59 tmp.tgz
[root@VM-4-3-centos lesson4]# rm -rf tmp
[root@VM-4-3-centos lesson4]# ll
total 4
-rw-r--r-- 1 root root 253 Nov 26 21:59 tmp.tgz

解压

image-20221126221712881

tar -ztvf dst:不解压文件,查看压缩包 dst 内有什么。

[root@VM-4-3-centos lesson4]# tar -ztvf tmp.tgz
drwxr-xr-x root/root         0 2022-11-26 21:31 tmp/
drwxr-xr-x root/root         0 2022-11-26 21:31 tmp/dir/
drwxr-xr-x root/root         0 2022-11-26 21:28 tmp/tmp/
-rw-r--r-- root/root         0 2022-11-26 21:27 tmp/tmp/test.c
-rw-r--r-- root/root         0 2022-11-26 21:28 tmp/tmp/test.txt
-rw-r--r-- root/root         0 2022-11-26 21:28 tmp/tmp/test.py
-rw-r--r-- root/root         0 2022-11-26 21:28 tmp/tmp/test.java
-rw-r--r-- root/root         0 2022-11-26 21:28 tmp/tmp/test.php
-rw-r--r-- root/root         0 2022-11-26 21:28 tmp/tmp/test.cpp

tar xzf dst -C 路径:将 压缩文件 dst 解压到指定路径

[root@VM-4-3-centos lesson4]# ll
total 12
drwxr-xr-x 2 root root 4096 Nov 26 22:47 mydir
drwxr-xr-x 4 root root 4096 Nov 26 21:31 tmp
-rw-r--r-- 1 root root  253 Nov 26 22:20 tmp.tgz
[root@VM-4-3-centos lesson4]# tar -xzf tmp.tgz -C ./mydir // 解压到 mydir 中
[root@VM-4-3-centos lesson4]# tree ./mydir
./mydir
`-- tmp
    |-- dir
    `-- tmp
        |-- test.c
        |-- test.cpp
        |-- test.java
        |-- test.php
        |-- test.py
        `-- test.txt

3 directories, 6 files

bc 指令

bc命令可以很方便的进行浮点运算。

在平时,按下 bc 后会阻塞:

image-20221126225105312

此时就可以进行计算,bc 相当于 Linux 中的计算器

image-20221126225206620

而我们平常也可以通过这种方式,进行 数据计算

[root@VM-4-3-centos lesson4]# echo " 1 + 2 + 3 + 4" | bc
10

echo 将 1+2+3+4 输送到管道中,bc 直接取管道中的值进行计算。

uname 指令

语法:uname [选项]

功能: uname用来获取电脑和操作系统的相关信息。

补充说明:uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息。

常用选项:

  • a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称

uname 可以查看软硬件体系结构。

uname:直接打印 Linux

[root@VM-4-3-centos lesson4]# uname
Linux

uname -a:显示当前使用的服务器的相关信息

[root@VM-4-3-centos lesson4]# uname -a
Linux VM-4-3-centos 3.10.0-1160.62.1.el7.x86_64 #1 SMP Tue Apr 5 16:57:59 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
  • VM-4-3-centos:主机名
  • 3.10.0-1160.62.1:版本号,3为主版本号;10为次版本号;0为修正次数
  • el7:el是centos的代称,7为centos7
  • x86_64:代表是64位的体系结构。

uname -r:仅查看体系结构

[root@VM-4-3-centos lesson4]# uname -r
3.10.0-1160.62.1.el7.x86_64
  • 3.10.0-1160.62 为 软件体系结构
  • el7 为 使用的商业发行版本
  • x86_64 为 硬件体系结构

cat /etc/redhat-release:查看Linux系统的商业化发行版

[root@VM-4-3-centos lesson4]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)

注:centos 就是 redhat,centos 是 redhat 系列中免费的一个版本。

history

history 保存历史上输入的所有指令。

image-20221126231223722

我们可以把 历史指令 通过 history 重定向到文件中,将历史指令保存起来:

[root@VM-4-3-centos lesson4]# history > history.txt

再使用 less 来查看文件:

history

关机

语法:shutdown [选项] 常见选项:

  • -h : 将系统的服务停掉后,立即关机。
  • -r : 在将系统的服务停掉之后就重新启动
  • -t sec : -t 后面加秒数,亦即『过几秒后关机』的意思

使用 reboot(需要超级用户权限) 可以重启 Linux。

这里只介绍一下,一般对于云服务器上搭建的 Linux 来说是不关机的。

热键补充

再补充一些热键~

ctrl + c

之前简单提了一下ctrl + c 可以处理疯狂刷屏的情况,而今天,将详细介绍一下:

Linux 是支持多行输入的,比如多行输入 ls -a -l -n -i

image-20221126232620144

对比原指令:

[root@VM-4-3-centos lesson4]# ls -a -l -n -i
total 68
656520 drwxr-xr-x  4 0 0  4096 Nov 26 23:12 .
393219 dr-xr-x---. 9 0 0  4096 Nov 26 22:33 ..
656545 -rw-r--r--  1 0 0 49021 Nov 26 23:12 history.txt
656533 drwxr-xr-x  3 0 0  4096 Nov 26 22:48 mydir
655919 drwxr-xr-x  4 0 0  4096 Nov 26 21:31 tmp
656532 -rw-r--r--  1 0 0   253 Nov 26 22:20 tmp.tgz

而如果我们不知道 多行输入这个机制 ,不小心在终端写了个 ls ‘,导致出不来了,就像这样,怎么办?

image-20221126232756404

这时就可以使用 ctrl + c 退出命令行,终止前台影响输入指令的程序

image-20221126233831650

这样就可以退出了。

↑ && ↓

上下键可以翻阅历史命令:

在这里插入图片描述

ctrl + r

在历史命令中搜索:

在这里插入图片描述

输入关键字 后会 自动匹配 之前的内容,匹配完成后按 就可以匹配,使用搜索到的指令。

ctrl + d

通常代表着键盘输入结束。

最常用的情景就是 退出 xshell 时 使用 exit 或者 不断 ctrl + d 退出。

指令拓展

拓展一些指令,有兴趣可以去了解一下:

  • 安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last;
  • 文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln;
  • 系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab;
  • 网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup;
  • 系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who;
  • 其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。

结语

到这里本篇博客就到此结束了,Linux 基本指令就介绍到这里了。今天的内容相对较少,也比较好理解。在之后我会继续讲解 Linux 的其他知识,我们敬请期待~

如果觉得anduin写的还不错的话,还请一键三连!如有错误,还请指正!

我是anduin,一名C语言初学者,我们下期见!

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

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

相关文章

服务器密码以及用户名怎么修改

服务器密码以及用户名怎么修改 我是艾西,今天给大家说下服务器密码如何修改 windows2003系统: 1、右键我的电脑,点击“管理”: 2、在“本地用户和组”中打开“用户”,在右侧找到 Administrator 账户进行修改。 200…

【linux】linux实操篇之任务调度

目录前言crond 任务调度概述基本语法快速入门案例案例一:每隔一分钟将ls -l /etc/ 追加到 /tmp/to.txt 文件案例二:每隔一分钟执行python文件结语前言 我们常用linux做一些定时任务,最常见的就是在服务器领域,我们常常做一些定时…

高分辨率格式理论

一个核心概念:人工粘性 考虑经典的双曲守恒律方程 ∂u∂t∂f∂x0{{\partial u} \over {\partial t}} {{\partial f} \over {\partial x}} 0∂t∂u​∂x∂f​0 可以写成守恒形式的数值格式 uin1uin−λ(f^i1/2n−f^i1/2n)u_i^{n 1} u_i^n - \lambda \left( {\ha…

基于ssm+mysql+jsp学生成绩管理系统(含实训报告)

基于ssmmysqljsp学生成绩管理系统(实训报告)一、系统介绍二、功能展示1.学生信息查询2.学生信息添加3.学生信息修改4.学生信息删除四、获取源码一、系统介绍 系统主要功能:系统实现了学生信息查询、添加、修改、删除。 环境配置: Jdk1.8 M…

[附源码]java毕业设计智慧教学平台

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

储能辅助电力系统调峰的容量需求优化配置matlab/cplex

参考文献:储能辅助电力系统调峰的容量需求研究 摘要:建立了储能辅助电力系统调峰的容量需求优化配置模型,设置了含储能和不含储能两种仿真方案,将两个算例代入所提模型进行求解,得到最优的储能系统容量和功率配置&…

Flutter高仿微信-第52篇-群聊-清空聊天记录

Flutter高仿微信系列共59篇,从Flutter客户端、Kotlin客户端、Web服务器、数据库表结构、Xmpp即时通讯服务器、视频通话服务器、腾讯云服务器全面讲解。 详情请查看 效果图: 实现代码: //清空聊天记录对话框 void _cleanGroupChatDialog(){Lo…

【Python】数据类型 + 运算符 + 输入输出

文章目录一. 常量和表达式二. 变量和类型1. 什么是变量2. 变量的语法2.1 定义变量2.2 使用变量3. 变量的类型3.1 整数3.2 浮点数3.3 字符串3.4 布尔3.5 关于变量类型的几点补充三. 注释1. 什么是注释?2. 为什么要有注释?3. 如何写注释?3.1 注…

深度学习制作自己的数据集—为数据集打上标签保存为txt文件,并进行划分和加载数据集

目录 0 前言 1 为图片数据集打上标签并保存为txt文件 2 将txt文件中的图片标签数据集随机划分为训练集和测试集 3 加载txt文件中的图片标签数据集 0 前言 目前是被封控的第四天了,只能呆在宿舍不能出去,记得上次这样子还是一年前大四快毕业那时候了……

CyberController手机外挂番外篇:源代码的二次修改

文章目录前言调试过程中的疑问为什么一段时间不使用CyberController,翻译就无法触发了?为什么连接成功了,但却依然无法进行语音识别和翻译?多长时间TCP连接就会挂掉连接正常与断开连接有什么区别?不停进行翻译&#xf…

现代密码学导论-18-伪随机置换

目录 伪随机置换 PROPOSITION 3.26 伪随机置换和伪随机函数的关系 DEFINITION 3.27 强伪随机置换 伪随机置换 我们称F是含参数k的置换,当且仅当 且对于所有k, Fk是一对一的,即是满射的。 其中 lin 称为F的块长度 对于给定的 k、x和k、y&…

76.【图】

图( 一).图的基本结构(1).无序偶对.(2).有序偶对(3).有向图和无向图(4).权(5).网图(二).图的基本术语(1).邻接.依附(2).有向完全图,无向完全图(3).顶点的度,入度,出度(4).路径 路径长度 回路(5).简单路径 简单回路(6).子图(7).连通图 连通分量(8).强连通图 强连通分量(三).图的…

改进粒子滤波的无人机三维航迹预测方法(基于Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

骨传导耳机贴不紧咋办,推荐五款佩戴最稳固的骨传导蓝牙耳机

很多小伙伴都在反馈,骨传导耳机在佩戴时戴不稳,这关乎于耳机的材质有很大的关系,下面就给大家推荐几款佩戴十分牢固的骨传导耳机,不调人群使用哦~看看有没有自己喜欢的吧~ 1、南卡Runner Pro4骨传导蓝牙耳机 ¥1498 南…

图与图的深度优先遍历、广度优先遍历

文章目录🚩图的理解🍁无向图🍁有向图🍁完全图🍁常用性质🚩图的数据结构搭建🍁邻接矩阵🍁邻接表🍁邻接矩阵式存储的代码实现🍁邻接矩阵造图测试🍁邻…

从零开始打造一款基于SpringBoot+SpringCloud的后台权限管理系统

随着 Spring Boot 和 Spring Cloud 的诞生和流行,集智慧于大成的 Spring 技术体系成为行业开发的首选之一。市场代表需求,技术代表能力。显而易见,在当今开发领域中,谁能更好地掌握这些主流开发技术,谁就能在跟别人竞争…

SecXOps 技术体系

核心能力 为了加快安全分析能力更全面、更深入的自动化 ,SecXOps 的目标在于创建一个集成的用于 Security 的 XOps 实践,提升安全分析的场景覆盖率和运营效率。SecXOps 技术并不 015 SecXOps 技术体系 是 Ops 技术在安全领域的简单加和,SecXO…

含分布式电源的配电网日前两阶段调度模型matlab程序(粒子群算法)

含分布式电源的配电网日前两阶段调度模型matlab程序(粒子群算法) 参考文献:含分布式电源的配电网日前两阶段优化调度模型 摘要:在电力市场环境下,供电公司通过对接入配电网的分布式电源(distributed generation&#…

MyBatis基础

一什么是MyBatis 1 什么是myBatis MyBatis框架也被称之为ORM(Object/Relation Mapping,即对象关系映射)框架。所谓的ORM就是一种为了解决面向对象与关系型数据库中数据类型不匹配的技术,它通过描述Java对象与数据库表之间的映射关…

Node.js 入门教程 6 V8 JavaScript 引擎

Node.js 入门教程 Node.js官方入门教程 Node.js中文网 本文仅用于学习记录,不存在任何商业用途,如侵删 文章目录Node.js 入门教程6 V8 JavaScript 引擎6.1 其他 JS 引擎6.2 追求性能6.3 编译6 V8 JavaScript 引擎 V8 是驱动 Google Chrome 的 JavaScrip…