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

Linux命令行实战:从入门到精通

Linux与Shell基础命令实践

Linux操作系统以其强大的命令行工具著称,掌握目录导航、文件操作与日志查看命令是系统管理的基础技能。以下内容涵盖常用命令及实践示例。

目录导航

pwd命令显示当前工作目录的绝对路径:

$ pwd /home/user/documents

cd命令切换目录:

$ cd /var/log $ cd .. # 返回上级目录 $ cd ~ # 返回用户主目录

ls命令列出目录内容,常用参数:

$ ls -l # 长格式显示 $ ls -a # 显示隐藏文件 $ ls -lh # 人类可读的文件大小
文件操作

cp命令复制文件或目录:

$ cp file1.txt file2.txt $ cp -r dir1 dir2 # 递归复制目录

mv命令移动或重命名文件:

$ mv oldname.txt newname.txt $ mv file.txt /target/directory/

rm命令删除文件:

$ rm file.txt $ rm -rf directory/ # 强制递归删除目录

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

$ touch newfile.txt

mkdir创建目录:

$ mkdir newdir $ mkdir -p path/to/nested/dir # 创建多级目录
文件内容查看

cat显示完整文件内容:

$ cat /etc/os-release

less分页查看大文件(支持搜索):

$ less /var/log/syslog

head/tail查看文件首尾内容:

$ head -n 5 access.log # 前5行 $ tail -f error.log # 实时追踪新增内容
日志查看与分析

journalctl查看系统日志(Systemd系统):

$ journalctl -xe # 查看详细日志 $ journalctl -u nginx # 按服务筛选 $ journalctl --since "2023-01-01"

grep日志过滤:

$ grep "error" /var/log/syslog $ grep -i "warning" /var/log/kern.log # 忽略大小写

awk高级日志分析:

$ awk '{print $1}' access.log | sort | uniq -c # 统计IP访问次数
组合命令实践

统计当前目录文件数量:

$ ls -l | grep "^-" | wc -l

查找并批量处理文件:

$ find /var/log -name "*.log" -mtime +30 -exec rm {} \;

实时监控日志变化:

$ tail -f /var/log/nginx/access.log | grep "404"
权限管理

chmod修改文件权限:

$ chmod 755 script.sh $ chmod +x executable_file

chown修改文件所有者:

$ chown user:group file.txt
环境变量与路径

查看环境变量:

$ echo $PATH

添加自定义路径:

$ export PATH=$PATH:/custom/path
系统信息查询

查看磁盘使用情况:

$ df -h

查看内存使用:

$ free -m

查看进程信息:

$ ps aux $ top
网络相关命令

测试网络连接:

$ ping google.com $ traceroute example.com

查看网络配置:

$ ifconfig $ ip addr
定时任务管理

crontab设置定时任务:

$ crontab -e # 添加以下内容每天备份 0 3 * * * tar -czf /backup/$(date +\%Y\%m\%d).tar.gz /data
压缩与解压

tar打包与解包:

$ tar -czvf archive.tar.gz /path/to/files $ tar -xzvf archive.tar.gz

zip/unzip处理压缩文件:

$ zip archive.zip file1 file2 $ unzip archive.zip
性能监控

实时系统监控:

$ htop $ vmstat 1

IO性能分析:

$ iostat -x 1
用户管理

添加新用户:

$ sudo useradd -m newuser $ sudo passwd newuser

切换用户身份:

$ su - username $ sudo -i
软件包管理

APT(Debian/Ubuntu):

$ sudo apt update $ sudo apt install package $ sudo apt remove package

YUM(RHEL/CentOS):

$ sudo yum install package $ sudo yum update
系统服务管理

Systemd服务控制:

$ sudo systemctl start nginx $ sudo systemctl enable nginx $ sudo systemctl status nginx

传统SysVinit服务:

$ sudo service apache2 restart
文本处理三剑客

grep过滤行:

$ grep -E "error|warning" logfile

sed流编辑器:

$ sed 's/foo/bar/g' input.txt $ sed -i.bak 's/old/new/' file # 原地替换并备份

awk数据处理:

$ awk '{sum+=$3} END {print sum}' datafile $ awk -F: '{print $1}' /etc/passwd
文件权限与属性

查看文件属性:

$ stat important_file

设置特殊权限:

$ chmod +s executable # 设置SUID $ chmod +t directory # 设置粘滞位
系统调试

跟踪系统调用:

$ strace -f command

调试网络问题:

$ tcpdump -i eth0 port 80 $ netstat -tulnp
远程操作

SSH连接管理:

$ ssh user@host $ scp file.txt user@host:/path/

密钥认证设置:

$ ssh-keygen -t rsa $ ssh-copy-id user@host
脚本编写基础

简单Shell脚本示例:

#!/bin/bash # 日志清理脚本 LOG_DIR="/var/log" DAYS_TO_KEEP=7 find "$LOG_DIR" -type f -name "*.log" -mtime +$DAYS_TO_KEEP -delete echo "$(date): Logs older than $DAYS_TO_KEEP days cleaned" >> /var/log/cleanup.log

条件判断示例:

if [ -f "/tmp/lockfile" 决定未来的,不仅仅是梦想,更是努力、坚持与信心,每一步都在铸造属于自己的璀璨人生。用心去关注细节,让生活的每一天都充满希望,行驶在未来的目标与理想交汇的路上。充实内心,使我们在生活的煎熬与考验中愈发坚定,抓住机会,将梦想的种子播撒在未来的土壤里。用心去倾听生活的每一次召唤,只有在流动的时间中,才能找到属于自己的心灵救赎与光明。与其忧虑未来,不如专注当下,做真实的自己,才能在生命的征程中书写精彩的故事。 https://github.com/ticbrewhete71/buw_4mhp/issues/17 https://github.com/tadrits611/z3u_bxsp/issues/16 https://github.com/willss46/k63_9o51/issues/17 https://github.com/hellcourt42/29f_txuo/issues/16 https://github.com/josecaro9123/fz2_rtry/issues/16
http://www.jsqmd.com/news/520011/

相关文章:

  • Boost入门指南:从零开始掌握C++高效工具库
  • Android双屏开发避坑指南:解决HDMI热插拔和屏幕适配的5个关键问题
  • 大华摄像头PTZ控制全解析:从HomeAssistant集成到自动化场景设计
  • Qwen3-TTS-12Hz-1.7B-VoiceDesign在教育领域的应用:智能语音课件生成系统
  • 嵌入式C固件检测工具踩坑实录:从FreeRTOS到Zephyr,我们用372个真实固件样本验证了这4款工具的误报率与漏报阈值
  • Phi-3-Mini-128K助力产品经理:快速生成PRD文档与用户故事
  • Hunyuan-MT-7B翻译质量对比测试:与传统翻译工具PK
  • 手把手教你用快捷指令实现iOS自动化:从零基础到高效工作流
  • Cogito-V1-Preview-Llama-3B一键部署教程:Ubuntu 20.04环境快速搭建
  • RSSHub Radar终极指南:三步快速发现和订阅网页RSS源
  • YOLOv8与春联生成模型结合:智能图像识别对联生成系统
  • ComfyUI+ControlNet实战:如何用AI线稿一键生成高质量插画(附完整参数配置)
  • 本地商家GEO优化选型深度白皮书:避坑指南、合规标准与靠谱服务商推荐
  • 辉芒微FT60F12X单片机最小系统设计详解(无外部晶振版)
  • MindSpore实战笔记:WaveNet音乐生成复现全记录
  • Python dlib库安装避坑指南:从版本选择到离线安装
  • 从图像压缩到人脸识别:PCA和KPCA在实战项目里到底怎么选?附避坑指南
  • Taphouse 1.5.0 - Homebrew应用更新工具
  • Neeshck-Z-lmage_LYX_v2应用案例:独立插画师如何用它日更3张商业级线稿
  • MAA助手使用技巧:系统解决常见问题与性能优化指南
  • 智能体范式浅谈
  • AI对计算机专业就业的影响(一)|计算机相关岗位各层次的招聘变化 | 27届校招必看
  • C#数据库编程核心指南:从连接到安全的完整实践
  • 水墨江南模型爬虫数据清洗后处理:提升生成素材质量
  • UE4 后处理材质实战:从ShaderToy移植高级镜头光晕效果
  • tmux实战使用
  • 开源模型Wan2.2-TI2V-5B:从技术原理到场景创新的全流程应用指南
  • 面试问题controller和service能不能互相替换
  • 列线图/诺莫图 含概率轴
  • 基于云平台的毕业设计:从零构建高可用 Web 应用的技术选型与实践