菜鸟科技网

常用shell命令大全,有哪些必备命令?

目录

  1. 文件和目录管理
  2. 查看
  3. 系统信息与监控
  4. 网络通信
  5. 压缩与解压
  6. 文本处理三剑客
  7. 用户和权限管理
  8. 进程管理
  9. 搜索命令
  10. 系统与软件包管理
  11. 帮助与历史
  12. 高级技巧

文件和目录管理

这是最基础也是最常用的命令集合。

常用shell命令大全,有哪些必备命令?-图1
(图片来源网络,侵删)
命令 全称 描述 示例
ls list 列出目录内容。 ls -l (长格式), ls -a (显示隐藏文件), ls -h (人性化显示文件大小)
cd change directory 切换当前工作目录。 cd /home/user (切换到指定目录), cd .. (返回上级目录), cd ~ (进入用户主目录)
pwd print working directory 显示当前所在的工作目录的完整路径。 pwd
mkdir make directory 创建新目录。 mkdir my_folder (创建一个目录), mkdir -p parent/child (创建多级目录)
touch - 创建一个空文件或更新文件的时间戳。 touch new_file.txt
cp copy 复制文件或目录。 cp file1.txt file2.txt (复制文件), cp -r dir1/ dir2/ (递归复制目录)
mv move 移动/重命名文件或目录。 mv old_name.txt new_name.txt (重命名), mv file.txt /path/to/dest/ (移动文件)
rm remove 删除文件或目录。 rm file.txt (删除文件), rm -r my_folder/ (递归删除目录), rm -f file.txt (强制删除,不提示)
rmdir remove directory 只能删除空目录 rmdir empty_folder
tree - 以树状图列出目录内容。 (可能需要安装) tree
du disk usage 显示目录或文件的磁盘使用空间。 du -sh /path/to/dir (显示目录总大小,以人类可读格式)
ln link 创建链接。 ln -s source.txt link.txt (创建软链接/符号链接)

查看

快速查看文件内容。

命令 描述 示例
cat Concatenate and display file content. 一次性显示整个文件内容。 cat file.txt
less 分页显示文件内容,支持上下翻页和搜索。 less large_file.log (按 q 退出)
more 类似 less,但功能较少,只能向前翻页。 more file.txt (按空格键翻页,q 退出)
head 显示文件的开头部分(默认前10行)。 head -n 20 file.txt (显示前20行)
tail 显示文件的结尾部分(默认后10行)。 tail -f /var/log/syslog (实时跟踪文件更新)
nano 一个简单易用的命令行文本编辑器。 nano file.txt
vim / vi 功能强大的模式化文本编辑器。 vim file.txt

系统信息与监控

了解你的系统状态。

命令 描述 示例
uname 显示系统信息。 uname -a (显示所有可用信息)
top 实时显示系统中运行的进程和资源占用情况。 top (按 q 退出)
htop top 的增强版,界面更友好,交互性更强。 (可能需要安装) htop
df disk free. 显示文件系统的磁盘空间使用情况。 df -h (以人类可读格式显示)
free 显示系统内存的使用情况。 free -h (以人类可读格式显示)
ps process status. 显示当前运行的进程。 ps aux (显示所有用户的详细信息)
whoami 显示当前用户名。 whoami
who 显示当前登录系统的所有用户。 who
date 显示或设置系统日期和时间。 date
cal 显示当前月份的日历。 cal -y 2025 (显示2025年全年日历)

网络通信

配置和排查网络问题。

命令 描述 礏例
ping 测试与另一台主机的网络连接。 ping google.com
ifconfig (已过时) 显示或配置网络接口。 ifconfig
ip ifconfig 的现代替代品,功能更强大。 ip addr show (显示所有网络接口IP地址)
ssh Secure Shell. 安全地登录到远程主机。 ssh user@remote_host
scp Secure Copy. 在本地和远程主机之间安全地复制文件。 scp file.txt user@remote:/path/to/dest/
wget 从网络上下载文件。 wget https://example.com/file.zip
curl 发送 HTTP/HTTPS 请求,也可用于下载。 curl -I https://example.com (获取 HTTP 头信息)
netstat 显示网络连接、路由表、接口统计等。 netstat -tuln (显示所有监听的 TCP/UDP 端口)
ss netstat 的现代替代品,速度更快。 ss -tuln

压缩与解压

处理 .tar, .zip, .gz 等格式的文件。

常用shell命令大全,有哪些必备命令?-图2
(图片来源网络,侵删)
命令 描述 示例
tar Tape Archive. 用于打包和解包文件。 tar -czvf archive.tar.gz dir/ (打包并压缩), tar -xzvf archive.tar.gz (解压并解包)
zip 创建 .zip 格式的压缩文件。 zip -r archive.zip dir/ (递归压缩目录)
unzip 解压 .zip 文件。 unzip archive.zip
gzip / gunzip 压缩/解压 .gz 文件,通常与 tar 一起使用。

文本处理三剑客

Linux/Unix 文本处理的利器。

命令 描述 示例
grep Global Regular Expression Print. 在文本中搜索匹配的行。 grep "error" log.txt (搜索包含 "error" 的行), grep -v "info" log.txt (反向匹配,不显示 "info")
sed Stream Editor. 用于对文本进行流编辑(查找、替换、删除等)。 sed 's/old/new/g' file.txt (将文件中所有 "old" 替换为 "new")
awk Aho, Weinberger, and Kernighan. 一个强大的文本分析工具,按列处理文本。 awk '{print $1, $3}' file.txt (打印每行的第1列和第3列)

用户和权限管理

管理用户和文件权限。

命令 描述 示例
sudo Superuser do. 以超级用户或其他用户身份执行命令。 sudo apt update
chmod Change mode. 修改文件或目录的权限。 chmod 755 my_script.sh (设置所有者可读写执行,其他用户可读执行), chmod +x script.sh (添加可执行权限)
chown Change owner. 修改文件或目录的所有者。 sudo chown user:group file.txt (将文件所有者改为 user,组改为 group)
useradd / adduser 创建新用户。 sudo useradd -m newuser (创建新用户并创建主目录), sudo adduser newuser (交互式创建)
userdel 删除用户。 sudo userdel -r newuser (删除用户及其主目录)

进程管理

管理和查看系统进程。

命令 描述 示例
ps process status. 查看当前运行的进程。 ps aux (查看所有进程), ps -ef (查看所有进程)
kill 终止一个进程。 kill 1234 (终止PID为1234的进程)
killall 通过进程名终止进程。 killall firefox
jobs 显示当前终端后台的任务。 jobs
bg 将一个暂停的任务放到后台运行。 bg %1 (运行任务1)
fg 将一个后台任务调到前台运行。 fg %1

搜索命令

在文件系统和文件内容中查找。

常用shell命令大全,有哪些必备命令?-图3
(图片来源网络,侵删)
命令 描述 示例
find 在文件系统中按名称、类型、时间等条件查找文件。 find . -name "*.txt" (在当前目录下查找所有 .txt 文件)
locate 快速查找文件(基于数据库,速度极快)。 locate my_file.txt
which 查找并显示命令的完整路径。 which ls
whereis 查找命令的二进制文件、源码和手册页位置。 whereis ls

系统与软件包管理

不同发行版的包管理器。

命令 适用系统 描述 示例
apt / apt-get Debian, Ubuntu 高级包工具。 sudo apt update, sudo apt install package_name, sudo apt remove package_name
yum / dnf CentOS, RHEL, Fedora Yellow Dog Updater, Modified / Dandified Yum。 sudo yum install package_name, sudo dnf install package_name
pacman Arch Linux Pacman package manager。 sudo pacman -S package_name, sudo pacman -R package_name
snap Ubuntu, Fedora, 等 Snap 包管理器。 sudo snap install package_name, snap list
brew macOS Homebrew 包管理器。 brew install package_name, brew uninstall package_name

帮助与历史

学会自己寻找帮助是成为高手的关键。

命令 描述 示例
man Manual pages. 显示命令的手册页。 man ls (查看 ls 命令的帮助)
--help 大多数命令都支持此选项,显示简要用法。 ls --help
history 显示当前用户之前执行过的命令历史。 history, !123 (执行历史中编号为123的命令)

高级技巧

命令/符号 描述 示例
命令分隔符,在一行中执行多个命令。 cd /tmp; ls -l
&& 逻辑与,只有前一个命令成功执行后,才执行后一个命令。 cd /tmp && ls -l
逻辑或,只有前一个命令执行失败时,才执行后一个命令。 cd /nonexistent || echo "Directory does not exist"
> 输出重定向 (覆盖),将命令的输出写入文件,覆盖原内容。 echo "Hello" > file.txt
>> 输出重定向 (追加),将命令的输出追加到文件末尾。 echo "World" >> file.txt
< 输入重定向,从文件读取输入作为命令的参数。 sort < names.txt
\| (管道) 将一个命令的输出作为另一个命令的输入。 cat /var/log/syslog \| grep "error"
alias 为命令创建别名。 alias ll='ls -alF' (创建 ll 命令)

希望这份大全对你有帮助!最好的学习方式是经常在终端中练习使用这些命令。

分享:
扫描分享到社交APP
上一篇
下一篇