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

相关推荐
深念Y17 小时前
我明白为什么B站没法在浏览器开直播了——Windows Chrome推流踩坑全记录
前端·chrome·webrtc·浏览器·srs·直播·flv
wanhengidc18 小时前
私有云的作用都有哪些?
运维·服务器·网络·游戏·智能手机
花阴偷移18 小时前
Ubuntu 22.04版本下配置静态IP
linux·运维·服务器·tcp/ip·ubuntu
weixin_4734372318 小时前
Swift4D处理Multi-view dataset记录
linux
牛马十年18 小时前
当自动化运维系统被ai重构后
运维·人工智能·自动化
Niliuershangba19 小时前
Docker Desktop 部署 ChestnutCMS 全流程:从零搭建企业级 CMS 开发环境
运维·docker·容器
Lalolander19 小时前
设备工程项目采购中缺料和浪费的痛点和解决思路
大数据·运维·设备工程项目管理系统·设备工程项目质量管控·设备工程项目成本管控
dayuOK630719 小时前
AI内容创作工具的下一个战场:从“生成”到“全流程自动化”
运维·人工智能·chatgpt·职场和发展·自动化·新媒体运营·媒体