Linux 常用命令与实战教程

embedded/2025/2/7 4:06:10/

Linux 常用命令与实战教程

引言

Linux 是一个强大的开源操作系统,广泛应用于服务器、嵌入式系统、个人计算机等多个领域。其灵活性、稳定性和安全性使其成为开发人员和运维工程师的首选操作系统之一。对于开发者而言,熟练掌握 Linux 命令行不仅能提高工作效率,还能帮助更好地进行系统管理、调试与性能优化。


1. 基本文件操作命令

Linux 文件系统是基于树状结构的,因此文件的管理是每个 Linux 用户的日常任务之一。以下是一些常见的文件操作命令:

1.1 查看当前目录下的文件
ls                # 列出当前目录下的文件和文件夹
ls -l             # 显示详细信息,包括文件权限、所有者、文件大小等
ls -a             # 显示所有文件,包括隐藏文件(以 . 开头的文件)
ls -lh            # 显示文件大小,并以可读的格式(如 KB、MB)显示
1.2 切换目录
cd /path/to/dir   # 切换到指定目录
cd ~              # 切换到当前用户的主目录
cd ..             # 切换到上一级目录
cd -              # 切换到上一次访问的目录
1.3 创建与删除文件
touch filename    # 创建一个空文件
echo "Hello World" > file.txt    # 创建文件并写入内容
cat file.txt      # 查看文件内容
rm file.txt       # 删除文件
1.4 创建与删除目录
mkdir newdir      # 创建一个新目录
rmdir olddir      # 删除一个空目录
rm -r dirname     # 删除非空目录及其中所有内容

2. 文件权限管理

在 Linux 中,每个文件都有相关的权限控制,包括对文件的读取、写入和执行权限。

2.1 查看文件权限
ls -l filename    # 查看文件权限(rwx表示读、写、执行权限)
2.2 改变文件权限
chmod u+x file.txt   # 给文件所有者添加执行权限
chmod 755 file.txt   # 设置文件权限为 rwx r-x r-x
chmod u+w file.txt   # 给文件所有者添加写权限
2.3 改变文件所有者
chown user:group file.txt  # 改变文件的所有者和所属组
chown user file.txt        # 只改变文件的所有者
chgrp group file.txt       # 改变文件的所属组

3. 进程管理命令

Linux 的进程管理非常重要,尤其在系统性能优化和资源管理中。下面是一些常用的进程管理命令:

3.1 查看系统中的进程
ps                 # 查看当前用户的进程
ps aux             # 查看所有用户的所有进程
top                # 动态查看系统进程
htop               # 更友好的交互式进程查看工具(需要安装)
3.2 杀死进程
kill PID           # 根据进程 ID 杀死进程
kill -9 PID        # 强制杀死进程(使用信号 9)
3.3 查找并杀死占用高 CPU 或内存的进程
top                # 实时查看 CPU 使用情况,并按下 'P' 或 'M' 进行排序
kill $(ps aux --sort=-%cpu | awk 'NR==2 {print $2}')  # 杀死占用最高 CPU 的进程

4. 文件查找与文本处理

Linux 提供了一些强大的命令用于文件查找和文本处理,这些命令在开发、日志分析等工作中非常有用。

4.1 查找文件
find /path/to/dir -name "*.txt"    # 查找指定目录下所有的 .txt 文件
find / -type f -name "file.txt"    # 从根目录开始查找指定文件
4.2 文本处理命令
cat file.txt        # 显示文件内容
head file.txt       # 显示文件的前10行
tail file.txt       # 显示文件的后10行
grep "pattern" file.txt  # 查找文件中包含特定模式的行
grep -r "pattern" /path/to/dir  # 递归查找目录下的文件
4.3 使用管道和重定向
cat file.txt | grep "pattern"     # 将文件内容通过管道传给 grep 进行搜索
ls | sort                        # 对目录中的文件列表进行排序
echo "Hello, Linux" > newfile.txt  # 将文本输出到文件中
4.4 其他文本处理命令
awk '{print $1, $2}' file.txt      # 使用 AWK 打印文件中的前两列
sed 's/old/new/g' file.txt         # 使用 sed 替换文件中的文本
sort file.txt                     # 对文件内容进行排序

5. 系统监控与性能优化

Linux 提供了多个命令用于监控系统的状态和性能,这对于运维工作至关重要。

5.1 查看系统负载
uptime                   # 查看系统的当前时间、运行时间、负载情况
top                      # 查看当前系统的资源使用情况
free -h                  # 查看系统的内存使用情况
df -h                    # 查看磁盘使用情况
iostat                   # 查看磁盘 I/O 性能
5.2 查看网络状态
ifconfig                 # 查看网络接口的配置信息
ip a                     # 查看网络接口的详细信息
netstat -tuln            # 查看当前开放的端口
ss -tuln                 # 查看当前网络连接信息

6. 包管理与软件安装

Linux 系统中的包管理工具使得安装、更新和卸载软件变得非常简单。以下是一些常见的包管理命令:

6.1 Debian/Ubuntu 系统(apt)
sudo apt update            # 更新软件包列表
sudo apt upgrade           # 更新所有已安装的软件包
sudo apt install package   # 安装指定的软件包
sudo apt remove package    # 卸载指定的软件包
6.2 RedHat/CentOS 系统(yum)
sudo yum update            # 更新所有软件包
sudo yum install package   # 安装指定的软件包
sudo yum remove package    # 卸载指定的软件包
6.3 使用 Snap 或 Flatpak 安装软件
sudo snap install package  # 使用 Snap 安装软件包
flatpak install package    # 使用 Flatpak 安装软件包

结语

掌握 Linux 命令行是每个开发者和系统管理员的必备技能。通过本篇文章介绍的一些基本命令,您应该能够更有效地进行日常的文件管理、进程控制、文本处理和系统监控等工作。Linux 的强大之处在于其灵活性和可扩展性,只要你愿意深入学习,你可以发掘出更多有用的命令和工具,极大地提升自己的生产力。

希望本文对你在使用 Linux 的过程中有所帮助,如果你有更多的命令行技巧或问题,欢迎留言讨论!



http://www.ppmy.cn/embedded/160199.html

相关文章

Sqoop支持ORC文件格式

个人博客地址:Sqoop支持ORC文件格式 | 一张假钞的真实世界 ORC介绍 ORC文件格式是Hive 0.11.0版本引入的一种文件格式。ORC的引入是为了解决其他Hive文件格式的局限性。使用ORC文件格式提升Hive读取、写入及处理数据的性能。 与RCFile对比,ORC文件格式有很多优点: 每个Ta…

Python-基于PyQt5,pdf2docx,pathlib的PDF转Word工具(专业版)

前言:日常生活中,我们常常会跟WPS Office打交道。作表格,写报告,写PPT......可以说,我们的生活已经离不开WPS Office了。与此同时,我们在这个过程中也会遇到各种各样的技术阻碍,例如部分软件的PDF转Word需要收取额外费用等。那么,可不可以自己开发一个小工具来实现PDF转…

vue中的v-cloak和v-pre有什么作用

v-cloak v-cloak用于防止vue模板在编译完成之前显示未编译的原始Mustache语法&#xff08;如 {{ message }}&#xff09;&#xff0c;用于防止页面闪烁。 使用场景&#xff1a; <div v-cloak>{{ message }} </div> <style>[v-cloak] {display: none;} <…

ONE NET MQTT+HTTP多端控制

使用移动的ONENET实现数据上传与远程控制&#xff0c;数据上传使用MQTT协议&#xff08;ESP8266&#xff09;&#xff0c;而数据查看和远程控制使用的HTTP&#xff08;安卓端/QT&#xff09;&#xff0c;效果&#xff1a; ONENET简单MQTT和HTTP使用 ESP8266通过MQTT上传和订阅数…

elasticsearch8.15 高可用集群搭建(含认证Kibana)

文章目录 1.资源配置2.系统参数优化3.JDK17安装4.下载&安装ES 8.155.生成ES的证书(用于ES节点之间进行安全数据传输)6.修改ES 相关配置文件7.创建es用户并启动8.配置ES的账号和密码(用于ES服务端和客户端)9.下载和安装Kibana10.编辑Kibana配置文件11.启动Kiabana12.访问Kia…

生成式AI安全最佳实践 - 抵御OWASP Top 10攻击 (上)

今天小李哥将开启全新的技术分享系列&#xff0c;为大家介绍生成式AI的安全解决方案设计方法和最佳实践。近年来&#xff0c;生成式 AI 安全市场正迅速发展。据 IDC 预测&#xff0c;到 2025 年全球 AI 安全解决方案市场规模将突破 200 亿美元&#xff0c;年复合增长率超过 30%…

使用 Axios 获取用户数据并渲染——个人信息设置

目录 1. HTML 部分&#xff08;前端页面结构&#xff09; HTML 结构解析&#xff1a; 2. JavaScript 部分&#xff08;信息渲染逻辑&#xff09; JavaScript 解析&#xff1a; 3. 完整流程 4. 总结 5. 适用场景 本文将介绍如何通过 Axios 从服务器获取用户信息&#xff0…

强化学习笔记(5)——PPO

PPO视频课程来源 首先理解采样期望的转换 变量x在p(x)分布下&#xff0c;函数f(x)的期望 等于f(x)乘以对应出现概率p(x)的累加 经过转换后变成 x在q(x)分布下&#xff0c;f(x)*p(x)/q(x) 的期望。 起因是&#xff1a;求最大化回报的期望&#xff0c;所以对ceta求梯度 具体举例…