Linux基础命令1

系统信息查询

  • 处理器架构与内核版本

    • uname -a: 显示内核信息。
  • 日期和时间

    • date: 显示或设置系统日期和时间。
    • cal [2024]: 显示日历表。
    • clock -w: 将时间修改保存到BIOS。

关机和重启

  • shutdown -h now: 关闭系统。
  • init 0telinit 0: 使用init命令关闭系统。
  • shutdown --show: 检查是否有已安排的系统关闭。
  • sudo shutdown +10 "10分钟后执行关机":登录用户发送警告消息
  • shutdown -c: 取消按预定时间关闭系统。
  • shutdown -r nowrebootinit 6: 重启系统。
  • logout: 注销当前用户。

补充运行级别说明:

0:关机
1:单用户【找回丢失密码】
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户X
5:图形界面
6:系统重启
常用运行级别是3和5,也可以指定默认运行级别
应用实例命令: init [0123456]应用例:通过 init 来切换不同的运行级别,比如动init 3,(临时生效,重启失效)

文件和目录管理

  • 导航

    • cd [目录]: 改变工作目录。
    • pwd: 显示当前路径。
  • 查看

    • ls : 查看目录中的文件。
    • ls -la:显示当前目录中的所有文件权限和目录,包括隐藏文件
    • treelstree: 显示文件和目录树形结构。
  • 创建

    • mkdir [options] [directory]: 创建一个或多个目录。
    • mkdir /home/dog:创建一个目录/home/dog
    • mkdir - p / home / animal / tiger:创建多级目录/ home / animal / tiger
  • 删除

    • rm [options] [file/directory]: 删除文件或目录。
    • rm / home / hello . txt :将/ home / hello . txt 删除
    • rm - rf / home / bbb: 送归删除整个文件夹/home/bbb
  • 移动/重命名

    • mv 源文件 目的地: 移动或重命名文件或目录。
    • mv oldNameFile newNameFile (功能描述:重命名)
    • mv /temp/movefile /targetFolder (功能描述:移动文件)
  • 复制

    • cp [options] source destination: 复制文件或目录。
  • 链接

    • ln -s /home/user/original.txt /home/user/symlink.txt: 创建软链接。这里 /home/user/symlink.txt 是一个指向 /home/user/original.txt 的软链接。如果删除了 original.txt,那么 symlink.txt 将无法访问其目标
    • ln /home/user/original.txt /home/user/hardlink.txt: 创建硬链接。/home/user/hardlink.txt 和 /home/user/original.txt 都指向同一个文件的数据。即使删除了其中一个,另一个仍然有效并且继续指向相同的数据
  • 时间戳

    • touch [options] file: 修改文件的时间戳。
  • 文件类型

    • file file1: 输出文件的MIME类型。

文件搜索

  • find [options] path [expression]: 搜索文件和目录。find 指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。

    • 按文件名: 根据名称查找 /home 目录下的 hello.txt 文件。
      find /home -name hello.txt
      
    • 按拥有者: 查找 /opt 目录下,用户名称为 nobody 的文件。
      find /opt -user nobody
      
    • 按大小: 查找整个 Linux 系统中大于 200M 的文件(+n 表示大于,-n 表示小于,n 表示等于;单位有 k, M, G)。
      find / -size +200M
      
  • locate pattern: 快速查找文件位置(需先运行 updatedb)。locate 指令利用事先建立的系统中所有文件名称及路径的数据库实现快速定位给定的文件。为了保证查询结果的准确度,管理员必须定期更新 locate 数据库。

    • 快速定位文件: 使用 locate 指令快速定位 hello.txt 文件所在目录。
      locate hello.txt
      
  • whereis [命令]: 显示二进制文件、源码或 man 页面的位置。

    • 查看命令位置: 查看 ls 命令的位置。
      root@user-VMware-Virtual-Platform:~# whereis ls
      ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
      
  • which [命令]: 显示可执行文件的完整路径。

    • 查看命令路径: 查看 ls 指令在哪个目录。
      root@user-VMware-Virtual-Platform:~# which ls
      /usr/bin/ls
      
  • grep [选项] "查找内容" [源文件] 和管道符号 |: grep 指令用于过滤查找,而管道符 | 表示将前一个命令的处理结果输出传递给后面的命令处理。

    • 查找并显示行号: 在 hello.txt 文件中查找包含 "yes" 的行,并显示行号。
      cat /home/hello.txt | grep "yes"
      # 或者
      grep -n "yes" /home/hello.txt
      

文件系统挂载

  • mount /dev/sdb /mnt/lv01: 挂载文件系统。
  • umount /dev/sdb /mnt/lv01: 卸载文件系统。
  • lsblk: 列出所有块设备的信息。树状结构显示所有磁盘和分区的信息,并且可以显示每个设备的挂载点、文件系统类型等详细信息

磁盘空间分析

  • df -h: 显示已挂载分区列表。
  • du [-a] [目录]: 估算文件或目录使用的磁盘空间。
  • rpmdpkg-query: 分析已安装软件包占用的空间。

用户和群组管理

  • groupadd, groupdel, groupmod: 创建、删除和修改用户组。
  • useradd, userdel, usermod: 创建、删除和修改用户。
  • passwd [username]: 修改用户密码。
  • sudo chage -M 90 -W 7 john:设置用户 john 的密码必须每 90 天更改一次,并且在过期前 7 天开始警告
  • sudo chage -E 2023-12-31 jane:设置用户 jane 的账户在 2023 年 12 月 31 日之后失效
  • sudo chage -d 0 alice:设置用户 alice 在下次登录时必须更改密码
  • sudo chage -l user1:查看用户 user1 的密码和账户老化信息。
  • pwck, grpck: 检查用户和群组文件格式。
  • newgrp group_name: 更改新创建文件的预设群组。

文件权限管理

  • chmod [options] mode[,mode] file: 修改文件权限。
  • chown [options] owner[:group] file: 修改文件所有者和群组。
  • ls -l: 显示文件权限。
  • lsattrchattr: 显示和设置特殊文件属性。

打包和压缩

  • gzip, bzip2, rar, zip, tar: 压缩和解压文件。

    • gzip example.txt:这将压缩 example.txt 文件,并生成一个名为 example.txt.gz 的压缩文件。原文件将被删除

    • bzip2 example.txt:这将压缩 example.txt 文件,并生成一个名为 example.txt.bz2 的压缩文件。原文件将被删除

    • zip archive.zip file1 file2 :将 file1 和 file2 添加到名为 archive.zip 的压缩归档中

    • tar -czvf archive.tar.gz folder/:创建一个名为 archive.tar.gz 的归档,其中包含 folder/ 目录及其内容。c 表示创建归档,z 表示使用 gzip 压缩,v 表示显示处理过程,f 表示指定归档文件名

    • tar -cjvf archive.tar.bz2 folder/:创建一个名为 archive.tar.bz2 的归档,其中包含 folder/ 目录及其内容。c 表示创建归档,j 表示使用 bzip2 压缩,v 表示显示处理过程,f 表示指定归档文件名

  • unzip, unrar, gunzip, bunzip2: 解压文件。

    • unzip archive.zip:解压 archive.zip 文件的内容到当前目录

    • unrar x archive.rar:解压 archive.rar 文件的内容到当前目录。x 参数会保留原始路径结构

    • gunzip file.gz:解压 file.gz 文件,恢复为原来的文件名 file

    • bunzip2 file.bz2:解压 file.bz2 文件,恢复为原来的文件名 file

    • tar -xzvf archive.tar.gz:解压 archive.tar.gz 文件的内容。x 表示提取文件,z 表示使用 gzip 解压,v 表示显示处理过程,f 表示指定归档文件名

    • tar -xjvf archive.tar.bz2:解压 archive.tar.bz2 文件的内容。x 表示提取文件,j 表示使用 bzip2 解压,v 表示显示处理过程,f 表示指定归档文件名

软件包管理

RPM 是一种用于分发预编译二进制文件的打包格式

  • rpm [options] package.rpm: 安装、更新、删除、查询RPM包。
  • yum [options]: YUM包管理器命令。
RPM 包的简单查询指令
  • 已安装的 RPM 列表:
    rpm -qa | grep xx
    
    • 例如,检查是否安装了 Firefox:
      rpm -qa | grep firefox
      
RPM 包名基本格式
  • 一个 RPM 包名:firefox-60.2.2-1.el7.centos.x86_64
    • 名称: firefox
    • 版本号:60.2.2-1
    • 适用操作系统: el7.centos.x86_64 表示 CentOS 7 的 64 位系统;i686i386 表示 32 位系统;noarch 表示通用架构。
其它查询指令
  • 查询所有已安装的 RPM 软件包:

    rpm -qa
    
    • 可以分页查看或过滤特定软件包:
      rpm -qa | more
      rpm -qa | grep firefox
      
  • 查询软件包是否安装:

    rpm -q firefox
    
  • 查询软件包信息:

    rpm -qi firefox
    
  • 查询软件包中的文件:

    rpm -ql firefox
    
  • 查询文件所属的软件包:

    rpm -qf /etc/passwd
    
卸载 RPM 包
  • 基本语法: rpm -e RPM 包的名称e 表示 erase)
    • 例如,删除 Firefox 软件包:

      rpm -e firefox
      
    • 如果有依赖关系问题,可以强制卸载(不推荐):

      rpm -e --nodeps firefox
      
安装 RPM 包
  • 基本语法: rpm -ivh RPM 包全路径名称
    • 参数说明:

      • i=install 安装
      • v=verbose 提示
      • h=hash 进度条
    • 例如,卸载并重新安装 Firefox 浏览器:

      rpm -e firefox
      rpm -ivh firefox.rpm
      

YUM 包管理器

  • Yum 是一个 Shell 前端软件包管理器,基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。
YUM 的基本指令
  • 查询 yum 服务器是否有需要安装的软件:

    yum list | grep xx
    
  • 安装指定的 yum 包:

    yum install xxx
    
  • 示例:使用 yum 安装 Firefox:

    rpm -e firefox
    yum list | grep firefox
    yum install firefox
    

源码包与rpm包

源码包
定义: 源码包是指包含软件原始代码的压缩文件(如 .tar.gz, .tar.bz2 等),这些代码可以被编译器转换成可执行程序。
优点:
灵活性: 用户可以根据自己的需求修改源代码或配置选项。
优化: 编译时可以选择特定的优化选项以适应目标硬件环境。
最新特性: 可能包含比预编译二进制包更新的功能。
缺点:
复杂性: 需要安装编译工具链(如 GCC、Make 等),并且可能需要手动解决依赖关系。
时间成本: 编译过程可能耗时较长,特别是对于大型项目。
一致性: 手动编译可能导致不同系统之间的差异,难以保证一致性。
RPM 包
定义: RPM(Red Hat Package Manager)是一种用于分发预编译二进制文件的打包格式。RPM 文件通常以 .rpm 结尾,包含了已经编译好的程序及其元数据(如依赖关系、安装路径等)。
优点:
易于安装: 使用 rpm 或 yum/dnf 命令可以直接安装,无需编译。
依赖管理: 自动处理依赖关系,简化了软件安装过程。
版本控制: 提供详细的版本信息,便于管理和升级。
缺点:
定制性较低: 用户不能轻易更改默认配置或添加额外功能。
依赖于发行版: RPM 文件通常是为特定 Linux 发行版构建的,可能不适用于其他发行版。
posted @ 2025-01-06 17:01  以后不要没饭吃啊  阅读(37)  评论(0)    收藏  举报