Linux 使用基础
Chen Kai CTO

为什么选择 Linux?本篇从 Linux 的核心概念与整体认知切入,探讨其多用户多任务优势,以及常见发行版与命令行操作初步。

一、Linux 核心概念与整体认知

1. 为什么选择 Linux

  • 高可定制:开源、可免费使用,所有组件都能根据需要进行修改或定制。
  • 稳定可靠:Linux 在服务器、嵌入式等场合使用广泛,拥有较强的稳定性和容错能力。
  • 强大生态:内置强大的包管理器,丰富的开源软件资源,如常见的 yum(RHEL/CentOS)、apt(Debian/Ubuntu)等。
  • 一切皆文件:文件系统抽象了各种设备,可以统一方式访问硬盘、网络设备、外设。

2. 常见发行版简要对比

  • Ubuntu/Debian 系:软件包管理器为 apt,社区活跃,适合初学者和开发者。
  • CentOS/RHEL 系:软件包管理器为 yumdnf,适合生产环境,稳定性好。
  • SUSE 系:使用 zypper,在企业级环境及 SAP 相关部署中常见。
  • Arch Linux:滚动更新模型,软件版本最新,但对运维人员要求更高。

3. 基本理念

  • 多用户、多任务:同一时间允许多个用户同时登录,每个用户可并行运行多个任务。
  • 权限机制:以文件(含目录)为核心,通过读、写、执行(rwx)三种权限和所有者/用户组/其他的组合来管理访问控制。
  • 命令行优先:大量操作更习惯于 CLI(Command Line Interface)完成,也有许多发行版提供图形化桌面,但服务器环境多以命令行为主。

二、文件与目录操作

1. 创建与删除

  • mkdir <目录名>:创建目录。可以加 -p 参数递归创建多级目录。例如:

    1
    mkdir -p /home/test/subdir

    若没有上级目录时自动帮助创建。

    注意:Linux 的文件夹和文件名不得重复,因为一切皆文件

  • rmdir <目录名>:只删除空目录。若需删除非空目录,一般使用 rm -r <目录>

    但要注意:rm 命令其实没有彻底删除,现在的文件系统都是日志型,操作其实都被系统监控、录制了,做了备份,删除文件都是可以恢复的,借助磁盘恢复数据手段即可,shred 文件名 能够彻底粉碎文件,具体操作是随机写入一堆二进制数据导致源文件无法使用。比较危险,不推荐使用。

    ![image-20250202234749496](./Linux 使用基础/image-20250202234749496.png)

  • touch <文件>:最常用的用途在于快速创建新文件修改现有文件的访问时间/修改时间

    • 如果文件不存在,则新建空文件;

    • 如果文件已存在,则仅更新文件时间戳(默认更新 atime、mtime)。

    • 创建多个文件的方式是用花括号扩起来,逗号分隔不同文件名,逗号之间不要加空格(mkdir 同理)

      ![image-20250110132947074](./Linux 使用基础/image-20250110132947074.png)

    • 批量操作方式为:

      ![image-20250110220016714](./Linux 使用基础/image-20250110220016714.png)

    注意:

    1. 创建文件时文件名除了不能包含斜线(/)都可以,但如果包含其他特殊字符(? * > <)需要使用单引号扩起来,双引号中的特殊符号是会发挥作用的,例如 !! 代表取得上一次执行的命令。当文件名出现特殊符号,系统会用反斜线进行转义
    2. vivimecho 也能创建文件, echo 需要结合重定向符号输出内容到创建的文件中
  • stat 文件名这个方法可以查看用户创建改变文件等的时间戳,是 ls 的详细版

    • 修改文件名、权限这些信息会导致 change 属性发生时间更新

    • 内容数据被修改时 modify 属性会发生时间更新

    ![image-20250110090635947](./Linux 使用基础/image-20250110090635947.png)

  • cp <源文件> <目标>:复制文件或目录(如果复制目录需 cp -r)。

    • 复制文件夹到目标路径某文件夹时,如果目标路径不存在该文件夹,将给原文件夹改名复制过去;若存在该文件夹,则将原文件夹复制到目标路径文件夹下

      ![image-20250111152537958](./Linux 使用基础/image-20250111152537958.png)

  • mv <源> <目标>:移动/重命名文件或目录;相当于 Windows 的剪切粘贴。

  • zip:在两个硬盘之间拷贝大量数据会时快时慢,是因为有很多零散文件,打包压缩能将这些文件进行整合在一起再去传输。

2. 查看目录与文件详情

  • ls -l:列出权限、所有者、大小、修改时间等详细信息,可以简写为 ll

    • 组合参数

      • -h:人性化显示大小,如 1K, 2M

      • -a:包括隐藏文件(以 . 开头)。

      • -d:仅显示文件夹本身的信息,而非其他内部资料。

      • -t:按修改时间排序;-r:反向排序

        1
        ls -lha /var/log
    • 权限列:如 drwxr-xr-x

      • d 表示目录;若是 - 则是普通文件;l 则表示软链接等
      • 后面 9 位分三组(owner / group / others),分别对应 rwx 的权限位
  • ls --help / man ls:查看更多可用参数和说明。

  • head -n 文件路径:查看前 $n$ 行,可以加入多个路径

    ![image-20250115175522240](./Linux 使用基础/image-20250115175522240.png)

  • treetree -NF 文件夹 显示中文的文件类型树,-N 是显示中文。

3. 重定向与文件写入

  • echo “content”:将字符串输出到终端,可以使用 >>> 重定向到文件。

    • >:覆盖写入,若文件存在则会被清空后写入新内容。
    • >>:追加写入,在文件末尾追加一行。
  • 重定向符也可用于将命令输出保存:如 ls -l > list.txt 可将 ls -l 的结果保存到 list.txt 文件里。

    注意:Linux 下的单引号表示不做特殊符号转义,只是一个纯字符串;但双引号除了定义字符串还能识别特殊符号

4. 更多常见操作

  • rm <文件/目录>:删除文件或目录,若删除目录需加 -r。谨慎使用 rm -rf / 之类的命令(危险操作)。

  • cat / tac:输出文件内容到屏幕;tac 为反序输出(从尾到头,注意是单词级别的)。

    • cat 可以结合重定向符号使用,合并若干文件后输出到指定文件

    • cat -n filename 可以输出行号(使用 -b 对有内容的行显示行号,空行不显示)

    • cat -E filename 可以在行后加 $ 代表结束

    • 可以结合 EOF 及重定向符使用

      ![image-20250115174620452](./Linux 使用基础/image-20250115174620452.png)

  • du:显示文件或文件夹的大小

    ![image-20250115151052789](./Linux 使用基础/image-20250115151052789.png)

  • wc:统计文件字数

​ ![image-20250115145624026](./Linux 使用基础/image-20250115145624026.png)

  • head / tail:查看文件开头/结尾几行,常用 tail -f 实时查看日志滚动输出。

    • tail -f:跟踪文件内容变化,但需要文件正常退出后才可见;

    • tail -F:跟踪文件内容变化,实时的,即使文件不存在也可以

  • alias:起别名,例如 rm = 'rm -i' ,简化繁琐的命令+路径。

    ![image-20250111151402312](./Linux 使用基础/image-20250111151402312.png)

  • md5sum:文件校验。

  • 读取文件:

    • more:同 cat,一次读取所有内容,不方便查看,占内存资源。分屏显示文本内容,可以用空格、回车、翻页查看,但是也很占内存

    • less:如果文本内容过多的话,不会一次性显示读取完,显示界面有多大就先显示多少。空格翻页,回车下一行

  • tar:打包压缩与解压缩。打包默认是没有压缩功能的,组合之后才能节省磁盘空间,命令为:tar [选项] [归档文件名] [文件或目录]

    • 功能性选项

      • -c:创建归档文件。

      • -x:从归档文件中提取内容。

      • -t:列出归档文件的内容。

      • -r:向现有归档文件中追加文件。

      • -u:只追加比现有归档文件更新的文件。

    • 压缩相关选项

      • -z:通过 gzip 压缩或解压缩(生成 .tar.gz 文件)。

      • -j:通过 bzip2 压缩或解压缩(生成 .tar.bz2 文件)。

      • -J:通过 xz 压缩或解压缩(生成 .tar.xz 文件)。

      • –lzma:通过 lzma 压缩或解压缩。

    • 其他选项

      • -v:显示详细操作过程。

      • -f:指定归档文件名(要放在最后一个参数)。

      • -C:切换到目标目录进行操作。

      • –exclude=PATTERN:在操作时排除符合特定模式的文件。

    • 命名规范

      • *.tar:仅仅打包了
      • *.tar.gz:打包+压缩
      • *.tgz:打包+压缩

    ![image-20250111170645720](./Linux 使用基础/image-20250111170645720.png)

    ![image-20250111175602363](./Linux 使用基础/image-20250111175602363.png)

使用 file 命令可以查看真实文件类型:

![image-20250127005513276](./Linux 使用基础/image-20250127005513276.png)


三、远程连接与协议

1. SSH 与常见客户端

  • SSH(Secure Shell):通过加密的方式远程登录与传输文件,是服务器管理的常见手段。默认端口 22
  • 语法ssh [-p PORT] user@host
    • -p PORT:指定非默认端口。
    • user@host:登录名 + 服务器 IP 或域名。
  • 密钥登录:可使用 ssh-keygen 生成公私钥,配置到服务器的 ~/.ssh/authorized_keys 中,免密码登录。
  • 常见 SSH 客户端工具:Xshell, SecureCRT, PuTTY, 或直接在 Linux 终端使用 ssh 命令。

2. 退出连接

  • exit / logout:退出当前会话。
  • 当使用 Xshell 或其他 SSH 工具时,关闭窗口或 exit 即可断开。

3. 协议概念扩充

  • 协议本质上是一套约定,用于在两端之间确立通信规范;包括数据格式、握手流程、加密方式等。
  • 常见协议
    • HTTP/HTTPS:浏览器与网站交互;
    • FTP/SFTP:文件传输协议(SFTP 基于 SSH 加密);
    • SMTP/POP3/IMAP:邮件相关协议;
    • TCP/UDP:传输层协议,TCP 面向连接,UDP 面向无连接。

4. 修改 SSH 端口与安全性

  • 可编辑 /etc/ssh/sshd_config 中的 Port 字段;修改后 systemctl restart sshd 生效。
  • 改端口能减少被恶意扫描的概率,但并非绝对安全;结合防火墙、fail2ban、密钥登录等措施才能增强安全性。

四、Linux 与 Windows 命令对比

1. 基本差异

  • 命令行 vs. GUI:Windows 常以图形界面操作为主;Linux 多在终端里敲命令。
  • 驱动方式:Windows 驱动需厂商签名或驱动管理器更新;Linux 下多内置模块或通过发行版仓库安装。
  • 软件安装方式:Windows 通常为 .exe 安装包;Linux 主要通过包管理器(apt, yum, dnf, pacman 等)进行统一管理,更加集中。

2. 文件路径与大小写

  • Windows 用 C:\ 等盘符,反斜杠 \ 作为路径分隔符;Linux 根目录为 /,斜杠 / 作为路径分隔,并且严格区分大小写

3. 网段、桥接与 NAT

在使用虚拟化(VMware、VirtualBox 等)时:

  • 桥接模式:虚拟机与宿主机在同一物理网络,可被同网段设备访问;
  • NAT 模式:虚拟机通过宿主机 IP 转发网络请求,一般从外部无法直接访问到 VM unless 做端口映射。

4. 文件类型与后缀

  • 在 Windows 中,.exe.doc.mp4 等后缀通常决定文件所能做的事情;
  • 在 Linux 中,文件权限(如 -rwxr-xr-x)才决定是否可执行,与后缀并无强制关系。.sh 只是约定俗成的脚本标识,而不影响其可执行性。

5. 命令使用

  • Windows 上 ssh 连接方式为 ssh 用户名@ip地址 端口号
  • Linux 上 ssh 连接方式为 ssh -p 端口号 用户名@ip地址

五、文件扩展名与权限控制

1. 权限位详解(rwx)

  • r(read)可读,w(write)可写,x(execute)可执行。
  • 三组权限:
    • Owner(文件所有者)
    • Group(同一用户组)
    • Others(其他用户)
  • 可用 chmod 修改权限,比如:chmod 755 script.sh;其中 7=rwx, 5=rx, 5=rx

2. RPM 软件包与 DEB 软件包

  • RPM:RedHat 系软件包,如 .rpm,可用 yum install xxx.rpmrpm -ivh xxx.rpm 安装;
  • DEB:Debian/Ubuntu 系软件包,如 .deb,可用 dpkg -i xxx.debapt install ./xxx.deb

3. 一切皆文件的扩展

  • 设备文件:如 /dev/sda 表示第一块 SCSI/SATA 硬盘设备;/dev/tty 表示终端设备;
  • 管道文件mkfifo 创建 FIFO;在进程间通信中可使用管道文件做数据传递;
  • 套接字文件:某些进程可使用 Unix Domain Socket (UDS) 在 /var/run/*.sock 中通信。

六、网络与服务管理

1. systemctl 与传统 System V

  • systemctl:主要用于管理 Systemd 服务,如 systemctl start/stop/restart/status <service>
  • 传统 SysV 使用 service <service> start/etc/init.d/<service> start 等,现代发行版多已切换到 Systemd。

2. network 服务

  • systemctl status network:查看网络服务状态;startstoprestart 分别用于启动、停止、重启。
  • 如果在 SSH 会话中停止 network 服务,则会断开连接,需要本地登录或其他网络路径访问才能恢复。

3. 网卡配置与 ifcfg

  • 在 RHEL/CentOS 等常见路径 /etc/sysconfig/network-scripts/ifcfg-ens33(具体名称以实际网卡命名为准)。 例如:
1
2
3
4
5
6
7
TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
ONBOOT=yes
  • BOOTPROTO 可选 static, dhcp
  • 修改完成后 systemctl restart network 生效。

4. 其他常见网络命令

  • ip addr show:替代 ifconfig,显示网卡 IP、MAC、子网掩码等;
  • ip route show:查看路由表;
  • ping:测试网络连通性;ping -c 4 8.8.8.8 发送 4 个 ICMP 包;
  • netstat / ss:查看端口占用、网络连接状态。

5. 域名解析入门

Linux 能正确进行互联网 DNS 解析的文件是 /etc/resolov.conf,在里面写入域名服务器地址即可。解析就是将域名解析到 IP 的一个操作,直接使用 ping 命令即可完成,但 Linux 也提供了更专业化的域名查找和解析的命令:

  • dig:可以指定域名服务器,后面加对应的域名,具体的指令可以通过 -h 获取:

    ![image-20250202233915839](./Linux 使用基础/image-20250202233915839.png)

    一个简单的示例是:

    ![image-20250202234043360](./Linux 使用基础/image-20250202234043360.png)

  • nslookup(name server look up)

    • 交互式操作,直接输入命令即可

    • 非交互式操作,nslookup 域名

      ![image-20250202233629928](./Linux 使用基础/image-20250202233629928.png)


七、硬盘与挂载

1. 基础流程

  1. 分区fdisk /dev/sdbparted /dev/sdb 建立主分区、扩展分区等;
  2. 格式化mkfs.ext4 /dev/sdb1,把分区写入 ext4 文件系统(也可能是 xfs、btrfs 等);
  3. 挂载mount /dev/sdb1 /mnt/mydisk,将该分区挂载到 /mnt/mydisk 目录。

2. 挂载与自动挂载

  • 临时挂载:只在当前会话或重启前有效;
  • 永久挂载:在 /etc/fstab 写入配置:
1
/dev/sdb1 /mnt/mydisk ext4 defaults 0 2

重启后自动挂载。

3. 磁盘管理命令扩充

  • lsblk:列出块设备的层次结构,包括挂载点;
  • df -h:查看分区的已用/可用空间;-h 让显示更友好;
  • du -sh <目录>:查看目录所占用的实际容量。

八、用户与主机名

1. 命令提示符与身份

  • root@hostname ~ #:root 用户标识符为 #
  • 普通用户@hostname ~ $:普通用户以 $ 结尾提示符;
  • 可在 ~/.bashrc/etc/bashrc 中自定义 PS1 以改变提示符样式,如在提示符中显示当前时间、Git 分支等信息(以点开头的文件表示隐藏文件,可以通过 ls -a 查看)。

2. 切换用户与管理

  • su

    • su :切换到其他用户,不完全登录,只能用 exit 退出,不加载用户的配置文件,可以再次输入 bash 命令加载用户环境变量等信息,等同于下面的加杠;
    • su - :(加杠)切换到其他用户,会进入该用户的环境(包含 PATH、工作目录等),涉及到用户的配置文件的加载,即 ~/.bash_profile
  • useradd :添加新用户;passwd :设置或修改密码。

  • usermod:修改用户属性,如 usermod -aG wheel <user> 将该用户加入 wheel 组(sudo 权限组)。

  • userdel:删除用户,可加 -r 同时删除家目录。

  • id - :查看系统中的用户信息或者验证该用户名是否存在。

3. 修改主机名

  • hostnamectl set-hostname :Systemd 时代标准方式,更改后需要重新登录或重启 shell 会话才能看到最新效果。
  • 也可直接修改 /etc/hostname/etc/hosts(旧方式,但在新版本中 hostnamectl 更简洁)。

九、常用目录与命令

1. 常见目录

  • /etc:系统配置文件主目录。很多服务(如 sshd, network, cron)的配置都在此处。
  • /var/log:存放系统及服务运行日志,如 messages, secure, cron 等文件;分析故障常见在此查看。
  • /home:普通用户的家目录存放位置,每个用户对应 /home/username
  • /root:root 用户家目录(非 /home/root)。
  • /opt:可安装第三方软件包或自主编译安装的非系统默认软件。

2. 系统文件

![linux目录结构](./Linux 使用基础/1451404-20190107163218473-2030500089.png)

  • /etc:初始化系统的重要文件所在目录,包含各种系统配置文件和服务配置文件。

    • /etc/sysconfig/network-scripts/ifcfg-eth0:网卡配置文件,用于配置以太网接口的网络参数,如IP地址、子网掩码、网关等。

    • /etc/resolv.conf:Linux系统的DNS客户端配置文件,用于域名解析,使机器能够识别和访问如www.taobao.com等域名。

      注意:

      1. 将 nameserver 行注释掉就 ping 不通其他网址了,可以写入多个 nameserver,防止一个挂掉就无法做域名解析了
      2. DNS 劫持:修改了 nameserver 地址,并关闭了本地的公网 DNS 服务器设置传送到恶意的 DNS 服务器地址,返回一个恶意的 IP 地址。要解决只需要修改客户端正确的 DNS 服务器即可(本地机器会有 DNS 解析缓存,可以使用命令强制刷新)
    • /etc/hostname (CentOS 7) / /etc/sysconfig/network (CentOS 6):主机名配置文件,用于设置系统的主机名。例如,可以设置一个测试用的假域名如www.yejinyang0224.cd

    • /etc/hosts:系统本地的DNS解析文件,包含本机的IP地址与域名对应关系,如192.168.0.150 www.yejinyang0224.cc,使本机能够解析指定的域名。该文件必须在客户端机器上配置,决定了本机对特定域名的解析。

    • /etc/fstab:配置开机时自动挂载设备的文件,定义了设备与挂载点的对应关系。

    • /etc/rc.local:存放开机自启动程序命令的文件,可以在系统启动时自动执行指定的脚本或命令。

    • /etc/inittab:系统启动时设定运行级别等配置的文件(主要用于旧版系统)。

    • /etc/profile/etc/bashrc:配置系统的环境变量和别名等文件,影响所有用户的登录环境。

    • /etc/profile.d:用户登录后执行的脚本所在目录,可以在此设置个人快捷命令或别名,每次开机自动加载。

    • /etc/issue/etc/issue.net:配置用户登录终端前显示的信息文件,如欢迎信息或系统标识。

    • /etc/init.d:软件启动程序所在目录(适用于 CentOS 6),存放各种服务的启动脚本。

    • /usr/lib/systemd/system/:软件启动程序所在目录(适用于 CentOS 7),存放 Systemd 服务单元文件。

    • /etc/motd:配置用户登录系统后显示的提示内容文件(Message of the Day)。

    • /etc/redhat-release:声明 RedHat 系统的版本号和名称信息的文件。

    • /etc/sysctl.conf:Linux内核参数设置文件,用于配置内核的运行参数,如网络设置、文件系统性能参数等。

  • /proc:重要的虚拟文件系统,提供系统底层的各种信息,如硬件设备、文件系统等,体现了 Linux 的“一切皆文件”理念。

    • /proc/meminfo:系统内存信息,提供详细的内存使用情况,虽然对普通用户来说较为底层,但许多程序依赖于此获取内存数据。
    • /proc/cpuinfo:处理器信息文件,包含关于CPU的详细信息,如型号、核心数、频率等。
  • /dev:设备文件目录,包含系统中所有的设备文件,如 /dev/sda(第一块SCSI/SATA硬盘设备)、/dev/tty(终端设备)。

  • /var/log:存放系统和服务的日志文件,如messagessecurecron等,帮助运维人员进行系统监控与故障排除。

  • /home:普通用户的家目录所在位置,每个用户对应 /home/username

  • /root:超级用户(root)的家目录。

  • /opt:用于安装大型或第三方软件包,通常不属于系统默认软件的一部分。

  • /lib:存放系统软件运行必须调用的 .so 文件,如同 Windows 软件运行依赖的 .dll 文件。

  • /mnt:就是一个普通文件夹,一般用做光驱、U 盘、硬盘等挂载,访问该文件夹即等于读取 U 盘的数据。

  • /usr:存放系统应用程序、库文件和共享资源,类似于 Windows 的 C:\Windows 目录。

    • /usr/lib:存放系统库文件和动态链接库,类似于 Windows 的 C:\Windows\System32,包含大量系统级别的库和模块。
    • /usr/local:用于安装用户自己编译的程序和手动安装的软件,类似于 Windows 的 C:\Program Files。这个目录下的程序通常不由包管理器管理,便于用户自定义和维护。

3. 系统信息查看

  • uname -a:查看内核版本、主机名、硬件架构等;
  • cat /etc/os-release:查看操作系统发行版信息;
  • hostnamectl:查看/设置主机名、OS 类型、内核等;
  • w:可以显示系统登录用户(w = who + uptime)。

4. 帮助与历史

  • man <命令>:查看 Linux 内置手册,更多参数与示例;

  • –help:大多数命令提供简要帮助;

  • info <命令>:另一种详细文档格式(GNU info page);

  • history:查看输入过的命令记录,可配合 !<编号> 快速执行某条历史命令。

  • find:查找文件

    ![image-20250115152941077](./Linux 使用基础/image-20250115152941077.png)

    • -type f:找到文本类型的数据(可以被 cat 的文件)

    • -type d:找到文件夹类型的数据

    • -o:或者,比如要找到所有的压缩文件

      1
      find / -type f -name "*.tar" -o -name "*.tgz" -o -name "*.zip" -o -name "*.tar.gz"
    • -a:并且

      ![image-20250117123507969](./Linux 使用基础/image-20250117123507969.png)

    • 找出系统上超过 20 M 的 tar 压缩包(大于为+20M,等于为 20M,小于为-20M)

      1
      find / -type f -size +20M -name "*.tar"

十、变量与环境变量

1. 定义与读取

  • 自定义变量:不加 export 仅在当前 shell 有效:

    1
    2
    name="hello"
    echo $name
  • 导出为环境变量:使其在子进程也可见:

    1
    export name="hello"  
  • 删除变量unset name

2. PATH 环境变量

  • 决定在终端输入某个命令时,系统依次在这些目录里查找可执行文件。例如 PATH=/usr/local/bin:/usr/bin:/bin.

  • which <命令>:显示该命令对应的绝对路径,比如:

    1
    2
    which ls
    # /usr/bin/ls
  • 若某个目录不在 PATH 中,需要全路径调用或修改 PATH。


十一、更多扩充与常见实用技巧

1. 软件安装相关

  • yum search <关键字> / apt search <关键字>:查找可安装的软件包;
  • yum update / apt update:更新软件源信息,再用 upgradedist-upgrade 升级已安装的包;
  • yum remove <包名> / apt remove <包名>:卸载不用的包。

2. 查找与过滤命令

  • find <路径> -name :递归查找匹配特定文件名;可加 -type f/d 限制类型;
  • grep <关键词>:在文本中搜索关键字;grep -r 递归搜索目录;egrep / fgrep 为扩展/固定正则版本;
  • awk / sed:文本处理的强大工具,常搭配管道组合复杂过滤或替换操作。

3. 进程管理

  • ps aux / top / hto:查看当前进程列表、CPU/内存占用;
  • kill / kill -9 :结束进程;kill -9 为强制结束;
  • jobs / bg / fg:管理后台/前台进程;常用场景:一时想把长时间任务放后台执行。

4. 安全强化基础

  • sudo 机制:普通用户临时以 root 身份执行管理命令,减少安全隐患;
  • 防火墙firewalldiptables;控制端口开放与否;firewall-cmdiptables 命令进行规则配置;
  • 日志审计:查看 /var/log/secure/var/log/audit 等,以了解系统登录和关键安全事件。

5. Shell 脚本入门

  • 首行常用 #!/bin/bash 指明解释器;
  • 赋予脚本可执行权限 chmod +x script.sh
  • 通过 ./script.shbash script.sh 运行;
  • 脚本中可使用变量、流程控制语句(if/for/while)等实现自动化运维。

6. 虚拟机快照

相当于游戏存档,例如软件升级时有很多相关软件也都跟着升级导致某个出问题了,可以回到之前的位置

  • 本文标题:Linux 使用基础
  • 本文作者:Chen Kai
  • 创建时间:2025-01-10 00:00:00
  • 本文链接:https://www.chenk.top/Linux 使用基础/
  • 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
 评论