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

Linux命令大全:从入门到高效运维

适合人群:Linux新手 | 运维工程师 | 开发者

目录

一、Linux常用命令(每天必用)

1. 文件与目录操作

2. 文件内容查看与编辑

二、次常用命令(按需使用)

1. 系统管理与监控

2. 网络与通信

3. 权限与用户管理

三、高阶技巧与组合命令

1. 管道符 |

2. 重定向 > 和 >>

3. 后台运行 & 和 nohup

四、学习资源推荐


一、Linux常用命令(每天必用)

1. 文件与目录操作
命令作用示例
ls列出目录内容ls -l(详细列表)ls -a(显示隐藏文件)
cd切换目录cd /home(进入home目录)cd ..(返回上级目录)
cp复制文件或目录cp file1.txt dir/(复制文件到目录)
mv移动/重命名文件mv old.txt new.txt(重命名)
rm删除文件或目录rm file.txt(删除文件)rm -rf dir(强制删除目录)
mkdir创建目录mkdir project(创建空目录)
touch创建空文件或更新文件时间戳touch newfile.txt

代码示例

# 创建目录并复制文件  
mkdir backup  
cp /var/log/syslog backup/  # 将系统日志复制到backup目录  

# 批量重命名日志文件  
mv /logs/error.log /logs/error_20231015.log  
2. 文件内容查看与编辑
命令作用示例
cat查看文件全部内容cat config.yml(显示配置文件)
more / less分页查看大文件less large_file.log(支持上下翻页)
head / tail查看文件开头/末尾内容tail -f app.log(实时追踪日志更新)
grep文本搜索grep "error" syslog(过滤含error的行)
vim文本编辑器vim file.txt(按i进入编辑,:wq保存退出)

代码示例

# 查找包含特定关键字的日志  
grep "Connection refused" /var/log/nginx/error.log  

# 实时监控日志新增内容  
tail -f /var/log/apache2/access.log  

二、次常用命令(按需使用)

1. 系统管理与监控
命令作用示例
top / htop实时监控系统资源(CPU/内存)htop(交互式进程管理)
ps查看进程状态`ps auxgrep nginx`(查找Nginx进程)
kill终止进程kill -9 1234(强制终止PID为1234的进程)
df / du查看磁盘使用情况df -h(人类可读的磁盘空间)du -sh /home(统计目录大小)
free查看内存使用free -m(以MB为单位显示)

代码示例

# 查找并终止占用过高CPU的进程  
ps aux | sort -nk 3 | tail -5  # 按CPU使用率排序  
kill -15 5678                 # 优雅终止PID为5678的进程  
2. 网络与通信
命令作用示例
ping测试网络连通性ping google.com
curl / wget下载文件或测试APIcurl -O http://example.com/file.zip
netstat查看网络连接和端口监听netstat -tuln(显示所有监听端口)
ssh远程登录服务器ssh user@192.168.1.100
scp安全传输文件scp file.txt user@host:/remote/path

代码示例

# 检查80端口是否被占用  
netstat -tuln | grep ":80"  

# 从远程服务器下载文件  
scp user@remote:/data/reports.zip ./downloads/  
3. 权限与用户管理
命令作用示例
chmod修改文件权限chmod 755 script.sh(赋予可执行权限)
chown修改文件所有者chown user:group file.txt
sudo以超级用户权限执行命令sudo apt update(更新软件包列表)
useradd创建新用户useradd -m alice(创建用户并生成家目录)
passwd修改用户密码passwd alice

代码示例

# 将目录所有权转移给用户www-data  
chown -R www-data:www-data /var/www/html  

# 赋予脚本执行权限  
chmod +x backup_script.sh  

三、高阶技巧与组合命令

1. 管道符 |

将前一个命令的输出作为后一个命令的输入:

# 统计当前目录下文件数量  
ls -l | grep "^-" | wc -l  # 仅统计普通文件  
2. 重定向 > 和 >>
  • > 覆盖写入文件,>> 追加写入文件:

echo "Hello Linux" > log.txt    # 覆盖写入  
date >> log.txt                 # 追加当前时间  
3. 后台运行 & 和 nohup
# 后台运行脚本并忽略挂断信号  
nohup python3 server.py > output.log 2>&1 &  

四、学习资源推荐

  1. 在线练习:Linux命令大全(手册)

  2. 书籍推荐:《鸟哥的Linux私房菜》

  3. 实战平台:OverTheWire(通过游戏学习命令)


http://www.kler.cn/a/612953.html

相关文章:

  • Mac: 运行python读取CSV出现 permissionError
  • 【LeetCode 题解】数据库:180. 连续出现的数字
  • 提示词应用:IT模拟面试
  • CSS学习笔记5——渐变属性+盒子模型阶段案例
  • 构建高可用性西门子Camstar服务守护者:异常监控与自愈实践
  • k近邻算法K-Nearest Neighbors(KNN)
  • office_word中使用宏以及DeepSeek
  • 如何让DeepSeek-R1在内网稳定运行并实现随时随地远程在线调用
  • Redis原理:setnx
  • 基于深度学习的图像超分辨率技术研究与实现
  • 解决 Apache Kylin 加载 Hive 表失败的问题:深入分析与解决方案
  • 逗万DareWorks|创意重构书写美学,引领新潮无界的文创革命
  • 从物理学到机器学习:用技术手段量化分析职场被动攻击行为
  • 配置完nfs后vmware虚拟机下ubuntu/无法联网问题
  • 生成信息提取的大型语言模型综述
  • 看懂roslunch输出
  • Neo4j【环境部署 03】插件APOC和ALGO配置使用实例分享(网盘分享3.5.5兼容版本插件)
  • Python 爬虫案例
  • 在Windows下VSCodeSSH远程登录到Ubuntu
  • Java EE——线程状态