资讯详情

资讯详情

Linux 生存指南:从“终端恐惧症“到“命令行老司机“

Linux 生存指南从终端恐惧症到命令行老司机第一次打开终端的时候我以为自己误入了某个黑客电影片场。黑底白字光标一闪一闪像在说“来吧输错一个字符我就让你系统崩溃。”序章那个让我手心冒汗的黑色窗口故事要从我第一次租服务器说起。买了阿里云SSH 连上去屏幕上弹出一行字textWelcome to Ubuntu 22.04 LTS Last login: ... rootiZbp1xxxxx:~#我盯着那个#看了十秒心里只有一个念头“我现在该干什么”那时候的我只会三件事cd、ls、sudo reboot。每次操作都像在拆炸弹——输错一个字母可能就把系统搞崩了。但服务器不会因为你害怕就停止运行。于是我开始了 Linux 的被迫修行。第一章Linux 是什么——一个没有桌面的世界Windows 和 macOS 是装修好的房子——有桌面、有图标、有开始菜单。Linux 更像一个毛坯房——默认啥都没有只有一个命令行。你想要什么自己装。这听起来很劝退但也是 Linux 最大的魅力一切皆可配置一切皆可脚本化。而且Linux 不只是一个系统它是一个家族Ubuntu最流行的桌面发行版新手友好。CentOS / Rocky Linux服务器最爱稳定。DebianUbuntu 的爸爸更纯粹。Arch Linux硬核玩家的选择一切从零开始。Alpine容器里的常客小到只有几 MB。你用的服务器90% 跑的都是 Linux。第二章文件系统——一棵倒着长的树Linux 的文件系统是一棵从/开始的树。text/ ├── bin/ # 基本命令ls、cp、mv ├── etc/ # 配置文件 ├── home/ # 用户目录 │ └── you/ # 你的家 ├── var/ # 变化的数据日志、缓存 ├── tmp/ # 临时文件 ├── usr/ # 用户程序 └── root/ # root 用户的家和 Windows 最大的区别是Linux 没有盘符。Windows 是C:\Users\You\DocumentsLinux 是/home/you/documents。一切都在一棵树下没有 C 盘、D 盘之分。三个你必须记住的符号/根目录也是路径分隔符。~你的家目录等于 /home/你。.当前目录。…上一级目录。bashcd ~ # 回家 cd .. # 上一级 cd /etc # 去 etc 目录记住Linux 的路径是大小写敏感的。File 和 file 是两个不同的东西。第三章文件操作——五个命令走天下Linux 的文件操作核心就五个命令1.ls——看看这里有什么bashls # 列出文件 ls -l # 详细信息权限、大小、时间 ls -a # 包括隐藏文件以 . 开头的 ls -lh # 人类可读的大小KB、MBls -lh 是我最常用的因为 -h 让文件大小从1234567变成1.2M。2.cd——走到哪去bashcd /var/log # 去日志目录 cd .. # 上一级 cd - # 回到上一个目录 cd ~ # 回家cd - 是一个被低估的命令它让你在两个目录之间来回跳。3.cp、mv、rm——复制、移动、删除bashcp file1 file2 # 复制文件 cp -r dir1 dir2 # 复制目录 mv file1 file2 # 重命名 mv file1 /tmp/ # 移动 rm file # 删除文件 rm -rf dir # 删除目录危险rm -rf 是 Linux 世界里最危险的命令。它不会问你确定吗直接删删完就没了。我有个朋友真的不是我rm -rf / 跑了一半才反应过来幸好权限不够。4.cat、less、tail——看文件内容bashcat file.txt # 输出全部内容 less file.txt # 分页查看按 q 退出 tail -f log.txt # 实时跟踪日志超常用 head -n 20 file.txt # 看前 20 行tail -f 是排查问题的神器。你改完代码日志实时滚动错在哪一目了然。5.find和grep——找东西bashfind / -name *.log # 找所有 .log 文件 find . -type f -size 100M # 找大于 100M 的文件 grep error log.txt # 在文件里搜 error grep -r TODO . # 递归搜索目录grep 是文本搜索find 是文件搜索两个配合用效率翻倍。第四章权限——那个让人头秃的rwxLinux 的权限系统是新手最容易懵的地方。bashls -l -rw-r--r-- 1 root root 1234 Jan 1 00:00 file.txt drwxr-xr-x 2 root root 4096 Jan 1 00:00 dir/解读一下第一个字符- 是文件d 是目录。接下来九个字符三组权限分别是所有者、组、其他人。r 读4w 写2x 执行1。textrwx r-x r-x │ │ └── 其他人读 执行 │ └────── 组读 执行 └────────── 所有者读 写 执行数字表示法bashchmod 755 file # rwxr-xr-x chmod 644 file # rw-r--r-- chmod 777 file # rwxrwxrwx危险谁都能改chmod x script.sh 是给脚本加执行权限这是最常用的。chown user:group file 是改文件所有者部署时经常用。第五章进程与服务——谁在跑谁在睡ps——看看有哪些进程bashps aux # 所有进程 ps aux | grep nginx # 找 nginx 进程ps aux | grep xxx 是排查问题的标准姿势。服务器卡了先看看谁在吃 CPU。top/htop——实时监控bashtop # 实时进程监控 htop # 更好看的 top需要安装按 q 退出按 P 按 CPU 排序按 M 按内存排序。kill——结束进程bashkill PID # 温柔地结束 kill -9 PID # 强制结束 pkill nginx # 按名字结束kill -9 是核弹不到万不得已别用。systemctl——管理系统服务bashsystemctl start nginx # 启动 systemctl stop nginx # 停止 systemctl restart nginx # 重启 systemctl status nginx # 看状态 systemctl enable nginx # 开机自启现代 Linux 都用 systemdsystemctl 是管理服务的标配。第六章网络——从连不上到终于通了ping——通不通bashping google.com ping -c 4 8.8.8.8 # 只 ping 4 次ping 是最基础的网络诊断工具。通不通延迟多少一目了然。curl/wget——下载和调试bashcurl https://api.example.com # 发请求 curl -I https://example.com # 只看响应头 wget https://example.com/file.zip # 下载文件curl 是调试 API 的利器比 Postman 还快。netstat/ss——看端口bashnetstat -tlnp # 看监听的端口 ss -tlnp # 更快的 netstat lsof -i :8080 # 看谁占了 8080端口被占用是常见问题lsof -i :端口 一秒定位。ssh/scp——远程连接和传文件bashssh user192.168.1.1 # 远程登录 ssh -i key.pem userhost # 用密钥登录 scp file.txt userhost:/tmp/ # 上传 scp userhost:/tmp/file.txt . # 下载scp 是传文件的标配但大文件推荐 rsync支持断点续传。第七章软件管理——装什么怎么装Ubuntu / Debianaptbashapt update # 更新软件列表 apt install nginx # 安装 apt remove nginx # 卸载 apt upgrade # 升级所有软件CentOS / Rockyyum/dnfbashyum install nginx dnf install nginx万能方法编译安装bash./configure make make install但除非必要别编译安装。包管理器能解决 90% 的问题。第八章Shell 脚本——把重复的事自动化Linux 最强大的地方是你可以把一堆命令写进脚本一键执行。bash#!/bin/bash # 备份脚本 DATE$(date %Y%m%d) BACKUP_DIR/backup/$DATE mkdir -p $BACKUP_DIR cp -r /var/www $BACKUP_DIR tar -czf $BACKUP_DIR.tar.gz $BACKUP_DIR rm -rf $BACKUP_DIR echo 备份完成$BACKUP_DIR.tar.gz加上执行权限bashchmod x backup.sh ./backup.sh这就是运维自动化的起点。第九章那些年我踩过的坑坑一rm -rf没有回收站Linux 没有回收站。删了就是删了。所以我现在用rm之前都会先ls一下确认。坑二sudo不是万能的sudo能让你以 root 身份执行命令但别用 sudo 跑所有东西。权限给多了风险也大。坑三chmod 777是万金油也是灾难777 意味着谁都能读写执行。生产环境用 777等于把门敞开。坑四日志文件把磁盘撑爆/var/log里的日志如果不清理能把磁盘占满。df -h 查看磁盘du -sh * 查看目录大小。坑五crontab的时间格式text* * * * * command │ │ │ │ │ │ │ │ │ └── 星期0-7 │ │ │ └──── 月1-12 │ │ └────── 日1-31 │ └──────── 时0-23 └────────── 分0-590 3 * * * 是每天凌晨 3 点。*/5 * * * * 是每 5 分钟。终章Linux 教会我的事从看到终端就手抖到能在服务器上从容操作我花了大概半年。Linux 教会我的不只是命令而是一种思维方式一切皆文件设备、进程、网络都能用文件的方式操作。组合小工具每个命令只做一件事但组合起来能做任何事。自动化能写脚本的绝不手动重复。权限意识谁能做什么清清楚楚。最重要的是Linux 让我从用户变成了掌控者。你不再是被动地使用一个系统而是主动地配置它、调试它、改造它。P.S. 写完这篇文章后我又在服务器上跑了一次 rm -rf然后心跳漏了一拍。看来敬畏之心永远要有。P.P.S. 如果你也在学 Linux记住一句话别怕服务器不会因为你输错命令就爆炸——除非你输的是 rm -rf /。
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →