Linux指令补充与shell的命令及运行原理

 更新时间:2026年07月09日 15:10:12   作者:qeen87  
Linux 系统中,有许多强大的指令和工具,可以帮助用户高效地管理文件、系统以及执行各种任务,本文介绍Linux指令补充与shell的命令,感兴趣的朋友跟随小编一起看看吧

前言:上两篇Linux介绍基本指令的文章我漏掉掉了一些比较重要的指令,我将在这篇文章里做补充并简单介绍下shell与Linux的常用热键

1、Linux指令补充

1.1 管道的使用简单介绍

在 Linux 中,管道符使用 | 表示

它的作用是:把前一个命令的输出结果,交给后一个命令继续处理

基本格式如下:

命令1 | 命令2

可以简单的理解为:

左边命令负责产生结果,右边命令负责筛选或处理结果

比如这里我想要查看当前系统的日志并输出后面十个我可以:

[root@VM-0-5-centos ~]# cat tail  /var/log/messages | tail

管道就先简单介绍到这里,后面我会详细的介绍管道,现在会简单的用就可以了,主要是为了介绍grep指令我才在这里做简单的用法介绍

1.2 grep 指令

功能:grep 是 Linux 中常用的文本搜索命令

语法:

grep [选项] "查找内容" 文件名

用法举例:

[root@VM-0-5-centos airone]# cat -n test.c
     1	#include <stdio.h>
     2	int main() {
     3	   printf("Hello, World\n");
     4	   return 0;
     5	}
[root@VM-0-5-centos airone]# grep -n "return" test.c
4:   return 0;

下面是grep的常用选项:

选项作用
-i忽略大小写
-n显示行号
-v反向匹配
-c统计匹配行数
-r递归查找目录
-w匹配完整单词
-o只输出匹配到的内容

这里我就不依次举例了,其实 grep 指令比较重要的用法是搭配管道,可以更加方便的查看或者是排查一些错误

比如我们这里想要查看从所有进程中查找包含 nginx 的进程我们就可以(ps后面会介绍,用来查看进程):

ps aux | grep nginx 

总之 grep 是 Linux 中非常重要的文本搜索工具,常用于查找文件内容、筛选日志信息和过滤命令输出

1.3 Linux下打包与压缩

在 Linux 里, 打包压缩 是两个不同概念,不要给搞混了:

  1. 打包:把多个文件、多个目录合并成一个文件
  2. 压缩:是通过算法减少文件体积

打包本身通常不会明显减小体积,可以理解成把很多东西装进一个箱子里,但是压缩会让减少文件大小可以理解成把箱子里的东西压紧、抽真空

所以打包 + 压缩 == 多个文件合成一个较小文件

1.3.1 zip / unzip指令

Linux安装zip:

#Ubuntu / Debian:
sudo apt update
sudo apt install zip unzip
#CentOS / RHEL:
sudo dnf install zip unzip
#Arch Linux:
sudo pacman -S zip unzip

作用: 在 Linux 系统中,zip 和 unzip 是非常经典的用来压缩和解压文件的命令。它们的通用性极高,因为生成的 .zip 格式可以在 Windows、Mac 和 Linux 之间无缝传递

zip 指令

语法:zip [参数] [压缩后的文件名.zip] [要压缩的文件或目录]

常用操作:

  • 压缩单个或多个文件(这会把 file1.txt 和 file2.txt 打包压缩成一个名为 files.zip 的文):
zip files.zip file1.txt file2.txt
  • 压缩整个文件夹(压缩整个文件夹必须配合 -r 参数):
zip -r project.zip my_folder/
unzip 指令

语法:unzip [参数] [压缩文件名.zip]

常用操作:

  • 解压到当前目录下:
unzip files.zip
  • 解压到指定的目标目录(使用 -d 参数,如果目标目录如果不存在系统会自动创建它):
unzip files.zip -d /path/to/put/files/
  • 只查看压缩包内容,不解压(使用 -l 参数):
unzip -l files.zip

1.3.2 sz与rz指令

功能: sz与rz是 Linux/Unix 下用于发送文件到本地电脑的命令,常和 rz 搭配使用。它属于 lrzsz 工具包

安装:

#Ubuntu / Debian:
sudo apt update
sudo apt install lrzsz
#CentOS / RHEL:
sudo yum install lrzsz
#Fedora:
sudo dnf install lrzsz
1. sz:从服务器下载到本地

语法:sz 文件名

演示:

sz test.txt

下载多个文件:

sz a.txt b.txt c.txt

下载目录时需要先打包压缩:

sz dir.zip
2.rz:从本地上传到服务器:

语法:rz

执行后,终端一般会弹出文件选择窗口,选择本地文件上传到当前目录

1.3.3 tar指令

功能: tar 是 Linux 中常用的打包/解包命令,经常用来把多个文件或目录打成一个包,tar 本身主要是打包,不一定压缩

常见文件:

文件名含义
.tar只打包,不压缩
.tar.gz / .tgz打包并用 gzip 压缩
.tar.bz2打包并用 bzip2 压缩
.tar.xz打包并用 xz 压缩

常用参数:

参数作用
-c创建压缩包 / 打包
-x解包 / 解压
-v显示过程
-f指定文件名,通常必须有
-z使用 gzip
-j使用 bzip2
-J使用 xz
-t查看包内文件
-C解压到指定目录

常见用法:

  • 打包目录(只打包,不压缩):
tar -cf backup.tar mydir/
  • 打包并压缩:
tar -czf backup.tar.gz mydir/
  • 解压 tar.gz 文件(解压到当前目录):
tar -xzf backup.tar.gz
  • 解压 tar.gz 文件(解压到指定目录):
tar -xzf backup.tar.gz -C /tmp/
  • 查看压缩包内容(不解压,只查看里面有什么):
tar -tf backup.tar.gz

1.3.4 scp指令

功能: scp是 Linux 中用于远程复制文件的命令,基于 SSH 协议,可以安全地在本地和远程服务器之间传输文件

语法:scp [参数] 源文件 目标位置

常用选项:

参数作用
-r复制目录
-P指定 SSH 端口
-v显示详细过程
-C传输时压缩
-p保留文件属性

1.4 bc与uname指令

bc指令

功能: bc 是一个精密计算器

用法: 在终端直接输入 bc 并回车,就会进入计算器界面。输入算式回车就能出结果,输入 quit 退出

演示:

[root@VM-0-5-centos ~]# bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 
1 + 2
3
34.3 - 1.2
33.1
quit

uname指令

功能: 用来打印当前系统的硬件和软件信息

演示:

把所有系统信息一股脑全打印出来(包括内核名、主机名、内核版本、打包时间、CPU架构、操作系统名等):

uname -a

只看内核版本:

uname -r

2、Linux的一些热键

下面是Linux有关终端操作的一些热键:

快捷键作用
Ctrl + C终止当前正在运行的命令
Ctrl + Z暂停当前程序,放入后台
Ctrl + D退出终端 / 输入结束(EOF)
Ctrl + L清屏(等同 clear
Ctrl + A光标移动到命令行开头
Ctrl + E光标移动到命令行结尾
Ctrl + U删除光标前所有内容
Ctrl + K删除光标后所有内容
Ctrl + W删除前一个单词
Ctrl + R搜索历史命令
↑ / ↓查看上一条/下一条执行过的命令
Tab命令或路径自动补全

下面是Linux有关进程控制的一些热键:

快捷键作用
Ctrl + C强制停止程序
Ctrl + Z暂停程序
fg将后台任务恢复到前台
bg将暂停任务放到后台运行

3、shell的简单介绍

Shell 不是某一个具体命令,而是 Linux 中负责“接收命令、解释命令、交给内核执行”的程序,Linux 的真正核心是 kernel 内核,但普通用户不能直接操作内核,所以需要通过 shell 来和内核沟通,这是用AI生成的辅助理解的图,目前感性的理解一些了,后面在介绍进程完进程后会再深入了了解shell:

常见的 shell 有(我们用的是bash):

bash
zsh
sh

我们平常输入的指令这些都属于通过 shell 执行的命令,比如这里我们运行下面的命令

[root@VM-0-5-centos ~]# ls -l

运行的过程大概是:

用户输入命令
    ↓
Shell 读取命令
    ↓
Shell 解析命令:ls 是命令,-l 是参数
    ↓
Shell 判断命令能不能执行
    ↓
交给 Linux 内核处理
    ↓
内核调用文件系统,查找目录内容
    ↓
结果返回给 Shell
    ↓
Shell 显示到终端

因此,Shell 就是 Linux 中连接“用户”和“内核”的命令解释器。用户输入命令,shell 负责解析命令并交给内核执行,内核执行完成后再把结果通过 shell 返回给用户

,我尝试用AI优化了下排版,感觉确实好看多了

到此这篇关于Linux指令补充与shell的命令及运行原理的文章就介绍到这了,更多相关linux shell命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • linux下命令行操作快捷键及技巧(分享)

    linux下命令行操作快捷键及技巧(分享)

    下面小编就为大家带来一篇linux下命令行操作快捷键及技巧(分享)。小编觉的挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • nginx多server日志分割脚本分享

    nginx多server日志分割脚本分享

    这篇文章主要介绍了nginx多server日志分割脚本,需要的朋友可以参考下
    2014-04-04
  • Linux磁盘管理之LVM详解及lvm磁盘操作命令

    Linux磁盘管理之LVM详解及lvm磁盘操作命令

    LVM,Logical Volume Manger,是linux内核提供的一种逻辑卷管理功能,由内核驱动和应用层工具组成,它是在硬盘的分区基础上,创建了一个逻辑层,可以非常灵活且非常方便的管理存储设备,这篇文章主要介绍了Linux磁盘管理之LVM详解及lvm磁盘操作命令,需要的朋友可以参考下
    2023-03-03
  • Shell脚本中提取邮箱用户名的两种方法

    Shell脚本中提取邮箱用户名的两种方法

    在 Linux 系统中,Shell 脚本是一种强大的自动化工具,它可以帮助我们执行各种任务,包括文本处理,在日常工作中,我们经常需要处理电子邮件地址,比如从邮箱地址中提取用户名,本文就给大家介绍了Shell中脚本提取邮箱用户名的两种方法,需要的朋友可以参考下
    2024-12-12
  • 对Linux下shell编程之for循环的实例讲解

    对Linux下shell编程之for循环的实例讲解

    今天小编就为大家分享一篇对Linux下shell编程之for循环的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • linux中 pmap 命令详解

    linux中 pmap 命令详解

    这篇文章主要介绍了linux中 pmap 命令详解,需要的朋友可以参考下
    2017-09-09
  • Shell逐行读取文件的4种方法

    Shell逐行读取文件的4种方法

    这篇文章主要介绍了Shell逐行读取文件的4种方法,本文介绍了while循环法、重定向法、管道法、文件描述符法等一些方法,需要的朋友可以参考下
    2014-12-12
  • Linux实现压缩文件的生成与查看的常用命令总结

    Linux实现压缩文件的生成与查看的常用命令总结

    如果你是后端程序员,我想你一定见过*.tar.gz、*.zip、*.jar后缀的文件吧,这些都是压缩文件,那这些文件都是怎么生成的,又有哪些关键区别呢?本文将带你一起了解这些文件和配套的操作命令,以及其经常使用的场景
    2022-09-09
  • Linux中文件的基本属性介绍

    Linux中文件的基本属性介绍

    这篇文章介绍了Linux中文件的基本属性,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • 一天一个shell命令 linux好管家-磁盘-du命令详解

    一天一个shell命令 linux好管家-磁盘-du命令详解

    这篇文章主要介绍了一天一个shell命令 linux好管家-磁盘-du命令详解,需要的朋友可以参考下
    2016-06-06

最新评论