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

相关推荐
用户9718356334663 小时前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪4 小时前
linux 拷贝文件或目录到指定的位置
linux
大树8820 小时前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠20 小时前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质20 小时前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush420 小时前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行52021 小时前
Linux 11 动态监控指令top
linux
Inhand陈工21 小时前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智1 天前
ARP代理--工作原理
运维·网络·arp·arp代理
不会C语言的男孩1 天前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言