Linux 基础指令与权限管理完全指南

Linux 基础指令与权限管理完全指南

前言

在开始Linux系统编程之前,掌握常用的Linux命令和权限管理是必不可少的一步。本文将从零开始,带你熟悉Linux环境下的基本操作,包括文件管理、目录操作、文本查看、权限设置等核心内容。无论你是刚接触Linux的新手,还是希望系统梳理知识的老手,这篇文章都能为你提供清晰的指引。

思考:为什么生产环境中很少使用Linux的图形界面?因为图形界面会占用大量系统资源,且远程管理时效率低下,命令行才是Linux的精髓。

一、环境准备与远程登录

1. 查看Linux主机IP

在终端中执行以下命令查看本机IP地址:

bash

复制代码
ifconfig

2. 使用XShell远程登录

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命令行中进行日常操作。后续的学习中,建议多动手实践,将命令与真实场景结合,才能真正内化为自己的技能。

相关推荐
C++ 老炮儿的技术栈2 小时前
现代 C++(C++11 及以后)的移动语义
linux·c语言·开发语言·c++·github
LJianK12 小时前
《Java 数据分组的四种姿势:从 for 循环到 Stream API》
java·linux·服务器
信创DevOps先锋2 小时前
中国DevOps市场格局重塑:本土化与全球化技术的博弈与融合
运维·devops
亚远景aspice2 小时前
亚远景-ISO 21434:汽车网络安全全生命周期风险管理的技术框架
运维·网络·安全
EasyGBS2 小时前
国标GB28181视频分析平台EasyGBS视频质量诊断技术让监控从“能用”变“好用”
运维·人工智能·音视频
白鸽梦游指南2 小时前
docker部署和常规使用方法
运维·docker·容器
林九生2 小时前
【Claude Code】Claude Code 接入阿里云百炼 Coding Plan 完整配置教程(Linux版)
linux·阿里云·云计算
平行云PVT11 小时前
数字孪生信创云渲染技术解析:从混合信创到全国产化架构
linux·unity·云原生·ue5·图形渲染·webgl·gpu算力
xdscode11 小时前
Linux云服务器安装openclaw,并对接飞书通道
linux·服务器·飞书·openclaw