聊聊 Windows 和 Linux 那些常用命令
很多人刚接触命令行的时候,都会被 Windows 和 Linux 的差异搞晕。一个是 dir,一个是 ls;一个路径用反斜杠,一个用正斜杠。其实没那么玄乎,我把平时最常用到的命令整理了一下,顺便说一下 Linux 里那个让人头疼的 sudo 到底怎么用。
Windows 命令行的常用操作
如果你用的是 Windows,打开"命令提示符"或者 PowerShell 都行。下面这些是高频命令:
dir:列出当前目录下的文件和文件夹。比图形界面快,尤其文件很多的时候。cd:切换目录。比如cd Documents进到 Documents 文件夹;cd ..返回上一级。mkdir:新建文件夹,比如mkdir test。rmdir:删除空文件夹。注意只能删空的。copy和move:复制和移动文件。copy a.txt b.txt就是复制一份。del:删除文件,不进回收站,用的时候小心点。ren:重命名,比如ren old.txt new.txt。ipconfig:查看本机的 IP 地址、网关等网络信息。加上/all能看到 MAC 地址。ping:测网络通不通,比如ping baidu.com。tasklist:列出当前运行的进程。想结束某个进程可以用taskkill /pid 进程号。shutdown:关机或重启。shutdown /s /t 0立刻关机,/r是重启。
这些命令虽然用了很多年,但日常处理文件、查网络问题完全够用了。记不住参数的话,加个 /? 就能看帮助。
Linux 命令行的常用操作
Linux 终端里,命令更短,组合起来也更灵活。最基础的几个:
ls:相当于 Windows 的dir。但ls -l能看到详细的权限、大小、修改时间;ls -a能显示隐藏文件(以点开头的文件)。cd:用法和 Windows 一样,但路径分隔符是/。cd ~直接回到用户主目录,cd /到根目录。pwd:显示当前在哪个目录,有时候迷路了用这个。cp:复制文件或目录。复制目录要加-r(递归),比如cp -r folder1 folder2。mv:移动文件或重命名。没有单独的重命名命令,mv a.txt b.txt就是改名。rm:删除文件。没有回收站,删了就没了。rm -r删目录,rm -rf是强制递归删除,非常危险,尤其不要对根目录或者系统目录用。touch:创建一个空文件,或者更新已有文件的时间戳。cat:查看文件内容,适合小文件。大文件用less可以翻页看。grep:搜索文本内容。比如grep "error" log.txt找出所有包含 error 的行。加-r能在整个目录里递归搜。find:按名字、类型、时间等找文件。比如find /home -name "*.conf"。ps:查看进程。ps aux是最常用的组合,能看所有用户的进程。动态看用top或htop。kill:结束进程。kill -9 进程号是强制杀掉。chmod:修改文件权限,比如chmod 755 script.sh。apt(Debian/Ubuntu 系列)或yum/dnf(RedHat 系列):装软件的命令。sudo apt install 包名就能装上,比去网站下安装包省事多了。
Linux 命令区分大小写,而且很多命令默认不输出任何信息(成功了就静悄悄的),这点和 Windows 不太一样。
Linux 里的管理员权限:sudo 和 su
很多刚用 Linux 的人会问:我想执行一些需要 root 权限的命令,怎么办?比如装软件、改系统配置。
最常见的做法是 sudo 。在命令前面加上 sudo,然后输入你自己的密码(不是 root 密码),这条命令就会以 root 身份执行。比如:
bash
sudo systemctl restart nginx
输入一次密码后,几分钟内再执行其他 sudo 命令都不用重新输密码。这种方式比较安全,因为只提升单条命令的权限,而且所有操作都会记录日志。
如果你需要连续执行好几条管理员命令,可以临时切换到 root 用户:
bash
sudo -i
或者用老派的 su -,但这个需要知道 root 用户的密码,而且很多发行版默认禁用了 root 登录。用完后输入 exit 就退回到普通用户。
不建议一直用 root 身份操作,万一敲错命令(比如 rm -rf /*)整个系统就没了。日常能用 sudo 就用 sudo,别嫌麻烦。
大概就这些。命令行这个东西,不用全记住,用的时候翻一下手册(man 命令名)或者搜一下就行。用多了自然就熟了。
下面是一个总结的表,需要使用自取
好的,我把上一篇文章中的常用命令整理成了一张对照表,Windows 和 Linux 各一列,方便你随时查阅。另外把管理员权限相关的命令也单独列了一行。
Windows & Linux 常用命令速查表
| 功能说明 | Windows 命令 | Linux 命令 | 补充说明 |
|---|---|---|---|
| 列出当前目录内容 | dir |
ls |
Linux 加 -l 显示详情,-a 显示隐藏文件 |
| 切换目录 | cd 目录 |
cd 目录 |
.. 是上一级,Linux 用 ~ 表示家目录 |
| 显示当前目录路径 | (没有直接命令,但 cd 不带参数可显示) |
pwd |
Linux 独有,Windows 下可以用 echo %cd% |
| 新建文件夹 | mkdir 文件夹名 |
mkdir 文件夹名 |
用法基本一样 |
| 删除空文件夹 | rmdir 文件夹名 |
rmdir 文件夹名 |
非空目录 Linux 需要用 rm -r |
| 删除文件 | del 文件名 |
rm 文件名 |
删除后不经过回收站,谨慎操作 |
| 删除文件夹(非空) | rmdir /s 文件夹名 |
rm -r 文件夹名 |
Linux 加 -f 强制删除,非常危险 |
| 复制文件 | copy 源 目标 |
cp 源 目标 |
Linux 复制目录需加 -r |
| 移动 / 重命名 | move 源 目标 |
mv 源 目标 |
Windows 下移动和重命名是同一个命令 |
| 重命名(单独) | ren 旧名 新名 |
(用 mv 实现) |
Linux 没有单独的 ren 命令 |
| 创建空文件 | (用 type nul > 文件名 或 echo 变通) |
touch 文件名 |
Linux 更方便,还能更新时间戳 |
| 查看文件内容 | type 文件名 |
cat 文件名 |
大文件 Linux 推荐用 less 分页查看 |
| 搜索文件内容 | findstr "关键词" 文件名 |
grep "关键词" 文件名 |
Linux 的 grep 更强大,支持正则 |
| 查找文件 | dir /s 文件名 或 where /r . 文件名 |
find / -name "文件名" |
Linux 的 find 功能更细致 |
| 查看本机 IP | ipconfig |
ip addr 或 ifconfig |
Linux 新系统推荐 ip addr |
| 测试网络连通 | ping 地址 |
ping 地址 |
用法基本一致 |
| 查看进程列表 | tasklist |
ps aux 或 top |
top 是动态刷新,类似任务管理器 |
| 结束进程 | taskkill /pid 进程号 |
kill 进程号 |
Linux 加 -9 强制杀死 |
| 关机 | shutdown /s /t 秒数 |
shutdown -h now |
Windows 用 /r 重启,Linux 用 -r |
| 重启 | shutdown /r /t 秒数 |
shutdown -r now |
用法略有差异 |
| 获取管理员权限(单条命令) | (右键"以管理员身份运行" CMD 后再执行) | sudo 命令 |
Linux 输入自己的密码,不是 root 密码 |
| 切换到 root 用户(长期) | (不常用,可用 runas) |
sudo -i 或 su - |
su - 需要 root 密码,很多发行版默认禁用 |
| 退出 root 状态 | exit |
exit |
从提升的权限返回到普通用户 |
| 查看命令帮助 | 命令 /? |
man 命令 或 命令 --help |
Linux 的 man 内容更详细,按 q 退出 |
小提示
- 大小写 :Windows 命令不区分大小写,Linux 严格区分 (
Ls不是ls)。 - 路径分隔符 :Windows 用反斜杠
\,Linux 用正斜杠/。 - 谨慎使用
rm -rf:尤其不要对/、/home等关键目录操作,没有后悔药。 - sudo 不是万能:如果系统提示"xx is not in the sudoers file",说明你的账号没有被授权,需要找管理员添加。