Linux 常用命令总结

Linux 常用命令总结

Linux 命令行是系统管理和开发的核心工具,掌握常用命令可以极大提升效率。本文全面总结 Linux 常用命令,涵盖文件操作、进程管理、网络管理、系统监控、用户管理、软件安装等多个方面,适合初学者和高级用户参考。


1. 文件和目录操作

这些命令用于管理文件和目录。

命令功能描述示例
ls列出目录内容ls -l(详细列表), ls -a(显示隐藏文件)
cd切换目录cd /home/user, cd ..(返回上级目录)
pwd显示当前工作目录pwd
mkdir创建目录mkdir myfolder, mkdir -p a/b/c
rmdir删除空目录rmdir myfolder
touch创建空文件或更新文件时间戳touch file.txt
cp复制文件或目录cp file.txt /backup, cp -r dir1 dir2
mv移动或重命名文件/目录mv file.txt newname.txt, mv dir /tmp
rm删除文件或目录rm file.txt, rm -r dir(递归删除)
find搜索文件或目录find / -name "file.txt"
locate快速查找文件(基于数据库)locate file.txt
tree以树形结构显示目录内容tree /home/user
ln创建链接(硬链接或软链接)ln -s file.txt link(软链接)
cat查看文件内容或连接文件cat file.txt, cat file1 > file2
more / less分页查看文件内容less file.txt
head查看文件开头内容head -n 10 file.txt(前 10 行)
tail查看文件末尾内容tail -n 10 file.txt, tail -f log
wc统计文件的行数、字数、字符数wc -l file.txt(行数)
cut提取文件中特定字段cut -d',' -f1 file.csv
sort排序文件内容sort file.txt, sort -r(逆序)
uniq删除重复行uniq file.txt
grep搜索文件内容grep "keyword" file.txt
sed流式编辑文件内容sed 's/old/new/g' file.txt
awk文本处理和数据提取awk '{print $1}' file.txt

2. 文件权限管理

Linux 文件权限控制访问和管理。

命令功能描述示例
chmod修改文件或目录权限chmod 755 script.sh, chmod u+x file
chown修改文件或目录所有者chown user file.txt, chown -R user dir
chgrp修改文件或目录所属组chgrp group file.txt
umask设置默认文件权限umask 022
getfacl查看文件访问控制列表(ACL)getfacl file.txt
setfacl设置文件访问控制列表setfacl -m u:user:rw file.txt

权限说明

  • 权限格式:rwxr-xr-x(用户、组、其他)。
  • 数字表示:r=4, w=2, x=1(例如,755 表示用户全权,组和其他可读可执行)。

3. 进程管理

用于监控和控制系统进程。

命令功能描述示例
ps显示当前进程状态ps aux(所有进程)
top实时显示进程和系统资源top
htop增强版 top,交互式界面htop
kill终止进程(通过 PID)kill 1234, kill -9 1234(强制终止)
killall按进程名终止进程killall firefox
pkill按进程名或模式终止进程pkill -u user
nice设置进程优先级nice -n 10 command
renice修改运行中进程的优先级renice 10 -p 1234
jobs显示后台任务jobs
bg将任务放入后台运行bg %1
fg将后台任务调回前台fg %1
nohup使命令在终端关闭后继续运行nohup ./script.sh &

4. 系统监控

监控系统性能和资源使用情况。

命令功能描述示例
df显示磁盘使用情况df -h(人类可读格式)
du统计目录或文件大小du -sh /home/user
free显示内存使用情况free -m(以 MB 显示)
uptime显示系统运行时间和负载uptime
vmstat报告虚拟内存统计vmstat 1(每秒更新)
iostat显示 CPU 和 I/O 统计iostat -x 1
sar系统活动报告(需安装 sysstat)sar -u 1(CPU 统计)
dstat动态系统资源统计dstat -cdngy
lscpu显示 CPU 信息lscpu
lsblk列出块设备信息lsblk
iotop实时显示磁盘 I/O 使用情况iotop
watch周期性执行命令并显示结果watch -n 1 'df -h'

5. 网络管理

管理网络连接、流量和服务。

命令功能描述示例
ping测试网络连通性ping google.com
curl发送 HTTP 请求,下载文件curl -O http://example.com/file
wget下载文件wget http://example.com/file
netstat显示网络状态(需安装 net-tools)netstat -tuln
ss更现代的网络状态查看工具ss -tuln
ifconfig显示和配置网络接口(需安装 net-tools)ifconfig eth0
ip现代网络接口管理工具ip addr, ip link
route显示或管理路由表route -n
traceroute跟踪数据包路由路径traceroute google.com
digDNS 查询dig example.com
nslookupDNS 查询(简单版)nslookup example.com
telnet测试端口连接telnet localhost 80
nc网络工具(netcat),用于 TCP/UDP 连接nc -l 1234(监听端口)
tcpdump捕获网络数据包tcpdump -i eth0 port 80
iftop实时显示网络流量iftop -i eth0
nmap网络扫描和端口探测nmap localhost

6. 用户和权限管理

管理用户账户和权限。

命令功能描述示例
who显示当前登录用户who
whoami显示当前用户whoami
id显示用户和组信息id user
su切换用户su - user
sudo以超级用户权限执行命令sudo apt update
useradd添加新用户useradd -m newuser
userdel删除用户userdel -r user
passwd修改用户密码passwd user
addgroup添加用户组addgroup mygroup
usermod修改用户信息usermod -aG sudo user
visudo编辑 sudo 配置文件visudo

7. 软件安装与管理

管理软件包和依赖。

命令功能描述示例
aptDebian/Ubuntu 包管理工具apt install vim, apt update
yum / dnfCentOS/RHEL 包管理工具dnf install vim, yum update
zypperopenSUSE 包管理工具zypper install vim
snap安装和管理 Snap 包snap install code
dpkg管理 Debian 包dpkg -i package.deb
rpm管理 RPM 包rpm -ivh package.rpm
make编译源码make, make install

8. 压缩与归档

处理压缩文件和归档。

命令功能描述示例
tar归档和解档文件tar -cvf archive.tar dir, tar -xvf archive.tar
gzip / gunzip压缩/解压 .gz 文件gzip file.txt, gunzip file.txt.gz
bzip2 / bunzip2压缩/解压 .bz2 文件bzip2 file.txt, bunzip2 file.txt.bz2
zip / unzip压缩/解压 .zip 文件zip archive.zip file.txt, unzip archive.zip
xz压缩/解压 .xz 文件xz file.txt, unxz file.txt.xz

9. 文本编辑器

常用的命令行文本编辑器。

命令功能描述示例
nano简单易用的文本编辑器nano file.txt
vim / vi功能强大的文本编辑器vim file.txt
emacs高度可定制的文本编辑器emacs file.txt

10. 系统管理

管理系统配置和服务。

命令功能描述示例
systemctl管理 systemd 服务systemctl start apache2
service管理服务(兼容旧系统)service apache2 start
uname显示系统信息uname -a
hostname显示或设置主机名hostname, hostname newname
dmesg显示内核日志`dmesg
journalctl查看 systemd 日志journalctl -u apache2
reboot重启系统reboot
shutdown关机或计划关机shutdown -h now, shutdown -r 10
date显示或设置系统时间date, date -s "2023-10-01 12:00"
timedatectl管理系统时间和时区timedatectl set-timezone UTC

11. 环境变量与脚本

管理环境变量和 shell 脚本。

命令功能描述示例
env显示环境变量env
export设置或导出环境变量export PATH=$PATH:/usr/local/bin
echo显示变量或文本echo $PATH
source执行脚本并应用环境变化source ~/.bashrc
bash运行 bash 脚本bash script.sh
chmod +x使脚本可执行chmod +x script.sh

12. 其他实用命令

一些杂项但常用的命令。

命令功能描述示例
man查看命令手册man ls
info查看命令信息info ls
history显示命令历史history, !123(执行第 123 条命令)
alias设置命令别名alias ll='ls -l'
clear清空终端屏幕clear
tee将输出同时写入文件和终端`ls
xargs将标准输入转为命令参数`find . -name “*.txt”

13. 命令组合与管道

Linux 命令可以通过管道和重定向组合使用。

符号功能描述示例
``管道,将前一命令输出作为后一命令输入
>重定向输出到文件(覆盖)ls > output.txt
>>重定向输出到文件(追加)ls >> output.txt
<从文件读取输入wc -l < file.txt
&&前一命令成功后执行后一命令make && make install
``

14. 使用技巧与注意事项

  • 命令补全:按 Tab 键自动补全命令或文件名。
  • 历史命令:使用 Ctrl+R 搜索历史命令。
  • 通配符
    • *:匹配任意字符(如 *.txt)。
    • ?:匹配单个字符(如 file?.txt)。
  • sudo 权限:某些命令需超级用户权限,谨慎使用。
  • 备份重要文件:操作前备份,避免数据丢失。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/77329.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RPCRT4!OSF_CCONNECTION::OSF_CCONNECTION函数分析之创建一个RPCRT4!OSF_CCALL--RPC源代码分析

RPCRT4!OSF_CCONNECTION::OSF_CCONNECTION函数分析之创建一个RPCRT4!OSF_CCALL 第一部分&#xff1a; 1: kd> p RPCRT4!OSF_CCONNECTION::OSF_CCONNECTION0x167: 001b:77bf6957 393dec35c877 cmp dword ptr [RPCRT4!gfRPCVerifierEnabled (77c835ec)],edi 1: kd> …

量化视角:比特币美债黄金三角博弈的DeepSeek推演

【AI分析】近期全球金融市场呈现罕见的三重分化态势&#xff1a;比特币单日振幅超35%、美债收益率创年内最大单日波动、黄金价格突破3271美元/盎司&#xff0c;刷新有记录以来的最高价。这种极端行情背后&#xff0c;折射出AI模型捕捉到的市场结构性矛盾与资金流动新逻辑。 一…

markdown导出PDF,PDF生成目录

1、vscode中安装markdown插件&#xff0c;将编辑的文件导出PDF。 2、安装PDF Guru Anki软件 百度网盘&#xff1a;通过网盘分享的文件&#xff1a;PDFGuruAnki 链接: https://pan.baidu.com/s/1nU6avM7NUowhEn1FNZQKkA 提取码: aues PDF中不同的标题需要通过矩形框标注差异&a…

FastAPI与SQLAlchemy数据库集成

title: FastAPI与SQLAlchemy数据库集成 date: 2025/04/17 15:33:34 updated: 2025/04/17 15:33:34 author: cmdragon excerpt: FastAPI与SQLAlchemy的集成通过创建虚拟环境、安装依赖、配置数据库连接、定义数据模型和实现路由来完成。核心模块包括数据库引擎、会话工厂和声…

OSCP - Proving Grounds - DriftingBlues6

主要知识点 路径爆破dirtycow内核漏洞提权 具体步骤 总体来讲&#xff0c;这台靶机还是比较直接的&#xff0c;没有那么多的陷阱,非常适合用来学习 依旧是nmap开始,只开放了80端口 Nmap scan report for 192.168.192.219 Host is up (0.42s latency). Not shown: 65534 cl…

电视盒子 刷armbian

参考 中兴电视盒子中兴B860AV3.2-M刷Armbian新手级教程-CSDN博客 1.刷安卓9 带root版本 a. 下载安卓线刷包 链接&#xff1a;https://pan.baidu.com/s/1hz87_ld2lJea0gYjeoHQ8A?pwdd7as 提取码&#xff1a;d7as b.拆机短接 3.安装usbburning工具 使用方法 &#xff0c;…

Redisson分布式锁全攻略:用法、场景与要点

目录 1. 普通可重入锁&#xff08;RLock&#xff09; 2. 公平锁&#xff08;RFairLock&#xff09; 3. 读写锁(RReadWriteLock) 4. 多重锁(RedissonMultiLock) 1. 普通可重入锁&#xff08;RLock&#xff09; import org.redisson.Redisson; import org.redisson.api.RLoc…

Node.js 中 Token 原理简单介绍 + 示例代码

目录 ✅ 什么是 Token&#xff1f; &#x1f501; 原理简述&#xff1a; &#x1f9e9; 示例项目&#xff1a;使用 Node.js jsonwebtoken 实现 Token 登录验证 &#x1f4c1; 文件结构如下&#xff1a; &#x1f539; server.js&#xff08;JavaScript&#xff09; &…

每日OJ_牛客_ruby和薯条_排序+二分/滑动窗口_C++_Java

目录 ruby和薯条_排序二分/滑动窗口 题目解析 C代码 Java代码 ruby和薯条_排序二分/滑动窗口 ruby和薯条 描述&#xff1a; ruby很喜欢吃薯条。 有一天&#xff0c;她拿出了n根薯条。第i根薯条的长度为ai。 ruby认为&#xff0c;若两根薯条的长度之差在l和r之间&#xf…

从 ComponentActivity 看 Android Activity 的演变与 Jetpack 架构融合

在 Jetpack Compose 出现后&#xff0c;开发者可能会注意到一个变化&#xff1a;项目的主 Activity 默认从过去熟悉的 AppCompatActivity 变成了 ComponentActivity。这个变化并非偶然&#xff0c;而是 Android 架构在向现代组件化演进过程中一个关键的转折点。本文将围绕 Comp…

Linux 防火墙( iptables )

目录 一、 Linux 防火墙基础 1. 防火墙基础概念 &#xff08;1&#xff09;防火墙的概述与作用 &#xff08;2&#xff09;防火墙的结构与匹配流程 &#xff08;3&#xff09;防火墙的类别与各个防火墙的区别 2. iptables 的表、链结构 &#xff08;1&#xff09;规则表 …

大数据 - 2. Hadoop - HDFS(分布式文件系统)

前言 为什么海量数据需要分布式存储技术&#xff1f; 文件过大时&#xff0c;单台服务器无法承担&#xff0c;要靠数量来解决。数量的提升带来的是网络传输、磁盘读写、CPU、内存等各方面的提升。 众多的服务器一起工作&#xff0c;如何保证高效且不出错 &#xff1f; 大数…

使用cursor进行原型图设计

1.下载cursor 2.模式设置&#xff1a; 模型使用claude-3.7-sonnet的think模式 3.引导词模板&#xff1a; 我想要开发一个中高考英语口语考试的模拟考试系统&#xff0c;我需要将上面的这个应用输出成高保真的原型图设计。请考虑以下的规范&#xff1a; 用户体验&#xff1…

极狐GitLab 功能标志详解

极狐GitLab 是 GitLab 在中国的发行版&#xff0c;关于中文参考文档和资料有&#xff1a; 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 功能标志 (BASIC ALL) 使用功能标志&#xff0c;您可以将应用程序的新功能小批量部署到生产环境中。您可以为部分用户打开和…

AI与无人驾驶汽车:如何通过机器学习提升自动驾驶系统的安全性?

引言 想象一下&#xff0c;在高速公路上&#xff0c;一辆无人驾驶汽车正平稳行驶。突然&#xff0c;前方的车辆紧急刹车&#xff0c;而旁边车道有一辆摩托车正快速接近。在这千钧一发的瞬间&#xff0c;自动驾驶系统迅速分析路况&#xff0c;判断最安全的避险方案&#xff0c;精…

【NLP 63、大模型应用 —— Agent】

人与人最大的差距就是勇气和执行力&#xff0c;也是唯一的差距 —— 25.4.16 一、Agent 相关工作 二、Agent 特点 核心特征&#xff1a; 1.专有场景&#xff08;针对某个垂直领域&#xff09; 2.保留记忆&#xff08;以一个特定顺序做一些特定任务&#xff0c;记忆当前任务的前…

RAGFlow本地部署教程 :多模态检索+动态生成,用AI重构企业知识生产力

RAGFlow是一款基于检索增强生成&#xff08;RAG&#xff09;技术的智能工作流平台&#xff0c;通过整合多源数据检索与生成式AI模型&#xff0c;优化企业知识管理、智能问答及自动化报告生成&#xff0c;核心功能包括&#xff1a; 多源数据融合&#xff1a;支持数据库、文档库、…

【C/C++】深入理解指针(二)

文章目录 深入理解指针(二)1.const修饰指针1.1 const修饰变量1.2 const修饰指针变量 2.野指针2.1 野指针成因1.指针未初始化2. 指针越界访问3.指针指向的空间释放 2.2 如何规避野指针2.2.1 指针初始化2.2.2 小心指针越界2.2.3 指针变量不再使⽤时&#xff0c;及时置NULL&#x…

【verilog】在同一个 always 块中写了多个“看起来独立”的 if / if-else,到底谁先谁后,怎么执行?会不会冲突?

&#x1f50d; 问题本质 在一个 always (posedge clk) 块中&#xff0c;所有的代码都是顺序执行的。但这不意味着它就像软件一样“一条一条执行”&#xff0c;因为最终是电路&#xff01;电路是并行存在的&#xff01; Verilog 是硬件描述语言&#xff08;HDL&#xff09;&am…

【React】什么是 Hook

useStateuseEffectuseRef 什么是hook&#xff1f;16.8版本出现的新特性。可以在不编写class组件的情况下使用state以及其它的React特性 为什么有hook&#xff1f;class组件很难提取公共的重用的代码&#xff0c;然后反复使用&#xff1b;不编写类组件也可以使用类组件的状态st…