
Linux 基础指令与权限管理完全指南
前言
在开始Linux系统编程之前,掌握常用的Linux命令和权限管理是必不可少的一步。本文将从零开始,带你熟悉Linux环境下的基本操作,包括文件管理、目录操作、文本查看、权限设置等核心内容。无论你是刚接触Linux的新手,还是希望系统梳理知识的老手,这篇文章都能为你提供清晰的指引。
思考:为什么生产环境中很少使用Linux的图形界面?因为图形界面会占用大量系统资源,且远程管理时效率低下,命令行才是Linux的精髓。
一、环境准备与远程登录
1. 查看Linux主机IP
在终端中执行以下命令查看本机IP地址:
bash
ifconfig
2. 使用XShell远程登录
- 下载XShell(家庭/学校版免费):https://www.netsarang.com/products/xsh_overview.html
- 在XShell中执行:
ssh [ip],输入用户名和密码即可登录。
XShell复制粘贴快捷键
- 复制:
Ctrl + Insert- 粘贴:
Shift + Insert
(注意:Ctrl + C/Ctrl + V在终端中不适用)
二、文件与目录基础操作
1. ls ------ 列出目录内容
语法 :ls [选项] [目录或文件]
常用选项:
| 选项 | 说明 |
|---|---|
-a |
列出所有文件(包括以.开头的隐藏文件) |
-l |
显示详细信息(权限、大小、修改时间等) |
-d |
将目录像文件一样显示,不列出其内容 |
-R |
递归列出所有子目录 |
-t |
按修改时间排序 |
-i |
输出文件的inode节点信息 |
示例:
bash
ls -al # 显示所有文件的详细信息
ls -l /home # 查看/home目录下的内容
2. pwd ------ 显示当前目录
bash
pwd
3. cd ------ 切换目录
语法 :cd [目录名]
特殊用法:
bash
cd .. # 返回上级目录
cd ~ # 进入当前用户的家目录
cd - # 返回上一次所在的目录
cd / # 进入根目录
路径知识
- 绝对路径 :从根目录
/开始,如/home/user/test- 相对路径 :相对于当前目录,如
./test、../temp
4. mkdir ------ 创建目录
语法 :mkdir [选项] 目录名
常用选项 :-p 递归创建多级目录
bash
mkdir mydir
mkdir -p path1/path2/path3 # 一次性创建多级目录
5. rmdir ------ 删除空目录
语法 :rmdir [选项] 目录名
注意 :只能删除空目录,若需删除非空目录,请使用rm -r。
6. touch ------ 创建文件或修改时间戳
语法 :touch [选项] 文件名
示例:
bash
touch newfile.txt # 创建空文件
touch -a newfile.txt # 仅修改访问时间
touch -m newfile.txt # 仅修改修改时间
三、文件操作与内容查看
1. rm ------ 删除文件或目录
语法 :rm [选项] 文件或目录
常用选项:
-f:强制删除,不提示-i:删除前逐一询问-r:递归删除目录及其内容
示例:
bash
rm file.txt # 删除文件
rm -r dir # 删除目录
rm -rf dir # 强制删除目录(慎用)
2. cp ------ 复制文件或目录
语法 :cp [选项] 源文件 目标文件
常用选项:
-i:覆盖前询问-r:递归复制目录
示例:
bash
cp file.txt file_backup.txt # 复制文件
cp -r dir dir_backup # 复制目录
cp *.txt destdir/ # 复制所有txt文件到目标目录
3. mv ------ 移动或重命名
语法 :mv [选项] 源文件 目标文件
示例:
bash
mv oldname.txt newname.txt # 重命名
mv file.txt dir/ # 移动文件
mv -i file.txt dir/ # 移动时若目标存在则询问
4. cat ------ 查看文件内容
语法 :cat [选项] 文件
常用选项:
-n:显示行号-b:非空行显示行号-s:压缩连续空行
5. more / less ------ 分页查看
more:只能向后翻页less:支持前后翻页、搜索
less常用操作:
/字符串:向下搜索?字符串:向上搜索n/N:重复/反向重复搜索q:退出
6. head / tail ------ 查看文件头尾
bash
head -n 20 file.txt # 显示前20行
tail -n 10 file.txt # 显示后10行
tail -f log.txt # 实时跟踪日志文件
实战技巧:显示文件的第180到200行
bash
head -200 temp.txt | tail -20
四、搜索与查找
1. find ------ 文件搜索
语法 :find 路径 -name 文件名
示例:
bash
find /home -name "*.c" # 查找所有.c文件
find . -name "test.txt" # 当前目录下查找
2. grep ------ 文本搜索
语法 :grep [选项] 字符串 文件
常用选项:
-i:忽略大小写-n:显示行号-v:反向匹配(显示不包含该字符串的行)
示例:
bash
grep "error" log.txt
grep -ni "warning" log.txt
grep -v "debug" log.txt
3. which / whereis ------ 命令定位
bash
which ls # 显示ls命令的路径
whereis ls # 显示ls的二进制、源码、手册位置
五、压缩与解压
1. tar ------ 打包/解包(最常用)
语法 :tar [选项] 文件名 文件/目录
常用选项:
| 选项 | 说明 |
|---|---|
-c |
创建压缩包 |
-x |
解压 |
-z |
通过gzip压缩 |
-j |
通过bzip2压缩 |
-v |
显示过程 |
-f |
指定文件名(必须紧跟选项后) |
-C |
解压到指定目录 |
示例:
bash
tar -czvf backup.tar.gz /home # 打包并gzip压缩
tar -xzvf backup.tar.gz # 解压
tar -xzvf backup.tar.gz -C /tmp # 解压到指定目录
2. zip / unzip
bash
zip -r archive.zip dir/ # 压缩目录
unzip archive.zip -d /target # 解压到指定目录
六、系统信息与时间
1. date ------ 日期时间
bash
date # 显示当前时间
date +%Y-%m-%d # 格式:2025-01-15
date +%s # 显示时间戳
date -d @1673432636 # 时间戳转日期
2. cal ------ 日历
bash
cal # 显示当月日历
cal -3 # 显示上月、本月、下月
cal 2025 # 显示全年日历
3. bc ------ 计算器
bash
bc
1 + 2
quit
4. uname -r ------ 查看内核版本
bash
uname -a # 显示所有系统信息
七、权限管理
1. 用户类型
- 超级用户(root) :提示符为
#,拥有最高权限 - 普通用户 :提示符为
$,权限受限
切换用户:
bash
su username # 切换用户
su root # 切换到root(需输入密码)
2. 文件类型与权限
文件类型标识:
| 标识 | 类型 |
|---|---|
- |
普通文件 |
d |
目录 |
l |
软链接 |
b |
块设备 |
c |
字符设备 |
权限表示(rwx):
- r:读(4)
- w:写(2)
- x:执行(1)
3. 修改权限 ------ chmod
格式 :chmod [选项] 权限 文件名
符号方式:
bash
chmod u+w file.txt # 给所有者添加写权限
chmod g-x file.txt # 移除组用户执行权限
chmod o=r file.txt # 设置其他用户为只读
chmod a+x script.sh # 所有用户添加执行权限
数字方式:
bash
chmod 644 file.txt # 所有者读写,组读,其他读
chmod 755 script.sh # 所有者rwx,组和用户rx
4. 修改所有者 ------ chown
bash
chown user file.txt # 修改文件所有者
chown -R user:group dir/ # 递归修改目录所有者及组
5. 修改所属组 ------ chgrp
bash
chgrp group file.txt
6. 粘滞位(Sticky Bit)
粘滞位用于共享目录,使文件只能被所有者或root删除。
bash
chmod +t /shared # 添加粘滞位
# 权限末尾出现't': drwxrwxrwt
八、Shell 命令运行原理
Linux系统由**内核(kernel)和外壳(shell)**组成。用户通过shell与内核交互,shell将我们的命令翻译给内核,再将结果返回给用户。
- bash 是最常见的shell
- Shell不仅执行命令,还支持变量、管道、重定向等高级功能
九、常用热键
Tab:命令或文件名补全Ctrl + C:终止当前程序Ctrl + D:退出终端(等同于exit)

总结
本文从基础命令入手,系统梳理了Linux环境下的文件操作、文本查看、压缩解压、搜索查找、权限管理等核心知识点。掌握这些命令后,你已经能够熟练地在Linux命令行中进行日常操作。后续的学习中,建议多动手实践,将命令与真实场景结合,才能真正内化为自己的技能。