首页 > 系统相关 >linux C高级(持续更新中)

linux C高级(持续更新中)

时间:2024-11-19 11:17:29浏览次数:3  
标签:Shell 软件包 sudo 高级 更新 命令 apt linux 软件

linux介绍

1.1.不同操作系统的内核:

windows - NT

ubuntu - linux

Android - linux

macOs ios - unix

1.2.查看系统版本

查看操作系统版本

lsb_release -a 或者 -r

cat /etc/issue ---> 文件中查看

查看内核版本

uname -a 或者 -r

cat /proc/version ---> 文件中查看

1.3.内核系统架构

应用层:app、shell命令

| |shell解析器

C库 |

|

-------------系统调用----------------------------

内核层:五大功能

内存管理

文件管理

设备管理

网络管理

进程管理

----------------------------------------------------

硬件层:鼠标、键盘、lcd等

1.4.系统关机或重启命令

关机:

sudo shutdown -h now : 立即关机

sudo shutdown -h +时间 "提示语句" :定时关机 min为单位

sudo shutdown -h 时间

重启:

sudo shutdown -r now :立即重启

sudo shutdown -r +时间 :定时重启

sudo shutdown -r 时间 

例:这种是错误的

sudo reboot now : 立即重启

1.5.网络配置

  1. 虚拟机提供的网络类型
  1. 桥接模式:主机和虚拟机分别拥有不同的ip地址,可以实现和外界设备通信
  2. NAT模式:也可以联网,但是和主机共用同一个ip地址,外界无法识别虚拟机和主机发送的信息
  3. 仅主机模式:不能联网,只能和主机通信

  1. 如何查看虚拟机是否联网

ping www.baidu.com

说明虚拟机可以联网

  1. 配置桥接网络
  1. 保证虚拟机提供了桥接模式

菜单栏中----->虚拟机----->设置---->网络适配器---->桥接模式

  1. 保证虚拟机可以设置桥接网络

菜单栏----->编辑------>虚拟网络编辑器

更改设置(如没有桥接模式)----->添加网络(添加桥接网络)

问题:无法添加桥接网络

  1. 尝试还原默认设置后,再重新添加桥接网络
  2. 如果1没有用,找到VMware的软件安装包,双击安装包修改该软件
  3. 如果1和2都没有用,安装更高版本的VMware

桥接到主机的网卡

如果自动失败,手动找到主机的网卡

1) 找到网络---->属性

  1. 描述的位置即是主机的网卡

3. 找到主机网卡后,不选自动直接桥接到主机具体的网卡

1.6.Linux下的软件安装

两种软件包管理机制:

debian linux:deb软件包 - Ubuntu用的是这个

redhat linux: rpm软件包

deb软件包分为两种:

二进制软件包(deb):.deb - 安装软件的软件包

源码包(deb-src) :dsc

软件包命名

1.6.1.软件包的管理工具(指令):dpkg apt

  1. dpkg

特点:安装时需要软件包存在,不需要从镜像站点获取软件包。

不需要网络,不能检查软件之间的依赖关系。

使用格式:

sudo dpkg  -i  完整软件名:                          离线安装    install   —— 安装

注意:可以输入sl然后按下Tab按键。会自动打出其余字母

sudo dpkg     -r  完整软件名                        :离线卸载(不完全卸载)    remove   --去除

sudo   dpgk   -p   完整软件名                    :     离线卸载(  完全卸载)purge——清除

sudo dpkg    -l  (里面写的是L)                                 :查看磁盘中有那些软件安装包,以及安装状态。

sudo dpkg   -s        完整软件名                             :查看软件的安装状态 state(状态)

2)apt

特点:安装时不需要软件包存在,需要从镜像站点获取软件包。

            需要网络,需要检查软件之间的依赖关系

sudo apt-get   install      软件名(可以不完整) :下载并安装软件

sudo apt-get remove      软件名(可以不完整):卸载软件     remove   --去除

sudo apt-get remove --purge  软件名(可以不完整):完全卸载   purge——清除

sudo apt-get   clear  :清除下载的软件包。

sudo apt-get  download 软件名:只下载软件包

执行download命令会出现的问题

原因:只让虚拟机下载了软件包,并没有安装软件包的权限

sudo apt-get  upgrade 软件名:更新软件(若不写软件名,会全部更新能更新的全部软件)

sudo apt-get  update  :更新源       update ——更新

更新软件源

更新ubuntu下载软件的来源

因为Ubuntu默认的是国外的软件源,更新成国内的软件源

国内的软件源有哪些?

清华源:ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

阿里源:ubuntu镜像_ubuntu下载地址_ubuntu安装教程-阿里巴巴开源镜像站

163源、中科大源

需要修改/ect/apt/sources.list文件(该文件是Ubuntu下载软件时默认查找的网址

更新软件源:
1、将原来的软件源保存一份,sudo cp /etc/apt/sources.list  /etc/apt/sources.list.bak
2、sudo vi /etc/apt/source.list文件,把从网页中拷贝的清华源的内容,复制到sources.list中
wq!强制保存退出

将国内源中的软件列表更新到本地

sudo apt-get update

软件包默认存放位置:

/var/cache/apt/archives -》安装的软件的安装包默认存放的路径

shell的基本命令

2.1shell 的介绍:

shell是命令解析器

用户、shell、内核、硬件之间的关系:

用户在命令行提示符下键入命令文本,开始与Shell进行交互。

接着,Shell将用户的命令或按键转化成内核所能够理解的指令

控制操作系统做出响应,直到控制相关硬件设备。

然后,Shell将输出结果通过Shell提交给用户。

解析器分类

Bourne Shell(简称sh):Bourne Shell由AT&T贝尔实验室的S.R.Bourne开发,也因开发者的姓名而得名。它是Unix的第一个Shell程序,早已成为工业标准。目前几乎所有的Linux系统都支持它。不过Bourne Shell的作业控制功能薄弱,且不支持别名与历史记录等功能。目前大多操作系统是将其作为应急Shell使用。

C Shell(简称csh):C Shell由加利福尼亚大学伯克利分校开发。最初开发的目的是改进Bourne Shell的一些缺点,并使Shell脚本的编程风格类似于C语言,因而受到广大C程序员的拥护。不过C Shell的健壮性不如Bourne Shell。

Korn Shell(简称ksh):Korn Shell由David Korn开发,解决了Bourne Shell的用户交互问题,并克服了C Shell的脚本编程怪癖的缺点。Korn Shell的缺点是需要许可证,这导致它应用范围不如Bourne Shell广泛。

Bourne Again Shell(简称bash):Bourne Again Shell由AT&T贝尔实验室开发,是Bourne Shell的增强版。随着几年的不断完善,已经成为最流行的Shell。它包括了早期的Bourne Shell和Korn Shell的原始功能,以及某些C Shell脚本语言的特性。此外,它还具有以下特点:能够提供环境变量以配置用户Shell环境,支持历史记录,内置算术功能,支持通配符表达式,将常用命令内置简化。

2.2shell命令格式:

通常一条命令包含三个要素:命令名称、选项、参数。其中命令名称是必须的,选项和参数根据实际情况进行填写

Command [-Options] Argument1 Argument1 ……

Command

shell命令名称,严格区分大小写

Options

shell命令选项,每一个参数都需要添加"-"进行引导

Argument1

shell命令参数,一条命令的参数大于等于0个,且多个参数的情况需要利用空格进行隔开

注意:

  1. 一条命令的三要素之间要用空格隔开
  2. 若一行书写多个命令,需要使用分号(;),进行隔开。例:

  3. 如果一条命令不能再一行内写完,需要在行尾使用反斜杠\表示命令没有结束:例:

history-历史记录查询:

直接执行history显示HISSIZE条历史记录

history 10 ——>只显示10条历史记录

echo $HISTSIZE——>在终端显示环境变量HISTSIZE的值

家目录下隐藏文件 .bash_history 保存历史记录,保存HISTFILESIZE条

终端关闭,终端上执行的命令刷新到文件中

环境变量(历史指令记录)的值可以被更改:

export     HISTSIZE=10         注:只限当前终端有效。临时修改显示多少条修改记录。

家目录下文件.bashrc中修改就是永久修改,修改完成,在新打开的终端生效。例:

2.3.shell中的特殊字符

2.3.1.通配符

当用户需要用命令处理一组文件,例如 file1.txt、file2.txt、file3.txt、file4.txt ……,用户不必输入所有文件名。可以使用shell通配符。

2.3.1.1 通配符  *

通配符 *   作用:匹配任意长度的字符

两种方式:

1、与文件名一起使用,表示文件名相同的都会匹配上

2、单独使用*,表示全部文件

例:

2.3.1.2 通配符  ?

通配符   ?    作用: 匹配一个长度的字符

例:用 file_?.txt,匹配 file_1.txt file_2.txt 能匹配到的,file_11.txt则匹配不到

注:一个?只能匹配一个字符
2.3.1.3 通配符  []

格式:通配符    [字符串]    作用:匹配其中指定长度的字符串

例:

2.3.1.4 通配符  [ - ]

格式:通配符[起始字符  -  结束字符]      作用:指定一个字符范围

例:

2.3.1.5 通配符  { .. }

格式:通配符  {起始字符 .. 结束字符}    作用:用于创建使用{}。

例:

2.3.1.6 通配符 [ [ : lower : ] ]

[ [ : lower : ] ]   作用:指定所有小写字符为范围 

2.3.1.7 通配符  [ [ : upper : ] ]

[ [ : upper : ] ]   作用 :指定所有大写字符为范围

2.3.2. 管道 |

将前一个命令的输出作为后一个命令的输入

cat xxx.c | wc -l ---> 将cat输出到终端的内容作为 wc -l 的输入,计算行数

补充:wc -l 文件名:文件行数

wc -c 文件夹名:文件字符个数

wc -m 文件名:计算文件字节大小

wc -w 文件名:文件单词个数

2.3.3. 输入输出重定向

2.3.3.1输出重定向

格式:  命令  >  file(文件名)  :将文件作为输出目标,即将命令执行后的结果输出到文件上,

注:file文件不存在也关系(会被创建出来)会把之前的内容覆盖掉

若不想覆盖则:

命令 >> file(文件名):文件存在内容的话会追加。(可应用所有输出定向)

以上只能输出正确结果,若想命令产生的错误信息输入到文件当中,则:

命令  &>  file(文件名)  或  命令   2>file(文件名)

2.3.3.1输入重定向(用于测试,或不想多次输入)

格式 : 命令  <  file (文件名) :将文件内容作为命令的输入。

2.3.4.命令置换符 

` `或者$()

将一个命令的输出作为另一个命令的参数

例:

2.3.5.系统维护命令

    

标签:Shell,软件包,sudo,高级,更新,命令,apt,linux,软件
From: https://blog.csdn.net/2403_88313638/article/details/143846569

相关文章

  • 【Linux-进程信号】详谈信号捕捉
    详谈信号捕捉内核如何实现信号的捕捉如果信号的处理动作是用户自定义函数(调用signal函数自定义处理函数),在信号递达时就调用这个函数,这称为信号捕捉。由于信号处理函数的代码是在用户空间的,处理过程比较复杂典型的操作系统中信号处理的机制1.进入内核态:当程序因为中断、异......
  • Linux
    JupyterLab一个交互式的编程和教学环境,同时内置终端,可以很方便地查看文件,执行代码等AutoDL就是用的这个终端(Terminal,最轻量级)主要进行命令行操作,或者运行脚本和简单程序远程连接VSCode什么是SSH?SSH全称SecureShell,中文翻译为安全外壳。它是一种网络安全协议。通过加密和......
  • 【迅为】瑞芯微itop-RK3568开发板Linux+HAL启动测试
    迅为iTOP-RK3568开发板AMP AMPSDK支持Rockchip平台异构多系统AMP(非对称多核架构)的开发软件包,支持Linux(Kernel)、Standalone(Hal)、RTOS(RT-Thread)组合AMP构建形式。可以满足一些特定行业应用,如电力物联网、电网继电保护、电力系统安全控制、工业自动化的需求。     ......
  • Python实现文件夹上传到Linux服务器(带日志功能)
    功能概述实现一个FileUploader类,用于将本地文件夹及其子文件上传到Linux服务器的指定目录,并支持:冲突处理策略:覆盖:直接覆盖远程文件。跳过:跳过已存在的远程文件。重命名:避免冲突,为文件生成唯一名称。日志功能:记录上传成功的文件(upload_success.log)。记录上传失败......
  • Linux 链式与层级中断控制器讲解:原理与驱动开发
    往期内容本专栏往期内容,interrtupr子系统:深入解析Linux内核中断管理:从IRQ描述符到irqdomain的设计与实现Linux内核中IRQDomain的结构、操作及映射机制详解中断描述符irq_desc成员详解Linux内核中断描述符(irq_desc)的初始化与动态分配机制详解中断的硬件框架GIC介绍......
  • AlmaLinux 9.5 正式版发布 - RHEL 二进制兼容免费发行版
    AlmaLinux9.5正式版发布-RHEL二进制兼容免费发行版由社区提供的免费Linux操作系统,RHEL二进制兼容发行版请访问原文链接:https://sysin.org/blog/almalinux-9/查看最新版。原创作品,转载请保留出处。作者主页:sysin.org由社区提供的免费Linux操作系统一个开源、社区......
  • 安装宝塔解析后网站打不开linux
    当你在Linux上安装了宝塔面板并配置了解析,但网站仍然无法访问时,可以按照以下步骤进行排查和解决:检查域名解析是否生效确认域名已经正确解析到服务器的IP地址。可以通过 ping 命令或在线的DNS查询工具来验证。检查防火墙设置确保服务器的防火墙允许HTTP(80端口)和H......
  • 如何理解OpenWRT上的SquashFS 和 OverlayFS 机制,它们何区别?以OpenFi 5Pro为例讲解这两
    如何理解OpenWRT上的SquashFS和OverlayFS机制,它们何区别?以OpenFi5Pro为例讲解这两者之间的关系,以及Linux的squashfs固件类型1.SquashFS和OverlayFS机制2.文件修改和保存原理文件修改时的行为:3.分区布局示例4.检查你的设备`overlay`使用情况5.`overlay`分......
  • linux之find
    find按照文件名称查找-name""查找文件、目录-typef/-typed按照文件、目录大小-size按照文件、目录时间-atime-ctime文件类型-typefdlc(dev/nulldev/zero)b(磁盘、光盘)1.查找大文件[root@m01var]#find/-typef-size+1G2>/dev/null/proc/k......
  • linux 启动数据库和Teamcenter
    1.启动数据库:[infodba@tc24vm~]$exportORACLE_HOME=usr/apps/LINUX.X64_193000_db_home[infodba@tc24vm~]$exportORACLE_HOME=/usr/apps/LINUX.X64_193000_db_home[infodba@tc24vm~]$exportORACLE_SID=tc[infodba@tc24vm~]$cd$ORALCE_HOME[infodba@tc24vm~]$cd$OR......