C高级(Day22)

news2024/11/17 3:58:08

一、学习内容

  1. shell指令

    1. 文件相关的指令

      1. 重定向 > >>
        1. echo :打印字符串

        2. cat: 在终端打印文件的内容

    2. 链接文件

      1. 硬链接文件:文件的inode号是一样的。
      2. 查看文件inode号: ls -i
      3. 格式:ln 被链接的文件 创建硬链接文件
      4. 1 硬链接的文件类型是普通文件 -
        2 修原文件时,硬链接文件也被会修改,反之也一样
        3 原文件和硬链接文件的inode号一样
        4 创建硬链接文件时, 硬链接文件的个数会增加
        5 修改硬链接文件的路径时, 链接关系依然生效
        6 不允许对目录创建硬链接文件

    3. 软链接文件

      1. 软链接:类似与快捷方式。可以对目录进行链接
      2. 格式: ln -s 绝对路径下被链接的文件 绝对路径下创建的链接文件
      3. 1 软链接的文件类型是链接文件 l
        2 修原文件时,软链接文件也被会修改,反之也一样
        3 原文件和软链接文件的inode号不一样
        4 创建软链接文件时, 硬链接文件的个数不会增加
        5 在创建软链接文件时需要使用绝对路径,原因,防止修改链接文件路径时失效
            修改软链接文件的路径时, 链接关系不生效
        6 允许对目录创建软链接文件

    4. 压缩\解压缩\归档\拆包

      1. 压缩\解压缩
        1. 压缩、解压缩:原文件会消失,且只能对文件操作

        2. Linux的压缩格式: xz\gz\bz2
          
          压缩:
             bzip2 要压缩的文件    ----->XXXX.bz2
             gzip  要压缩的文件    ----->XXXX.gz
             xz    要压缩的文件    ----->XXXX.xz
          解压缩:
             bunzip2 解压的文件.bz2
             gunzip  解压的文件.gz
             unxz    解压的文件.xz
             
          压缩效率: xz > bz2 > gz

      2. 归档\拆包 tar
        1. 归档、拆包: 原文件存在,可以对多个文件或者目录操作

        2. -j     ---bzip2
          -J     ---xz
          -z     ---gzip
          -f     ---file
          -x     ---拆包
          -c     ---归档
          -v     ---显示详细过程
          
          归档:
              tar -cvf  XXX.tar   要归档的文件名\目录
          拆包:
              tar -xvf  XXX.tar  
              
              
          归档并压缩:
              tar -jcvf  XXX.bz2   要归档压缩的文件名\目录
              tar -Jcvf  XXX.xz   要归档压缩的文件名\目录
              tar -zcvf  XXX.gz   要归档压缩的文件名\目录
          拆包并解压缩:
              tar -jxvf  XXX.bz2
              tar -Jxvf  XXX.xz
              tar -zxvf  XXX.gz
              

        3. 归档、拆包

        4. 归档压缩 、 拆包解压

    5. 磁盘指令

      1. 磁盘连接ubuntu
        1. 方式1

        2. 方式2

      2. 查看是否连接成功
        1. 指令: ls /dev/sd*

      3. 查看磁盘的使用情况 df
        1. 指令:df (保证u盘未出现挂载点,否则后面创建分区等操作失败)

        2. 取消挂载点 指令: sudo umount 挂载点\挂载分区

      4. 磁盘实现 创建、删除 fdisk
        1. 从u盘h中拿取一点空间 ,进行相关操作

          1. 格式

            1. sudo fdisk 指定的磁盘路径 (创建分区)

            2. sudo fdisk /dev/sdc (u盘的主盘、而不是sdb1、2)

            3.   常规
                 d   删除分区
                 F   列出未分区的空闲区
                 l   列出已知分区类型
                 n   添加新分区
                 p   打印分区表
                 t   更改分区类型
                 v   检查分区表
                 i   打印某个分区的相关信息
              
              保存并退出
                 w   将分区表写入磁盘并退出
                 q   退出而不保存更改

      5. 格式化磁盘分区 mkfs
        1. 格式: sudo mkfs.ntfs /dev/sdc2

      6. 挂载
        1. 在ubuntu操作系统中,万物皆文件,所以认为u盘也是文件,把u盘挂载到一个目录下 操作目录等价于操作U盘

          1. 挂载: sudo mount 挂载分区 挂载点 取消挂载 sudo umount 挂载分区 挂载点

    6. 用户相关指令

      1. 查看用户名
        1. whoami

      2. 新建用户名
        1. sudo adduser 用户名

      3. 切换用户
        1. su 用户名

      4. 修改密码
        1. sudo passwd 用户名

      5. 删除用户
        1. sudo userdel 用户名

        2. sudo userdel 用户名 -r

    7. 开关机指令

      1. 关机指令:
            sudo shutdown 10:00    在10:00关机
            sudo shutdown +10      在10分钟后关机
            sudo shutdown now      立马关机
            
            shutdown -c   取消关机或重启
            
        重启指令:
            sudo shutdown -r 10:00    在10:00重启
            sudo shutdown -r +10      在10分钟后重启
            sudo shutdown -r now      立马重启

  2. shell脚本

    • 编程语言的分类

      • 面向过程:C
      • 面向对象:C++ java
      • 编译型语言:
        借助于编译器进行编译,在编译源文件时,只要不修改文件,只需要编译一次,后期可以直接运行,效率高。如果修改,则需要再次编译。
      • 解释型语言:
        shell 需要借助于解释器,每执行一个源文件则需要解释一次,效率低,但是可以和内核交互。
    • 什么是shell

      • shell: 贝壳 保护
      • 作用:保护内核,输入一个shell指令, 需要使用shell解释器解析shell脚本,操作内核。
    • 第一个shell

      • shell脚本是一个.sh文件
      • shell本质就是指令的集合, 但是指令需要满足一定的逻辑
      • 1. #!/bin/bash
           #!   表示这是一个脚本文件
           /bin/bash  表示使用的解析器
        2. shell中的注释
            # 单行注释
            <<名    ----->多行注释
            名
            eg :   <<a
                      注释内容
                   a

    • shell脚本的解析器

      • 查看shell脚本使用的解析器
        • echo $SHELL 或者 cat /etc/shells

      • 常见的解析器
        • bash 用于ubuntu和debian操作系统

        • sh 最早的解析器,和终端交互性差

        • dash 类似于sh

        • csh 类似于c语言,健壮性差

        • ksh 需要许可证

      • 运行.sh文件的方式
        • bash XXX.sh

        • chmod 777 XXX.sh ./XXX.sh

        • source XXX.sh

    • 修改环境变量

      • 可以将 f2.sh 直接类似于 ls 一样直接使用 ,那么需要修改环境变量
      • 查看环境变量
        • 指令: env

        • 环境变量=环境变量的值

        • PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/ubuntu/zsq/c/try/gg:/home/ubuntu/zsq/c/try/gg/
          
          【ls 就在这个路径  修改环境变量 --->方便 】

      • 在当前终端有效
        • 1. 在终端输入以下语句
              export PATH=$PATH:/home/ubuntu/81/zz
              |        |    PATH变量的值    添加的新路径
              |       环境变量
              类似extern,引用环境变量 
          
          2. 给文件添加可执行权限
             chmod 777 XXX.sh
          3. 运行
              XXX.sh

      • 对当前用户有效(常用)
        • 需要在 ~/.bashrc 文件添加语句

        • 1. 打开~/.bashrc 文件添加语句 
              export PATH=$PATH:/home/ubuntu/81/zz
              |        |    PATH变量的值    添加的新路径
              |       环境变量
              类似extern,引用环境变量 
              
          2. 需要文件生效
              source ~/.bashrc
          3. 添加权限:chmod 777 XXX.sh
          4. 运行
              XXX.sh

        • 查看

        • 打开修改

        • 使得文件生效

  3. 脑图

二、总结

学习内容概述

1. Shell编程基础:

介绍了Shell的基本概念、工作原理以及常见的Shell编程命令,如变量定义、条件判断、循环控制等内容。通过实战演练,学习如何编写Shell脚本来自动化任务。

2. Shell脚本实例:

使用Shell脚本解决具体问题,包括文件操作、字符串处理以及系统命令的调用。并通过案例演示了Shell脚本的常用结构和逻辑。

3. Linux文件系统:

学习Linux文件系统的层次结构,理解不同目录的用途,以及如何通过命令进行文件操作,如 `ls`、`cd`、`mkdir`、`rm` 等命令的使用。

4. 进程管理与控制:

学习了Linux系统中的进程控制命令,了解如何使用 `ps`、`top`、`kill` 等命令查看和管理系统中的进程。

5. 文件权限与用户管理:

学习文件权限的表示方式及其更改方法,掌握 `chmod`、`chown` 等命令对文件权限和用户的管理。

6. shell变量与函数:

深入学习Shell中的变量、环境变量以及函数定义与调用。理解局部变量和全局变量的区别,并学会如何在脚本中有效地使用函数。

学习难点

1. Shell脚本的逻辑编写:

编写复杂的Shell脚本时,逻辑控制(如条件判断、循环)的设计是难点,特别是在处理多个条件时需要考虑优先级和效率。

2. 权限管理与进程控制:

在多用户环境中,正确设置文件的权限及管理进程的优先级是难点,理解不同权限对文件操作和进程管理的影响尤为重要。

3. 环境变量与作用域:

Shell脚本中的变量作用域管理是学习难点,特别是全局变量和局部变量的使用与冲突的解决。

4. 进程的调度与优先级控制:

如何通过系统命令对进程进行调度与优先级管理,特别是在复杂任务执行时的进程调优和资源分配。

 主要事项

1. Shell脚本的编写:

掌握基本的Shell语法,包括变量、循环、判断结构。能够通过脚本自动化处理常见的系统操作,提升工作效率。

2. 文件系统操作与权限管理:

理解Linux文件系统的结构,掌握常见文件操作命令,同时正确设置文件的权限和用户组,确保文件的安全性。

3. 进程管理与调优:

通过 `ps`、`top`、`kill` 等命令有效监控系统进程,掌握进程优先级的调节方法,确保系统资源合理分配。

4. Shell函数的使用:

通过Shell函数将复杂的操作分解成小的功能模块,提高脚本的可读性和复用性,掌握函数传参和返回值的处理。

 未来学习的重点

1.高级Shell编程技巧:

继续深入学习Shell脚本的高级技巧,如正则表达式的使用、信号处理、并发编程等,提升脚本的复杂任务处理能力。

2. Linux系统安全管理:

进一步学习Linux的安全机制,特别是文件权限的精细化管理和用户权限的分配,提升对系统安全的掌控能力。

3. Shell脚本调试与优化:

学习如何对Shell脚本进行调试,排查错误,优化脚本的执行效率,特别是在处理大规模数据或复杂系统任务时的性能调优。

4. 多进程与并发控制:

学习在Shell中进行多进程管理的技术,特别是如何处理并发任务,确保系统资源的高效利用与任务执行的稳定性。

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

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

相关文章

maven-web项目配置打包插件

maven-web项目配置打包 配置maven 打包插件 <!-- 打包 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><version>2.4</version><!-- <configuration><webRes…

c#使用winscp库实现FTP/SFTP/SCP的获取列表、上传和下载功能

网上写c#调用winscp实现的资料很少,且写的不够详细。本人查了下winscp的libraries说明,写了个小工具,供大家参考。 winscp的接口说明地址如下: WinSCP .NET Assembly and COM Library :: WinSCP 一、先展示一下小工具的界面 1、支持SFTP/FTP/SCP 2、支持文件夹、文件的…

UE4_Niagara基础实例—4、静态网格体表面生成粒子

效果图&#xff1a; 分析&#xff1a;在物体面上生成粒子&#xff0c;改变粒子的不透明度&#xff0c;让粒子收到力&#xff0c;并添加紊乱&#xff0c;类似于水蒸气。 操作步骤&#xff1a; 1、创建个niagara 系统&#xff0c;使用模版 simple sprite burst。简单调节参数。…

2024年【金属非金属矿山(地下矿山)安全管理人员】考试总结及金属非金属矿山(地下矿山)安全管理人员考试技巧

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 金属非金属矿山&#xff08;地下矿山&#xff09;安全管理人员考试总结根据新金属非金属矿山&#xff08;地下矿山&#xff09;安全管理人员考试大纲要求&#xff0c;安全生产模拟考试一点通将金属非金属矿山&#xf…

第五届计算机科学与管理科技国际学术会议(ICCSMT 2024)

梁哲&#xff0c;同济大学长聘特聘教授&#xff0c;国家杰青、首届国家杰青延续项目获得者、上海市曙光学者、上海市优秀学术带头人。本科毕业于新加坡国立大计算机工程系、硕士毕业于新加坡国立大学工业与系统工程系、博士毕业于美国新泽西州立大学工业工程系。理论研究主要集…

农牧场可视化管理:精准监测与优化运营

利用图扑可视化技术实现农牧场的实时数据监测和分析&#xff0c;优化资源配置&#xff0c;提高生产效率和可持续发展能力。

文件flac怎么转成mp3?这几种方法每个人都能学会!

文件flac怎么转成mp3&#xff1f;FLAC以其无损音频的卓越音质和精湛的压缩技术&#xff0c;在音乐发烧友与音频专业人士中赢得了无可撼动的地位&#xff0c;然而&#xff0c;任何技术的辉煌背后都伴随着其特有的挑战与考量&#xff0c;FLAC的显著特点就是无损压缩&#xff0c;虽…

360周鸿祎为什么说大模型已成茶叶蛋?

大模型炒了一年&#xff0c;为什么没有特别火的应用&#xff1f; 最近几天360创始人周鸿祎称&#xff0c;去年感觉大模型是原子弹&#xff0c;今年感觉是茶叶蛋。 什么意思&#xff1f;我想大概就是说大模型谁都能玩了&#xff0c;现在国内的大模型没有一千&#xff0c;也有几…

JAVA的版本

Java的版本开始还正常&#xff1a;1.0 ->1.1 顺序增加&#xff0c;到了2004年&#xff0c;不知什么原因1.5又有了新的平行名字5&#xff0c;这样Java 1.6对应Java6&#xff0c;一直到Java1.8 对应 Java8&#xff0c;然后到在2017年彻底没了Java1.9,只有Java9了。好吧这可以忍…

椭圆距离计算的简单方法

分析发现找到点到椭圆的最近距离等价于求解一元四次方程。想象一下一个圆和一个椭圆最多相交四次。从这个观点出发,问题转化为找到与椭圆仅相交一次的圆。如果用四次方程表示,其中两个根将在交点处共享,而另外两个根将会是复数。 尽管四次方程的封闭解确实存在,但迭代方法更…

言语理解(2)

B B出现在文章中的第一句话&#xff0c;属于转折前的内容非重点 在这一过程中&#xff0c;属于对前面的指代&#xff0c;后面可以引出文章中的中心内容 A D没有提及到农村&#xff0c;C选项和文段中的最后一句话是相契合的 B 色彩是文章中的主题词&#xff0c;不过属于转折&…

代码随想录算法训练营第59天|卡码网 47. 参加科学大会、94. 城市间货物运输 I

1. 卡码网 47. 参加科学大会 题目链接&#xff1a;https://kamacoder.com/problempage.php?pid1047 文章链接&#xff1a;https://www.programmercarl.com/kamacoder/0047.参会dijkstra堆.html#总结 思路依然是 dijkstra 三部曲&#xff1a; 1.第一步&#xff0c;选源点到哪个…

Hadoop HDFS命令操作实例

一.创建与查看HDFS目录 每次重启后&#xff0c;Jps和java -version执行出来的结果不符合就使用 source ~/.bash_profile 是在 Unix/Linux 系统上用来重新加载用户的 Bash 配置文件 ~/.bash_profile 的命令。这条命令的作用是使得当前的 Bash 环境重新读取并应用 ~/.bash_pro…

Android studio安装问题及解决方案

Android studio安装问题及解决方案 gradle已经安装好了&#xff0c;但是每次就是找不到gradle的位置&#xff0c;每次要重新下载&#xff0c;很慢&#xff0c;每次都不成功 我尝试用安装android studio时自带的卸载程序&#xff0c;卸载android studio&#xff0c;然后重新下…

Centos8.5.2111(2)之基于docker容器的SELinux及防火墙配置与管理

对于Linux服务器而言&#xff0c;常用netfilter/iptables数据包过滤系统。Centos 8采用了firewalld取代了iptables。firewalld和iptables其实都不是真正的防火墙&#xff0c;只是定义策略的防火墙工具而已。 SELinux全称为“Security-Enhanced Linux”&#xff0c;是安全增强型…

移情别恋c++ ദ്ദി˶ー̀֊ー́ ) ——15.红黑树

1.红黑树的概念 红黑树&#xff0c;是一种二叉搜索树&#xff0c;但在每个结点上增加一个存储位表示结点的颜色&#xff0c;可以是Red或 Black。 通过对任何一条从根到叶子的路径上各个结点着色方式的限制&#xff0c;红黑树确保没有一条路 径会比其他路径长出俩倍&#xff0c;…

产品包装检测系统源码分享

货架产品包装检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer…

Java文件I/O处理之RandomAccessFile【随意存取文件】

Java语言有一个处理文件输入输出的RandomAccessFile类&#xff0c;既可以读取文件内容&#xff0c;也可以向文件输出数据。 RandomAccessFile类在国内的技术文档和书籍中都翻译为“随机访问文件”类&#xff0c;确实令人不解。 在中文中“随机”的意思&#xff1a; 不设任何条…

流量新密码?AI宠物定制写真在小红书爆火,有人搞了10W+

大家好&#xff0c;我是灵魂画师向阳 不知道大家发现没&#xff1f;消费者对于情感价值的需求猛增&#xff0c;宠物服务行业衍生出越来越多的“拟人化”新业态。 宠物摄影和写真成为宠物经济中的新兴行业&#xff0c;吸引了越来越多的摄影师和养宠人的关注。 一些摄影师和摄…

《开题报告》基于SSM框架的电影评论网站的设计与实现源码++学习文档+答辩讲解视频

开题报告 研究背景 随着互联网技术的飞速发展&#xff0c;网络已成为人们获取信息、交流思想、分享体验的重要平台。在电影产业蓬勃发展的今天&#xff0c;观众对于电影的选择不再仅仅依赖于传统的宣传渠道&#xff0c;而是更加倾向于通过在线平台了解影片内容、观看预告片、…