Linux的使用总结

Linux

1. Linux 内核知识

1.1 内核源码目录

路径存放内容
/arch不同CPU架构下的核心代码。其中的每一个子目录都代表Linux支持的CPU架构 ,比如arm,x86,MIPS,PPC等
/blockblock目录下放的是一些linux存储体系中关于块设备管理的代码;譬如说SD卡、iNand、Nand、硬盘等都是块设备。你几乎可以认为块设备就是存储设备
/crypto常见的加密算法的C语言实现代码,譬如crc32、md5、sha1等
/Documentation说明文档,对每个目录的具体作用进行说明
/drivers内核中所有设备的驱动程序,其中的每一个子目录对应一种设备驱动
/firmware固件代码,固件其实是软件,不过这个软件是固话到IC里面运行的,所以叫固件
/fsLinux支持的文件系统代码,及各种类型的文件的操作代码。每个子目录都代表Linux支持的一种文件系统类型
/include头文件目录,公共的(各种CPU架构共用的)头文件都在这里。每种CPU架构特有的一些头文件在arch/arm/include目录及其子目录下
/initinit是初始化的意思,这个目录下的代码就是linux内核启动时初始化内核的代码
/ipc内核中进程间的通信代码
/kernelLinux核心功能源码,主要包括程序调度,控制进程,模块化等等
/liblib是库的意思,这里面都是一些公用的有用的库函数,注意这里的库函数和C语言的库函数不一样的。在内核编程中是不能用C语言标准库函数,这里的lib目录下的库函数就是用来替代那些标准库函数的。比如在内核中要把字符串转成数字用atoi,但是内核编程中只能用lib目录下的atoi函数,不能用标准C语言库中的atoi。再比如在内核中要打印信息时不能用printf,而要用printk,这个printk就是我们这个lib目录下的
/mm内存管理代码,譬如页式存储管理内存的分配和释放等
/net网络通信相关代码 ,譬如TCP/IP协议栈等都在这里
/samples内核编程的示例代码
/scripts脚本,这个目录下全部是脚本文件,这些脚本文件不是linux内核工作时使用的,而是用来辅助对linux内核进行配置编译生成的,比如裁剪内核等等
/security安全性相关的代码
/sound音频设备的驱动程序
/toolsLinux中的常用工具
/usr内核启动相关的代码
/virt内核虚拟机相关的代码
/KbuildKbuild是kernel build的意思,就是内核编译的意思。这个文件就是linux内核特有的内核编译体系需要用到的文件
/Makefile这个是linux内核的总makefile,整个内核工程是用这个Makefile来管理的

1.2 内核修改

1.3 内核编译

1.4 内核启动流程

参考链接

  1. openEuler x86_64 extract-vmlinux生成内核vmlinux 源码编译生成vmlinux 配置kdump crash分析内核崩溃kernel panic
  2. CentOS7删除多余无用内核教程,释放/boot分区空间
  3. Linux–vmlinuz、vmlinux、initrd
  4. rootfs——InitRamdisk & InitRamfs 介绍和使用
  5. 关于initrd和initramfs
  6. OpenEuler内核编译及替换
  7. LINUX内核——初探(内核配置和编译生成VMLINUX,ZIMAGE,UIMAGE文件及其内核安装)
  8. Linux 系统启动过程
  9. linux内核编译及config配置

2. Linux 目录结构

在 Linux 系统中,所有内容都是以文件的形式保存和管理的,即「一切皆文件」。普通文件是文件,目录(Windows 下称为文件夹)是文件,硬件设备(键盘、监视器、硬盘、打印机)是文件,就连套接字(socket)、网络通信等资源也都是文件。
linux只有一个根目录,而且文件和目录被组织成一个单根倒置树结构,此结构最上层是根目录,用“/”表示根文件系统(rootfs):root filesystem 标准Linux文件系统(如:ext4),如下图:

图 0

关于目录结构:

  • 系统启动必须项:

    • /boot:这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。如kernel,grub(引导装载程序)等
    • /etc:etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。更改目录下的文件可能会导致系统不能启动。
      • /etc/resolv.conf linux系统DNS客户端配置文件,DNS(Domain Name System)在网站的运行中起到了至关重要的作用,其主要负责将网站域名解析为对应的IP地址。
      • /etc/hostname 主机名配置文件 hostnamectl set-hostname itlaoxin 这个命令会直接修改配置文件
      • /etc/hosts 设定用户IP与名字(或域名)的对应解析表,相当于本地(局域网内)的DNS解析文件,Linux系统下的这个/etc/hosts类似于C:\WINDOWS\system32\drivers\etc\hosts文件
      • /etc/fstab:配置开机设备自动挂载的文件
      • /etc/inittab:系统启动时设定运行级别等配置的文件
      • /etc/profile及/etc/bashrc:配置系统的环境变量/别名等的文件
      • /etc/profile.d:用户登录后执行的脚本所在的目录
      • /etc/init.d:软件启动程序所在的目录(centos7之前),centos7之后这个目录已经不用了。
      • /etc/motd:配置用户登录系统之后显示提示内容的文件
      • /etc/redhat-release:查看Red Hat版本号和名称信息的文件
      • /etc/sysctl.conf:Linux内核参数设置文件
    • /lib:lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。
    • /sys:这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
  • 运行过程中要用:

    • /var:var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。mysql: /var/lib/mysql,vsftpd: /var/ftp,mail: /var/spool/mail,cron: /var/spool/cron
      • /var/log:记录系统及软件运行信息文件所在的目录
      • /var/log/secure:用户登录信息日志文件
      • /var/log/dmesg:记录硬件信息加载情况的日志文件
      • /var/tmp:临时文件 (主要是程序产生的临时文件)
    • /proc:proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件。这个目录是一个虚拟的目录,它是系统内存的映射,反映出来的是内核,进程信息或实时状态,我们可以通过直接访问这个目录来管理内存空间、获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
      • /proc/cpuinfo 当前cpu相关的信息
      • /proc/meminfo 当前内存信息
      • /proc/loadavg 当前平均负载相关的信息
      • /proc/mounts 当前挂载相关的信息
  • 账户:

    • /root:
      该目录为系统管理员,也称作超级权限者的用户主目录。
    • /home:用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
    • /usr:usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。
      • /usr/local:相当于C:\Program
      • /usr/bin:系统用户使用的应用程序。
      • /usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
      • /usr/src:内核源代码默认的放置目录。
        指令集和:
    • /bin:bin 是 Binaries (二进制文件) 的缩写,这个目录存放着最经常使用的命令。/bin、/usr/bin 是给系统用户使用的指令(除 root 外的通用用户),而/sbin, /usr/sbin 则是给 root 使用的指令。
    • /sbin:s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。
  • 外部文件管理:

    • /dev:dev 是 Device(设备) 的缩写,该目录下存放的是 Linux 的外部设备。如 /dev/sda,/dev/tty1,dev/tty2,/dev/pts/1等。在 Linux 中访问设备的方式和访问文件的方式是相同的。
    • /media:linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。
    • /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。misc automount进程挂载,net automount进程挂载
      临时文件:
    • /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。
    • /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
    • /tmp:tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。
  • 扩展用的:

    • /opt:opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的
    • /srv:该目录存放一些服务启动之后需要提取的数据。(不用服务器就是空)
    • /selinux:这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。

参考链接:
Linux知识分享|Linux目录结构(最全最详细)
Linux 系统目录结构

3. Linux 命令总结

  • 关机/重启/注销

    • 关机

      shutdown -h now          // 即刻关机
      shutdown -h 10           // 10分钟后关机
      shutdown -h 11:00        // 11:00关机
      shutdown -h +10          // 预定时间关机(10分钟后)
      shutdown -c              // 取消指定时间关机 
      init 0                   // 立刻关机
      telinit 0                // 关机
      poweroff                 // 立刻关机
      halt                     // 关机
      
    • 重启

      shutdown -r now          // 重启
      shutdown -r 10           // 10分钟之后重启
      shutdown -r 11:00        // 定时重启
      reboot                   // 重启
      init 6                   // 重启
      
    • 注销

      logout                   // 退出登录Shell
      
    • buff数据同步到磁盘

      sync                     // buff数据同步到磁盘
      
  • 系统信息和性能查看

    • 查看内核/CPU等信息

      uname -a                 // 查看内核/OS/CPU信息
      uname -r                 // 查看内核版本
      uname -m                 // 查看处理器架构
      arch                     // 查看处理器架构
      cat /proc/cpuinfo        // 查看CPU信息
      
    • 查看内存信息

      grep MemTotal /proc/meminfo // 查看内存总量
      grep MemFree /proc/meminfo  // 查看空闲内存量
      free -m                     // 查看内存⽤量和交换区⽤量
      
    • 查看系统信息

      hostname                 // 查看计算机名
      cat /proc/version        // 查看linux版本信息
      env                      // 查看系统的环境变量
      lsusb -tv                // 查看系统USB设备信息
      lspci -tv                // 查看系统PCI设备信息
      lsmod                    // 查看已加载的系统模块
      date                     // 显示系统⽇期时间
      cal 2021                 // 显示2021⽇历表
      cat /proc/interrupts     // 查看中断
      cat /proc/loadavg        // 查看系统负载
      uptime                   // 查看系统运⾏时间、⽤户数、负载
      
    • 进程

      ps -ef                   // 查看所有进程
      ps -ef | grep <key>      // 过滤出你需要的进程
      kill -s <name>           // kill指定名称的进程
      kill -s <pid>            // kill指定pid的进程
      
    • 查看系统动态信息

      top                      // 动态显示cpu/内存/进程等情况
      vmstat 1 20              // 每1秒采⼀次系统状态,采20次
      iostat                   // 查看io读写/cpu使⽤情况
      sar -u 1 10              // 查询cpu使⽤情况(1秒⼀次,共10次)
      sar -d 1 10              // 查询磁盘性能
      
  • ⽹络管理

    • 查看网络信息

      ifconfig                   // 查看⽹络接⼝属性
      ifconfig eth0              // 查看某⽹卡的配置
      iptables -L                // 查看iptables规则
      host www.codesheep.cn      // 解析主机名
      nslookup www.codesheep.cn  // 查询DNS记录,查看域名解析是否正常
      netstat -lntp              // 查看所有监听端⼝
      netstat -antp              // 查看已经建⽴的TCP连接
      netstat -lutp              // 查看TCP/UDP的状态信息
      route -n                   // 查看路由表
      
    • 管理网络

      ifconfig eth0 192.168.1.1 netmask 255.255.255.0  // 配置ip地址
      ifup eth0                                        // 启⽤eth0⽹络设备
      ifdown eth0                                      // 禁⽤eth0⽹络设备
      dhclient eth0                                    // 以dhcp模式启⽤eth0
      route add -net 0/0 gw Gateway_IP                 // 配置默认⽹关
      route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1  // 配置静态路由到达⽹络'192.168.0.0/16'
      
  • 磁盘和分区

    • 查看磁盘及分区

      fdisk -l                     // 查看所有磁盘分区
      swapon -s                    // 查看所有交换分区
      df -h                        // 查看磁盘使⽤情况及挂载点
      du -sh /dir                  // 查看指定某个⽬录的⼤⼩
      du -sk * | sort -rn          // 从⾼到低依次显示⽂件和⽬录⼤⼩
      
    • 挂载磁盘

      mount /dev/hda2 /mnt/hda2            // 挂载hda2盘
      mount -t ntfs /dev/sdc1 /mnt/usbhd1  // 指定⽂件系统类型挂载(如ntfs)
      mount -o loop xxx.iso /mnt/cdrom     // 挂载iso⽂件
      mount /dev/sda1 /mnt/usbdisk         // 挂载usb盘/闪存设备
      umount -v /dev/sda1                  // 通过设备名卸载
      umount -v /mnt/mymnt                 // 通过挂载点卸载
      fuser -km /mnt/hda1                  // 强制卸载(慎⽤)
      
  • ⽤户和⽤户组

    • 查看用户信息

      who           // 显示当前登录系统的⽤户
      who am i      // 显示登录时的⽤户名
      whoami        // 显示当前⽤户名
      
    • 创建用户和用户组

      useradd <user_name>     // 创建⽤户
      groupadd <group_name>   // 创建⽤户组
      
    • 修改用户和用户组

      usermod -g <group_name> <user_name>    // 修改⽤户的组
      usermod -aG <group_name> <user_name>   // 将⽤户添加到组
      usermod -s /bin/ksh -d /home/codepig –g dev codesheep  // 修改⽤户codesheep的登录Shell、主⽬录以及⽤户组
      passwd                                 // 修改⼝令
      passwd <user_name>                     // 修改某⽤户的⼝令
      groupmod -n <new_name> <old_name>      // 重命名⽤户组
      
    • 查看用户和用户组

      groups <user_name>       // 查看user_name⽤户所在的组
      w                        // 查看活动⽤户
      id <user_name>           // 查看指定⽤户codesheep信息
      last                     // 查看⽤户登录⽇志
      crontab -l               // 查看当前⽤户的计划任务
      cut -d: -f1 /etc/passwd  // 查看系统所有⽤户
      cut -d: -f1 /etc/group   // 查看系统所有组
      
    • 删除用户和用户组

      userdel -r <user_name>    // 删除⽤户
      groupdel <group_name>     // 删除⽤户组
      
    • 切换用户

      su - <user_name>          // 完整切换到⼀个⽤户环境
      
  • 系统服务命令

    • 查看服务

      chkconfig --list                 // 列出系统服务
      service <service_name> status    // 查看某个服务
      systemctl status <service_name>  // 查看某个服务
      
    • 启动服务

      service <service_name> start    // 启动某个服务
      systemctl start <service_name>  // 启动某个服务
      
    • 终止服务

      service <service_name> stop     // 终⽌某个服务
      systemctl stop <service_name>   // 终⽌某个服务
      
    • 重启服务

      service <service_name> restart    // 重启某个服务
      systemctl restart <service_name>  // 重启某个服务
      
    • 服务自启动

      systemctl enable <service_name>   // 开启⾃启动
      systemctl disable <service_name>  // 关闭⾃启动
      
  • ⽂件和⽬录操作

    • 切换目录

      cd <dir_name>   // 进⼊某个⽬录
      cd              // 进个人主⽬录
      cd -            // 回上一步所在的⽬录
      
    • 查看目录和文件

      pwd             // 显示当前路径
      ls              // 查看⽂件⽬录列表
      ls -F           // 查看⽬录中内容(显示是⽂件还是⽬录)
      ls -l           // 查看文件和目录的详情列表
      ls -a           // 查看隐藏文件
      ls -lh          // 查看文件和目录的详情列表(增强文件大小易读性)
      ls -lSr         // 查看文件和目录的树形结构
      
    • 创建目录和文件

      mkdir <dir>            // 创建目录
      mkdir <dir1> <dir2>    // 同时创建两个目录
      mkdir -p </dir1/dir2>  // 创建目录树
      
    • 移除目录和文件

      rm -f <file1>            // 删除file1文件
      rmdir <dir1>             // 删除dir1目录
      rm -rf <dir1>            // 删除dir1目录及其内容
      rm -rf <dir1> <dir2>     // 同时删除多个目录及其内容
      
    • 移动/复制目录和文件

      mv <old_dir> <new_dir>   // 重命名/移动目录
      cp <file1> <file2>       // 复制文件
      cp -a <dir1> <dir2>      // 复制目录
      
    • 建立链接

      ln -s <file1> <link1>    // 创建指向文件/目录的软链接
      ln <file1> <link1>       // 创建指向文件/目录的物理链接
      
    • 查找文件

      find / -name <file1>     // 从根目录开始搜索文件/目录
      find / -user <user1>     // 从根目录开始搜索用户user1的文件/目录
      find /dir -name *.bin    // 在目录/dir中搜索带有.bin后缀的文件
      locate <file>            // 快速定位文件
      locate*.mp4              // 寻找.mp4结尾的文件
      whereis <file>           // 显示某二进制文件/可执行文件的路径
      which <file>             // 查找系统目录下某二进制文件
      
    • 修改目录和文件的权限属性

      chmod ugo+rwx <dir1>     // 设置目录所有者(u)、群组(g)及其他人(o)的读(r)(w)执行(x)权限
      chmod go-rwx <dir1>      // 移除群组与其他人对目录的读写执行权限
      chown <user1> <file1>    // 改变文件的所有者属性
      chown -R <user1> <dir1>  // 改变目录的所有者属性
      chgrp <group1> <file1>   // 改变文件群组
      chown <user1>:<group1> <file1>  // 改变文件的所有人和群组
      
    • 查看文件内容

      cat <file>                    // 查看文件内容
      cat -n <file>                 // 查看内容并标示行数
      cat <file> | awk 'NR%2==1'    // 查看文件的奇数行
      tac <file>                    // 从最后一行开始反看文件内容
      more <file>                   // 查看一个长文件内容
      less <file>                   // 类似more命令,但允许反向操作
      head -2 <file>                // 查看文件前两行
      tail -2 <file>                // 查看文件后两行
      tail -f <file>                // 实时查看添加到文件中的内容
      
    • 在文件中查找内容

      grep <key> <file>            // 在文件中查找关键词
      grep ^<key> <file>           // 在文件中查找以<key>开头的内容
      grep [0-9] <file>            // 在文件中查找所有包含数字的行
      
    • 修改文件中的内容

      linux中三剑客:grep(过滤文本)、sed(修改文本)、awk(处理文本)

      sed 's/s1/s2/g' <file>           // 将文件中的s1替换成s2
      sed '/^$/d' <file>               // 从文件中删除所有空白行
      sed '/ *#/d;/^$/d' <file>        // 从文件中删除所有注释和空白行
      sed -e '1d' <file>               // 从文件中排除第一行
      sed -n '/s1/p' <file>            // 查看只包含关键词's1'的行
      sed -e 's/ *$//' <file>          // 删除每一行最后的空白字符
      sed -e 's/s1//g' <file>          // 从文件中删除词汇s1
      sed -n '1,5p;5q' <file>          // 查看文件从第一行到第五行内容
      sed -n '5p;5q' <file>            // 查看文件第五行
      paste <file1> <file2>            // 合并两个文件或两栏内容
      paste -d '+' <file1> <file2>     // 合并两个文件或两栏内容,中间用'+'区分
      sort <file1> <file2>             // 排序两个文件的内容
      sort <file1> <file2> | uniq      // 排序两个文件的内容,删除重复行 
      sort <file1> <file2> | uniq -u   // 排序两个文件的内容,仅显示出现一次的行列
      sort <file1> <file2> | uniq -d   // 排序两个文件的内容,仅显示重复出现的行列
      comm -1 <file1> <file2>          // 比较两个文件的内容(去除file1所含内容)
      comm -2 <file1> <file2>          // 比较两个文件的内容(去除file2所含内容)
      comm -3 <file1> <file2>          // 比较两个文件的内容(去除两个文件共有部分)
      
  • 打包和解压

    • zip

      zip <xxx>.zip <file>                     // 压缩至zip包
      zip -r <xxx>.zip <file1> <file2> <dir>   // 将多个文件+目录压成zip包
      unzip <xxx>.zip                          // 解压zip包
      
    • tar

      tar -cvf <xxx>.tar <file>                 // 创建非压缩tar包
      tar -cvf <xxx>.tar <file1> <file2> <dir>  // 将多个文件+目录打tar包
      tar -tf <xxx>.tar                         // 查看tar包内容
      tar -xvf <xxx>.tar                        // 解压tar包
      tar -xvf <xxx>.tar -C /<dir>              // 将tar包解压至指定目录
      
    • gzip

      tar -cvfz <xxx>.tar.gz <dir>   // 创建gzip压缩包
      tar -zxvf <xxx>.tar.gz         // 解压gzip压缩包
      gunzip <xxx>.gz                // 解压gzip压缩包
      gzip <file>                    // 压缩文件
      gzip -9 <file>                 // 最大程度压缩
      
    • bz2

      tar -cvfj <xxx>.tar.bz2 <dir>  // 创建bz2压缩包
      tar -jxvf <xxx>.tar.bz2        // 解压bz2压缩包
      bunzip2 <xxx>.bz2              // 解压bz2压缩包
      bzip2 <file>                   // 压缩文件
      
  • 软件/安装包管理

    • RPM包管理命令

      rpm -qa                       // 查看已安装的rpm包
      rpm -q <pkg_name>             // 查询某个rpm包
      rpm -q --whatprovides <xxx>   // 显示xxx功能是由哪个包提供的
      rpm -q --whatrequires <xxx>   // 显示xxx功能被哪个程序包依赖的
      rpm -q --changelog <xxx>      // 显示xxx包的更改记录
      rpm -qi <pkg_name>            // 查看一个包的详细信息
      rpm -qd <pkg_name>            // 查询一个包所提供的配置文件
      rpm -ql <pkg_name>            // 查看一个包安装了哪些文件
      rpm -qf <file>                // 查看某个文件属于哪个包
      rpm -qR <pkg_name>            // 查询包的依赖关系
      rpm -ivh xxx.rpm              // 安装rpm包
      rpm -ivh --test xxx.rpm       // 测试安装rpm包
      rpm -ivh --nodeps xxx.rpm     // 安装rpm包时忽略依赖关系
      rpm -e <xxx>                  // 卸载程序包
      rpm -Fvh <pkg_name>           // 升级确定已安装的rpm包
      rpm -Uvh <pkg_name>           // 升级rpm包(若未安装则会安装)
      rpm -V <pkg_name>             // RPM包详细信息校验
      
    • YUM包管理命令

      yum repolist enabled                   // 显示可用的源仓库
      yum search <pkg_name>                  // 搜索软件包
      yum install <pkg_name>                 // 下载并安装软件包
      yum install --downloadonly <pkg_name>  // 只下载不安装
      yum list                               // 显示所有程序包
      yum list installed                     // 查看当前系统已安装包
      yum list updates                       // 查看可以更新的包列表
      yum check-update                       // 查看可升级的软件包
      yum update                             // 更新所有软件包
      yum update <pkg_name>                  // 升级指定软件包
      yum deplist <pkg_name>                 // 列出软件包依赖关系
      yum remove <pkg_name>                  // 删除软件包
      yum clean all                          // 清除缓存
      yum clean packages                     // 清除缓存的软件包
      yum clean headers                      // 清除缓存的header
      
    • DPKG包管理命令

      dpkg -c xxx.deb          // 列出deb包的内容
      dpkg -i xxx.deb          // 安装/更新deb包
      dpkg -r <pkg_name>       // 移除deb包
      dpkg -P <pkg_name>       // 移除deb包(不保留配置)
      dpkg -l                  // 查看系统中已安装deb包
      dpkg -l <pkg_name>       // 显示包的大致信息
      dpkg -L <pkg_name>       // 查看deb包安装的文件
      dpkg -s <pkg_name>       // 查看包的详细信息
      dpkg -unpack <xxx>.deb   // 解开deb包的内容
      
    • APT软件⼯具

      apt-cache search <pkg_name>  // 搜索程序包
      apt-cache show <pkg_name>    // 获取包的概览信息
      apt-get install <pkg_name>   // 安装/升级软件包
      apt-get purge <pkg_name>     // 卸载软件(包括配置)
      apt-get remove <pkg_name>    // 卸载软件(不包括配置)
      apt-get update               // 更新包索引信息
      apt-get upgrade              // 更新已安装软件包
      apt-get clean                // 清理缓存
      
  • 23
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌梦之旅:小城开发者的笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值