【Linux】Linux基本指令 & 权限全解析

Linux 常用命令入门 & 权限全解析

作者 :yuuki233233
目标 :德国 CS 本科 + 特斯拉软件工程师
适用人群:大一/自学者,想快速上手 Linux 命令行 + 搞懂权限本质

这是一份针对 Linux 初学者的实用命令笔记,重点覆盖文件/目录操作、查看、复制移动删除、查看内容、压缩解压等日常最高频场景。

欢迎点赞、收藏、评论,一起卷 Linux!

Linux 命令与权限

  • [Linux 常用命令入门 & 权限全解析](#Linux 常用命令入门 & 权限全解析)
    • [1. 定位与路径(先学会找路)](#1. 定位与路径(先学会找路))
      • [pwd - 当前工作目录](#pwd - 当前工作目录)
      • [cd - 切换目录](#cd - 切换目录)
      • [ls - 列出目录内容(最常用命令!)](#ls - 列出目录内容(最常用命令!))
    • [2. 创建/删除/移动/复制](#2. 创建/删除/移动/复制)
      • [touch - 创建空文件 / 更新时间戳](#touch - 创建空文件 / 更新时间戳)
      • [mkdir - 创建目录](#mkdir - 创建目录)
      • [rm - 删除文件/目录(小心!)](#rm - 删除文件/目录(小心!))
      • [cp - 复制文件/目录](#cp - 复制文件/目录)
      • [mv - 移动/重命名](#mv - 移动/重命名)
    • [3. 查看文件内容](#3. 查看文件内容)
      • [cat - 查看文件内容](#cat - 查看文件内容)
      • [less / more - 分页查看(大文件推荐 less)](#less / more - 分页查看(大文件推荐 less))
      • [head / tail - 查看头/尾](#head / tail - 查看头/尾)
    • [4. 查找与搜索](#4. 查找与搜索)
      • [find - 强大的文件查找](#find - 强大的文件查找)
      • [grep - 文本搜索(神器!)](#grep - 文本搜索(神器!))
    • [5. 权限核心解析(重点)](#5. 权限核心解析(重点))
      • [rwx 权限本质](#rwx 权限本质)
      • [chmod 修改权限](#chmod 修改权限)
      • [umask 计算](#umask 计算)
      • [sudo / su / root](#sudo / su / root)
    • [6. 压缩与解压(最常用两种格式)](#6. 压缩与解压(最常用两种格式))
      • [zip / unzip(需安装)](#zip / unzip(需安装))
      • [tar(Linux 自带,最推荐)](#tar(Linux 自带,最推荐))
    • [7. 其他高频小工具](#7. 其他高频小工具)
    • 重点

1. 定位与路径(先学会找路)

pwd - 当前工作目录

bash 复制代码
pwd # 输出示例:/home/yuuki/projects

cd - 切换目录

Bash 复制代码
cd /etc          # 绝对路径
cd ..            # 上级
cd ~             # 家目录
cd -             # 上一个目录

ls - 列出目录内容(最常用命令!)

Bash 复制代码
ls               # 列出当前目录可见文件
ls -a            # 显示隐藏文件(以 . 开头)
ls -l            # 详细列表(权限、所有者、大小、修改时间)
ls -lh           # 人类可读大小(K/M/G)
ls -la           # 详细 + 隐藏文件
ls -R            # 递归列出子目录
ls *.cpp         # 只看 .cpp 文件

小技巧:想看目录下最大文件?

Bash 复制代码
ls -lhS | head -n 5   # 按大小降序,前5个

小技巧ls -lah --color=auto 几乎是所有人日常最爱用的组合。

2. 创建/删除/移动/复制

touch - 创建空文件 / 更新时间戳

Bash 复制代码
touch newfile.txt
touch file1.txt file2.cpp

mkdir - 创建目录

Bash 复制代码
mkdir newdir
mkdir -p a/b/c/d     # 递归创建多级目录

rm - 删除文件/目录(小心!)

Bash 复制代码
rm file.txt          # 删除文件
rm -r dir            # 递归删除目录
rm -rf dir           # 强制递归删除(危险!慎用)
rm -i *.log          # 删除前询问确认

安全写法 :先用 ls 确认要删的东西,再 rm。
重要警告rm -rf /rm -rf /* 会毁掉整个系统!新手建议先 alias rm='rm -i' 强制确认。

cp - 复制文件/目录

Bash 复制代码
cp file.txt /backup/
cp -r dir /backup/   # 递归复制目录
cp -i file.txt dest/ # 覆盖前询问

mv - 移动/重命名

Bash 复制代码
mv oldname.txt newname.txt   # 重命名
mv file.txt /new/path/       # 移动
mv -i file.txt dest/         # 覆盖前询问

常用选项-i(覆盖前询问)、-f(强制覆盖)、-v(显示过程)

3. 查看文件内容

cat - 查看文件内容

Bash 复制代码
cat file.txt
cat -n file.txt      # 显示行号

less / more - 分页查看(大文件推荐 less)

Bash 复制代码
less log.txt         # 上下翻页,q 退出

head / tail - 查看头/尾

Bash 复制代码
head -n 10 log.txt   # 前10行
tail -n 20 log.txt   # 后20行
tail -f log.txt      # 实时跟踪日志(开发最常用!)

less 常用快捷键

  • /关键词 → 向下搜
  • ?关键词 → 向上搜
  • n / N → 下一个 / 上一个
  • q → 退出

4. 查找与搜索

find - 强大的文件查找

Bash 复制代码
find /home -name "*.cpp"          # 找所有 .cpp 文件
find . -type f -size +10M         # 找当前目录大于10MB的文件
find . -mtime -7                  # 7天内修改的文件

grep - 文本搜索(神器!)

Bash 复制代码
grep "error" log.txt              # 查找包含 error 的行
grep -r "TODO" .                  # 递归搜索当前目录
grep -i "bug" *.cpp               # 忽略大小写
grep -n "warning" *.log           # 显示行号

5. 权限核心解析(重点)

rwx 权限本质

对象 r(读) w(写) x(执行/进入) 决定能否删除?
文件 查看内容 修改内容 执行脚本/二进制
目录 ls 查看文件名 创建/删除/重命名里面文件 cd 进入、访问里面文件 是(w 决定)

关键结论 :文件能不能被删,只看它所在目录有没有 w 权限

chmod 修改权限

符号法:

Bash 复制代码
chmod u+x script.sh
chmod go-rwx private/

数字法:

Bash 复制代码
chmod 755 script.sh    # rwxr-xr-x
chmod 644 file.txt     # rw-r--r--

umask 计算

默认 umask 002:

  • 文件:666 & 775 = 664(rw-rw-r--)
  • 目录:777 & 775 = 775(rwxrwxr-x)

为什么 umask 002? 大部分文件不需要执行权限(源代码、日志、配置文件),所以默认去掉 o 的 x

sudo / su / root

  • su -:切换到 root,需要 root 密码
  • sudo:临时提权,需要当前用户密码(推荐)
  • root:无所不能

小实验

Bash 复制代码
sudo touch /root/secret.txt
sudo chown $USER:$USER /root/secret.txt   # 改成你的

6. 压缩与解压(最常用两种格式)

zip / unzip(需安装)

bash 复制代码
# Ubuntu/Debian
sudo apt install zip unzip -y

# 压缩文件夹(必须加 -r)
zip -r myproject.zip myproject/

# 解压到指定目录
unzip myproject.zip -d destination/

tar(Linux 自带,最推荐)

Bash 复制代码
# 打包 + gzip 压缩(最常用 .tar.gz)
tar czvf backup.tar.gz folder/

# 解压
tar xzvf backup.tar.gz

# 解压到指定目录
tar xzvf backup.tar.gz -C /path/to/dir

# 只查看内容(不解压)
tar tvf backup.tar.gz

7. 其他高频小工具

  • man 命令 → 查看手册(按 q 退出)

  • alias ll='ls -lah' → 设置快捷别名(写到 ~/.bashrc 永久生效)

  • cal → 显示日历

  • bc → 简单计算器

  • uname -a → 查看系统信息

  • tree → 显示目录树状结构(需安装:sudo apt install tree

    • 推荐:tree -C -L 3(彩色 + 3 层)
  • df/du 磁盘空间
    *

    Bash 复制代码
      df -h           # 人类可读磁盘使用情况
      du -sh /dir     # 查看目录总大小
  • ps/top/htop 进程查看
    *

    Bash 复制代码
      ps aux          # 查看所有进程
      top             # 实时监控(q 退出)
      htop            # 更友好版本(需安装)
  • kill 杀死进程
    *

    Bash 复制代码
      kill 12345      # 温和终止
      kill -9 12345   # 强制杀死
  • scp 远程复制文件
    *

    Bash 复制代码
      scp file.txt user@remote:/path/      # 本地 → 远程
      scp user@remote:/path/file.txt .     # 远程 → 本地

重点

  1. 永远不要随便用 rm -rf /rm -rf *(尤其是 sudo)
  2. 删除前先用 ls 确认目标
  3. 重要操作加 -i 确认
  4. 学习用 man 命令命令 --help 获取最新准确帮助

代码仓库:https://github.com/yuuki233233/cpp-learning-journey

CSDN 主页:https://blog.csdn.net/yuuki233233

欢迎评论交流,一起卷 Linux !

相关推荐
殷忆枫2 分钟前
Linux 4G模块驱动适配实战:从手动绑定到自动识别
linux·运维·服务器
知彼解己3 分钟前
Eclipse Temurin:企业级 Java JDK 发行版的最佳实践
java·ide·eclipse
朱容zr3331334 分钟前
请解释“回表”的概念。
java·前端·数据库
不吃辣4905 分钟前
vibe coding | 如何做一个 AI 音乐生成工具?
java·人工智能·后端·ai·ai编程
NWU_LK17 分钟前
【WebFlux】第八篇 —— 自定义调度器
java
☆凡尘清心☆18 分钟前
CentOS Stream 9 编译安装 Redis 7.2.7 完整版详细步骤
linux·redis·centos
AI人工智能+电脑小能手23 分钟前
【大白话说Java面试题 第210题】【10_网络协议篇】第1题:说说 TCP/IP 网络五层模型
java·网络协议·tcp/ip·计算机网络·网络五层模型
wuminyu23 分钟前
JUC组件逐层剥离与深度剖析
java·linux·c语言·jvm·c++·算法
大黄说说25 分钟前
EF Core 避坑指南:查询慢、循环查询、并发更新问题如何解决
java·服务器·数据库
城管不管33 分钟前
重生——第五次面试2026.8.1一面
java·数据库·后端·ai·面试·职场和发展·agent