当前位置:首页 > 学海无涯 > 正文内容

Linux常用命令大全

清羽天3个月前 (09-02)学海无涯51

Linux是开发与运维工作中不可或缺的工具,掌握常用命令能显著提升效率。本篇整理了一些高频使用的命令,覆盖文件操作、系统监控、网络调试等核心场景,适合入门学习或作为日常参考使用。以下是一些常用的Linux命令:



1. ls:列出当前目录中的文件和子目录

ls

2. pwd:显示当前工作目录的路径

pwd

3. cd:切换工作目录

cd /path/to/directory

4. mkdir:创建新目录

mkdir directory_name

5. rmdir:删除空目录

rmdir directory_name

6. rm:删除文件或目录

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

7. cp:复制文件或目录

cp source_file destination
cp -r source_directory destination  # 递归复制目录及其内容

8. mv:移动或重命名文件或目录

mv old_name new_name

9. touch:创建空文件或更新文件的时间戳

touch file_name

10. cat:连接和显示文件内容

cat file_name

11. more/less:逐页显示文本文件内容

more file_name
less file_name

12. head/tail:显示文件的前几行或后几行

head -n 10 file_name  # 显示文件的前10行
tail -n 20 file_name  # 显示文件的后20行

13. grep:在文件中搜索指定文本

grep search_term file_name

14. ps:显示当前运行的进程

ps aux

15. kill:终止进程

kill process_id

16. ifconfig/ip:查看和配置网络接口信息

ifconfig
ip addr show

17. ping:测试与主机的连通性

ping host_name_or_ip

18. wget/curl:从网络下载文件

wget URL
curl -O URL

19. chmod:修改文件或目录的权限

chmod permissions file_name

20. chown:修改文件或目录的所有者

chown owner:group file_name

21. tar:用于压缩和解压文件和目录

tar -czvf archive.tar.gz directory_name  # 压缩目录
tar -xzvf archive.tar.gz  # 解压文件

22. df/du:显示磁盘使用情况

df -h  # 显示磁盘空间使用情况
du -h directory_name  # 显示目录的磁盘使用情况

23. mount/umount:挂载和卸载文件系统

mount /dev/sdX1 /mnt  # 挂载分区到指定目录
umount /mnt  # 卸载挂载的文件系统

24. psql/mysql:用于与PostgreSQL或MySQL数据库交互的命令行工具

psql -U username -d database_name  # 连接到PostgreSQL数据库
mysql -u username -p  # 连接到MySQL数据库

25. top/htop:显示系统资源的实时使用情况和进程信息

top
htop

26. ssh:远程登录到其他计算机

ssh username@remote_host

27. scp:安全地将文件从本地复制到远程主机,或从远程主机复制到本地

scp local_file remote_user@remote_host:/remote/directory

28. find:在文件系统中查找文件和目录

find /path/to/search -name "file_pattern"

29. grep:在文本中搜索匹配的行,并可以使用正则表达式进行高级搜索

grep -r "pattern" /path/to/search

30. sed:流编辑器,用于文本处理和替换

sed 's/old_text/new_text/' file_name

31. awk:用于文本处理和数据提取的文本处理工具

awk '{print $1}' file_name  # 提取文件中的第一列数据

32. ssh-keygen:生成SSH密钥对,用于身份验证远程服务器

ssh-keygen -t rsa

33. date:显示或设置系统日期和时间

date

34. echo:将文本输出到标准输出

echo "Hello, World!"

35. ln:创建硬链接或符号链接

ln source_file link_name  # 创建硬链接
ln -s source_file link_name  # 创建符号链接

36. uname:显示系统信息

uname -a

37. shutdown/reboot:关闭或重新启动系统

shutdown -h now  # 立即关闭系统
reboot  # 重新启动系统

38. who/w:显示当前登录的用户信息

who
w

39. curl:用于与网络资源进行交互,支持各种协议

curl -X GET http://example.com

40. zip/unzip:用于压缩和解压ZIP文件

zip archive.zip file1 file2  # 压缩文件
unzip archive.zip  # 解压ZIP文件

41. chmod/chown:修改文件或目录的权限和所有者

chmod permissions file_name  # 修改文件权限
chown owner:group file_name  # 修改文件所有者

42. useradd/userdel:用于添加和删除用户账户

useradd new_user  # 添加用户
userdel username  # 删除用户

43. passwd:更改用户密码

passwd username

44. cron:定时任务管理器,用于自动执行计划任务

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

45. uptime:显示系统的运行时间和负载情况

uptime

46. hostname:显示或设置计算机的主机名

hostname  # 显示主机名

47. iptables/ufw:用于配置防火墙规则

iptables -A INPUT -p tcp --dport 80 -j ACCEPT  # 允许HTTP流量
ufw enable  # 启用Uncomplicated Firewall

48. netstat/ss:显示网络连接信息

netstat -tuln  # 显示所有TCP和UDP端口
ss -tuln  # 使用Socket Stat查看网络连接

49. ps/top/htop:显示进程信息和系统资源使用情况

ps aux  # 显示所有进程
top  # 实时监视系统资源
htop  # 更友好的进程监视器

50. history:查看命令历史记录

history

51. free:显示系统内存使用情况

free -m  # 以MB为单位显示内存使用情况

52. lsblk/fdisk:查看磁盘分区信息和管理磁盘

lsblk  # 显示块设备信息
fdisk /dev/sdX  # 打开磁盘分区工具

53. nc:用于网络连接测试和数据传输

nc -vz host_name_or_ip port  # 测试主机的端口是否可达

54. stat:显示文件或目录的详细信息

stat file_or_directory

55. nmcli:用于管理网络连接的命令行工具

nmcli connection show  # 显示网络连接信息

56. tailf:实时追踪文件的末尾,类似于tail -f

tailf file_name

57. scp:安全地将文件从本地复制到远程主机,或从远程主机复制到本地

scp local_file remote_user@remote_host:/remote/directory  # 从本地到远程
scp remote_user@remote_host:/remote/file local_directory  # 从远程到本地

58. rsync:用于在本地和远程系统之间同步文件和目录

rsync -avz source_directory/ remote_user@remote_host:/remote/directory/

59. dd:用于复制和转换文件

dd if=input_file of=output_file bs=block_size

60. sudo:以超级用户权限运行命令

sudo command_to_run_as_superuser

61. alias:为命令创建别名

alias ll='ls -alF'

62. unalias:删除命令别名

unalias ll

63. env:显示当前环境变量

env

64. export:设置或导出环境变量

export PATH=$PATH:/new/path

65. xargs:将标准输入转换为命令参数

cat files.txt | xargs rm  # 删除files.txt中列出的文件

66. man:查看命令的帮助文档

man ls

67. tee:从标准输入读取并写入到标准输出和文件

echo "Log entry" | tee -a log.txt

68. trap:定义脚本中接收到信号时执行的动作

trap 'echo "Script interrupted!"' INT

69. watch:周期性执行命令并显示输出

watch -n 5 df -h  # 每5秒显示一次磁盘使用情况

70. basename:从路径中提取文件名

basename /path/to/file.txt  # 输出 file.txt

71. dirname:提取文件路径中的目录部分

dirname /path/to/file.txt  # 输出 /path/to

72. yes:持续输出字符串,通常用于自动确认

yes | apt install package_name

73. sleep:延迟指定时间后再继续执行

sleep 5  # 暂停5秒

74. seq:生成指定范围的数字序列

seq 1 5  # 输出 1 2 3 4 5

75. cut:按列提取文本内容

cut -d ':' -f1 /etc/passwd  # 提取第1列用户名

76. tr:替换或删除字符

echo "hello" | tr 'a-z' 'A-Z'  # 输出 HELLO

77. uniq:去除重复行(通常配合 sort 使用)

sort file.txt | uniq

78. sort:对文本内容排序

sort file.txt

79. wc:统计文件中的行数、单词数和字节数

wc -l file.txt  # 统计行数

80. file:查看文件类型

file filename

本文整理的命令涵盖了日常使用的关键场景,建议结合实际项目反复练习,加深理解。如果你有更多实用技巧,欢迎交流补充。


分享给朋友:

“Linux常用命令大全” 的相关文章

Python 实现在线视频播放完整方案:从后端服务到前端适配

在 Web 开发中,在线视频播放是教育平台、企业培训、内容分享等场景的核心需求。Python 作为灵活高效的后端语言,搭配其丰富的 Web 框架和生态库,能快速搭建稳定的视频服务;结合前端播放器组件,可实现跨浏览器、高兼容性的播放体验。本文将从技术选型、后端实现、前端集成、优化部署四个维度,手把手教...

Java 实现在线视频播放完整方案:从后端服务到前端播放

在 Web 开发中,在线视频播放是常见需求(如教育平台、视频网站、企业培训系统等)。Java 作为成熟的后端技术,能提供稳定的视频资源管理、权限控制、流式传输能力;配合前端播放器组件,可实现流畅的跨浏览器视频播放体验。本文将从技术选型、后端实现、前端集成、功能优化四个维度,手把手教你完成 Java...

Python 链接数据库与基础增删改查(CRUD)操作详解

在 Python 开发中,数据库交互是后端开发、数据分析、自动化脚本等场景的核心能力 —— 无论是存储用户数据、处理业务逻辑,还是批量分析数据,都需要 Python 与数据库建立连接并执行操作。本文以 MySQL 数据库(Python 生态最常用的关系型数据库)为例,从环境准备、数据库连接...

Unity 开发实战:实现银行存取款功能系统

在许多游戏中,银行系统都是重要的经济组成部分,它能帮助玩家管理虚拟资产、实现安全存储。本文将详细介绍如何在 Unity 中设计并实现一个完整的银行存取款功能,包括数据结构设计、UI 交互逻辑和安全验证机制。一、银行系统核心需求分析一个基础的银行系统应包含以下核心功能:账户余额查询存款功能(将背包货币...

Unity 开发实战:实现逼真的作物生长系统

作物生长系统是农场类、生存类游戏的核心玩法之一,一个设计精良的作物生长系统能极大提升游戏的沉浸感。本文将详细介绍如何在 Unity 中构建一个完整的作物生长系统,包括生长周期、环境影响、交互逻辑和可视化表现。一、作物生长系统核心需求分析一个真实的作物生长系统应包含以下核心要素:多阶段生长周期(种子→...

Unity 开发规划:体力值与资源系统设计方案

在许多游戏中,体力值(Stamina/HP)系统是控制玩家节奏、平衡游戏进度的核心机制,尤其在手游和休闲游戏中应用广泛。本文将详细介绍如何规划和设计一个灵活可扩展的体力值系统,以及相关联的资源恢复、消耗和奖励机制,帮助你在 Unity 项目中构建既平衡又有趣的资源管理体系。一、体力值系统核心需求分析...