
刚踏入Linux服务器的世界,面对那个黑乎乎、光标闪烁的命令行界面 (CLI),是不是有点心慌慌,感觉鼠标点点点的“舒适区”一去不复返了?别怕!命令行其实是Linux的灵魂所在,是它强大、高效的源泉。一旦你掌握了它,你会发现比图形界面爽快多了!
这20个命令,就是我为你精心挑选的“新手生存套装”,覆盖了日常管理服务器时最常打交道的文件、目录、进程和网络操作。把它们练熟,你就能在Linux的世界里基本自理,告别手足无措!
一、 穿梭自如:目录导航
在文件系统的“迷宫”里找到方向。
pwd
(Print Working Directory): 我现在在哪?- 不知道自己身在何处时,敲它!立刻告诉你当前所在的完整目录路径。
- 用法:
pwd
ls
(List): 这里有啥宝贝?- 查看当前目录下的文件和子目录列表。
- 常用姿势:
ls
: 最简单的列表。ls -l
: 显示详细信息(权限、所有者、大小、修改时间等)。ls -a
: 显示所有文件,包括以.
开头的隐藏文件。ls -lh
: 详细信息 + 文件大小以K/M/G等易读格式显示。
cd
(Change Directory): 芝麻开门,去那边!- 切换当前工作目录,你的“传送”技能。
- 常用咒语:
cd /var/log
: 切换到/var/log
目录。cd ..
: 返回上一级目录。cd ~
或cd
: 返回当前用户的家目录(Home Directory)。cd -
: 返回到你上一次所在的目录(超实用!)。
二、 庖丁解牛:文件与目录操作
管理你的“家当”。
touch
(Touch): “无中生有”一个空文件- 创建一个空文件,或者更新一个已存在文件的访问和修改时间。
- 用法:
touch my_new_file.txt
mkdir
(Make Directory): 给文件们建个“窝”- 创建一个新的目录(文件夹)。
- 用法:
mkdir my_folder
mkdir -p project/src/components
(-p
能帮你一次性创建多层不存在的父目录)。
cp
(Copy): 复制,不止是粘贴- 复制文件或目录。
- 常用姿势:
cp source.txt destination.txt
: 复制文件并重命名。cp file1.txt file2.txt /path/to/directory/
: 把多个文件复制到目标目录下。cp -r source_directory/ destination_directory/
: 复制整个目录及其内容 (-r
表示递归)。
mv
(Move): 搬家或改名,它都行- 移动文件/目录,或者给文件/目录重命名。
- 用法:
mv old_filename.txt new_filename.txt
: 重命名。mv my_file.txt /path/to/another_directory/
: 把文件移动到另一个目录。mv my_directory /new/path/
: 移动目录。
rm
(Remove): 删除!删除!(千万小心!)- 删除文件或目录。这是个危险命令,没有回收站!
- 用法:
rm unwanted_file.txt
: 删除文件(通常会提示确认)。rm -r old_directory/
: 删除目录及其下所有内容(会提示确认)。rm -f file.txt
: 强制删除文件,不提示。rm -rf directory/
: 终极杀招!强制递归删除整个目录,不提示!用前请三思!确认路径无误! 手抖可能导致删库跑路!
cat
(Concatenate): 一口气看完文件(适合短小精悍的)- 把文件的全部内容显示在终端上。适合查看内容不多的文本文件。
- 用法:
cat config.ini
less
/more
: 翻书一样看文件(适合长篇大论的)- 分页显示文件内容,让你从容阅读大文件(如日志)。
less
更常用,功能更强(可以前后翻页、搜索)。 - 用法:
less system.log
(按q
退出,按空格
翻页,按b
往回翻页,按/
搜索)。more
用法类似但功能较少。
- 分页显示文件内容,让你从容阅读大文件(如日志)。
head
/tail
: 只看开头或结尾那几眼- 显示文件的开头(
head
)或末尾(tail
)若干行(默认10行)。 - 用法:
head access.log
: 看日志文件前10行。tail error.log
: 看日志文件最后10行。tail -n 50 system.log
: 看最后50行。tail -f access.log
: 神器! 实时跟踪文件末尾新增的内容(看实时日志必备)。按Ctrl+C
停止。
- 显示文件的开头(
三、 掌控全局:进程管理
看看服务器里都在忙些啥。
ps
(Process Status): 列出当前运行的“程序们”- 显示当前运行的进程信息。参数组合非常多,常用的是:
- 用法:
ps aux
: 显示所有用户的、包括没有终端的进程,BSD风格输出。ps -ef
: 显示所有进程,System V风格输出。
- 通常配合
grep
过滤你想找的进程,例如:ps aux | grep nginx
。
top
/htop
: 服务器“任务管理器”(动态版)- 实时显示系统资源(CPU、内存)使用情况和进程列表,按资源消耗排序。
htop
界面更友好、功能更强(需要安装)。 - 用法: 直接输入
top
或htop
。按q
退出。在top
里按P
按CPU排序,按M
按内存排序。htop
里按F6
选择排序字段。
- 实时显示系统资源(CPU、内存)使用情况和进程列表,按资源消耗排序。
kill
/pkill
/killall
: 终结进程(温柔或强硬)- 向进程发送信号,最常用的是终止信号。
- 用法:
kill <PID>
: 发送SIGTERM
(15) 信号,尝试让进程优雅地退出。<PID>
是进程ID,通过ps
或top
找到。kill -9 <PID>
: 发送SIGKILL
(9) 信号,强制杀死进程。这是最后手段,可能导致数据丢失或系统不稳定,慎用!pkill <进程名>
: 根据进程名杀死匹配的进程(例如pkill nginx
)。killall <进程名>
: 杀死所有同名进程(比pkill
更“暴力”一点,需小心)。
四、 网络脉络:网络检查
看看服务器的网络状况。
ip addr
/ifconfig
: 我的“网络身份证”是啥?- 显示服务器的网络接口配置信息,包括IP地址、子网掩码、MAC地址等。
ip addr
是较新的标准命令。ifconfig
可能需要安装net-tools
包 (sudo apt install net-tools
或sudo dnf install net-tools
)。 - 用法:
ip addr show
或ifconfig
。
- 显示服务器的网络接口配置信息,包括IP地址、子网掩码、MAC地址等。
ping
: “喂,听得到吗?”(网络连通性测试)- 向目标主机发送ICMP请求,测试网络是否通畅,以及延迟如何。
- 用法:
ping google.com
或ping 8.8.8.8
。按Ctrl+C
停止。 - (注意:对方服务器可能禁ping,ping不通不代表一定访问不了)
netstat
/ss
: 查“端口户口”和“网络连接”- 显示网络连接、监听端口、路由表等信息。
ss
是netstat
的现代替代品,通常更快。 - 常用姿势 (查看监听端口):
ss -tulnp
或netstat -tulnp
(显示TCP/UDP监听端口及对应的程序名)。
- 显示网络连接、监听端口、路由表等信息。
五、 其他常用好帮手
这些命令能极大提升你的效率。
grep
(Global Regular Expression Print): 文本大海捞针神器- 在文本中搜索包含指定模式(字符串或正则表达式)的行。常与管道符
|
配合使用,过滤其他命令的输出。 - 用法:
grep "error" /var/log/syslog
(在文件中搜索”error”),ps aux | grep python
(查找运行中的python进程)。
- 在文本中搜索包含指定模式(字符串或正则表达式)的行。常与管道符
sudo
(Superuser Do): 获取“管理员权限”的钥匙- 让你以超级用户(root)或其他用户的身份执行命令。执行需要管理员权限的操作(如安装软件、修改系统配置、重启服务等)时,必须在命令前加上它。
- 用法:
sudo apt update
,sudo systemctl restart nginx
。输入的是你当前用户的密码(需要该用户在sudoers列表里)。
man
/--help
: 随身携带的“说明书”- 遇到不熟悉的命令或忘记参数时,它们是你的救星!
man <命令>
: 显示该命令的详细手册页 (manual page)。例如man ls
。按q
退出。<命令> --help
或<命令> -h
: 通常会显示该命令的简明帮助信息和常用选项。例如nginx -h
。
这20个命令只是Linux浩瀚命令海洋中的一小部分,但掌握了它们,你就能完成绝大多数日常的服务器管理任务了。关键在于多实践,多敲打,让它们成为你指尖的自然反应。遇到问题,别忘了你的好朋友 man
和 --help
。命令行并不神秘,当你体会到它的高效和灵活时,你会爱上它的!继续探索吧!