每个开发人员都需要知道的 50 个 Linux 命令(附示例)
以下是每个开发人员都应该知道的 50 个有用的 Linux 命令,以及每个命令的简要说明和示例:
购买 Linux 命令速查表 (PDF)
-
ls
- 列出目录的内容。- 例如:
ls
将列出当前目录的内容。ls /usr/local
将列出目录的内容/usr/local
。
- 例如:
-
pwd
- 打印当前工作目录。- 例如:
pwd
将打印当前工作目录的完整路径。
- 例如:
-
cd
- 更改当前工作目录。- 例如:
cd /usr/local
将当前工作目录更改为/usr/local
。
- 例如:
-
mkdir
- 创建新目录。- 例如:
mkdir mydir
将创建一个名为的新目录mydir
。
- 例如:
-
mv
- 移动文件或目录。- 示例:
mv file.txt /usr/local/
将文件移动file.txt
到/usr/local
目录。
- 示例:
-
cp
- 复制文件或目录。- 示例:
cp file.txt /usr/local/
将文件复制file.txt
到/usr/local
目录。
- 示例:
-
rm
- 删除文件或目录。- 例如:
rm file.txt
将删除文件file.txt
,而rm -r mydir
将删除目录mydir
及其所有内容。
- 例如:
-
touch
- 创建一个新的空文件。- 例如:
touch file.txt
将创建一个名为 的新空文件file.txt
。
- 例如:
-
ln
- 创建文件或目录的链接。- 示例:将在当前目录中创建一个名为
ln -s /usr/local/file.txt file.txt
的符号链接。/usr/local/file.txt
file.txt
- 示例:将在当前目录中创建一个名为
-
cat
- 显示文件的内容。- 示例:将在终端中
cat file.txt
显示文件的内容。file.txt
- 示例:将在终端中
-
clear
- 清除终端屏幕。- 示例:
clear
将清除终端屏幕的内容。
- 示例:
-
echo
- 将消息打印到终端。- 示例:
echo "Hello, world!"
将消息打印"Hello, world!"
到终端。
- 示例:
-
less
- 使用分页查看文件。- 示例:将允许您一次
less file.txt
查看一页的内容。file.txt
- 示例:将允许您一次
-
man
- 显示命令的手册页。- 示例:
man ls
将显示该命令的手册页ls
,其中描述了其用法和选项。
- 示例:
-
uname
- 显示有关当前系统的信息。- 示例:
uname -a
将显示当前系统的所有信息,包括内核版本和机器硬件名称。
- 示例:
-
whoami
- 显示当前用户。- 例如:
whoami
将显示当前用户的用户名。
- 例如:
-
tar
- 存档并压缩文件和目录。- 示例:
tar -czf archive.tar.gz directory/
将创建一个名为“archive.tar.gz
来自目录内容的压缩档案”directory
。
- 示例:
-
grep
- 在文件中搜索模式。- 示例:
grep "error" log.txt
将在文件中搜索log.txt
模式"error"
并打印匹配的任何行。
- 示例:
-
head
- 显示文件的前几行。- 例如:
head -n 10 file.txt
将显示的前 10 行file.txt
。
- 例如:
-
tail
- 显示文件的最后几行。- 例如:
tail -n 10 file.txt
将显示的最后 10 行file.txt
。
- 例如:
-
diff
- 比较两个文件之间的差异。- 例如:将比较和
diff file1.txt file2.txt
的内容并打印它们之间的差异。file1.txt
file2.txt
- 例如:将比较和
-
cmp
- 逐字节比较两个文件的内容。- 示例:将逐字节比较和
cmp file1.txt file2.txt
的内容并报告任何差异。file1.txt
file2.txt
- 示例:将逐字节比较和
-
comm
- 逐行比较两个已排序文件的内容。- 示例:将比较和
comm file1.txt file2.txt
的内容(它们都应该排序),并打印每个文件所特有的行。file1.txt
file2.txt
- 示例:将比较和
-
sort
- 对文件的行进行排序。- 例如:
sort file.txt
将按字母顺序对行进行排序file.txt
。
- 例如:
-
export
- 导出一个 shell 变量。- 示例:
export VARNAME="value"
将创建一个名为 的 shell 变量,VARNAME
其值为"value"
。
- 示例:
-
zip
- 将文件压缩为 ZIP 档案。- 示例:
zip archive.zip file1.txt file2.txt
将创建一个名为的 ZIP 档案,其中archive.zip
包含文件file1.txt
和file2.txt
。
- 示例:
-
unzip
- 从 ZIP 档案中提取文件。- 示例:
unzip archive.zip
将提取 ZIP 档案的内容archive.zip
。
- 示例:
-
ssh
- 使用 SSH 协议连接到远程服务器。- 例如:将以用户身份
ssh user@example.com
连接到服务器。example.com
user
- 例如:将以用户身份
-
service
- 控制系统服务。- 示例:
service apache2 start
将启动 Apache Web 服务器。
- 示例:
-
ps
- 显示有关正在运行的进程的信息。- 示例:
ps aux
将显示所有正在运行的进程及其资源使用情况的列表。
- 示例:
-
kill
- 向进程发送信号以终止它。- 示例:
kill 12345
将发送信号以终止进程 ID 为 的进程12345
。
- 示例:
-
killall
- 终止具有指定名称的所有进程。- 例如:
killall firefox
将终止所有名为 的进程firefox
。
- 例如:
-
df
- 显示有关已安装文件系统上可用磁盘空间的信息。- 示例:
df -h
将以人类可读的格式显示可用磁盘空间(例如,以千兆字节或兆字节为单位)。
- 示例:
-
mount
- 安装文件系统。- 例如:
mount /dev/sda1 /mnt/mydisk
将分区挂载/dev/sda1
在挂载点/mnt/mydisk
。
- 例如:
-
chmod
- 更改文件或目录的权限。- 示例:
chmod 755 file.txt
将授予文件所有者读取、写入和执行权限,并授予文件其他所有人读取和执行权限file.txt
。
- 示例:
-
chown
- 更改文件或目录的所有权。- 例如:
chown user:group file.txt
将 的所有者更改file.txt
为user
,并将组所有权更改为group
。
- 例如:
-
ifconfig
- 配置网络接口参数。- 例如:
ifconfig eth0 up
将启用网络接口eth0
。
- 例如:
-
traceroute
- 追踪数据包到达目的地的路径。- 示例:
traceroute example.com
将跟踪数据包从当前系统到目的地的路径example.com
。
- 示例:
-
wget
- 从互联网下载文件。- 例如:将从
wget https://example.com/file.zip
下载文件。file.zip
https://example.com
- 例如:将从
-
ufw
- 用于管理防火墙的前端。- 示例:
ufw allow ssh
将允许传入连接到 SSH 服务。
- 示例:
-
iptables
- Linux 的防火墙管理工具。- 示例:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
将允许传入连接到 TCP 端口 80(HTTP 的默认端口)。
- 示例:
-
apt
- 基于 Debian 的系统的包管理器。- 示例:
apt update
将更新可用包的列表。
- 示例:
-
sudo
- 允许用户以超级用户(root)的权限运行命令。- 示例:
sudo apt update
将使用 root 权限更新可用软件包的列表。
- 示例:
-
cal
- 显示日历。- 例如:
cal
将显示当前月份的日历。
- 例如:
-
alias
- 为命令创建别名。- 示例:将创建运行命令的
alias ll='ls -alF'
别名。ll
ls -alF
- 示例:将创建运行命令的
-
dd
- 将数据从一个位置复制到另一个位置。- 例如:
dd if=/dev/sda of=disk.img
将创建一个名为 的disk.img
设备内容的图像文件/dev/sda
。
- 例如:
-
whereis
- 显示命令的位置。- 示例:将显示系统上命令
whereis ls
的位置。ls
- 示例:将显示系统上命令
-
whatis
- 显示命令的简短描述。- 示例:
whatis ls
将显示命令的简短描述ls
。
- 示例:
-
top
- 显示有关正在运行的进程的信息。- 示例:
top
将实时显示正在运行的进程列表及其资源使用情况。
- 示例:
-
passwd
- 更改用户密码。- 例如:
passwd user1
将提示您输入并确认用户的新密码user1
。
- 例如:
可以通过以下链接找到有关特定命令的更多详细信息:
Bash URL:https://linux.die.net/man/1/change_command_name
例如,要查看 ls 命令的手册页,您可以点击以下链接:https://linux.die.net/man/1/ls
命令的手册页包含该特定命令或实用程序的全面参考指南,可在 Linux 或类 Unix 操作系统上使用。它包含该命令及其选项的描述,以及如何使用该命令的示例。它还可能包含有关该命令的语法、返回值以及使用该命令时可能发生的任何错误的信息。
您可以在命令提示符下输入 man 并加上命令名称来访问该命令的手册页。手册页分为多个部分,每个部分涵盖一个特定的主题。第一部分编号为 1,包含所有用户可用的命令。第二部分编号为 2,包含系统调用,这些函数由操作系统内核提供,允许程序向内核请求服务。第三部分编号为 3,包含库函数,这些函数由程序使用的库提供。
如果您正在使用Medium,请支持我并关注我,获取更多有趣的文章。Medium简介
如果本指南对您和您的团队有帮助,请与其他人分享!
文章来源:https://dev.to/kanani_nirav/50-linux-commands-every-developer-need-to-know-with-example-mc