本文主要讲解 Linux 的基础,涵盖基础命令、权限管控、实用操作等核心知识点,适合初学者快速上手。


基础命令

一、Linux 命令通用格式

command [-options] [parameter]
  • command:命令本身
  • options:选项(可选,用于控制命令行为)
  • parameter:参数(如文件、目录、路径)

📌 说明:

  • [] 表示可选
  • 多个选项通常可以合并使用

二、目录与文件操作命令

查看目录内容:ls

ls [-a -l -h] [路径]

常用选项:

  • -a:显示所有文件(包括隐藏文件)
  • -l:以列表形式显示详细信息
  • -h:文件大小以可读单位显示(K / M / G)
ll        # 等价于 ls -l

切换目录:cd

cd 路径

常见用法:

cd /usr/local
cd ..
cd ~

查看当前路径:pwd

pwd

创建目录:mkdir

mkdir [-p] 路径
  • -p:递归创建多级目录
mkdir -p a/b/c

创建文件:touch

touch 文件路径

三、文件内容查看

查看全部内容:cat

cat 文件路径

分页查看:more

more 文件路径
  • 回车:下一行
  • 空格:下一页
  • q:退出

四、文件与目录操作

复制:cp

cp [-r] 源 目标
  • -r:递归复制目录
cp a.txt b.txt
cp -r dir1 dir2

移动 / 重命名:mv

mv 源 目标
mv old.txt new.txt
mv file.txt /tmp/

删除:rm

rm [-r -f] 参数1 参数2 ... 参数N
  • -r:递归删除目录
  • -f:强制删除(危险)

⚠️ 注意:

rm -rf /   # 千万不要执行

五、命令与文件查找

查找命令位置:which

which 命令名

查找文件:find

按名字查找:

find 起始路径 -name "文件名"

按大小查找:

find 起始路径 -size +|-n[kMG]

示例:

find / -name "test.txt"
find . -size +10M

六、文本搜索与统计

搜索内容:grep

grep [-n] 关键字 文件路径
  • -n:显示行号
grep -n "error" log.txt

统计信息:wc

wc [-c -m -l -w] 文件路径
选项 含义
-c 字节数
-m 字符数
-l 行数
-w 单词数
wc -l test.txt

七、管道与重定向(非常重要)

管道符 |

命令1 | 命令2

👉 将 左侧命令的输出 作为 右侧命令的输入

ls | grep ".txt"

重定向符

覆盖写入:>

command > 文件

追加写入:>>

command >> 文件

示例:

echo "hello" > a.txt
echo "world" >> a.txt

八、输出与命令替换

输出内容:echo

echo 内容

命令替换:反引号 ```

`command`

示例:

echo "我当前的工作目录是:`pwd`" > work.txt

九、查看文件尾部:tail

tail [-f -num] 文件路径
  • -f:实时跟踪文件变化
  • -num:查看最后 num 行(默认 10 行)
tail -f work.txt
tail -20 work.txt

十、编辑文件:vim

vim 文件路径

用于编辑配置文件、代码文件等。

关于vim的相关命令可看我的另一篇blog(Vim 常用命令速查表

权限管控

一、用户切换与权限提升

su:切换用户

su [-] [用户名]
  • 不写用户名默认切换到 root
  • -:加载目标用户的环境变量(推荐)
  • exit:返回上一个用户

sudo:临时获取 root 权限

sudo 命令
  • 为普通用户授予执行单条 root 命令的能力
  • 使用前需要配置 sudo 授权

二、sudo 授权配置(root 下)

1️⃣ 切换 root:

su -

2️⃣ 编辑 sudoers:

vim /etc/sudoers
或
visudo		#推荐

3️⃣ 文件末尾添加:

用户名    ALL=(ALL)    NOPASSWD:ALL

含义:

  • 允许该用户执行所有命令
  • NOPASSWD 表示无需输入密码

三、用户组管理(root 权限)

groupadd 用户组名     # 创建用户组
groupdel 用户组名     # 删除用户组

四、用户管理

创建用户

useradd [-g -d] 用户名
  • -g:指定用户组(不指定则创建同名组)
  • -d:指定 home 目录

删除用户

userdel [-r] 用户名
  • -r:同时删除 home 目录

查看用户信息

id 用户名

将指定用户添加到指定用户组

usermod -aG 用户组 用户名

五、用户 / 用户组信息查询

查看系统用户

getent passwd

格式:

用户名:密码(x):用户ID:组ID:描述信息:HOME目录:默认bash

查看系统用户组

getent group

格式:

组名:组密码(x):组ID

六、文件权限管理

chmod:修改权限

chmod [-R] 权限 文件/目录
  • -R:递归修改
  • 仅文件所有者或 root 可操作
符号写法
chmod u=rwx,g=rx,o=x hello.txt
数字写法(常用)
chmod 751 test.txt

数值规则:

  • r = 4
  • w = 2
  • x = 1

chown:修改所属用户 / 用户组

chown [-R] [用户][:用户组] 文件/目录
  • 普通用户无法修改为其他用户/组
  • 一般由 root 执行

实用操作

一、进程与会话控制

强制终止当前命令

Ctrl + C
  • 向当前进程发送 SIGINT
  • 常用于中断卡住或运行过久的命令
  • 也可取消命令的输入

退出当前 Shell / 登出

Ctrl + D
  • 等价于 exit
  • 用于退出终端或注销用户
  • 不能用于退出 vi / vim

二、历史命令相关

查看历史命令

history
  • 显示当前用户的历史命令列表

前缀匹配执行历史命令

!命令前缀
  • 自动执行上一次匹配前缀的命令

示例:

!git
  • 自动执行最近一次以 git 开头的命令

反向搜索历史命令(强烈推荐)

Ctrl + R
  • 输入关键字实时匹配历史命令
  • 再次 Ctrl + R 可切换匹配结果
  • 使用可以修改当前选中的命令

三、光标与行内编辑

光标快速移动

Ctrl + A   	# 跳到命令行开头
Ctrl + E   	# 跳到命令行结尾
Ctrl + ← / →	# 用于在命令中逐单词移动

四、界面控制

清屏

Ctrl + L
  • 等价于 clear
  • 不影响命令历史,仅清空显示内容

Updated: