一些常用的linux常用的命令_linux常用命令有哪些?
zhezhongyun 2025-09-19 06:24 2 浏览
在 Linux 的世界里,命令是与系统交互的基础。掌握常用命令不仅能让你高效地管理文件、进程和网络,还能为你进一步学习系统管理和自动化打下坚实的基础。本文将深入探讨一些最常用且功能强大的 Linux 命令。
文件与目录管理
文件和目录是 Linux 系统中最基本的操作对象。以下命令能帮助你轻松驾驭它们:
ls - 列出目录内容
ls 命令用于列出指定目录下的文件和子目录。它有许多常用选项,可以改变输出的显示方式:
- ls -l: 以长格式显示文件信息,包括文件权限、所有者、组、大小、修改日期等。
- ls -a: 显示所有文件,包括以 . 开头的隐藏文件。
- ls -h: 以人类可读的格式显示文件大小(例如,1K, 234M, 2G)。
- ls -R: 递归地列出子目录中的内容。
示例:
Bash
ls -lh # 列出当前目录下所有文件和子目录的详细信息,并以人类可读的格式显示文件大小
cd - 切换目录
cd 命令用于改变当前工作目录。
- cd ~ 或 cd: 切换到用户主目录。
- cd ..: 切换到上级目录。
- cd -: 切换到上一个工作目录。
示例:
Bash
cd /var/log # 切换到 /var/log 目录
pwd - 显示当前工作目录
pwd 命令会打印出当前所处的完整路径。当你迷失在文件系统中时,它能帮你迅速找到方向。
示例:
Bash
pwd # 显示当前工作目录的路径
mkdir - 创建目录
mkdir 命令用于创建新的目录。
- mkdir -p: 当父目录不存在时,自动创建所需的父目录。
示例:
Bash
mkdir my_new_directory # 创建名为 my_new_directory 的新目录
mkdir -p projects/2025/q3 # 创建 projects, 2025, q3 三级目录
rmdir - 删除空目录
rmdir 命令用于删除空的目录。如果目录不为空,则无法删除。
示例:
Bash
rmdir empty_folder # 删除名为 empty_folder 的空目录
cp - 复制文件和目录
cp 命令用于复制文件或目录。
- cp -r: 递归地复制目录及其内容。
示例:
Bash
cp file.txt new_file.txt # 复制 file.txt 并命名为 new_file.txt
cp -r documents backup_documents # 复制 documents 目录及其所有内容到 backup_documents
mv - 移动或重命名文件和目录
mv 命令用于移动文件或目录,也可以用于重命名。
示例:
Bash
mv old_name.txt new_name.txt # 将 old_name.txt 重命名为 new_name.txt
mv file.txt /tmp/ # 将 file.txt 移动到 /tmp/ 目录
rm - 删除文件和目录
rm 命令用于删除文件和目录。使用此命令时请务必小心,因为它删除的文件通常无法恢复。
- rm -f: 强制删除文件,不进行确认提示。
- rm -r: 递归地删除目录及其内容。
示例:
Bash
rm useless_file.txt # 删除 useless_file.txt
rm -rf dangerous_folder # 强制删除 dangerous_folder 及其所有内容 (极度危险,慎用!)
cat - 查看文件内容
cat 命令用于连接文件并打印到标准输出,最常用的是查看文本文件的内容。
示例:
Bash
cat /etc/os-release # 查看操作系统版本信息文件
less 和 more - 分页查看文件内容
当文件内容很长时,less 和 more 命令可以让你分页查看,避免内容一次性刷满屏幕。less 功能更强大,支持向前和向后翻页,而 more 只能向前翻页。
示例:
Bash
less /var/log/syslog # 分页查看系统日志
head 和 tail - 查看文件开头或结尾
- head: 默认显示文件的前10行。
- tail: 默认显示文件的后10行。
- tail -f: 实时跟踪文件末尾的更新,常用于查看日志文件。
示例:
Bash
head -n 5 access.log # 查看 access.log 文件的前5行
tail -f error.log # 实时查看 error.log 中新增的错误信息
权限管理
Linux 是一种多用户操作系统,文件和目录的权限管理至关重要。
chmod - 改变文件权限
chmod 命令用于改变文件或目录的权限。权限可以用数字(八进制)或符号表示。
数字表示法:
- 读 (r): 4
- 写 (w): 2
- 执行 (x): 1
组合权限:
- 所有者 (owner)
- 组 (group)
- 其他用户 (others)
示例:
Bash
chmod 755 script.sh # 将 script.sh 设置为所有者可读写执行,组用户和其他用户可读执行
# 7 = 4(r) + 2(w) + 1(x)
# 5 = 4(r) + 0(w) + 1(x)
chown - 改变文件所有者
chown 命令用于改变文件或目录的所有者。
示例:
Bash
chown user1 file.txt # 将 file.txt 的所有者改为 user1
chgrp - 改变文件组
chgrp 命令用于改变文件或目录的所属组。
示例:
Bash
chgrp developers project_folder # 将 project_folder 的所属组改为 developers
进程管理
进程是正在执行的程序实例。管理进程是系统管理员的日常任务之一。
ps - 查看进程状态
ps 命令用于查看当前系统中运行的进程。
- ps aux: 显示所有用户的进程,以及详细信息。
- ps ef: 以树状结构显示进程之间的父子关系。
示例:
Bash
ps aux | grep nginx # 查找所有与 nginx 相关的进程
top - 实时查看进程状态
top 命令提供了一个实时更新的进程列表,显示 CPU、内存使用情况以及每个进程的资源占用。
示例:
Bash
top # 启动 top 实时监控进程
kill - 终止进程
kill 命令用于向进程发送信号,最常用的是终止进程。
- kill <PID>: 默认发送 SIGTERM 信号(请求终止)。
- kill -9 <PID>: 发送 SIGKILL 信号(强制终止,不可被捕获或忽略)。
示例:
Bash
kill 12345 # 终止 PID 为 12345 的进程
kill -9 54321 # 强制终止 PID 为 54321 的进程
网络工具
ping - 测试网络连通性
ping 命令用于测试网络主机之间的连通性。它通过发送 ICMP echo 请求包并等待响应来工作。
示例:
Bash
ping xxx.com # 测试与 xxx.com 的连通性
ip - 显示/配置网络接口
ip 命令是 ifconfig 的现代化替代品,用于显示和配置网络接口。
- ip a: 显示所有网络接口的详细信息,包括 IP 地址。
- ip r: 显示路由表。
示例:
Bash
ip a # 显示所有网络接口的 IP 地址信息
ss - 显示套接字统计信息
ss 命令是 netstat 的更快、更强大的替代品,用于显示套接字统计信息。
- ss -tunlpx: 显示所有 TCP、UDP 监听端口,并显示关联的进程。
示例:
Bash
ss -tunlp # 列出所有监听的 TCP 和 UDP 端口
压缩与解压
tar - 文件打包与解压
tar 命令是一个功能强大的归档工具,常用于将多个文件打包成一个文件,并可选地进行压缩。
- tar -cvf archive.tar files: 创建一个归档文件。
- tar -xvf archive.tar: 解压一个归档文件。
- tar -czvf archive.tar.gz files: 创建并使用 gzip 压缩。
- tar -xzvf archive.tar.gz: 解压 gzip 压缩的归档文件。
- tar -cjvf archive.tar.bz2 files: 创建并使用 bzip2 压缩。
- tar -xjvf archive.tar.bz2: 解压 bzip2 压缩的归档文件。
示例:
Bash
tar -czvf my_backup.tar.gz /home/user/documents # 将 documents 目录打包并压缩为 my_backup.tar.gz
tar -xzvf my_backup.tar.gz # 解压 my_backup.tar.gz
gzip / gunzip - Gzip 压缩/解压
gzip 用于压缩文件,gunzip 用于解压由 gzip 压缩的文件。
示例:
Bash
gzip my_file.txt # 压缩 my_file.txt 为 my_file.txt.gz
gunzip my_file.txt.gz # 解压 my_file.txt.gz
zip / unzip - Zip 压缩/解压
zip 和 unzip 命令用于创建和提取 .zip 格式的压缩文件,这在与其他操作系统交换文件时很常见。
示例:
Bash
zip -r my_archive.zip my_folder # 将 my_folder 及其内容压缩为 my_archive.zip
unzip my_archive.zip # 解压 my_archive.zip
搜索与查找
grep - 文本搜索
grep 命令用于在文件中搜索指定的文本模式。它是 Linux 中最常用的文本处理工具之一。
- grep -i: 忽略大小写。
- grep -r: 递归搜索子目录。
- grep -n: 显示匹配行的行号。
- grep -v: 显示不匹配的行。
示例:
Bash
grep "error" /var/log/syslog # 在系统日志中查找包含 "error" 的行
grep -rn "function_name" . # 在当前目录及其子目录中递归查找 "function_name" 并显示行号
find - 文件查找
find 命令用于在文件系统中查找文件和目录。它非常强大,支持多种查找条件。
- find . -name "*.log": 在当前目录及其子目录中查找所有以 .log 结尾的文件。
- find /etc -type d -name "nginx": 在 /etc 目录下查找名为 "nginx" 的目录。
- find /home -user user1: 查找所有者为 user1 的文件。
示例:
Bash
find /var/www -type f -size +1G # 在 /var/www 目录下查找所有大于 1GB 的文件
系统信息
df - 查看磁盘空间使用情况
df 命令用于显示文件系统的磁盘空间使用情况。
- df -h: 以人类可读的格式显示。
示例:
Bash
df -h # 显示所有文件系统的磁盘使用情况
du - 查看文件或目录占用空间
du 命令用于显示文件或目录的磁盘空间占用量。
- du -sh: 汇总显示指定目录的总大小,以人类可读的格式。
示例:
Bash
du -sh /var/log # 显示 /var/log 目录的总大小
free - 查看内存使用情况
free 命令用于显示系统内存使用情况,包括物理内存和交换空间。
- free -h: 以人类可读的格式显示。
示例:
Bash
free -h # 显示内存使用情况
uname - 查看系统信息
uname 命令用于显示系统信息,如内核名称、版本、硬件架构等。
- uname -a: 显示所有系统信息。
示例:
Bash
uname -a # 显示所有系统信息
结论
以上只是 Linux 常用命令中的一小部分,但它们构成了与 Linux 系统高效交互的基石。掌握这些命令,并养成查阅 man 手册(例如 man ls)的习惯,将极大地提升在 Linux 环境下的工作效率。随着对这些基础命令的熟练运用,将能够更轻松地探索 Linux 的强大功能,并解决各种系统管理和开发任务。
相关推荐
- Go语言标准库中5个被低估的强大package
-
在Go语言的世界里,开发者们往往对fmt、net/http这些“明星包”耳熟能详,却忽略了标准库里藏着的一批“宝藏工具”。它们功能强大却低调内敛,能解决并发控制、内存优化、日志管理等核心问题。今天就带...
- 作为测试人,如何优雅地查看Log日志?
-
作为一名测试工程师,测试工作中和Linux打交道的地方有很多。比如查看日志、定位Bug、修改文件、部署环境等。项目部署在Linux上,如果某个功能发生错误,就需要我们去排查出错的原因,所以熟练地掌握查...
- Java 从底层与接口实现了解String、StringBuffer、StringBuilder
-
String、StringBuffer和StringBuilder的接口实现关系:String:字符串常量,字符串长度不可变。Java中String是immutable(不可变)的。用于存放字符...
- FluentData 从入门到精通:C#.NET 数据访问最佳实践
-
简介FluentData是一个微型ORM(micro-ORM),主打「FluentAPI」风格,让开发者在保持对原生SQL完全控制的同时,享受链式调用的便捷性。它与Dapper、Massi...
- 团队协作-代码格式化工具clang-format
-
环境:clang-format:10.0.0前言统一的代码规范对于整个团队来说十分重要,通过git/svn在提交前进行统一的ClangFormat格式化,可以有效避免由于人工操作带来的代码格式问题。C...
- C# 数据操作系列 - 15 SqlSugar 增删改查详解(超长篇)
-
0.前言继上一篇,以及上上篇,我们对SqlSugar有了一个大概的认识,但是这并不完美,因为那些都是理论知识,无法描述我们工程开发中实际情况。而这一篇,将带领小伙伴们一起试着写一个能在工程中使用的模...
- Mac OS 下 Unix 使用最多的100条命令(收藏级)
-
MacOS内置基于Unix的强大终端(Terminal),对开发者、运维工程师和日常用户来说,掌握常用的Unix命令是提升效率的关键。本文整理了100条在MacOS下最常用的U...
- C语言字符串操作总结大全(超详细)
-
C语言字符串操作总结大全(超详细)1)字符串操作strcpy(p,p1)复制字符串strncpy(p,p1,n)复制指定长度字符串strcat(p,p1)附加字符串strncat...
- 经常使用到开源的MySQL,今天我们就来系统地认识一下
-
作为程序员,我们在项目中会使用到许多种类的数据库,根据业务类型、并发量和数据要求等选择不同类型的数据库,比如MySQL、Oracle、SQLServer、SQLite、MongoDB和Redis等。今...
- 电脑蓝屏代码大全_电脑蓝屏代码大全及解决方案
-
0X0000000操作完成0X0000001不正确的函数0X0000002系统找不到指定的文件0X0000003系统找不到指定的路径0X0000004系统无法打开文件0X0000005拒绝...
- 8个增强PHP程序安全的函数_php性能优化及安全策略
-
安全是编程非常重要的一个方面。在任何一种编程语言中,都提供了许多的函数或者模块来确保程序的安全性。在现代网站应用中,经常要获取来自世界各地用户的输入,但是,我们都知道“永远不能相信那些用户输入的数据”...
- css优化都有哪些优化方案_css性能优化技巧
-
CSS优化其实可以分成几个层面:性能优化、可维护性优化、兼容性优化以及用户体验优化。这里我帮你梳理一份比较系统的CSS优化方案清单,方便你参考:一、加载性能优化减少CSS文件体积压缩CSS...
- 筹划20年,他终于拍成了这部电影_筹划20年,他终于拍成了这部电影英语
-
如果提名好莱坞最难搞影星,你第一时间会联想到谁?是坏脾气的西恩·潘,还是曾因吸毒锒铛入狱的小罗伯特·唐尼,亦或是沉迷酒精影响工作的罗素·克劳?上述大咖,往往都有着这样或那样的瑕疵。可即便如此,却都仍旧...
- Keycloak Servlet Filter Adapter使用
-
KeycloakClientAdapters简介Keycloakclientadaptersarelibrariesthatmakeitveryeasytosecurea...
- 一些常用的linux常用的命令_linux常用命令有哪些?
-
在Linux的世界里,命令是与系统交互的基础。掌握常用命令不仅能让你高效地管理文件、进程和网络,还能为你进一步学习系统管理和自动化打下坚实的基础。本文将深入探讨一些最常用且功能强大的Linux...
- 一周热门
- 最近发表
- 标签列表
-
- HTML 教程 (33)
- HTML 简介 (35)
- HTML 实例/测验 (32)
- HTML 测验 (32)
- JavaScript 和 HTML DOM 参考手册 (32)
- HTML 拓展阅读 (30)
- HTML文本框样式 (31)
- HTML滚动条样式 (34)
- HTML5 浏览器支持 (33)
- HTML5 新元素 (33)
- HTML5 WebSocket (30)
- HTML5 代码规范 (32)
- HTML5 标签 (717)
- HTML5 标签 (已废弃) (75)
- HTML5电子书 (32)
- HTML5开发工具 (34)
- HTML5小游戏源码 (34)
- HTML5模板下载 (30)
- HTTP 状态消息 (33)
- HTTP 方法:GET 对比 POST (33)
- 键盘快捷键 (35)
- 标签 (226)
- HTML button formtarget 属性 (30)
- opacity 属性 (32)
- transition 属性 (33)