首页
学习
活动
专区
圈层
工具
发布

一些常用的linux常用的命令

在 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.txtcp -r documents backup_documents # 复制 documents 目录及其所有内容到 backup_documents

mv - 移动或重命名文件和目录

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

示例:

Bash

mv old_name.txt new_name.txt # 将 old_name.txt 重命名为 new_name.txtmv file.txt /tmp/ # 将 file.txt 移动到 /tmp/ 目录

rm - 删除文件和目录

rm 命令用于删除文件和目录。使用此命令时请务必小心,因为它删除的文件通常无法恢复

rm -f

强制删除文件,不进行确认提示。

rm -r

递归地删除目录及其内容。

示例:

Bash

rm useless_file.txt # 删除 useless_file.txtrm -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.gztar -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.gzgunzip 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.zipunzip 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

系统信息

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 的强大功能,并解决各种系统管理和开发任务。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/Ogzss43vTe8EHJvx6TmWxe-Q0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。
领券