Linux 命令学习记录

news/2025/3/20 5:50:29/

Linux 命令详解与进阶指南

Linux 是一种广泛使用的开源操作系统,掌握 Linux 命令是开发者和系统管理员的必备技能。本文将详细介绍 Linux 的常用命令,并涵盖一些高级进阶技巧,帮助你更高效地使用 Linux。


目录

  1. 基础命令
    • 文件与目录操作
    • 文本处理
    • 系统信息
    • 权限管理
  2. 进阶命令
    • 进程管理
    • 网络操作
    • 磁盘管理
    • Shell 脚本
  3. 高级技巧
    • 管道与重定向
    • 正则表达式
    • 任务调度
    • 性能监控
  4. 案例实战
    • 日志分析
    • 自动化部署
    • 服务器监控

基础命令

文件与目录操作

1. ls - 列出目录内容
ls          # 列出当前目录内容
ls -l       # 以长格式列出
ls -a       # 列出所有文件(包括隐藏文件)
ls -lh      # 以易读格式显示文件大小
2. cd - 切换目录
cd /home    # 切换到 /home 目录
cd ..       # 返回上一级目录
cd ~        # 切换到用户主目录
3. mkdir - 创建目录
mkdir dir1          # 创建目录 dir1
mkdir -p dir1/dir2  # 递归创建目录
4. rm - 删除文件或目录
rm file.txt         # 删除文件
rm -r dir1          # 递归删除目录
rm -f file.txt      # 强制删除文件
5. cp - 复制文件或目录
cp file1 file2      # 复制文件
cp -r dir1 dir2     # 递归复制目录
6. mv - 移动或重命名文件
mv file1 file2      # 重命名文件
mv file1 dir1/      # 移动文件到目录
7. touch - 创建空文件或更新文件时间戳
touch file.txt      # 创建空文件

文本处理

1. cat - 查看文件内容
cat file.txt        # 查看文件内容
cat file1 file2     # 合并多个文件
2. moreless - 分页查看文件
more file.txt       # 分页查看文件
less file.txt       # 支持上下滚动查看
3. headtail - 查看文件开头或结尾
head file.txt       # 查看文件前 10 行
tail file.txt       # 查看文件后 10 行
tail -f file.txt    # 实时查看文件新增内容
4. grep - 文本搜索
grep "pattern" file.txt         # 搜索包含 pattern 的行
grep -i "pattern" file.txt      # 忽略大小写搜索
grep -r "pattern" dir1/         # 递归搜索目录
5. sed - 流编辑器
sed 's/old/new/' file.txt       # 替换文件中的文本
sed -i 's/old/new/' file.txt    # 直接修改文件
6. awk - 文本处理工具
awk '{print $1}' file.txt       # 打印文件的第一列
awk -F: '{print $1}' /etc/passwd # 以冒号为分隔符打印第一列

系统信息

1. uname - 显示系统信息
uname -a           # 显示所有系统信息
2. df - 显示磁盘使用情况
df -h              # 以易读格式显示磁盘使用情况
3. free - 显示内存使用情况
free -h            # 以易读格式显示内存使用情况
4. top - 实时显示系统进程
top                # 显示系统进程和资源使用情况

权限管理

1. chmod - 修改文件权限
chmod 755 file.txt  # 设置文件权限为 rwxr-xr-x
chmod +x script.sh  # 添加可执行权限
2. chown - 修改文件所有者
chown user:group file.txt  # 修改文件所有者和所属组
3. sudo - 以超级用户权限执行命令
sudo apt update    # 以超级用户权限更新软件包

进阶命令

进程管理

1. ps - 显示进程状态
ps aux             # 显示所有进程
2. kill - 终止进程
kill 1234          # 终止进程 ID 为 1234 的进程
kill -9 1234       # 强制终止进程
3. nohup - 后台运行进程
nohup command &    # 后台运行命令,忽略挂断信号

网络操作

1. ping - 测试网络连接
ping google.com    # 测试与 google.com 的连接
2. ifconfig - 显示网络接口信息
ifconfig           # 显示网络接口信息
3. netstat - 显示网络状态
netstat -tuln      # 显示所有监听端口
4. ssh - 远程登录
ssh user@host      # 远程登录到主机

磁盘管理

1. fdisk - 磁盘分区工具
sudo fdisk -l      # 列出磁盘分区
2. mount - 挂载文件系统
sudo mount /dev/sdb1 /mnt  # 挂载设备到目录
3. du - 显示目录磁盘使用情况
du -sh dir1/       # 显示目录的磁盘使用情况

Shell 脚本

1. 编写 Shell 脚本
#!/bin/bash
echo "Hello, World!"
2. 执行 Shell 脚本
chmod +x script.sh
./script.sh

高级技巧

管道与重定向

1. 管道 (|)
cat file.txt | grep "pattern"  # 将 cat 的输出作为 grep 的输入
2. 重定向 (>>>)
echo "Hello" > file.txt  # 将输出重定向到文件(覆盖)
echo "World" >> file.txt # 将输出追加到文件

正则表达式

1. 基本正则表达式
grep "^start" file.txt  # 匹配以 start 开头的行
grep "end$" file.txt    # 匹配以 end 结尾的行
2. 扩展正则表达式
grep -E "pattern1|pattern2" file.txt  # 匹配 pattern1 或 pattern2

任务调度

1. cron - 定时任务
crontab -e          # 编辑定时任务
* * * * * command   # 每分钟执行一次命令
2. at - 一次性任务
at now + 5 minutes  # 5 分钟后执行任务

性能监控

1. vmstat - 显示系统性能
vmstat 1            # 每秒显示一次系统性能
2. iostat - 显示磁盘 I/O 性能
iostat 1            # 每秒显示一次磁盘 I/O 性能

案例实战

日志分析

1. 查找错误日志
grep "ERROR" /var/log/syslog
2. 统计日志行数
grep "ERROR" /var/log/syslog | wc -l

自动化部署

1. 编写部署脚本
#!/bin/bash
git pull origin master
npm install
pm2 restart app
2. 设置定时任务
crontab -e
0 * * * * /path/to/deploy.sh

服务器监控

1. 监控 CPU 使用率
top -b -n 1 | grep "Cpu(s)"
2. 监控内存使用率
free -m | grep "Mem:"

通过本文,你应该掌握了 Linux 的基础命令、进阶技巧以及一些高级应用场景。继续实践和探索,你将能够更高效地使用 Linux!


http://www.ppmy.cn/news/1580515.html

相关文章

[特殊字符] Blender + 在线渲染农场加速渲染|渲染 101 极简指南

⚡ 渲染 101:为什么需要加速? 耗时原因:场景复杂度↑(模型 / 材质 / 灯光) 渲染时间↑本地局限:单设备性能弱、硬件占用久核心方案:分布式计算(多设备并行) 自动化流程 …

JVM G1内存管理核心概念解析:Region、Card Table、CSet与RSet

一、Region(堆分区) 定义:Region是G1垃圾回收器中内存管理的最小单元,将传统连续堆划分为多个独立区域(默认2048个),每个大小在1MB-32MB之间,支持动态调整。 核心特性:…

如何判断 MSF 的 Payload 是 Staged 还是 Stageless(含 Meterpreter 与普通 Shell 对比)

在渗透测试领域,Metasploit Framework(MSF)的 msfvenom 工具是生成 Payload(载荷)的核心利器。然而,当我们选择 Payload 时,经常会遇到一个问题:这个 Payload 是 Staged(…

学习单片机需要多长时间才能进行简单的项目开发?

之前有老铁问我,学单片机到底要多久,才能进行简单的项目开发?是三个月速成,还是三年磨一剑? 今天咱们就来聊聊这个话题,我不是什么高高在上的专家,就是个踩过无数坑、烧过几块板子的“技术老友”…

从PLC到云端:5G嵌入式网关的MQTT协议转换与Ubuntu二次开发全解析

工业4.0和物联网技术的发展推动了5G嵌入式ARM边缘计算网关在工业自动化领域的广泛应用。这种网关不仅能够支持多种协议的数据采集,例如西门子PLC Smart 200,还能够通过MQTT协议高效传输数据至自建云平台,如EMQX。此外,基于Ubuntu系…

【开源免费】基于SpringBoot+Vue.JS失物招领平台(JAVA毕业设计)

本文项目编号 T 243 ,文末自助获取源码 \color{red}{T243,文末自助获取源码} T243,文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…

python二级每日十题(1)

\ 第一题,在Python中,变量名的命名规则:以字母或下划线开头,后面跟字母、下划线和数字;不能以数字开头.故选c项,博主正确 缩进:在逻辑行首的空白(空格和制表符)用来决定逻辑行的缩进层次&…

NO.42十六届蓝桥杯备战|数据结构|算法|时间复杂度|空间复杂度|STL(C++)

数据结构 什么是数据结构 在计算机科学中,数据结构是⼀种数据组织、管理和存储的格式。它是相互之间存在⼀种或多种特定关系的数据元素的集合。 说点通俗易懂的话,数据结构就是数据的组织形式,研究的就是把数据按照何种形式存储在计算机中 …