当前位置: 首页 > news >正文

[日常使用] Shell常用命令

Shell是什么?

Shell简介

Shell是操作系统的外壳,是用户与操作系统内核之间的主要接口。它接收用户的命令并将其传递给内核执行,然后将执行结果返回给用户。Shell不仅是一个命令解释器,也是一种强大的编程语言。常见的Shell分为图形界面Shell和命令行Shell两类,如Windows的资源管理器和cmd命令窗口。不同系统有不同的Shell,比如在Linux系统中常见的是Bourne Again Shell(即bash)。

  • 在Windows系统中,资源管理器(explorer.exe)是图形Shell,而cmd和PowerShell则是命令行Shell。

  • Dos和Cmd区别

  • [日常使用] Windows快捷键组合“Win + R“常用命令

Shell脚本

Shell脚本是由一系列Shell命令组成的文件,利用Shell的功能编写的程序。通过编写Shell脚本,用户可以轻松地执行多个命令,实现批量处理和自动化维护。

Shell用途

  1. 控制进程和文件,以及启动和控制其他程序。
  2. 减少重复输入和交互操作,实现批量处理和自动化维护,减轻管理负担。

日常使用

常用命令总结

  • ls: 列出当前目录的文件清单。

    • ls -a:显示所有文件,包括隐藏文件。
    • ls -l:显示详细文件信息。
  • cd: 切换当前目录。

    • cd /:进入根目录。
    • cd ..:返回上一级目录。
    • cd -:返回上一次的目录。
  • pwd: 显示当前工作目录。

  • mkdir 和 rmdir: 创建和删除目录。

    • mkdir -p /path/to/directory:递归创建目录。
    • rmdir -p /path/to/directory:递归删除目录。
  • cp: 复制文件或目录。

    • cp file1 ../destination:复制文件到另一个目录。
    • cp file1 file2:复制并重命名文件。
    • cp -r directory1 directory2:复制目录并重命名。
  • mv: 移动或重命名文件或目录。

    • mv file1 ../destination:移动文件到另一个目录。
    • mv file1 file2:重命名文件。
    • mv file1 ../destination/file2:移动并重命名文件。
  • rm: 删除文件或目录。

    • rm -i:交互式删除,会提示确认。
    • rm -r:递归删除目录及其内容。
    • rm -f:强制删除文件或目录。
  • du 和 df: 显示磁盘使用情况和剩余空间。

    • du -sh directory:显示目录总大小。
    • du -sh ./*:显示当前目录下所有文件和目录的大小。
  • cat: 查看文件内容。

    • cat file1:显示文件内容。
    • cat file1 file2 > file3:合并文件1和文件2,并保存为文件3。
  • head 和 tail: 显示文件头部和尾部。

    • head -n file:显示文件的前n行。
    • tail -n file:显示文件的后n行。
    • tail -f file:实时查看文件新增内容。
  • wc: 统计文件的行数、字数和字节数。

    • wc -l:统计行数。
    • wc -w:统计字数。
    • wc -c:统计字节数。
  • grep: 在文件中搜索指定模式。

    • grep 'pattern' file:在文件中搜索模式。

    • grep 'pattern' file1 file2:在多个文件中搜索模式。

      Example:

      # 在文件中搜索包含指定关键字(`keyword`)的行,并将匹配到的行输出到标准输出。
      grep 'keyword' file1
      grep 'keyword' file1 file2
      
      • grep 'keyword' file1:这个命令在单个文件file1中搜索包含关键字keyword的行。grep命令会打开文件file1,逐行搜索文件内容,如果找到包含关键字的行,就将该行输出到标准输出。如果file1中有多个匹配行,它们将以原始顺序输出到标准输出。

      • grep 'keyword' file1 file2:这个命令与前一个命令类似,但它在两个文件file1file2中搜索关键字keywordgrep命令会逐个打开这两个文件,逐行搜索文件内容,如果找到包含关键字的行,就将该行输出到标准输出。如果两个文件中都有匹配行,它们将按照文件顺序先后输出到标准输出。

  • 管道和xargs: 用于命令之间的数据传输和处理。

    • command1 | command2:将command1的输出作为command2的输入。

    • command | xargs:将命令输出作为参数传递给另一个命令。

      Example:

      # 这段代码是两个常用的Unix/Linux命令行操作的结合,用于查找特定文件并删除它们。
      ls | grep keyword
      find /path/to/directory -name "*.txt" | xargs rm
      
      • ls | grep keyword:这个命令首先使用ls命令列出当前目录下的所有文件和文件夹,然后通过管道|将其输出传递给grep命令。grep命令用于在输入中搜索包含指定模式(即keyword)的行,并将匹配到的行输出到标准输出。因此,这个命令的作用是在当前目录下搜索包含特定关键字的文件或文件夹。

      • find /path/to/directory -name "*.txt" | xargs rm:这个命令首先使用find命令在指定目录下(/path/to/directory)递归搜索所有以.txt为后缀的文件,并将搜索到的文件名输出到标准输出。然后,通过管道|将这些文件名传递给xargs命令,xargs命令用于构造和执行命令行命令。在这个例子中,xargs将每个文件名作为参数传递给rm命令,rm命令用于删除文件。因此,这个命令的作用是删除指定目录下所有以.txt为后缀的文件。

  • awk: 用于文本处理的强大工具。

    • awk '{print $1}' file:打印文件的第一列。

      Example:

      # 这句命令是一个典型的Unix/Linux命令行管道操作,显示系统中最近5个登录用户的用户名。。
      last -n 5 | awk '{print $1}'
      
      • last:这是一个用于显示系统登录日志的命令。通常,它会列出系统中所有用户的登录历史记录。如果没有参数指定,它会列出所有的登录历史记录。但是,在这个命令中,使用参数-n 5,它告诉last命令只显示最近的5个登录记录。

      • |:这是一个管道符号,它的作用是将一个命令的输出发送到另一个命令的输入。在这个命令中,它将last命令的输出传递给awk命令。

      • awk '{print $1}':这是一个用于文本处理和数据提取的强大工具。在这个命令中,awk将每一行输入作为记录,并根据空格将每行分割成字段(默认情况下,字段分隔符是空格)。{print $1}表示打印每行的第一个字段。

相关文章:

[日常使用] Shell常用命令

Shell是什么? Shell简介 Shell是操作系统的外壳,是用户与操作系统内核之间的主要接口。它接收用户的命令并将其传递给内核执行,然后将执行结果返回给用户。Shell不仅是一个命令解释器,也是一种强大的编程语言。常见的Shell分为图…...

QT+OSG/osgEarth编译之八十七:osgdb_p3d+Qt编译(一套代码、一套框架,跨平台编译,版本:OSG-3.6.5插件库osgdb_p3d)

文章目录 一、osgdb_p3d介绍二、文件分析三、pro文件四、编译实践一、osgdb_p3d介绍 P3DXML是Panda3D引擎中使用的一种文件格式,用于描述3D场景的层次结构和属性。它是一种基于XML(eXtensible Markup Language)的文本格式,可以被Panda3D引擎读取和解析。 P3DXML文件包含了…...

寒假 day13

1.请编程实现二维数组的杨慧三角 #include<stdio.h> #include<string.h> int main(int argc, const char *argv[]) { int n,i,j;printf("please enter n:");scanf("%d",&n);int arr[n][n];for(i0;i<n;i){for(j0;j<i;j){if(j0 || ij…...

探索微信小程序的奇妙世界:从入门到进阶

文章目录 一、什么是微信小程序1.1 简要介绍微信小程序的定义和特点1.2 解释小程序与传统应用程序的区别 二、小程序的基础知识2.1 微信小程序的架构2.2 微信小程序生命周期的理解2.3 探索小程序的目录结构和文件类型 三、小程序框架和组件3.1 深入了解小程序框架的核心概念和原…...

容器库(4)-std::forward_list

std::forward_list是可以从任何位置快速插入和移除元素的容器&#xff0c;不支持快速随机访问&#xff0c;只支持正向迭代。 本文章的代码库&#xff1a; https://gitee.com/gamestorm577/CppStd 成员函数 构造、析构和赋值 构造函数 可以用元素、元素列表、迭代器或者另…...

Netty Review - 服务端channel注册流程源码解析

文章目录 PreNetty主从Reactor线程模型服务端channel注册流程源码解读入口 serverBootstrap.bind(port) 源码流程图 Pre Netty Review - ServerBootstrap源码解析 Netty Review - NioServerSocketChannel源码分析 Netty主从Reactor线程模型 Netty 使用主从 Reactor 线程模型…...

冒泡排序平均需要跑多少趟:拉马努金Q函数初探

摘要: 拉马努金Q函数在算法分析中的应用&#xff0c;初步体验 【对算法&#xff0c;数学&#xff0c;计算机感兴趣的同学&#xff0c;欢迎关注我哈&#xff0c;阅读更多原创文章】 我的网站&#xff1a;潮汐朝夕的生活实验室 我的公众号&#xff1a;算法题刷刷 我的知乎&#x…...

Shell 学习笔记(三)-shell变量

Shell 语言是一种动态类型和弱类型语言, 因此,在Shell中无需显示地声明变量, 且变量的类型会根据不同的操作符而发生变化. 静态类型语言: 在程序编译期间就确定变量类型的语言, 如java, C等 动态类型语言: 在程序运行期间才确定变量类型的语言, 如PHP, Python等. 一 shell变量…...

新冠:2022和2024两次新冠感染的对比

第一次 2022年底第一次放开管控&#xff0c;95%以上的人都感染了一次奥密克戎 症状 第一天&#xff1a;流涕&#xff0c;咽痛。 第二天&#xff1a;高烧40度&#xff0c;全身疼痛&#xff0c;动不了。没有胃口&#xff0c;头晕想吐。 吃了白加黑退烧药&#xff0c;清开灵颗粒…...

笔记:《NCT全国青少年编程能力等级测试教程Python语言编程二级》

NCT全国青少年编程能力等级测试教程Python语言编程二级 ISBN:9787302565857 绪论 专题1 模块化编程 考查方向 考点清单 考点 模块化编程 (一)模块化编程思想:结构清晰、降低复杂度;提高代码复用率;易于扩展、维护,方便阅读、优化。 …...

顶级思维方式——认知篇五(思想的觉醒)

目录 1、 女性的地位觉醒 2、电视剧《天道》之高人思维&#xff1a;丁元英为什么讲“人间黑白颠倒”&#xff1f; 3、 创业公司, 更应该大胆的创新. 4、 做到一定职务的时候&#xff0c; 你一定想到在你这个地位上你要做什么 1、 女性的地位觉醒 过去引以为鉴的例子&…...

面试技术栈 —— 2024网易雷火暑期实习真题

面试技术栈 —— 2024网易雷火暑期实习真题 1. 最长递增子序列。2. 集中限流和单机限流你觉得哪个好&#xff1f;3. redis部署服务器配置&#xff0c;为什么不用哨兵&#xff1f;4. 讲讲分布式session的原理。5. 数据库&#xff1a;表数据量大了&#xff0c;如何分表&#xff1…...

【小赛1】蓝桥杯双周赛第5场(小白)思路回顾

我的成绩&#xff1a;小白(5/6) 完稿时间&#xff1a;2024-2-13 比赛地址&#xff1a;https://www.lanqiao.cn/oj-contest/newbie-5/ 相关资料&#xff1a; 1、出题人题解&#xff1a;“蓝桥杯双周赛第5次强者挑战赛/小白入门赛”出题人题解 - 知乎 (zhihu.com) 2、矩阵快速幂&…...

docker (二)-yum二进制部署

yum安装docker&#xff08;Linux&#xff09; 安装环境&#xff1a;CentOS 7.9 一 如果之前安装了旧版docker&#xff0c;请先删除 sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotat…...

【深度学习】S2 数学基础 P2 线性代数(下)

目录 范数的意义范数的数学意义范数之于深度学习的意义 L1 范数与 L2 范数L1 范数L2 范数 小结 本节博文是线性代数第二部分&#xff0c;主要内容为 L 1 L1 L1 范数与 L 2 L2 L2 范数&#xff1b;有关线性代数基础知识&#xff0c;请访问&#xff1a;【深度学习】S2 数学基础…...

【软考高级信息系统项目管理师--考试内容大纲篇】

&#x1f680; 作者 &#xff1a;“码上有前” &#x1f680; 文章简介 &#xff1a;软考高级–信息系统项目管理师 &#x1f680; 欢迎小伙伴们 点赞&#x1f44d;、收藏⭐、留言&#x1f4ac; 软考高级信息系统项目管理师--考试内容大纲篇 1.信息化发展2.信息技术发展3.信息系…...

C语言——枚举类型

&#x1f4dd;前言&#xff1a; 在之前的文章中我们已经讲解了自定义类型中的结构体类型和联合体类型&#xff0c;现在我们再充分学习一下C语言中的枚举类型&#xff1a; 1&#xff0c;什么是枚举类型 2&#xff0c;枚举类型的定义和变量的声明 3&#xff0c;对变量进行赋值 &a…...

linux---内存管理

一 虚拟内存 即使是现代操作系统中&#xff0c;内存依然是计算机中很宝贵的资源&#xff0c;看看你电脑几个T固态硬盘&#xff0c;再看看内存大小就知道了。 为了充分利用和管理系统内存资源&#xff0c;Linux采用虚拟内存管理技术&#xff0c;利用虚拟内存技术让每个进程都有…...

v-model原理

v-model原理 v-model原理表单类组件封装v-model简化代码 v-model原理 1.原理&#xff1a; v-model本质上是一个语法糖。例如应用在输入框上&#xff0c;就是value属性 和 input 事件的合写 <template><div id"app" ><input v-model"msg"…...

波奇学Linux:文件系统

磁盘认识 磁盘被访问的基本单元是扇区-512字节。 磁盘可以看成多个同心圆&#xff0c;每个同心圆叫做磁道&#xff0c;多个扇区组成同心圆。 我们可以把磁盘看做由无数个扇区构成的存储介质。 要把数据存到磁盘&#xff0c;先定位扇区&#xff0c;用哪一个磁头&#xff0c;…...

网络编程(Modbus进阶)

思维导图 Modbus RTU&#xff08;先学一点理论&#xff09; 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议&#xff0c;由 Modicon 公司&#xff08;现施耐德电气&#xff09;于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码&#xff0c;写上注释 当然可以&#xff01;这段代码是 Qt …...

visual studio 2022更改主题为深色

visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中&#xff0c;选择 环境 -> 常规 &#xff0c;将其中的颜色主题改成深色 点击确定&#xff0c;更改完成...

LeetCode - 394. 字符串解码

题目 394. 字符串解码 - 力扣&#xff08;LeetCode&#xff09; 思路 使用两个栈&#xff1a;一个存储重复次数&#xff0c;一个存储字符串 遍历输入字符串&#xff1a; 数字处理&#xff1a;遇到数字时&#xff0c;累积计算重复次数左括号处理&#xff1a;保存当前状态&a…...

什么是EULA和DPA

文章目录 EULA&#xff08;End User License Agreement&#xff09;DPA&#xff08;Data Protection Agreement&#xff09;一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA&#xff08;End User License Agreement&#xff09; 定义&#xff1a; EULA即…...

【Java_EE】Spring MVC

目录 Spring Web MVC ​编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 ​编辑参数重命名 RequestParam ​编辑​编辑传递集合 RequestParam 传递JSON数据 ​编辑RequestBody ​…...

CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云

目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...

爬虫基础学习day2

# 爬虫设计领域 工商&#xff1a;企查查、天眼查短视频&#xff1a;抖音、快手、西瓜 ---> 飞瓜电商&#xff1a;京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空&#xff1a;抓取所有航空公司价格 ---> 去哪儿自媒体&#xff1a;采集自媒体数据进…...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2

每日一言 今天的每一份坚持&#xff0c;都是在为未来积攒底气。 案例&#xff1a;OLED显示一个A 这边观察到一个点&#xff0c;怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 &#xff1a; 如果代码里信号切换太快&#xff08;比如 SDA 刚变&#xff0c;SCL 立刻变&#…...