Linux

 
这是一个涵盖 Linux 核心基础概念和日常高频使用指令的指南。

Linux 基础知识与常用指令指南

Linux 是一种自由和开放源码的类 UNIX 操作系统。它广泛应用于服务器、超级计算机、移动设备(Android)以及嵌入式系统中。

目录

  1. Linux 文件系统基础
  1. 文件与目录操作
  1. 文件内容查看与搜索
  1. 用户权限与管理
  1. 系统资源与进程管理
  1. 网络操作
  1. 软件安装与压缩
  1. 实用快捷键与技巧

1. Linux 文件系统基础

Linux 的文件系统是一个树状结构,一切皆文件。
  • / (Root): 根目录,所有文件和目录的起点。
  • /home: 普通用户的家目录(例如 /home/user1)。
  • /root: 超级管理员(root)的家目录。
  • /bin & /usr/bin: 存放常用命令(如 ls, cp)。
  • /etc: 存放系统配置文件。
  • /var: 存放经常变化的文件,如日志 (/var/log)。
  • /tmp: 临时文件目录,重启后通常会被清空。

2. 文件与目录操作

路径切换与查看

ls # 列出当前目录下的文件 ls -l # 以列表方式显示详细信息(权限、大小、时间等) ls -a # 显示所有文件(包含以.开头的隐藏文件) ls -lh # 显示详细信息,文件大小以人类可读格式显示(KB, MB) pwd # (Print Working Directory) 显示当前工作目录的绝对路径 cd /path/to # 切换到指定目录 cd .. # 返回上一级目录 cd ~ # 回到当前用户的家目录 cd - # 回到上一次所在的目录

创建与删除

mkdir dir_name # 创建一个目录 mkdir -p a/b/c # 递归创建多级目录 touch filename.txt # 创建一个空文件(或更新文件时间戳) rm filename # 删除文件 rm -r dir_name # 递归删除目录 rm -rf dir_name # 强制递归删除目录(慎用!不会有提示)

复制与移动

cp file1 file2 # 将 file1 复制为 file2 cp -r dir1 dir2 # 复制目录(递归) mv file1 file2 # 重命名(将 file1 改名为 file2) mv file1 /path/to/ # 移动文件到指定目录

3. 文件内容查看与搜索

查看内容

cat file.txt # 显示文件所有内容 head -n 10 file.txt # 查看文件前 10 行 tail -n 10 file.txt # 查看文件最后 10 行 tail -f log.txt # 实时动态查看文件追加的内容(常用于看日志) less file.txt # 分页查看文件(按 q 退出,支持上下翻页)

搜索与查找

grep "text" file.txt # 在文件中搜索字符串 "text" grep -r "text" . # 在当前目录及子目录下递归搜索 "text" find /path -name "*.txt" # 在指定路径下查找后缀为 .txt 的文件

4. 用户权限与管理

Linux 权限分为:读(r=4)、写(w=2)、执行(x=1)。

权限修改 (chmod)

chmod +x script.sh # 给文件添加可执行权限 chmod 755 file # 所有者(rwx=7), 组(rx=5), 其他人(rx=5) chmod 777 file # 所有人拥有所有权限(慎用)

所有者修改 (chown)

chown user:group file # 修改文件的所有者和所属组 chown -R user:group dir # 递归修改目录的所有者

用户切换

sudo command # 以管理员(root)身份执行命令 su - username # 切换到指定用户环境 whoami # 查看当前登录的用户名

5. 系统资源与进程管理

系统状态

top # 实时显示系统进程动态(按 q 退出) htop # top 的增强版(如果已安装,界面更友好) free -h # 查看内存使用情况 df -h # 查看磁盘空间挂载及使用情况 du -sh dir_name # 查看指定目录占用的总大小 uname -a # 查看内核及系统版本信息

进程管理

ps -ef # 查看系统所有进程 ps aux | grep nginx # 查找特定名称(如 nginx)的进程 kill 1234 # 结束 PID 为 1234 的进程 kill -9 1234 # 强制杀死进程

服务管理 (Systemd)

systemctl status docker # 查看服务状态 systemctl start docker # 启动服务 systemctl stop docker # 停止服务 systemctl restart docker # 重启服务 systemctl enable docker # 设置开机自启

6. 网络操作

ping google.com # 测试网络连通性 ifconfig # 查看网卡信息 (旧指令) ip addr # 查看 IP 地址 (推荐) netstat -tuln # 查看本机监听的端口 ss -tuln # 查看端口 (netstat 的替代品,更快) curl <http://url> # 发起 HTTP 请求 wget <http://url/file> # 下载文件

7. 软件安装与压缩

软件安装

根据发行版不同,包管理器不同:
  • Ubuntu / Debian (apt):
    • sudo apt update # 更新软件源列表 sudo apt install pkg_name # 安装软件 sudo apt remove pkg_name # 卸载软件
  • CentOS / RHEL (yum/dnf):
    • sudo yum install pkg_name # 安装软件

压缩与解压

  • .tar.gz / .tgz
    • tar -czvf archive.tar.gz dir/ # 压缩 dir 目录 tar -xzvf archive.tar.gz # 解压
  • .zip
    • zip -r archive.zip dir/ # 压缩 unzip archive.zip # 解压

8. 实用快捷键与技巧

  • Tab 键: 自动补全命令或文件名(最重要的技巧,多按两次显示所有匹配项)。
  • Ctrl + C: 终止当前正在运行的程序。
  • Ctrl + L: 清屏(相当于 clear 命令)。
  • Ctrl + A: 光标移动到行首。
  • Ctrl + E: 光标移动到行尾。
  • 上下箭头: 翻阅历史命令。
  • 管道符 |: 将前一个命令的输出作为后一个命令的输入。
    • 例:cat log.txt | grep "Error" (查看文件并只显示包含Error的行)。
  • 重定向 >>>:
    • > : 覆盖输出到文件。 echo "Hello" > file.txt
    • >>: 追加输出到文件。 echo "World" >> file.txt
 

电脑端的远程连接工具 (SSH Clients)

这是安装在你 Windows/Mac 电脑上的软件,用来连接 Linux 服务器。
  • Windows:
    • Xshell: 功能强大,不仅是 SSH,还方便管理 Session(个人免费)。
    • MobaXterm: 全能型工具,自带 SFTP(传文件)、Xserver(远程显示图形界面),强力推荐
    • Termius: 界面最现代、好看,支持跨设备同步(部分功能收费)。
    • WindTerm: 开源免费,性能极高,自带锁屏功能。
  • MacOS:
    • iTerm2: Mac 上最强的终端工具。
    • Termius: 同上。