shell——2月3日总结

news2024/10/7 10:15:42

操作系统有什么用?

操作系统是计算机系统中的核心软件,负责管理和协调计算机的硬件和软件资源,提供用户界面,并执行用户程序。

  1. 硬件管理:操作系统管理计算机的硬件资源,包括处理器、内存、磁盘、外部设备等。它控制着这些硬件资源的分配、使用和管理,确保它们能够高效地运行。

  2. 文件管理:操作系统管理计算机上的文件和目录,包括创建、删除、复制、移动、打开文件等操作。它提供了一个统一的文件系统,使用户能够方便地组织和访问自己的数据。

  3. 进程管理:操作系统管理计算机上正在运行的进程(程序执行的实例)。它分配和调度处理器时间,确保每个进程都能得到执行,并控制进程之间的通信和同步,以保证系统的稳定和安全。

  4. 用户界面:操作系统为用户提供了交互界面,使用户能够与计算机进行沟通和操作。它可以是命令行界面(如传统的命令行终端)或图形用户界面(如现代的窗口操作系统)。

  5. 网络支持:现代操作系统通常具有网络功能,能够管理计算机与其他计算机或设备之间的通信。它提供了网络协议栈和网络接口,使计算机能够连接互联网并进行数据传输。

总的来说,操作系统起着承上启下的作用,它使计算机硬件能够运行起来并提供给用户一个友好的界面,使用户能够方便地使用计算机资源和运行应用程序。

Linux 是操作系统(如Ubuntu)的内核 

命令行 shell 

 作用

        1.保护Linux内核(用户和Linux内核不直接操作,通过操作Shell,Shell和内核交互)
         2.命令解释器

 shell命令

常用目录文件命令

  1. ls:列出当前目录中的文件和子目录。常用选项如 -l 可以显示详细信息,-a 可以显示隐藏文件。

  2. cd:改变当前工作目录。例如,cd /home/user/Documents 将当前工作目录切换到 /home/user/Documents

  3. touch:创建一个新文件,或者更新已有文件的访问时间和修改时间。例如,touch file.txt 将创建一个名为 file.txt 的新文件。

    rm:删除文件或目录。例如,rm file.txt 将删除名为 file.txt 的文件。

  4. mkdir:创建一个新目录。例如,mkdir mydir 将创建一个名为 mydir 的新目录。

    rmdir:删除一个空目录。例如,rmdir mydir 将删除名为 mydir 的空目录。

  5. cp:复制文件或目录。例如,cp file.txt newfile.txt 将复制 file.txt 并将副本重命名为 newfile.txt

  6. mv:移动文件或目录,也可用于重命名文件或目录。例如,mv file.txt newdir/file.txt 将文件 file.txt 移动到 newdir 目录下。

文件查看命令

  1. cat:
    cat命令可以用来查看文件的内容,特别适用于查看文本文件。对于ASCII码文件,即以能在终端显示的ASCII码字符组成的文件,可以直接使用cat命令查看。示例命令:cat filename

  2. od -c:
    od命令可以以字符或ASCII码形式显示文件的内容。适用于查看任何类型的文件,包括文本文件和二进制文件。示例命令:od -c filename

  3. head/tail:
    head命令用于查看文件开头的内容,tail命令则用于查看文件末尾的内容。默认都显示文件的前10行。可以通过-n选项来指定显示的行数。示例命令:head/tail filename 或者 head/tail -n 行数 filename

  1. 查找指定文件名的文件:

    find 文件夹 -name 文件名
    

    例如:

    find . -name '*.txt'  # 查找当前目录及其子目录中所有扩展名为txt的文件
    
  2. 使用通配符进行文件名匹配:

    • *:匹配任意长度的任意字符的文件名。
      例如:

      find . -name 'prefix*.txt'  # 查找以prefix开头且扩展名为txt的文件
      
    • ?:匹配一位长度的任意字符的文件名。
      例如:

      find . -name '??.txt'  # 查找两位字符且扩展名为txt的文件
      
    • []:匹配一位长度的指定字符的文件名。
      例如:

      find . -name '[1-4][1-4].txt'  # 查找以两位字符且第一位字符为1到4,第二位字符为1到4的文件,如11.txt, 22.txt等
      
    • [1, 2, 3, 4]:指定字符1、2、3、4。
      例如:

      find . -name '[1,2,3,4].txt'  # 查找以一位字符且为1、2、3或4的文件,如1.txt, 2.txt, 3.txt等
      
    • [^2]:指定除了2以外的字符。
      例如:

      find . -name '[^2].txt'  # 查找以一位字符且不为2的文件,如1.txt, 3.txt等
      

whereis 
          查找指定内容的路径 

          示例:
            whereis 二进制程序名/软件名
 

  3.grep 
          查找文件中内容 

          示例:
            grep 'printf'      /usr/include/stdio.h             会查找包含"printf"的行,并将它们输出到终端。

 4.重定向:
        将原本要输出在终端的内容重定向到一个文件中

        >>  追加重定向      在原来内容基础上追加新的内容
        >   覆盖重定向      将原来的内容覆盖掉

        示例:
            ls > file.txt 
            ls >> file.txt 

如果目标文件不存在,系统将会创建该文件;如果目标文件已经存在,将根据使用的重定向操作符来执行不同的操作。

  5.管道:


        将前面命令的输出作为后续命令的输入            操作符为  |

        ls | grep 'file' # 列出当前目录下的文件并将包含"file"的行筛选出来

  6.其余命令:


        ps -ef          查看进程信息 
        echo            在终端打印内容
        du -k/-m        测试文件大小

eg:一条shell命令,将/usr/include/stdio.h文件后200行中与extern相关的内容记录到file.txt文件中

        tail -n 200 /usr/include/stdio.h | grep 'extern' > file.txt 

 7.压缩解压命令:


        .tar.gz 
        .tar.bz2 

        1.压缩命令:
            tar -zcvf 压缩文件包名.tar.gz 文件夹
            tar -jcvf 压缩文件包名.tar.bz2 文件夹

        2.解压命令:
            tar -zxvf 压缩文件包.tar.gz 
            tar -jxvf 压缩文件包名.tar.bz2 

        示例:
            tar -zcvf dir.tar.gz dir 
            tar -jcvf dir.tar.bz2 dir 

            tar -zxvf dir.tar.gz 
            tar -jxvf dir.tar.bz

 8.让虚拟机上网:
       

         1.ifconfig
          查看网卡信息

        2.ping www.baidu.com 
            64 bytes from 183.2.172.185 (183.2.172.185): icmp_seq=1 ttl=51 time=32.7 ms
            64 bytes from 183.2.172.185 (183.2.172.185): icmp_seq=2 ttl=51 time=32.7 ms

        3.将虚拟机设置为NAT模式:
            NAT模式:Windows有网,Ubuntu就有网
            桥接模式:Windows和Ubuntu网络独立

            1.点击"虚拟机"
            2.点击"设置"
            3.点击"网络适配器"
            4.选择"NAT模式"
            5.点击"确定"
        
        4.配置Ubuntu系统的IP地址为自动获取IP地址
            1.sudo vim /etc/network/interfaces
              打开网卡配置文件
            
            2.修改文件内容为:
                auto lo 
                iface lo inet loopback 

                auto ens33 
                iface ens33 inet dhcp 

            3.保存退出
                ESC
                :wq
            
             4.重启网络服务
                sudo /etc/init.d/networking restart 

             5.测试与百度是否连通
              ping www.baidu.com 

 9.apt-get工具集:


            1.自动下载软件
            2.能够分析软件的依赖关系

        1.设置apt-get工具的源:
            1.让虚拟机上网
            2.在Ubuntu左侧找到"Ubuntu Software"
            3.在Ubuntu上方找到"Ubuntu Software" 右键选择"Software & Updates"
            4.DownLoad Form 选择 "Others" -> "China" -> "mirrors.aliyun.com"
            
        2.执行命令:
            1.sudo apt-get autoclean
                清除旧源
            2.sudo apt-get update 
                更新新源
            3.sudo apt-get install -f 
                重建软件源依赖关系
            4.安装软件
                sudo apt-get install wireshark 
                安装Wireshark软件

                sudo apt-get install valgrind 
                安装valgrind内存泄露检测工具
            5.卸载软件
                sudo apt-get remove 软件名 

            6.查看是否安装成功
                dpkg -l 软件名

            7.安装
                sudo dpkg -i 软件包名.deb 

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

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

相关文章

MySQL原理(一)架构组成之逻辑模块(2)缓存机制

前面提到了mysql的逻辑模块中包含Query Cache 。 一、查询缓存 1、作用 MySQL查询缓存即缓存查询数据的SQL文本及查询结果,用Key-Value的形式保存在服务器内存中。当查询命中缓存,MySQL会立刻返回结果,跳过了解析,优化和执行阶段。 2、查询缓存的命中条件 (1&a…

基于ChatGLM.cpp实现低成本对ChatGLM3-6B的量化加速

文章目录 1. 参考2. ChatGLM3 介绍3. 本地运行3.1 硬件配置3.2 下载ChatGLM3代码3.3 量化模型3.4 编译和运行3.4.1 编译3.4.12 运行 4. python绑定4.1 安装4.2 使用预先转换的 GGML 模型 总结 前面两章分别有讲到基于MacBook Pro M1芯片运行chatglm2-6b大模型和如何在本地部署c…

《Python 网络爬虫简易速速上手小册》第1章:Python 网络爬虫基础(2024 最新版)

文章目录 1.1 网络爬虫简介1.1.1 重点基础知识讲解1.1.2 重点案例:社交媒体数据分析1.1.3 拓展案例1:电商网站价格监控1.1.4 拓展案例2:新闻聚合服务 1.2 网络爬虫的工作原理1.2.1 重点基础知识讲解1.2.2 重点案例:股票市场数据采…

玩家笔记:幻兽帕鲁搭建服务器开服教程

玩转幻兽帕鲁服务器,阿里云推出新手0基础一键部署幻兽帕鲁服务器教程,傻瓜式一键部署,3分钟即可成功创建一台Palworld专属服务器,成本仅需26元,阿里云服务器网aliyunfuwuqi.com分享2024年新版基于阿里云搭建幻兽帕鲁服…

MyBatis之环境搭建以及实现增删改查

MyBatis之环境搭建以及实现增删改查 前言准备工作1.保证数据库已启动2. 创建Person表 MyBatis开发环境搭建1.下载MyBatis jar包2.下载MySQL的JDBC驱动3.新建Java工程(Java8),导入MyBatis的jar包以及JDBC驱动 实现步骤1. 创建Peron类2. 编写Ma…

Log360,引入全新安全与风险管理功能,助力企业积极抵御网络威胁

ManageEngine在其SIEM解决方案中推出了安全与风险管理新功能,企业现在能够更主动地减轻内部攻击和防范入侵。 SIEM 这项新功能为Log360引入了安全与风险管理仪表板,Log360是ManageEngine的统一安全信息与事件管理(SIEM)解决方案…

【复现】WordPress html5-video-player SQL 注入漏洞_39

目录 一.概述 二 .漏洞影响 三.漏洞复现 1. 漏洞一: 四.修复建议: 五. 搜索语法: 六.免责声明 一.概述 在WordPress中播放各种视频文件。一个简单,可访问,易于使用和完全可定制的视频播放器,适用于所…

0基础学习VR全景平台篇第141篇:如何制作卫星航拍全景

大家好,欢迎观看蛙色官方系列全景摄影课程! 很多人都看过或者拍摄过航拍全景,其效果相比于普通的地拍的确有着更加震撼的拍摄效果,但是受限于无人机高度,以及禁飞区等等限制,导致很多大场景无法展示完全&a…

绝地求生:盘点游戏内七款真人脸模,你最喜欢哪款?

从27.1版本更新后,游戏内上线了荣都地图代言人吴彦祖和李政宰的真人脸模,从此闲游盒的各位盒友灵魂搭配的资源库里又多了两位英俊脸庞,那么今天闲游盒来盘点一下游戏内上线的七款真人脸模,看看大家更喜欢哪款呢? 吴彦祖和李政宰 …

前端文艺复兴:Vue3真的需要Pinia吗?

前言 说起Pinia,熟悉 vue3 开发的程序员肯定不会陌生,甚至被vue官方推荐取代vuex,成为vue全家桶之一。 疑惑 还记得之前用 vuex 时,更改 state 还分同步和异步(这里有尤雨溪的回答www.zhihu.com/question/48… &…

【实训】网络规划与部署实训

一 实训目的及意义 本周实训主要是了解网络规划与部署,熟悉三大厂商华为、思科、锐捷交换机路由器以及相关协议的原理和配置,提高学生的动手能力和分析规划部署能力。 实训主要针对计算机网络系统集成的设计与实现的实际训练,着重锻炼学生熟练…

【数据结构]排序算法之插入排序、希尔排序和选择排序

简单不先于复杂,而是在复杂之后。 文章目录 1. 排序的概念及其运用1.1 排序的概念1.2 排序运用1.3 常见的排序算法 2. 常见排序算法的实现2.1 插入排序2.1.1 基本思想2.1.2 直接插入排序2.1.3 希尔排序(缩小增量排序) 2.2. 选择排序2.2.1 基本…

重写Sylar基于协程的服务器(6、HOOK模块的设计)

重写Sylar基于协程的服务器(6、HOOK模块的设计) 重写Sylar基于协程的服务器系列: 重写Sylar基于协程的服务器(0、搭建开发环境以及项目框架 || 下载编译简化版Sylar) 重写Sylar基于协程的服务器(1、日志模…

【STM32+HAL库+CubeMX】UART轮询收发、中断收发、DMA收发方法及空闲中断详解

(转载)原文链接:https://blog.csdn.net/qq_39344192/article/details/131470735 1. 什么是UART? UART是一种异步串行通信接口,常用于通过串口与外部设备进行通信。它通过发送和接收数据帧来实现数据传输,使…

ROS2 Humble学习笔记 (2)

本文发表于个人的github pages。因csdn本身显示插件和转载过程中导致显示不太友好。建议大家阅读原文。想查看完整内容,请移步到ROS2 Humble学习笔记2。 本文篇幅较长,可抽空按照章节阅读。本文只作为对入门教程的一种浮现和提升。 一、前言 在上一篇…

项目02《游戏-08-开发》Unity3D

基于 项目02《游戏-07-开发》Unity3D , 本次任务做物品相互与详情的功能, 首先要做 点击相应, 接下来用接口实现点击相应事件,具体到代码中,我们找到需要响应鼠标事件的对象, 双击PackageCell…

数据结构与算法:图论(邻接表板子+BFS宽搜、DFS深搜+拓扑排序板子+最小生成树MST的Prim算法、Kruskal算法、Dijkstra算法)

前言 图的难点主要在于图的表达形式非常多,即数据结构实现的形式很多。算法本身不是很难理解。所以建议精通一种数据结构后遇到相关题写个转换数据结构的接口,再套自己的板子。 邻接表板子(图的定义和生成) public class Graph…

c语言实现greedy snake(贪吃蛇)

##第一个小项目 大一学生寒假项目 最终实现效果如图 一.以C语言实现个人小项目 在我们快速学完了一个高级编程语言,就应该写一个小项目来加以巩固自己的学习成果。 所以今天,我们来尝试写一写greedy snake,对于大学生来说也是可以加强能…

超时引发的牛角尖二(hystrix中的超时)

至今我都清楚记得自己负责的系统请求云上关联系统时所报的异常信息。为了解决这个异常,我坚持让这个关联系统的负责人查看,并且毫不顾忌他的嘲讽和鄙视,甚至无视他烦躁的情绪。不过我还是高估了自己的脸皮,最终在其恶狠狠地抛下“…

每日一练:LeeCode-513、找树左下角的值【二叉树】

本文是力扣LeeCode-513、找树左下角的值 学习与理解过程,本文仅做学习之用,对本题感兴趣的小伙伴可以出门左拐LeeCode。 给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点。 示例 1: …