当前位置: 首页 > article >正文

Linux 基础入门操作 前言 linux操作指令介绍

1 linux 目录介绍

Linux 文件系统采用层次化的目录结构,所有目录都从根目录 / 开始

1.1 核心目录

/ (根目录)

整个文件系统的起点、包含所有其他目录和文件

/bin (基本命令二进制文件)

存放系统最基本的shell命令:如 ls, cp, mv, rm, cat 等,所有用户都可使用。

/sbin (系统二进制文件)

存放系统管理命令,如 fdisk, ifconfig, reboot 等,通常需要 root 权限才能执行

/boot (引导加载程序文件)

包含 Linux 内核、初始 RAM 磁盘映像和引导加载程序配置文件。如 vmlinuz, initrd.img, grub/

/dev (设备文件)

包含所有设备文件,如 /dev/sda (硬盘), /dev/tty (终端), /dev/null (空设备)

/etc (系统配置文件)

包含系统和应用程序的配置文件,如 /etc/passwd (用户账户), /etc/fstab (文件系统表)

/home (用户主目录)

普通用户的个人目录,每个用户通常有自己的子目录,如 /home/username

/lib (系统库文件)

存放系统最基本的共享库和内核模块,如 /lib/modules/ (内核模块)

1.2 重要系统目录

/media (可移动媒体挂载点)

自动挂载的可移动设备,如 U 盘、光盘

/mnt (临时挂载点)

用于临时手动挂载文件系统

/opt (可选应用程序)

第三方应用程序的安装位置

/proc (虚拟文件系统)

包含系统进程和内核信息的虚拟文件系统,如 /proc/cpuinfo (CPU 信息), /proc/meminfo (内存信息)

/root (root 用户主目录)

超级用户 root 的主目录

/run (运行时数据)

存储系统运行时的临时数据,如 /run/lock (锁文件)

/tmp (临时文件)

存放临时文件,系统重启后通常会被清空

1.3 系统资源目录

/usr (用户程序)

包含用户应用程序和文件

1.3.1 重要子目录:

  1. /usr/bin: 用户命令

  2. /usr/sbin: 系统管理命令

  3. /usr/lib: 库文件

  4. /usr/local: 本地安装的软件

  5. /usr/share: 共享数据

/var (可变数据)

存放经常变化的文件

重要子目录:

  1. /var/log: 系统日志

  2. /var/cache: 应用程序缓存

  3. /var/spool: 队列数据

  4. /var/www: Web 服务器目录 (常见)

1.4 特殊目录

/sys (虚拟文件系统)

提供内核数据结构接口, 用于配置设备和内核参数

/srv (服务数据)

包含特定服务提供的数据, 如网站数据、FTP 数据等

/lost+found (恢复文件)

文件系统修复后找到的丢失文件

2 常见shell 指令

Shell 是 Linux/Unix 系统的命令行界面,是与操作系统交互的主要方式。以下是常用的 Shell 指令分类介绍:

2.1 文件和目录操作

2.1.1 ls - 列出目录内容

ls          # 列出当前目录内容
ls -l       # 详细列表(长格式)
ls -a       # 显示隐藏文件(以.开头)
ls -lh      # 人类可读的文件大小显示

2.1.2 cd - 切换目录

cd /path/to/dir  # 切换到指定目录
cd ~             # 切换到用户主目录
cd ..            # 切换到上级目录
cd -             # 切换到上一个工作目录

2.1.3 pwd - 显示当前工作目录

pwd  # 打印当前目录的完整路径

2.1.4 mkdir - 创建目录

mkdir dirname      # 创建单个目录
mkdir -p dir1/dir2 # 创建多级目录

2.1.5 rm - 删除文件或目录

rm file.txt        # 删除文件
rm -r dirname      # 递归删除目录
rm -f file.txt     # 强制删除,不提示

2.1.6 mv - 移动或重命名文件/目录

mv file1 file2     # 重命名
mv file1 dir/      # 移动文件

2.1.7 touch - 创建空文件或更新文件时间戳

touch file.txt  # 创建空文件或更新访问时间

2.2 文件查看和编辑

2.2.1 cat - 查看文件内容

cat file.txt      # 显示文件内容
cat -n file.txt   # 显示行号

2.2.2 less/more - 分页查看文件

less file.txt  # 可前后翻页
more file.txt  # 只能向下翻页

2.2.3 head/tail - 查看文件开头/结尾

head -n 5 file.txt  # 查看前5行
tail -f logfile     # 实时查看日志更新

2.2.4 grep - 文本搜索

grep "pattern" file.txt      # 搜索包含pattern的行
grep -i "pattern" file.txt   # 忽略大小写
grep -r "pattern" /path      # 递归搜索目录

2.3 系统信息

2.3.1 ps - 查看进程

ps aux       # 查看所有运行中的进程
ps -ef       # 另一种格式显示进程

2.3.2 top/htop - 动态查看系统状态

top          # 动态显示进程和资源使用
htop         # 更友好的交互式top(需安装)

2.3.3 free - 查看内存使用

free -h      # 以人类可读格式显示内存信息

2.3.4 df - 查看磁盘空间

df -h        # 显示磁盘使用情况(人类可读)

2.3.5 uname - 显示系统信息

uname -a     # 显示所有系统信息

2.4 网络相关

2.4.1 ping - 测试网络连接

ping example.com  # 测试到example.com的连接

2.4.2 ifconfig/ip - 网络接口配置

ifconfig      # 显示网络接口信息(较旧)
ip addr       # 显示网络接口信息(新版)

2.4.3 netstat/ss - 网络统计

netstat -tuln # 显示监听端口(较旧)
ss -tuln      # 显示监听端口(新版)

2.4.5 wget/curl - 下载工具

wget http://example.com/file  # 下载文件
curl -O http://example.com/file

2.5 权限管理

2.5.1 chmod - 修改文件权限

chmod 755 file.sh   # 设置权限(rwxr-xr-x)
chmod +x file.sh    # 添加执行权限

2.5.2 chown - 修改文件所有者

chown user:group file.txt  # 修改所有者和组

2.5.3 sudo - 以超级用户权限执行

sudo command  # 以root权限执行命令

2.6 压缩和解压

2.6.1 tar - 打包和解包

tar -czvf archive.tar.gz dir/  # 创建gzip压缩包
tar -xzvf archive.tar.gz       # 解压gzip包

2.6.2 zip/unzip - ZIP压缩/解压

zip archive.zip file1 file2   # 创建zip压缩包
unzip archive.zip             # 解压zip包

2.6.3 gzip/gunzip - GZIP压缩/解压

gzip file.txt        # 压缩文件(生成file.txt.gz)
gunzip file.txt.gz   # 解压文件

2.7 其他实用命令

2.7.1 find - 查找文件

find /path -name "*.txt"  # 按名称查找
find . -type f -size +1M  # 查找大于1M的文件

2.7.3 which/whereis - 查找命令位置

which ls      # 显示ls命令的路径
whereis ls    # 显示命令及其手册页位置

2.7.4 alias - 创建命令别名

alias ll='ls -alF'  # 创建ll别名

2.7.5 history - 查看命令历史

history       # 显示命令历史
!n            # 执行历史记录中第n条命令

2.7.6 man - 查看命令手册

man ls        # 查看ls命令的手册页

2.7.7 echo - 输出文本

echo "Hello"  # 输出文本
echo $PATH    # 输出环境变量

2.7.8 date - 显示或设置日期时间

date          # 显示当前日期时间
date +"%Y-%m-%d"  # 格式化输出
sudo date -s "2024-03-15 14:30:00"

3 Shell 脚本

Shell 脚本是 Linux/Unix 系统中自动化任务和系统管理的重要工具。以下是 Shell 脚本开发的全面指南:

3.1 初步了解

第一行 #!/bin/bash 称为 shebang,指定解释器

#!/bin/bash
# 这是一个注释
echo "Hello, World!"

3.2 运行方式

chmod +x script.sh  # 添加执行权限
./script.sh         # 直接执行bash script.sh      # 指定解释器执行
sh script.sh        # 使用 sh 解释器执行
source script.sh    # 在当前 shell 环境中执行

3.3 变量定义与使用

name="Alice"        # 定义变量
echo $name          # 使用变量
echo ${name}        # 推荐使用大括号readonly PI=3.14    # 只读变量
unset name          # 删除变量

3.4 特殊变量

$0       # 脚本名称
$1-$9    # 脚本参数
$#       # 参数个数
$*       # 所有参数
$@       # 所有参数(推荐)
$?       # 上条命令的退出状态
$$       # 当前进程PID
$!       # 最后一个后台进程PID

3.5 字符串操作

str="Hello World"# 字符串长度
echo ${#str}        # 11# 子字符串
echo ${str:0:5}     # Hello# 替换
echo ${str/World/Bash}  # Hello Bash# 大小写转换
echo ${str^^}       # 转大写
echo ${str,,}       # 转小写

3.6 数组

# 定义数组
fruits=("Apple" "Banana" "Orange")# 访问元素
echo ${fruits[0]}   # Apple
echo ${fruits[@]}   # 所有元素# 数组长度
echo ${#fruits[@]}  # 3# 遍历数组
for fruit in "${fruits[@]}"; doecho $fruit
done

3.7 条件判断

if [ $a -eq $b ]; thenecho "a等于b"
elif [ $a -gt $b ]; thenecho "a大于b"
elseecho "a小于b"
fi

3.8 # 定义函数

greet() {local name=$1    # 局部变量echo "Hello, $name"
}# 调用函数
greet "Alice"# 返回值
add() {return $(($1 + $2))
}
add 3 5
echo $?             # 8

4 综合案例

4.1 备份脚本

#!/bin/bash
# 简单备份脚本BACKUP_DIR="/backup"
SOURCE_DIR="/home/user"
DATE=$(date +%Y%m%d)if [ ! -d "$BACKUP_DIR" ]; thenmkdir -p "$BACKUP_DIR"
fitar -czf "$BACKUP_DIR/backup_$DATE.tar.gz" "$SOURCE_DIR" && \
echo "备份成功完成" || echo "备份失败"

4.2 系统监控脚本

 #!/bin/bash
# 系统资源监控echo "=== 系统监控 ==="
echo "当前时间: $(date)"
echo "主机名: $(hostname)"
echo "=== 系统负载 ==="
uptime
echo "=== 内存使用 ==="
free -h
echo "=== 磁盘空间 ==="
df -h

相关文章:

Linux 基础入门操作 前言 linux操作指令介绍

1 linux 目录介绍 Linux 文件系统采用层次化的目录结构,所有目录都从根目录 / 开始 1.1 核心目录 / (根目录) 整个文件系统的起点、包含所有其他目录和文件 /bin (基本命令二进制文件) 存放系统最基本的shell命令:如 ls, cp, mv, rm, cat 等&#…...

【总结】SQL注入防护手段

1、对提交的数据进行数据类型判断,比如id值必须是数字:is_numeric($id) 2、对提交的数据进行正则匹配,禁止出现注入语句,比如union、or、and等 3、对提交数据进行特殊符号转义,比如单引号、双引…...

OpenCV 图形API(11)对图像进行掩码操作的函数mask()

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 描述 对矩阵应用掩码。 该函数mask设置来自给定矩阵的值,如果掩码矩阵中对应的像素值设为true,否则将矩阵的值设为0。 支持的源矩阵…...

使用C#写的一个Kafka的使用工具

由于offset不支持通过界面推送数据,所以我写了一个kafka的连接工具,能够直接从界面推送数据,方便使用。由于使用的是C#写的,所以比offset要流畅的多。 1、数据源连接 2、获取集群的topic 3、点击获取数据能够获取最新的100条数…...

【通知】STM32MP157驱动开发课程全新升级!零基础入门嵌入式Linux驱动,掌握底层开发核心技能!

在嵌入式Linux系统开发中,驱动程序开发是一项关键技术,它作为硬件与软件之间的桥梁,实现了操作系统对硬件设备的控制。相较于嵌入式Linux应用开发,驱动开发由于涉及底层硬件且抽象程度较高,往往让初学者感到难度较大。…...

MCP协议java开发的servers,已开源

访问地址: mcp-server-java 已实现的filesystem提高性能和效率,比Python的操作更顺畅。java实现,让部署更容易。...

飞浆PaddlePaddle 猫狗数据大战

猫狗数据大战 1 数据集的准备以及处理操作1.1 数据集1.2 文件解压操作(python) 1.3 数据的分类1.4 创建训练集和测试集 2 网络构建CNN版本--DeepID 人脸识别网络结构DeepID 与 CNN 网络结构的差异 3 深度学习模型训练和推理的核心设置4 制图5 训练6 预测…...

嵌入式硬件篇---JSON通信以及解析

文章目录 前言一、JSON特点语法简单数据格式灵活轻量化跨语言使用二、JSON数据结构对象数组三、JSON在单片机之间通信的应用数据封装与传输四、JSON示例代码五、JSON在上位机与单片机之间通信的应用数据交互六、JSON示例代码七、JSON解析与生成解析生成八、Python中的数据解析1…...

递归典例---汉诺塔

https://ybt.ssoier.cn/problem_show.php?pid1205 #include<bits/stdc.h> #define endl \n #define pii pair<int,int>using namespace std; using ll long long;void move(int n,char a,char b,char c) // n 个盘子&#xff0c;通过 b&#xff0c;从 a 移动到 …...

使用高德api实现天气查询

创建应用获取 Key 天气查询-基础 API 文档-开发指南-Web服务 API | 高德地图API 代码编写 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-wid…...

蓝桥云客-修建灌木

1.修剪灌木 - 蓝桥云课 修剪灌木 问题描述 爱丽丝要完成一项修剪灌木的工作。 有 N 棵灌木整齐的从左到右排成一排。爱丽丝在每天傍晚会修剪一棵灌木&#xff0c;让灌木的高度变为0厘米。爱丽丝修剪灌木的顺序是从最左侧的灌木开始&#xff0c;每天向右修剪一棵灌木。当修剪…...

OpenCV 图形API(7)用于将笛卡尔坐标(x, y)转换为极坐标(magnitude, angle)函数cartToPolar()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 计算二维向量的大小和角度。 cartToPolar 函数计算每个二维向量 (x(I), y(I)) 的大小、角度&#xff0c;或同时计算两者&#xff1a; magnitude…...

Could not find artifact com.microsoft.sqlserver:sqljdbc4:jar:4.0 in central

具体错误 [ERROR] Failed to execute goal on project datalink-resource: Could not resolve dependencies for project com.leon.datalink:datalink-resource:jar:1.0.0: Could not find artifact com.microsoft.sqlserver:sqljdbc4:jar:4.0 in central (https://repo.maven…...

Express学习笔记(三)——使用 Express 写接口

目录 1. 创建基本的服务器 2. 创建 API 路由模块 3. 编写 GET 接口 4. 编写 POST 接口 5. CORS 跨域资源共享 5.1 接口的跨域问题 5.2 使用 cors 中间件解决跨域问题 5.3 什么是 CORS 5.4 CORS 的注意事项 5.5 CORS 响应头部 - Access-Control-Allow-Origin 5.6 COR…...

透视飞鹤2024财报:如何打赢奶粉罐里的科技战?

去年乳制品行业压力还是不小的&#xff0c;尼尔森IQ指出2024年国内乳品市场仍处在收缩区间。但是&#xff0c;总有龙头能抗住压力&#xff0c;飞鹤最近交出的2024财报中就有很多亮点。 比如&#xff0c;2024年飞鹤营收207.5亿元、同比增长6%&#xff0c;净利润36.5亿元&#x…...

【HarmonyOS Next之旅】DevEco Studio使用指南(十)

目录 1 -> Optimize Imports功能 2 -> 父/子类快速跳转 3 -> 查看接口/类的层次结构 4 -> 代码自动补全 1 -> Optimize Imports功能 使用编辑器提供的Optimize Imports&#xff0c;可以快速清除未使用的import&#xff0c;并根据设置的规则对import进行合并…...

数据框的添加

在地图制图中&#xff0c;地图全图显示的同时希望也能够显示局部放大图&#xff0c;以方便查看地物空间位置的同时&#xff0c;也能查看地物具体的相对位置。例如&#xff0c;在一个名为airport的数据集全图制图过程中&#xff0c;希望能附上机场区域范围的局部地图&#xff0c…...

java并发编程-并发容器

并发容器 CopyOnWriteArrayListCopyOnWriteArraySetConcurrentHashMapConcurrentSkipListMap迭代器的fail-fast与fail-safe机制应用场景 CopyOnWriteArrayList 线程不安全容器&#xff1a;ArrayList代替Vector、synchronizedList适用于读多写少的场景&#xff0c;对读操作不加…...

【3.软件工程】3.2 瀑布模型

瀑布模型全解析&#xff1a;从理论到实践的经典软件开发框架 &#x1f30a; 一、瀑布模型核心流程图 #mermaid-svg-87uBSLYlWEdrgikJ {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-87uBSLYlWEdrgikJ .error-icon{…...

使用 PyTorch 的 `torch.rot90` 进行张量旋转:数据增强的利器

使用 PyTorch 的 torch.rot90 进行张量旋转:数据增强的利器 在深度学习和计算机视觉领域,数据增强是一项至关重要的技术。通过对训练数据进行各种变换,如旋转、翻转、裁剪等,我们可以增加数据的多样性,从而提高模型的泛化能力。PyTorch 提供的 torch.rot90 函数是一个简单…...

数据一体化/数据集成对于企业数据架构的重要性

在数字化时代&#xff0c;企业的核心竞争力已经从传统的资源和规模优势转向数据驱动的智能化能力。数据一体化作为信息化发展的核心趋势&#xff0c;不仅是技术升级的必然选择&#xff0c;更是企业实现数字化转型的关键路径。 一、数据一体化/数据集成&#xff1a;数字化转型的…...

PPT助手:一款集计时、远程控制与多屏切换于一身的PPT辅助工具

PPT助手&#xff1a;一款集计时、远程控制与多屏切换于一身的PPT辅助工具 &#x1f4dd;&#x1f3a4; 在现代化的演讲和演示中&#xff0c;如何高效地控制PPT进程、保证展示的流畅性与精准性&#xff0c;成为了每个演讲者必须面对的挑战。无论是商务汇报、学术演讲&#xff0…...

Oracle中的UNION原理

Oracle中的UNION操作用于合并多个SELECT语句的结果集&#xff0c;并自动去除重复行。其核心原理可分为以下几个步骤&#xff1a; 1. 执行各个子查询 每个SELECT语句独立执行&#xff0c;生成各自的结果集。 如果子查询包含过滤条件&#xff08;如WHERE&#xff09;、排序&…...

算法设计学习7

实验目的及要求&#xff1a; 目标是通过实验深入理解堆栈&#xff08;Stack&#xff09;和队列&#xff08;Queue&#xff09;这两种常见的数据结构&#xff0c;掌握它们的基本操作及应用场景&#xff0c;提高对数据结构的认识和应用能力。通过本实验&#xff0c;学生将深化对堆…...

AF3 OpenFoldDataset类解读

AlphaFold3 data_modules 模块的 OpenFoldDataset 类是一个自定义的数据集类,继承自 torch.utils.data.Dataset。它的目的是在训练时实现 随机过滤器(stochastic filters),用于从多个不同的数据集(OpenFoldSingleDataset 或 OpenFoldSingleMultimerDataset)中进行样本选择…...

大数据(4)Hive数仓三大核心特性解剖:面向主题性、集成性、非易失性如何重塑企业数据价值?

目录 背景&#xff1a;企业数据治理的困境与破局一、Hive数据仓库核心特性深度解析1. ‌面向主题性&#xff08;Subject-Oriented&#xff09;&#xff1a;从业务视角重构数据‌2. ‌集成性&#xff08;Integrated&#xff09;&#xff1a;打破数据孤岛的统一视图‌3. ‌非易失…...

AI模拟了一场5亿年的进化

蛋白质是生命的基石。从驱动肌肉运动的分子引擎&#xff0c;到捕捉光能的光合作用机器&#xff0c;再到细胞内的信息处理系统&#xff0c;这些功能复杂的分子贯穿了生命的每一个环节。尽管科学界早已解析了蛋白质的化学结构&#xff0c;但蛋白质的设计逻辑于人类而言&#xff0…...

大模型应用初学指南

随着人工智能技术的快速发展&#xff0c;检索增强生成&#xff08;RAG&#xff09;作为一种结合检索与生成的创新技术&#xff0c;正在重新定义信息检索的方式&#xff0c;RAG 的核心原理及其在实际应用中的挑战与解决方案&#xff0c;通用大模型在知识局限性、幻觉问题和数据安…...

如何通过管理系统提升团队协作效率

在现代企业管理中&#xff0c;团队协作效率的高低直接关系到企业的竞争力和运营效率。随着信息技术的不断发展&#xff0c;管理系统作为提升团队协作效率的重要工具&#xff0c;逐渐受到企业的重视。本文将深入探讨如何通过管理系统提升团队协作效率&#xff0c;为企业提供实用…...

云手机如何防止设备指纹被篡改

云手机如何防止设备指纹被篡改 云手机作为虚拟化设备&#xff0c;其设备指纹的防篡改能力直接关系到账户安全、反欺诈和隐私保护。以下以亚矩阵云手机为例&#xff0c;讲解云手机防止设备指纹被篡改的核心技术及实现方式&#xff1a; 系统层加固&#xff1a;硬件级安全防护 1…...