LinuxHub

Linux命令行入门 - CentOS 7 常用命令及范例

作者:Admin | 发布日期:2023-10-01

1. 系统信息

以下是一些查看系统信息的命令及范例:

  • uname -a - 显示系统信息(内核版本、主机名等)。
    $ uname -a
    Linux localhost 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
  • cat /etc/centos-release - 查看CentOS版本。
    $ cat /etc/centos-release
    CentOS Linux release 7.9.2009 (Core)
  • hostnamectl - 查看主机名和操作系统信息。
    $ hostnamectl
       Static hostname: localhost
             Icon name: computer-vm
               Chassis: vm
            Machine ID: 1234567890abcdef1234567890abcdef
               Boot ID: 1234567890abcdef1234567890abcdef
        Virtualization: kvm
      Operating System: CentOS Linux 7 (Core)
           CPE OS Name: cpe:/o:centos:centos:7
                Kernel: Linux 3.10.0-1160.el7.x86_64
          Architecture: x86-64
  • uptime - 显示系统运行时间和负载。
    $ uptime
     10:15:30 up  1:23,  2 users,  load average: 0.00, 0.01, 0.05
  • date - 显示当前日期和时间。
    $ date
    Mon Oct  2 10:15:45 UTC 2023

2. 文件和目录操作

以下是一些常用的文件和目录操作命令及范例:

  • ls - 列出目录内容。
    $ ls
    file1.txt  file2.txt  directory1
  • ls -l - 以详细列表形式显示目录内容。
    $ ls -l
    -rw-r--r-- 1 user group  123 Oct  2 10:00 file1.txt
    -rw-r--r-- 1 user group  456 Oct  2 10:01 file2.txt
    drwxr-xr-x 2 user group 4096 Oct  2 10:02 directory1
  • cd - 切换目录。
    $ cd /home/user
    $ pwd
    /home/user
  • pwd - 显示当前目录路径。
    $ pwd
    /home/user
  • mkdir - 创建新目录。
    $ mkdir new_directory
    $ ls
    new_directory
  • rmdir - 删除空目录。
    $ rmdir empty_directory
  • rm -r - 递归删除目录及其内容。
    $ rm -r directory_to_delete
  • cp - 复制文件或目录。
    $ cp file1.txt file1_copy.txt
    $ cp -r directory1 directory1_copy
  • mv - 移动文件或目录。
    $ mv file1.txt /home/user/documents/
  • touch - 创建空文件或更新文件时间戳。
    $ touch new_file.txt
  • cat - 查看文件内容。
    $ cat file1.txt
    Hello, World!
  • moreless - 分页查看文件内容。
    $ less large_file.txt
  • head - 查看文件开头部分。
    $ head -n 10 file1.txt
  • tail - 查看文件结尾部分。
    $ tail -n 10 file1.txt
  • tail -f - 实时查看文件更新内容。
    $ tail -f logfile.log

3. 文件权限管理

以下是一些文件权限管理命令及范例:

  • chmod - 修改文件或目录权限。
    $ chmod 755 script.sh
  • chown - 修改文件或目录所有者。
    $ chown user:group file1.txt
  • chgrp - 修改文件或目录所属组。
    $ chgrp group file1.txt
  • umask - 设置默认文件权限掩码。
    $ umask 022

4. 系统管理

以下是一些系统管理命令及范例:

  • sudo - 以超级用户权限执行命令。
    $ sudo yum update
  • su - 切换用户。
    $ su - username
  • passwd - 修改用户密码。
    $ passwd
  • useradd - 创建新用户。
    $ sudo useradd newuser
  • userdel - 删除用户。
    $ sudo userdel olduser
  • groupadd - 创建新用户组。
    $ sudo groupadd newgroup
  • groupdel - 删除用户组。
    $ sudo groupdel oldgroup
  • ps - 显示当前进程状态。
    $ ps aux
  • top - 实时显示系统进程信息。
    $ top
  • kill - 终止进程。
    $ kill 1234
  • systemctl - 管理系统服务。
    $ sudo systemctl start httpd
    $ sudo systemctl stop httpd
    $ sudo systemctl restart httpd
  • journalctl - 查看系统日志。
    $ journalctl -xe

5. 网络管理

以下是一些网络管理命令及范例:

  • ifconfig - 查看网络接口信息。
    $ ifconfig
  • ip addr - 查看IP地址和网络接口信息。
    $ ip addr
  • ping - 测试网络连通性。
    $ ping google.com
  • netstat - 显示网络连接、路由表等信息。
    $ netstat -tuln
  • ss - 显示网络连接信息(替代netstat)。
    $ ss -tuln
  • nslookup - 查询域名解析信息。
    $ nslookup google.com
  • dig - 查询DNS信息。
    $ dig google.com
  • curl - 发送HTTP请求。
    $ curl http://example.com
  • wget - 下载文件。
    $ wget http://example.com/file.zip

6. 包管理

以下是一些包管理命令及范例(CentOS 7 使用 yum):

  • yum install <package> - 安装软件包。
    $ sudo yum install httpd
  • yum remove <package> - 卸载软件包。
    $ sudo yum remove httpd
  • yum update - 更新所有已安装的软件包。
    $ sudo yum update
  • yum search <keyword> - 搜索软件包。
    $ yum search nginx
  • yum info <package> - 查看软件包信息。
    $ yum info httpd
  • yum list installed - 列出已安装的软件包。
    $ yum list installed

7. 磁盘管理

以下是一些磁盘管理命令及范例:

  • df -h - 显示磁盘使用情况。
    $ df -h
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda1        50G   20G   30G  40% /
  • du -sh <directory> - 显示目录大小。
    $ du -sh /home/user
    1.2G    /home/user
  • fdisk -l - 列出磁盘分区信息。
    $ sudo fdisk -l
    Disk /dev/sda: 50 GiB, 53687091200 bytes, 104857600 sectors
    Disk model: Virtual Disk
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0x12345678
    
    Device     Boot Start       End   Sectors Size Id Type
    /dev/sda1  *     2048 104857599 104855552  50G 83 Linux
  • lsblk - 列出块设备信息。
    $ lsblk
    NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    sda      8:0    0    50G  0 disk
    ├─sda1   8:1    0    50G  0 part /
    sdb      8:16   0   100G  0 disk
    └─sdb1   8:17   0   100G  0 part
  • mount - 挂载文件系统。
    $ sudo mount /dev/sdb1 /mnt/data
  • umount - 卸载文件系统。
    $ sudo umount /mnt/data
  • mkfs - 创建文件系统。
    $ sudo mkfs.ext4 /dev/sdb1
  • fsck - 检查和修复文件系统。
    $ sudo fsck /dev/sdb1
  • parted - 磁盘分区工具。
    $ sudo parted /dev/sda
    (parted) print
    Model: Virtual Disk (scsi)
    Disk /dev/sda: 53.7GB
    Sector size (logical/physical): 512B/512B
    Partition Table: msdos
    Disk Flags:
    
    Number  Start   End     Size    Type     File system  Flags
     1      1049kB  53.7GB  53.7GB  primary  ext4         boot

8. RAID 管理

以下是一些 RAID 管理命令及范例:

  • mdadm - 管理 RAID 阵列。
    • 创建 RAID 1 阵列:
      $ sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1
    • 查看 RAID 阵列状态:
      $ cat /proc/mdstat
      Personalities : [raid1]
      md0 : active raid1 sdc1[1] sdb1[0]
            1047552 blocks super 1.2 [2/2] [UU]
    • 停止 RAID 阵列:
      $ sudo mdadm --stop /dev/md0
    • 删除 RAID 阵列:
      $ sudo mdadm --remove /dev/md0
  • lsblk - 查看 RAID 设备。
    $ lsblk
    NAME    MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
    sda       8:0    0    50G  0 disk
    ├─sda1    8:1    0    50G  0 part  /
    sdb       8:16   0   100G  0 disk
    └─sdb1    8:17   0   100G  0 part
      └─md0   9:0    0   100G  0 raid1 /mnt/raid
  • cat /proc/mdstat - 查看 RAID 状态。
    $ cat /proc/mdstat
    Personalities : [raid1]
    md0 : active raid1 sdb1[0] sdc1[1]
          1047552 blocks super 1.2 [2/2] [UU]
  • mdadm --detail - 查看 RAID 详细信息。
    $ sudo mdadm --detail /dev/md0
    /dev/md0:
               Version : 1.2
         Creation Time : Mon Oct  2 10:00:00 2023
            Raid Level : raid1
            Array Size : 1047552 (1023.34 MiB 1072.69 MB)
         Used Dev Size : 1047552 (1023.34 MiB 1072.69 MB)
          Raid Devices : 2
         Total Devices : 2
           Persistence : Superblock is persistent
    
           Update Time : Mon Oct  2 10:05:00 2023
                 State : clean
        Active Devices : 2
       Working Devices : 2
        Failed Devices : 0
         Spare Devices : 0
    
    Consistency Policy : resync
    
                  Name : localhost:0  (local to host localhost)
                  UUID : 12345678:12345678:12345678:12345678
                Events : 17
    
        Number   Major   Minor   RaidDevice State
           0       8       17        0      active sync   /dev/sdb1
           1       8       33        1      active sync   /dev/sdc1

9. 卷组管理(LVM)

以下是一些 LVM 管理命令及范例:

  • pvcreate - 创建物理卷。
    $ sudo pvcreate /dev/sdb1
  • vgcreate - 创建卷组。
    $ sudo vgcreate vg_data /dev/sdb1
  • lvcreate - 创建逻辑卷。
    $ sudo lvcreate -L 50G -n lv_data vg_data
  • vgs - 查看卷组信息。
    $ sudo vgs
      VG      #PV #LV #SN Attr   VSize   VFree
      vg_data   1   1   0  wz--n- 100.00g 50.00g
  • lvs - 查看逻辑卷信息。
    $ sudo lvs
      LV      VG      Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
      lv_data vg_data -wi-a-----  50.00g
  • lvresize - 调整逻辑卷大小。
    $ sudo lvresize -L +10G /dev/vg_data/lv_data
  • vgextend - 扩展卷组。
    $ sudo vgextend vg_data /dev/sdc1
  • lvremove - 删除逻辑卷。
    $ sudo lvremove /dev/vg_data/lv_data
  • vgremove - 删除卷组。
    $ sudo vgremove vg_data
  • pvremove - 删除物理卷。
    $ sudo pvremove /dev/sdb1