你好,这里是网络技术联盟站,我是瑞哥。
最近有很多粉丝加我,问我如何学习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. kill
和 killall
- 终止进程
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
- 交互式系统监控工具
htop
是 top
的增强版,提供更加友好的交互界面。
无常用参数
示例:
# 启动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 |
查找文件或目录。 |