第一章 linux操作系统概述

  • 什么是自由软件?

    • 自由软件是指其使用者可以自由使用、复制、散布、研究、改写、再利用的软件。有以下四个自由:

      • 不论目的如何,有使用该软件的自由
      • 有研究该软件如何运作的自由,并且可以改写该软件来满足使用者自身的需求
      • 有取得该软件源码的自由
      • 有改善再利用该软件的自由,并且可以发表改写版供公众使用
  • linux内核版本

    • 1.0 ~ 2.6 之间的版本由r, x, y

      • r: 目前发布的Kernel主版本
      • x: 偶数是稳定版本, 奇数是开发中
      • y: 错误修补次数
  • 常见的linux发行版本有哪些?

    • 有 Red Hat,Ubuntu,OpenSuse,CentOS,Fedora

  • linux操作系统的特点有哪些?

    • 开放性

    • 多用户

    • 多任务

    • 良好的用户界面

    • 设备独立性


第二章 linux系统的环境搭建

  • 必须建立的分区

    • 根目录分区: /

    • 交换分区: swap

  • 磁盘分区

    • linux中的分区数字编号, 1 ~ 4 留给主分区和扩展分区, 逻辑分区从 5 开始

  • 虚拟机网络模式

    • 桥接模式

    • NAT模式

    • 仅主机模式

  • linux系统的登录

    • #: root用户

    • $: 当前用户

    • ~: 当前用户所在默认账户目录


第三章 linux常用命令

  • 常用简单命令

    • data命令

      • 显示系统当前日期和时间
    • pwd命令

      • 显示当前工作路径
    • cd命令

      • 切换当前路径
    • cal命令

      • 显示日历,公元1~9999年中的某年某月的日历
    • who命令

      • 显示当前已经登录到系统的所有用户名、登录终端、登录时间
    • wc命令

      • 统计给定文件的行数、字数、字符数
      • -l 表示统计行数(line)
      • -w 表示统计单词数(word)
      • -c 表示统计字符数(char)
        [root@master test]# wc -lwc 1.txt
        1 1 10 1.txt
        
    • uname命令

      • 显示操作系统的当前信息
        [root@master test]# uname
        Linux
        [root@master test]# uname -a
        Linux master 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
        
    • clear命令

      • 刷新屏幕,清空屏幕上的所有字符
    • logout命令

      • 注销登录信息,退出系统,回到当前登录页面
    • shutdown命令

      • 关闭操作系统,相同的命令还有poweroffinit 0
  • 命令高级操作

    • 输入/输出重定向:

      • 将命令的输入、输出或错误信息重定向到文件、设备或其他命令,而非默认的终端(屏幕或键盘)
        • < 从文件读取输入
        • > 覆盖目标文件(若文件已存在,则清空后写入)
        • >> 将命令的输出追加到文件的末尾,而不是覆盖文件内容
        • 2> 将命令的错误输出重定向到文件(覆盖)
          • Linux 中 1 代表标准输出(stdout),2 代表标准错误(stderr)。默认写 > 操作的就是 1>,想专门收集错误就要显式指定 2>
        • &> 将命令的标准输出和错误输出同时重定向到文件
    • 管道:

      • 可以将一个命令的输出作为另一个命令的输入,从而将多个简单命令连接在一起实现复杂的功能
        [root@master test]# ls
        1.txt  2.txt
        [root@master test]# ls | cat *.txt
        123456789
        111
        
  • 文件操作命令

    • cat命令

      • 显示文件内容
        [root@master test]# cat 1.txt 
        123456789
        qqqqqqqq
        
        #带行号显示文件内容 -n (number)
        [root@master test]# cat -n 1.txt 
            1	123456789
            2	qqqqqqqq
        
    • more命令

      • 分屏显示大文件,当满一屏后停下来,屏幕底部给出提示信息,显示该文件的百分比:–More–(XX%)
        • 空格键 显示下一屏内容
        • B键 显示上一屏内容
        • enter键 显示下一行内容
        • Q键 退出more命令
    • head命令

      • 显示文件的开头内容,默认显示头10行的内容
        #显示/etc/passwd文件前20行内容,每行都加行号 	(使用管道)
        cat -n /etc/passwd | head -20
        
    • tail命令

      • 显示文件的尾部内容,默认显示末尾10行的内容
        #显示/etc/passwd文件13-23行的内容,每行都加行号
        cat -n /etc/passwd | head -23 | tail -11
        
    • cp命令

      • 复制文件或目录,也可以重命名
        • -f 强制复制文件或目录,不论是否存在
        • -i 覆盖文件前先询问用户
        • -l 对源文件建立硬链接,而非复制文件。 cp -l 源文件 硬链接名
        • -s 对源文件建立符号链接,而非复制文件。 cp -s 源文件 软链接名
        • -R/r 递归处理指定目录下的所有文件和子目录
    • mv命令

      • 移动文件或目录,也可以重命名,同样的有-i,-f参数
    • rm命令

      • 删除文件或目录,参数有-i,-f,-r
    • ls命令

      • 显示文件列表(list)
        • -a 显示所有的文件和目录,包括带.开头的隐藏文件
        • -l 以长格式(详细信息)显示目录下的文件列表,包括权限、所有者、大小、修改时间等
        • -r 以文件名反序排列
        • -t 以文件和目录的更新时间排序
        • -R 递归显示指定目录下所有的文件和子目录
    • cd命令

      • 切换工作目录
        • cd ~ 返回用户主目录
        • cd / 进入根目录
        • cd ../ 返回上级目录
        • cd ../.. 返回上两级目录
    • touch命令

      • 创建新的空文件或者改变已有文件的时间标签
        • 当文件不存在时,创建文件
        • 当文件存在时,更新文件的时间
          [root@master test]# ls -l
          total 8
          -rw-r--r-- 1 root root 19 May  7 15:20 1.txt
          -rw-r--r-- 1 root root  5 May  7 15:00 2.txt
          
          [root@master test]# touch 3.txt
          [root@master test]# ls -l
          total 8
          -rw-r--r-- 1 root root 19 May  7 15:20 1.txt
          -rw-r--r-- 1 root root  5 May  7 15:00 2.txt
          -rw-r--r-- 1 root root  0 May  7 15:50 3.txt
          
          [root@master test]# touch 1.txt
          [root@master test]# ls -l
          total 8
          -rw-r--r-- 1 root root 19 May  7 15:50 1.txt
          -rw-r--r-- 1 root root  5 May  7 15:00 2.txt
          -rw-r--r-- 1 root root  0 May  7 15:50 3.txt
          
    • file命令

      • 显示文件类型
    • find命令

      • 在目录中查找文件
        • -name 指定文件名字符串,可以匹配*
        • -type 指定文件类型,f为普通文件,d为目录,l为符号链接,p为命名管道,s为套接文件
        • -user 指定拥有者名称
        • -group 指定群组名称
    • grep命令

      • 匹配关键字信息,查找的对象是纯文本文件
        • -i 忽略字符大小写差别
        • -n 标出行号
        • -v 反转查找,即查找不包含所查字符串的行
    • sort命令

      • 将文件进行排序,不改变排序的对象,只输出排序的结果,想要改变文件,可以进行重定向
        • -r 以相反的顺序来排序
        • -f 忽略大小写
        • -n 以数值来排序
    • mkdir命令

      • 创建目录
        • -p 一并建立上层目录。mkdir -p dir1/dir2
        • -m 建立目录的同时设置权限。mkdir -m 744 dir
    • rmdir命令

      • 删除空目录
        • -r 强制删除目录及目录中的文件和子目录
        • -p 递归删除其上层空目录
    • tar命令

      • 打包文件或目录
        • tar -czvf: 压缩。tar -czvf 压缩包名 文件(*.c)
        • tar -xzvf: 解包
  • 用户和组管理命令

    • 配置文件

      • /etc/passwd文件
        • 核心的用户账户数据库文件,存储了所有用户账户的基本信息
          [root@master ~]# cat /etc/passwd
          root:x:0:0:root:/root:/bin/bash
          bin:x:1:1:bin:/bin:/sbin/nologin
          daemon:x:2:2:daemon:/sbin:/sbin/nologin
          # 用户名:口令:用户ID:组ID:注释性描述:主目录:登录shell
          
          • 口令字段用“x”填充,真正的口令经过加密保存在/rtc/shadow中
          • 用户ID是一个整数,root用户的ID为0,系统用户ID为1~999,普通用户ID从1000开始
          • 主目录是用户登录系统后的初始工作目录
      • /etc/shadow文件
        • 存储加密密码和账户安全信息(如密码过期时间), 仅 root 可读
      • /etc/group文件
        • 存储用户组信息,与 /etc/passwd 的 组ID 字段关联
          [root@master ~]# cat /etc/group
          root:x:0:
          bin:x:1:
          daemon:x:2:
          # 组名称:组密码:组ID:组用户列表
          
      • etc/gshadow文件
        • 存储用户组密码、组管理员和附加用户列表
          [root@master ~]# cat /etc/gshadow
          root:::
          bin:::
          daemon:::
          # 组名称:组密码:组管理员账号:组用户列表
          
      • useradd命令
        • 添加用户账号,并设置用户名、用户组、主目录、登录shell
        选项 说明 示例
        -u UID 指定用户 ID(默认从 1000 开始分配,避免与系统用户冲突)。 useradd -u 2000 alice
        -g 组名或组 ID 指定用户的主组(必须已存在)。 useradd -g developers bob
        -G 附加组名或组ID 指定用户的附加组(多个组用逗号分隔)。-G 附加组名或组 ID useradd -G wheel,admin carol
        -c "注释" 添加用户描述(如全名)。 useradd -c "Alice Johnson" alice
        -d 家目录路径 指定用户家目录(默认 /home/用户名)。 useradd -d /opt/data/alice alice
        -s Shell路径 指定用户登录 Shell(如 /bin/bash、/sbin/nologin)。 useradd -s /bin/zsh zoe
        -m 创建用户家目录(若未指定 -d,则默认在 /home/用户名)。 useradd -m dave
        -M 不创建用户家目录(与 -m 相反)。 useradd -M service_user
        -p 加密密码 直接指定加密后的密码(不推荐,密码应通过 passwd 单独设置)。 useradd -p '$6$...' alice
        -e 过期日期 设置账户过期日期(格式 YYYY-MM-DD)。 useradd -e 2024-12-31 alice
        -f 密码过期规则期 设置密码过期后账户被禁用的天数(-1 表示永不禁用,0 表示立即禁用)。 useradd -f 7 alice
      • passwd命令
        • 管理用户密码
        选项 说明 示例
        无选项 当前用户修改自身密码(需输入旧密码)。 passwd
        用户名 root 用户修改其他用户的密码(无需旧密码)。 sudo passwd alice
        -1 锁定用户账户(禁止登录)。 sudo passwd -l alice
        -d 删除用户密码(使账户无需密码即可登录,不安全,慎用)。 sudo passwd -d alice
        -S 显示用户密码状态(是否锁定、过期时间等)。 passwd -S alice
        -e 强制用户下次登录时修改密码(立即过期)。 sudo passwd -e alice
      • userdel命令
        • 删除用户账号
        选项 说明 示例
        -r 删除用户家目录和邮件池(通常位于 /home/用户名/var/mail/用户名 sudo userdel -r alice
        -f 强制删除用户(即使用户已登录或进程正在运行,慎用)。 sudo userdel -f alice
      • usermod命令
        • 删除用户账号
          • -l 新用户名 旧用户名:修改用户名
          • -u UID:修改用户 ID(UID)
          • -g 主组:修改用户的主组
          • -G 附加组列表:修改用户的附加组(多个组用逗号分隔)
          • -a -G 附加组:追加用户到附加组(不替换原有附加组)
          • -d 新家目录 [-m]:修改家目录,-m 可自动移动原目录内容
          • -s 新 Shell:修改用户的登录 Shell
          • -c "备注信息":修改用户的描述信息
          • -e 过期日期:设置账户过期日期(格式如 YYYY-MM-DD)
          • -L:锁定用户账户,禁止登录
          • -U:解锁用户账户,允许登录
      • groupadd命令
        • 添加用户组账号
      • groupdel命令
        • 删除用户组
      • groupmod命令
        • 修改用户组属性
      • su命令
        • 切换当前用户身份到其他用户
      • sudo命令
        • 以root身份执行命令
  • 网络管理命令

    • ifconfig命令

      • 配置和显示linux内核中网络接口的网络参数
      选项 说明 示例
      无选项 显示所有网络接口(包括未启用的) ifconfig -a
      [接口名] 仅显示指定接口的信息(如eth0、lo) ifconfig eth0
      up 启用指定网络接口 ifconfig eth0 up
      down 禁用指定网络接口 ifconfig eth0 down
      address IP 设置接口的IPv4地址 ifconfig eth0 192.168.1.100
      netmask MASK 设置子网掩码 ifconfig eth0 netmask 255.255.255.0
      broadcast IP 设置广播地址 ifconfig eth0 broadcast 192.168.1.255
      hw ether MAC 修改接口的MAC地址 ifconfig eth0 hw ether 00:11:22:33:44:55
      -s或-v 显示简洁统计信息(-s)或详细信息(-v) ifconfig -s 或 ifconfig -v eth0
    • hostname命令

      • 显示或设置主机名
      选项 说明 示例
      无选项 显示当前系统主机名 hostname
      [名称] 更改主机名 hostname linux-1
    • netstat命令

      • 查看网络系统的状态信息
      选项 说明 示例
      无选项 显示所有活动连接(包括监听和非监听端口) netstat
      -a 显示所有连接和监听端口(包括TCP和UDP) netstat -a
      -t 仅显示TCP连接 netstat -t
      -u 仅显示UDP连接 netstat -u
      -l 仅显示监听中的端口 netstat -l
      -c 持续列出网络状态(每秒刷新一次) netstat -c
      -r 显示内核路由表 netstat -r
      -p 显示进程ID和程序名(需要root权限) sudo netstat -p
      -s 显示网络工作信息统计表(按协议分类) netstat -s
    • ping命令

      • 测试主机之间的网络联通性,通过向被测试的目标主机地址发送ICMP报文并接收回应报文来测试当前主机和目标主机之间的网络连接状态
      选项 说明 示例
      -c COUNT 发送指定数量的ICMP请求后停止(默认无限发送,需手动终止) ping -c 4 example.com (发送4次后退出)
      -i INTERVAL 设置发送请求的时间间隔(秒,默认1秒,需root权限可设小于0.2秒) ping -i 2 192.168.1.1 (每2秒发送一次)
      -s PACKET_SIZE 指定发送的ICMP数据包大小(字节,默认56字节,实际ICMP报文为64字节,含8字节ICMP头) ping -s 100 example.com (发送100字节的数据包)
      -v 详细输出(显示额外调试信息) ping -v 192.168.1.1
      -r 记录路由过程 ping -r www.baidu.com
    • write命令

      • 给其他用户发送实时消息,要求该用户必须登录系统
      [root@master ~]# write tiger
      write: tiger is not logged in
      [root@master ~]# write tiger
      Hello tiger, I'm root.
      ^D
      
    • wall命令

      • 以广播的方式给所有用户发送实时消息(write all)
    • mesg命令

      • 设置是否接收来自其他用户的消息
        • 查看当前状态:直接输入 mesg(不带参数)会显示当前终端的消息接收状态(is y 或 is n)
        • mesg y:允许其他用户向当前终端发送消息
        • mesg n:禁止其他用户向当前终端发送消息
  • 进程管理命令

    • ps命令

      • 查看当前系统的进程状态
      选项 说明 示例
      -e 显示所有进程,显示每个进程所用的环境变量(包括其他用户的进程) ps -e
      -f 显示进程的详细信息(包括UID、PID、PPID等) ps -f
      -u 显示指定用户的进程(默认当前用户) ps -u root
      -r 仅显示运行中的进程 ps -r
      -l 以长格式显示进程列表(含优先级、NI值等) ps -l
      -x 显示无控制终端的进程(如守护进程) ps -x
      -p PID 显示指定PID的进程 ps -p 1234
      -C 显示指定命令名的进程(如 nginx ) ps -C nginx
      -aux 显示所有用户的所有进程(BSD风格,包含详细信息) ps -aux
      -ef 显示完整格式的所有进程(System V风格) ps -ef
    • pstree命令

      • 以树的方式显示进程与子进程之间的关系
    • top命令

      • 实时查看进程占用系统资源的情况,可以按使用系统资源进行排序
      [root@master ~]# top
      #第一行(任务队列信息)    启动时间      登录用户	负载均衡平均值  过去1分钟,5分钟,10分钟
      top - 10:52:00 up 14 days, 16:51,  1 user,  load average: 0.00, 0.01, 0.05
      
      #第二行(进程)  												僵尸进程数
      Tasks:  98 total,   2 running,  96 sleeping,   0 stopped,   0 zombie
      
      #CPU状态 用户空间占比 内核占比         空闲CPU占比							  虚拟机占比
      %Cpu(s):  0.3 us,  0.5 sy,  0.0 ni, 99.2 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
      
      #内存状态													缓存的内存量
      KiB Mem : 15901800 total, 13691596 free,   726928 used,  1483276 buff/cache
      
      #Swap交换分区
      KiB Swap:        0 total,        0 free,        0 used. 14772204 avail Mem 
      
      #系统状态信息	   优先级
        PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                               
       7557 root      20   0  483188  41236  20640 S   2.0  0.3 122:24.52 filebeat                                                                                              
        418 root      20   0       0      0      0 S   0.3  0.0   8:42.01 xfsaild/dm-0                                                                                          
          1 root      20   0   52068   4272   2660 S   0.0  0.0   5:04.03 systemd                                                                                               
          2 root      20   0       0      0      0 S   0.0  0.0   0:00.14 kthreadd                                                                                              
          4 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H       
      
    • nice命令

      • 改变程序执行的优先级。应用程序优先级范围是-20 ~ 19,数字越小,优先级越高
        • -n 指定程序或命令运行的优先级: nice -n 19 ./test
    • renice命令

      • 允许用户修改一个正在运行进程的优先级(只能改变自己进程的优先级)
        • -n 指定程序或命令运行的优先级
        • -g 指定进程组ID
        • -p 改变指定PID程序的优先级
        • -u 指定开启进程的用户名
        #改变指定进程的优先级
        [root@master ~]# renice -n 1 -p 2740
        
    • kill命令

      • 终止、暂停或恢复进程
        选项 说明 适用场景
        -2 终端中断信号(等同 Ctrl+C ) 优雅终止前台进程
        -9 强制终止进程(立即终止,无清理) 进程无响应时使用
        -15 默认信号,请求进程正常终止(允许清理资源) 推荐优先使用的终止方式
        -18 恢复被暂停的进程 配合-19使用
        -19 暂停进程(不可捕获或忽略) 临时停止进程
    • jobs命令

      • 用于查看后台运行的进程
        • +表示当前作业
        • -表示上一个作业
          #创建sleep进程,持续时间10秒,使用&命令将其切换到后台运行
          root@master ~]# sleep 10 &
          [1] 7760
          
          #当前任务是1号作业
          [root@master ~]# jobs
          [1]+  Running                 sleep 10 &
          
          #执行vi &命令,将vi切换到后台运行
          [root@master ~]# vi &
          [2] 8004
          
          #当前任务为2号作业
          [root@master ~]# jobs
          [1]-  Running                 sleep 10 &
          [2]+  Stopped                 vi
          
    • fg和bg命令

      • fg用于将后台作业恢复到前台运行,bg用于将暂停的作业放到后台继续运行
        [root@master ~]# sleep 10 &
        [1] 7760
        [root@master ~]# fg 1
        
        [root@master ~]# sleep 50 
        ^Z											//使用ctrl+z挂起该进程
        [1]+ Stooped					sleep 50
        [root@master ~]# jobs
        [1]+  Stopped                 	sleep 50
        [root@master ~]# bg 1
        -bash: bg: job 1 already in background
        
    • at命令

      • 用于指定在未来某一时间执行一个任务,只能被执行一次
        选项 说明 示例
        at [时间] 在指定时间安排任务。时间可以是绝对时间(如 14:30、2025-05-09 10:00)或相对时间(如 now + 1 hour、tomorrow 15:00) at 14:30 回车,输入要执行的命令,最后按 Ctrl + D 提交任务
        -f [文件] 从指定文件中读取要执行的命令 at -f /path/to/commands.txt now + 30 minutes 30分钟后执行 /path/to/commands.txt 文件中的命令
        -l 列出当前用户已安排的所有 at 任务 at -l 显示当前用户已安排的任务列表,包括任务ID、执行时间和队列
        -c [任务 ID] 显示指定任务ID的详细内容(即要执行的命令) at -c 123 显示任务ID为123的详细命令内容
        -r [任务 ID] 删除指定任务ID的任务 at -r 123 删除任务ID为123的任务
        -m 任务执行完成后,向用户发送邮件通知 at -m 16:00 /path/to/script.sh 在16:00执行 /path/to/script.sh 脚本,并在完成后发送邮件通知
        -q [队列] 指定任务执行的队列(默认队列为 a) at -q b 18:00 /path/to/task.sh 在18:00将任务 /path/to/task.sh 放入队列 b 中执行
    • crontab命令

      • 定时执行工具,可以使系统周期性地执行某项任务。cron的配置文件是/etc/crontab
        命令 说明 示例
        crontab -e 编辑当前用户的 crontab 文件(默认使用 vi 或 nano 编辑器)。 crontab -e
        crontab -l 列出当前用户的所有定时任务。 crontab -l
        crontab -r 删除当前用户的所有定时任务(谨慎使用!)。 crontab -r
        crontab -u [用户名] 编辑或管理其他用户的 crontab (需root权限)。 sudo crontab -u alice -e
        [root@master ~]# cat /etc/crontab
        #前三行是有关设置cron任务运行的环境变量
        SHELL=/bin/bash								#指定系统使用的shell环境
        PATH=/sbin:/bin:/usr/sbin:/usr/bin			#定义执行命令的路径
        MAILTO=root									#定义cron的输出发送给谁
        
        # For details see man 4 crontabs
        
        # Example of job definition:				crontab文件格式
        # .---------------- minute (0 - 59)
        # |  .------------- hour (0 - 23)
        # |  |  .---------- day of month (1 - 31)
        # |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
        # |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
        # |  |  |  |  |
        # *  *  *  *  * user-name  command to be executed
        
      • 常用时间表达式
        表达式 说明 示例
        * 每单位时间都执行 * * * * * → 每分钟执行
        */n 每 n 单位时间执行一次 */5 * * * * → 每5分钟执行
        a,b,c 在指定时间点执行 0,15,30 * * * * → 每小时的0分、15分、30分执行
        a-b 在时间范围内执行 0 9-17 * * * → 每天9:00到17:00的整点执行
        @reboot 系统启动时执行一次 @reboot /path/to/script.sh
  • 帮助命令

    • man命令(manual的缩写)

      • -a 在所有man的帮助手册中搜索
      • -p 指定内容时使用分页程序
      • -f 显示给定命令的简短描述信息
      • -m 指定man手册搜索的路径
    • –help命令

      • 使用语法格式为 命令 --help
  • 习题练手

    • 如何把两个文件合并成一个文件?

      • 使用cat命令,cat file1.txt file2.txt > file.txt,或者使用>>重定向,cat file1.txt >> file2.txt
    • 如何统计当前在线人数?

      • 使用 who | wc -l 或者 users | wc -w
    • linux的用户账号和组账号是怎么保存的?

      • 用户账号保存在 /etc/passwd 中, 存储用户基本信息(用户名、UID、GID、家目录、默认Shell等),密码以占位符 x 标记
      • 实际密码加密存储在 /etc/shadow 中, 组账号保存在 /etc/group 中,存储组信息(组名、GID、组用户列表)
    • 使用useradd命令添加一个用户,linux文件系统有哪些地方发生了变化?

      • /etc/passwd 文件会新增一行记录,包含新用户的用户名、密码占位符(x)、用户ID(UID)、主组ID(GID)、用户描述、家目录路径以及默认的Shell等信息
      • /etc/shadow 文件会新增一行,记录新用户的加密密码、密码过期策略等信息
      • /etc/group 文件会更新相应的组信息,添加新组或更新用户所属的组
      • 系统会在 /home 目录下创建新用户的家目录(如/home/username),并复制默认配置文件到新用户的家目录中
    • 什么是输入 / 输出重定向?请举例说明如何使用管道功能

      • 输入 / 输出重定向允许用户将命令的输入来源或输出目标从默认设备(如键盘、屏幕)重定向到文件或其他设备。管道(|)用于将一个命令的输出直接作为另一个命令的输入,实现命令的链式处理
      • 举例 --> 统计opt目录下有多少个文件和子目录并重定向到count.txt文件中:ls /opt | wc -w > count.txt
    • 管理员如何查看用户都启动了哪些进程?如果发现某个用户打开很多进程占用了大量系统资源,如何将他踢出系统?

      • 使用 ps -u username 列出指定用户的所有进程,可以使用 pkill -u username 结束其全部进程终并踢出系统
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐