从Linux新手到Linux熟练工,这50个Linux命令会用就足够了!

本文涉及的产品
云防火墙,500元 1000GB
简介: 【10月更文挑战第4天】

你好,这里是网络技术联盟站,我是瑞哥。

最近有很多粉丝加我,问我如何学习Linux,Linux和网络技术不一样,Linux主要要熟悉命令,并且还要经常去实践,Linux命令有很多,不是所有的命令都要精通,瑞哥给大家介绍50个Linux命令,这些命令掌握后,你绝对就是Linux熟练工了!

命令大全

1. ls - 列出目录内容

ls 命令是Linux中最常用的命令之一,它用于列出指定目录的内容,包括文件和子目录。

常用参数:

  • -l:以长格式列出目录内容,显示详细信息。
  • -a:列出所有文件,包括隐藏文件(以"."开头的文件)。
  • -h:将文件大小以人类可读的格式显示(如K、M、G)。
  • -R:递归地列出目录内容,包括子目录中的内容。
  • -t:按修改时间排序文件。

示例:

# 列出当前目录的内容
ls

# 列出所有文件,包括隐藏文件
ls -a

# 以长格式和人类可读的大小显示文件
ls -lh

# 按时间排序列出文件
ls -lt


2. pwd - 打印工作目录

pwd 命令用于显示当前用户所处的工作目录的完整路径。

无参数

示例:

# 打印当前工作目录
pwd


3. cd - 切换目录

cd 命令用于切换工作目录。

常用参数:

  • ..:返回上一级目录。
  • ~:切换到当前用户的主目录。

示例:

# 切换到 /usr 目录
cd /usr

# 返回上一级目录
cd ..

# 切换到主目录
cd ~


4. mkdir - 创建目录

mkdir 命令用于创建新目录。

常用参数:

  • -p:递归创建目录,即创建嵌套目录时自动创建父目录。

示例:

# 创建一个名为 test 的目录
mkdir test

# 递归创建目录 /home/user/documents/newdir
mkdir -p /home/user/documents/newdir


5. mv - 移动或重命名文件

mv 命令既可以用于移动文件,也可以用于重命名文件。

常用参数:

  • -i:在覆盖现有文件时提示确认。
  • -f:强制移动文件,不提示确认。

示例:

# 将文件 file1.txt 移动到 /tmp 目录
mv file1.txt /tmp/

# 重命名文件 file1.txt 为 file2.txt
mv file1.txt file2.txt

# 强制移动文件,覆盖已有文件
mv -f file1.txt /tmp/

6. cp - 复制文件或目录

cp 命令用于复制文件或目录。

常用参数:

  • -r:递归复制目录及其内容。
  • -i:在覆盖现有文件时提示确认。
  • -v:显示正在复制的文件。

示例:

# 复制文件 file1.txt 到 /tmp 目录
cp file1.txt /tmp/

# 递归复制目录 dir1 到 /tmp 目录
cp -r dir1 /tmp/

# 显示复制过程
cp -v file1.txt /tmp/

7. rm - 删除文件或目录

rm 命令用于删除文件或目录。

常用参数:

  • -r:递归删除目录及其内容。
  • -f:强制删除文件或目录,不提示确认。
  • -i:删除前提示确认。

示例:

# 删除文件 file1.txt
rm file1.txt

# 递归删除目录 dir1 及其内容
rm -r dir1

# 强制删除文件,不提示确认
rm -f file1.txt

8. touch - 创建空文件

touch 命令用于创建空文件,或更新现有文件的时间戳。

无常用参数

示例:

# 创建一个名为 newfile.txt 的空文件
touch newfile.txt

# 更新现有文件 file1.txt 的时间戳
touch file1.txt


9. ln - 创建符号链接或硬链接

ln 命令用于创建文件或目录的链接。

常用参数:

  • -s:创建符号链接(软链接)。

示例:

# 创建文件 file1.txt 的硬链接 link1
ln file1.txt link1

# 创建文件 file1.txt 的符号链接 link2
ln -s file1.txt link2

10. clear - 清屏

clear 命令用于清除终端屏幕的显示内容。

无常用参数

示例:

# 清空终端屏幕
clear


11. cat - 显示文件内容

cat 命令用于查看文件内容,尤其适用于查看短文件。

常用参数:

  • -n:显示行号。

示例:

# 显示文件 file1.txt 的内容
cat file1.txt

# 显示带行号的文件内容
cat -n file1.txt

12. echo - 输出字符串

echo 命令用于在终端输出字符串,也可以用于将数据重定向到文件。

无常用参数

示例:

# 输出一行文本
echo "Hello, World!"

# 将字符串写入文件
echo "Hello, File!" > file1.txt


13. less - 分页查看文件内容

less 命令用于分页查看文件内容,适合查看长文件。

无常用参数

示例:

# 分页显示文件内容
less file1.txt

14. man - 查看命令手册

man 命令用于显示指定命令的手册页,提供详细的命令使用信息。

无常用参数

示例:

# 查看 ls 命令的手册页
man ls


15. uname - 显示系统信息

uname 命令用于查看当前操作系统的相关信息。

常用参数:

  • -a:显示所有系统信息。

示例:

# 显示操作系统名称
uname

# 显示所有系统信息
uname -a


16. whoami - 显示当前用户

whoami 命令用于显示当前用户的用户名。

无常用参数

示例:

# 显示当前用户的用户名
whoami


17. tar - 压缩和解压文件

tar 命令用于创建压缩包或解压文件。

常用参数:

  • -c:创建压缩包。
  • -x:解压缩包。
  • -f:指定文件名。
  • -z:使用 gzip 压缩。
  • -v:显示详细操作信息。

示例:

# 创建 gzip 压缩包
tar -czvf archive.tar.gz file1.txt dir1/

# 解压 gzip 压缩包
tar -xzvf archive.tar.gz

18. grep - 搜索字符串

grep 命令用于在文件或输出中搜索特定字符串。

常用参数:

  • -i:忽略大小写。
  • -r:递归搜索目录中的文件。

示例:

# 在文件中搜索字符串 "hello"
grep "hello" file1.txt

# 忽略大小写搜索
grep -i "hello" file1.txt

# 递归搜索目录中的文件
grep -r "hello" dir1/

19. head - 查看文件头部内容

head 命令用于查看文件的前几行内容,默认显示前10行。

常用参数:

  • -n:指定显示的行数。

示例:

# 查看文件的前10行
head file1.txt

# 查看文件的前5行
head -n 5 file1.txt

20. tail - 查看文件尾部内容

tail 命令用于查看文件的最后几行内容,默认显示最后10行。

常用参数:

  • -n:指定显示的行数。
  • -f:持续监视文件内容的变化,特别适合用于查看实时日志文件的更新。

示例:

# 查看文件的最后10行
tail file1.txt

# 查看文件的最后5行
tail -n 5 file1.txt

# 持续监视日志文件的内容
tail -f /var/log/syslog

21. diff - 比较两个文件的差异

diff 命令用于逐行比较两个文件,显示它们的差异。

常用参数:

  • -c:以上下文的方式显示差异。
  • -u:以联合差异格式显示差异,通常与补丁文件一起使用。

示例:

# 比较两个文件的差异
diff file1.txt file2.txt

# 使用上下文格式比较文件
diff -c file1.txt file2.txt

# 使用联合差异格式比较文件
diff -u file1.txt file2.txt

22. cmp - 比较两个文件

cmp 命令逐字节比较两个文件,并在发现第一个差异时停止。

常用参数:

  • -l:显示文件中的字节差异。

示例:

# 比较两个文件
cmp file1.txt file2.txt

# 显示字节差异
cmp -l file1.txt file2.txt

23. comm - 比较两个已排序的文件

comm 命令逐行比较两个已排序的文件,输出它们的差异。

常用参数:

  • -1:抑制第一个文件中独有的行。
  • -2:抑制第二个文件中独有的行。
  • -3:抑制两者共有的行。

示例:

# 比较两个排序文件的差异
comm file1.txt file2.txt

# 只显示两个文件共有的行
comm -12 file1.txt file2.txt

24. sort - 排序文件内容

sort 命令用于对文件内容进行排序并输出结果。

常用参数:

  • -r:按逆序排序。
  • -n:按数字排序。
  • -u:删除重复行。

示例:

# 对文件内容进行排序
sort file1.txt

# 按数字排序
sort -n file1.txt

# 逆序排序
sort -r file1.txt

# 排序并删除重复行
sort -u file1.txt

25. export - 设置环境变量

export 命令用于在当前会话中设置环境变量,并使其对所有子进程可见。

常用参数:

  • -n:取消导出指定的环境变量。

示例:

# 设置环境变量
export MY_VAR="Hello"

# 取消导出环境变量
export -n MY_VAR

26. zip - 压缩文件

zip 命令用于将文件压缩成zip格式的压缩包。

常用参数:

  • -r:递归压缩目录。

示例:

# 压缩单个文件
zip archive.zip file1.txt

# 递归压缩整个目录
zip -r archive.zip dir1/

27. unzip - 解压zip文件

unzip 命令用于解压zip格式的压缩包。

常用参数:

  • -l:列出压缩包中的文件。
  • -d:指定解压目录。

示例:

# 解压文件
unzip archive.zip

# 指定解压到某个目录
unzip archive.zip -d /path/to/directory

# 列出压缩包中的文件
unzip -l archive.zip

28. ssh - 远程安全登录

ssh 命令用于通过安全外壳协议(SSH)远程登录到另一台Linux服务器。

常用参数:

  • -p:指定SSH端口。
  • -i:指定私钥文件。

示例:

# 使用默认端口远程登录
ssh user@remote_server

# 指定端口进行登录
ssh -p 2222 user@remote_server

# 使用私钥文件登录
ssh -i ~/.ssh/id_rsa user@remote_server

29. service - 管理系统服务

service 命令用于启动、停止、重启或查看系统服务的状态。

常用参数:

  • start:启动服务。
  • stop:停止服务。
  • restart:重启服务。
  • status:查看服务状态。

示例:

# 启动Apache服务
service apache2 start

# 停止MySQL服务
service mysql stop

# 重启SSH服务
service ssh restart

# 查看服务状态
service apache2 status

30. ps - 显示进程

ps 命令用于显示当前系统中的进程信息。

常用参数:

  • -e:显示所有进程。
  • -f:显示完整格式。
  • -u:显示指定用户的进程。

示例:

# 显示当前用户的所有进程
ps

# 显示所有进程
ps -e

# 显示完整格式的进程信息
ps -f

# 显示特定用户的进程
ps -u username


31. killkillall - 终止进程

kill 命令用于通过进程ID终止进程,而 killall 命令用于根据进程名终止所有匹配的进程。

常用参数:

  • -9:强制终止进程。

示例:

# 通过进程ID终止进程
kill 1234

# 强制终止进程
kill -9 1234

# 终止名为 "httpd" 的所有进程
killall httpd

32. df - 查看磁盘空间使用情况

df 命令用于显示文件系统的磁盘空间使用情况。

常用参数:

  • -h:以人类可读的格式显示磁盘空间信息。
  • -T:显示文件系统类型。

示例:

# 显示磁盘空间使用情况
df

# 以人类可读的格式显示
df -h

# 显示文件系统类型
df -T


33. mount - 挂载文件系统

mount 命令用于挂载文件系统到指定的挂载点。

常用参数:

  • -t:指定文件系统类型。

示例:

# 挂载ext4文件系统
mount -t ext4 /dev/sdb1 /mnt/mydisk

# 查看已挂载的文件系统
mount

34. chmod - 更改文件权限

chmod 命令用于更改文件或目录的权限。

常用参数:

  • -R:递归更改权限。

示例:

# 将文件权限设置为755
chmod 755 file1.txt

# 递归更改目录权限
chmod -R 755 /path/to/directory

35. chown - 更改文件所有者

chown 命令用于更改文件或目录的所有者。

常用参数:

  • -R:递归更改文件或目录的所有者。

示例:

# 将文件所有者更改为 user
chown user file1.txt

# 递归更改目录的所有者
chown -R user /path/to/directory

36. ifconfig - 显示网络接口信息

ifconfig 命令用于配置和显示网络接口的相关信息。

常用参数:

  • up:启用网络接口。
  • down:禁用网络接口。

示例:

# 显示所有网络接口的状态
ifconfig

# 禁用 eth0 接口
ifconfig eth0 down

# 启用 eth0 接口
ifconfig eth0 up


37. traceroute - 跟踪网络路径

traceroute 命令用于跟踪数据包从源主机到目标主机的网络路径。

常用参数:

  • -n:显示IP地址而非主机名。

示例:

# 跟踪到目标主机的网络路径
traceroute www.baidu.com

# 显示IP地址而非主机名
traceroute -n www.baidu.com


38. ping - 测试网络连通性

ping 命令用于向目标主机发送ICMP回显请求包,测试本地主机与目标主机之间的连通性。

常用参数:

  • -c:指定发送的回显请求数。
  • -i:指定发送每个请求的间隔时间。
  • -s:指定发送的数据包大小。

示例:

# 向目标主机发送4个ICMP请求
ping -c 4 www.baidu.com

# 每隔2秒发送一个请求
ping -i 2 www.baidu.com

# 发送指定大小的包
ping -s 1000 www.baidu.com


39. netstat - 显示网络状态

netstat 命令用于显示网络连接、路由表、接口统计、伪装连接等。

常用参数:

  • -a:显示所有连接和监听端口。
  • -t:显示TCP连接。
  • -u:显示UDP连接。
  • -n:以数字形式显示地址和端口号。

示例:

# 显示所有连接和监听端口
netstat -a

# 显示TCP连接
netstat -t

# 显示UDP连接
netstat -u

# 显示数字格式的连接信息
netstat -n


40. iptables - 管理防火墙规则

iptables 命令用于配置Linux内核的网络包过滤规则,可以用于设置防火墙。

常用参数:

  • -L:列出当前的防火墙规则。
  • -A:添加新的规则。
  • -D:删除规则。
  • -F:清空所有规则。

示例:

# 列出当前的防火墙规则
iptables -L

# 允许所有入站流量
iptables -A INPUT -j ACCEPT

# 阻止所有入站流量
iptables -A INPUT -j DROP

# 清空所有规则
iptables -F


41. wget - 下载文件

wget 命令用于从网络中下载文件,支持HTTP、HTTPS和FTP协议。

常用参数:

  • -b:后台下载模式。
  • -O:指定输出文件名。
  • -c:断点续传。

示例:

# 下载文件到当前目录
wget http://example.com/file.zip

# 将文件保存为指定名称
wget -O myfile.zip http://example.com/file.zip

# 断点续传
wget -c http://example.com/file.zip

42. curl - 数据传输工具

curl 命令用于通过多种协议传输数据,常用于HTTP请求。

常用参数:

  • -o:指定输出文件。
  • -O:使用URL中的文件名保存文件。
  • -I:获取HTTP头信息。
  • -X:指定HTTP方法(如GET、POST)。

示例:

# 下载文件
curl -o myfile.zip http://example.com/file.zip

# 获取HTTP头信息
curl -I http://example.com

# 发送POST请求
curl -X POST -d "name=user&password=123" http://example.com/login

43. du - 显示磁盘使用情况

du 命令用于显示目录或文件的磁盘空间使用情况。

常用参数:

  • -h:以人类可读的格式显示。
  • -s:显示总计大小。
  • -c:显示各目录或文件的总计。

示例:

# 显示当前目录下每个文件的磁盘使用情况
du

# 以人类可读的格式显示
du -h

# 显示目录总计大小
du -sh /path/to/directory

# 显示并统计多个目录的总计大小
du -ch /path/to/dir1 /path/to/dir2


44. top - 实时显示系统资源使用情况

top 命令用于动态显示系统中进程的资源使用情况,如CPU、内存、运行时间等。

常用参数:

  • -u:显示特定用户的进程。
  • -d:设置刷新间隔。

示例:

# 实时查看系统资源使用情况
top

# 查看指定用户的进程
top -u username

# 设置刷新间隔为5秒
top -d 5


45. htop - 交互式系统监控工具

htoptop 的增强版,提供更加友好的交互界面。

无常用参数

示例:

# 启动htop
htop


46. history - 显示历史命令

history 命令用于显示用户在当前会话中的历史命令记录。

常用参数:

  • -c:清除历史命令记录。

示例:

# 显示历史命令
history

# 清除历史命令记录
history -c


47. crontab - 定时任务管理

crontab 命令用于设置定时任务,允许用户定期执行脚本或命令。

常用参数:

  • -e:编辑当前用户的定时任务。
  • -l:列出当前用户的定时任务。
  • -r:删除当前用户的定时任务。

示例:

# 编辑当前用户的定时任务
crontab -e

# 列出当前用户的定时任务
crontab -l

# 删除当前用户的定时任务
crontab -r

48. chmod - 修改文件权限

chmod 命令用于更改文件或目录的权限,使用符号模式(如rwx)或八进制模式设置权限。

常用参数:

  • -R:递归更改目录及其内容的权限。

示例:

# 将文件的权限更改为755
chmod 755 file.txt

# 递归更改目录及其内容的权限
chmod -R 755 /path/to/directory

49. df - 显示磁盘使用情况

df 命令用于查看文件系统的磁盘使用情况,显示每个挂载点的已用空间和可用空间。

常用参数:

  • -h:以人类可读的格式显示。
  • -T:显示文件系统类型。

示例:

# 显示文件系统的磁盘使用情况
df

# 以人类可读的格式显示磁盘使用情况
df -h

# 显示文件系统类型
df -T


50. locate - 快速查找文件

locate 命令用于快速查找文件,其原理是基于预先构建的文件数据库。

常用参数:

  • -i:忽略大小写。
  • -r:使用正则表达式进行匹配。

示例:

# 查找名为 file.txt 的文件
locate file.txt

# 忽略大小写查找文件
locate -i file.txt

# 使用正则表达式查找
locate -r '^/etc/.*conf$'


💡总结

命令 解释
ls 列出目录内容。
pwd 显示当前工作目录。
cd 切换目录。
mkdir 创建新目录。
mv 移动或重命名文件或目录。
cp 复制文件或目录。
rm 删除文件或目录。
touch 创建空文件或修改文件时间戳。
ln 创建硬链接或符号链接(快捷方式)。
clear 清除终端屏幕内容。
cat 显示文件内容。
echo 输出文本或变量值。
less 分页显示文件内容。
man 查看命令的手册页。
uname 显示系统信息。
whoami 显示当前登录的用户名。
tar 打包或解压文件。
grep 在文件中搜索字符串。
head 显示文件的前几行。
tail 显示文件的后几行。
diff 比较文件差异。
cmp 比较两个文件是否相同。
comm 显示两个文件的不同与相同部分。
sort 对文件内容进行排序。
export 设置环境变量。
zip 压缩文件。
unzip 解压缩文件。
ssh 远程安全连接到其他主机。
service 启动或停止系统服务。
ps 显示当前运行的进程。
kill 终止指定进程。
df 显示磁盘空间使用情况。
mount 挂载文件系统。
chmod 更改文件或目录权限。
chown 更改文件或目录的所有者。
ifconfig 配置或显示网络接口信息。
traceroute 跟踪网络路径到目标主机。
ping 测试网络连接的连通性。
netstat 显示网络状态信息。
iptables 管理防火墙规则。
wget 从网络下载文件。
curl 通过多种协议传输数据。
du 显示文件或目录的磁盘使用情况。
top 实时显示系统进程和资源使用情况。
htop 交互式系统监控工具。
history 显示历史命令记录。
crontab 定时任务管理工具。
chmod 修改文件或目录的权限。
df 显示文件系统的磁盘使用情况。
locate 查找文件或目录。
目录
相关文章
|
1月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
95 8
|
1月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
269 6
|
16天前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
44 14
Linux 10 个“who”命令示例
|
5天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
59 20
|
5天前
|
网络协议 Linux 应用服务中间件
kali的常用命令汇总Linux
kali的常用命令汇总linux
26 7
|
25天前
|
Linux 数据库
Linux中第一次使用locate命令报错?????
在Linux CentOS7系统中,使用`locate`命令时出现“command not found”错误,原因是缺少`mlocate`包。解决方法是通过`yum install mlocate -y`或`apt-get install mlocate`安装该包,并执行`updatedb`更新数据库以解决后续的“can not stat”错误。
31 9
|
23天前
|
监控 网络协议 Linux
Linux netstat 命令详解
Linux netstat 命令详解
|
29天前
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
117 3
|
1月前
|
存储 运维 Linux
如何在 Linux 系统中使用 envsubst 命令替换环境变量?
`envsubst` 是 Linux 系统中用于替换文本中环境变量值的实用工具。本文分三部分介绍其工作原理、使用方法及实际应用,包括配置文件替换、脚本执行中环境变量替换和动态生成文件等场景,帮助用户高效利用 `envsubst` 进行开发和运维工作。
52 4
|
1月前
|
Linux
在 Linux 系统中,`find` 命令
在 Linux 系统中,`find` 命令
34 1