邵阳市网站建设_网站建设公司_ASP.NET_seo优化
2025/12/18 20:39:50 网站建设 项目流程

Linux 实操命令大全

文件与目录操作

目录操作

ls - 列出目录内容
# 基本用法ls# 列出当前目录文件ls-l# 详细列表(长格式)ls-a# 显示所有文件(包括隐藏文件)ls-lh# 人类可读的文件大小ls-la# 显示所有文件详细信息ls-lt# 按时间排序ls-lS# 按大小排序ls-R# 递归显示子目录ls-d */# 只显示目录ls/path/to/dir# 列出指定目录
cd - 切换目录
cd# 返回家目录cd~# 返回家目录cd-# 返回上次所在目录cd..# 返回上一级目录cd/path/to/dir# 切换到指定目录cd../..# 返回上两级目录
pwd - 显示当前目录
pwd# 显示当前工作目录的完整路径
mkdir - 创建目录
mkdirdirname# 创建单个目录mkdir-p dir1/dir2# 递归创建目录(父目录不存在时自动创建)mkdir-m755dirname# 创建目录并设置权限mkdirdir1 dir2 dir3# 同时创建多个目录
rmdir - 删除空目录
rmdirdirname# 删除空目录rmdir-p dir1/dir2# 递归删除空目录
tree - 树形显示目录结构
tree# 显示当前目录树tree -L2# 只显示2层深度tree -d# 只显示目录tree -a# 显示所有文件(包括隐藏文件)

文件操作

touch - 创建文件或更新时间戳
touchfilename# 创建空文件或更新时间戳touchfile1 file2# 同时创建多个文件touch-t202401011200filename# 设置特定时间戳
cp - 复制文件或目录
cpfile1 file2# 复制文件cpfile1 dir/# 复制文件到目录cp-r dir1 dir2# 递归复制目录cp-asourcedest# 保持所有属性复制(归档模式)cp-usourcedest# 只复制更新的文件cp-v file1 file2# 显示复制过程(详细模式)cp-p file1 file2# 保持文件属性cp-i file1 file2# 交互模式(覆盖前询问)
mv - 移动或重命名文件
mvfile1 file2# 重命名文件mvfile1 dir/# 移动文件到目录mvdir1 dir2# 移动或重命名目录mv-i file1 file2# 交互模式(覆盖前询问)mv-v file1 file2# 显示移动过程
rm - 删除文件或目录
rmfilename# 删除文件rm-f filename# 强制删除(不提示)rm-rdirname# 递归删除目录rm-rfdirname# 强制递归删除目录(危险!)rm-i filename# 交互模式(删除前询问)rm-v filename# 显示删除过程rm*.txt# 删除所有.txt文件
ln - 创建链接
lnfile1 file2# 创建硬链接ln-s file1 file2# 创建软链接(符号链接)ln-sf file1 file2# 强制创建软链接

文件查看与编辑

文件查看

cat - 显示文件内容
catfilename# 显示整个文件catfile1 file2# 显示多个文件cat-n filename# 显示行号cat-b filename# 显示行号(空行不编号)cat-s filename# 压缩连续空行
less / more - 分页查看文件
lessfilename# 分页查看(可上下滚动)morefilename# 分页查看(只能向下)# less 常用操作:# 空格键:向下翻页# b键:向上翻页# /关键词:搜索# q键:退出
head - 显示文件开头
headfilename# 显示前10行head-n20filename# 显示前20行head-c100filename# 显示前100字节
tail - 显示文件末尾
tailfilename# 显示后10行tail-n20filename# 显示后20行tail-f filename# 实时跟踪文件变化(常用于日志)tail-F filename# 跟踪文件(文件被删除重建后继续跟踪)
wc - 统计文件信息
wcfilename# 统计行数、单词数、字符数wc-l filename# 只统计行数wc-w filename# 只统计单词数wc-c filename# 只统计字符数wc-m filename# 只统计字符数(多字节字符)

文件编辑

vi / vim - 文本编辑器
vifilename# 打开文件vimfilename# 打开文件(vim是vi的增强版)# vim 基本操作:# 命令模式(默认):# i:进入插入模式# a:在光标后插入# o:在下一行插入# dd:删除当前行# yy:复制当前行# p:粘贴# u:撤销# :w:保存# :q:退出# :wq:保存并退出# :q!:强制退出不保存# /关键词:搜索# :set number:显示行号
nano - 简单文本编辑器
nanofilename# 打开文件# Ctrl+O:保存# Ctrl+X:退出# Ctrl+W:搜索

文件权限管理

chmod - 修改文件权限

# 数字方式chmod755filename# rwxr-xr-xchmod644filename# rw-r--r--chmod777filename# rwxrwxrwx(所有权限)chmod-R755dir/# 递归修改目录权限# 符号方式chmodu+x filename# 给所有者添加执行权限chmodg+w filename# 给组添加写权限chmodo-r filename# 移除其他人的读权限chmoda+x filename# 给所有人添加执行权限chmodu=rwx,g=rx,o=r filename# 分别设置权限

chown - 修改文件所有者

chownuser filename# 修改所有者chownuser:group filename# 修改所有者和组chown-R user dir/# 递归修改目录所有者

chgrp - 修改文件组

chgrpgroup filename# 修改文件组chgrp-R group dir/# 递归修改目录组

umask - 设置默认权限

umask# 查看当前umask值umask022# 设置umask(新文件权限=666-umask,目录权限=777-umask)

文件搜索与查找

find - 查找文件

find.-name"*.txt"# 按名称查找find/home -name"file*"# 在指定目录查找find.-type f# 查找文件find.-type d# 查找目录find.-size +100M# 查找大于100MB的文件find.-mtime -7# 查找7天内修改的文件find.-user username# 查找指定用户的文件find.-perm644# 查找指定权限的文件find.-name"*.log"-delete# 查找并删除find.-name"*.txt"-execls-l{}\;# 查找并执行命令find.-name"*.txt"|xargsrm# 查找并删除(使用xargs)

locate - 快速查找文件

locatefilename# 查找文件(需要updatedb更新数据库)updatedb# 更新locate数据库locate-i filename# 忽略大小写locate-c filename# 只显示数量

which - 查找命令位置

whichls# 查找ls命令的位置whichpython# 查找python命令的位置

whereis - 查找命令及相关文件

whereisls# 查找ls命令及其手册页whereis-bls# 只查找二进制文件whereis-mls# 只查找手册页

grep - 文本搜索

grep"pattern"file# 在文件中搜索grep-r"pattern"dir/# 递归搜索目录grep-i"pattern"file# 忽略大小写grep-v"pattern"file# 反向匹配(显示不匹配的行)grep-n"pattern"file# 显示行号grep-c"pattern"file# 只显示匹配数量grep-l"pattern"dir/# 只显示文件名grep-E"pattern"file# 使用扩展正则表达式

文件压缩与解压

tar - 归档工具

# 压缩tar-czf archive.tar.gz dir/# 创建gzip压缩包tar-cjf archive.tar.bz2 dir/# 创建bzip2压缩包tar-cJf archive.tar.xz dir/# 创建xz压缩包# 解压tar-xzf archive.tar.gz# 解压gzip压缩包tar-xjf archive.tar.bz2# 解压bzip2压缩包tar-xJf archive.tar.xz# 解压xz压缩包# 查看tar-tzf archive.tar.gz# 查看压缩包内容tar-xzf archive.tar.gz -C /path# 解压到指定目录# 参数说明:# -c: 创建归档# -x: 解压归档# -z: gzip压缩# -j: bzip2压缩# -J: xz压缩# -f: 指定文件名# -v: 显示过程# -t: 列出内容

zip / unzip - ZIP压缩

zip-r archive.zip dir/# 压缩目录ziparchive.zip file1 file2# 压缩文件unziparchive.zip# 解压unzip-l archive.zip# 查看压缩包内容unzip-d /path archive.zip# 解压到指定目录

gzip / gunzip - GZIP压缩

gzipfilename# 压缩文件(生成.gz文件)gzip-d filename.gz# 解压gunzip filename.gz# 解压gzip-9 filename# 最大压缩率gzip-1 filename# 最快压缩

bzip2 / bunzip2 - BZIP2压缩

bzip2filename# 压缩文件(生成.bz2文件)bzip2-d filename.bz2# 解压bunzip2 filename.bz2# 解压

系统信息查看

uname - 系统信息

uname-a# 显示所有系统信息uname-s# 显示系统名称uname-r# 显示内核版本uname-m# 显示硬件架构

hostname - 主机名

hostname# 显示主机名hostname-I# 显示IP地址hostname-f# 显示完整域名

uptime - 系统运行时间

uptime# 显示系统运行时间和负载

date - 日期时间

date# 显示当前日期时间date+%Y-%m-%d# 显示日期(YYYY-MM-DD格式)date+%H:%M:%S# 显示时间(HH:MM:SS格式)date-s"2024-01-01 12:00:00"# 设置系统时间(需要root)

whoami - 当前用户

whoami# 显示当前用户名

id - 用户ID信息

id# 显示当前用户ID和组IDidusername# 显示指定用户ID信息

df - 磁盘空间

df# 显示文件系统磁盘空间df-h# 人类可读格式df-i# 显示inode使用情况df-T# 显示文件系统类型

du - 目录空间

du# 显示当前目录大小du-h# 人类可读格式du-sh dir/# 显示目录总大小du-h --max-depth=1# 显示一级子目录大小du-a# 显示所有文件大小

free - 内存信息

free# 显示内存使用情况free-h# 人类可读格式free-m# 以MB为单位free-g# 以GB为单位free-s5# 每5秒刷新一次

lscpu - CPU信息

lscpu# 显示CPU详细信息

lsblk - 块设备信息

lsblk# 显示块设备树lsblk -f# 显示文件系统信息

进程管理

ps - 查看进程

ps# 显示当前终端进程psaux# 显示所有进程(BSD风格)ps-ef# 显示所有进程(Unix风格)psaux|grepnginx# 查找特定进程ps-p PID# 查看指定PID的进程ps-u username# 查看指定用户的进程

top - 实时进程监控

top# 实时显示进程信息# 交互命令:# P:按CPU使用率排序# M:按内存使用率排序# T:按运行时间排序# k:杀死进程# q:退出

htop - 增强版top

htop# 更友好的进程监控工具(需要安装)

kill - 终止进程

killPID# 终止进程(发送SIGTERM信号)kill-9 PID# 强制终止进程(发送SIGKILL信号)kill-15 PID# 优雅终止进程killallprocess_name# 终止所有同名进程killall-9 process_name# 强制终止所有同名进程

pkill - 按名称终止进程

pkillprocess_name# 按名称终止进程pkill-9 process_name# 强制终止pkill-u username# 终止指定用户的进程

jobs - 作业控制

jobs# 显示当前作业jobs-l# 显示作业详细信息fg%1# 将作业1调到前台bg%1# 将作业1调到后台

nohup - 后台运行

nohupcommand&# 后台运行命令(忽略挂起信号)nohupcommand>output.log2>&1&# 后台运行并重定向输出

screen - 终端复用

screen# 创建新screen会话screen-S name# 创建命名会话screen-r# 恢复会话screen-ls# 列出所有会话# Ctrl+A+D:分离会话# screen -d -r name:强制分离并恢复

tmux - 终端复用器

tmux# 创建新会话tmux new -s name# 创建命名会话tmux attach -t name# 附加到会话tmuxls# 列出所有会话# Ctrl+B+D:分离会话

网络操作

ping - 网络连通性测试

pinghostname# 测试网络连通性ping-c4hostname# 发送4个包后停止ping-i2hostname# 每2秒发送一个包

ifconfig - 网络接口配置

ifconfig# 显示所有网络接口ifconfigeth0# 显示指定接口ifconfigeth0 up# 启用接口ifconfigeth0 down# 禁用接口ifconfigeth0192.168.1.100# 设置IP地址

ip - 现代网络工具

ipaddr# 显示IP地址(替代ifconfig)iplink# 显示网络接口iproute# 显示路由表iprouteadddefault via192.168.1.1# 添加默认路由

netstat - 网络连接

netstat-an# 显示所有连接netstat-tuln# 显示监听端口netstat-rn# 显示路由表netstat-p# 显示进程信息

ss - 现代netstat替代

ss -an# 显示所有连接ss -tuln# 显示监听端口ss -p# 显示进程信息ss -l# 显示监听端口

curl - 网络请求

curlhttp://example.com# 获取网页内容curl-O http://example.com/file# 下载文件curl-L http://example.com# 跟随重定向curl-H"Header: value"url# 添加HTTP头curl-X POST -d"data"url# POST请求curl-u user:pass url# 基本认证

wget - 文件下载

wgethttp://example.com/file# 下载文件wget-O filename url# 指定保存文件名wget-c url# 断点续传wget-r url# 递归下载wget-P /path url# 保存到指定目录

tcpdump - 网络抓包

tcpdump# 抓取所有网络包tcpdump -i eth0# 指定网络接口tcpdump port80# 抓取指定端口tcpdumphost192.168.1.1# 抓取指定主机tcpdump -w file.pcap# 保存到文件tcpdump -r file.pcap# 读取抓包文件

iptables - 防火墙

iptables -L# 列出规则iptables -A INPUT -p tcp --dport80-j ACCEPT# 允许80端口iptables -A INPUT -j DROP# 默认拒绝iptables -F# 清空规则iptables -S# 显示规则(iptables-save格式)

磁盘与文件系统

mount - 挂载文件系统

mount# 显示所有挂载点mount/dev/sda1 /mnt# 挂载设备mount-t ext4 /dev/sda1 /mnt# 指定文件系统类型umount/mnt# 卸载umount-l /mnt# 懒卸载

fdisk - 磁盘分区

fdisk-l# 列出所有磁盘分区fdisk/dev/sda# 编辑磁盘分区表(需要root)

mkfs - 创建文件系统

mkfs.ext4 /dev/sda1# 创建ext4文件系统mkfs.xfs /dev/sda1# 创建xfs文件系统mkfs.vfat /dev/sda1# 创建FAT文件系统

fsck - 文件系统检查

fsck/dev/sda1# 检查文件系统fsck-y /dev/sda1# 自动修复fsck.ext4 /dev/sda1# 检查ext4文件系统

blkid - 显示块设备UUID

blkid# 显示所有块设备UUIDblkid /dev/sda1# 显示指定设备UUID

用户与权限管理

useradd - 添加用户

useraddusername# 创建用户useradd-m username# 创建用户并创建家目录useradd-s /bin/bash username# 指定shelluseradd-G group1,group2 username# 添加到附加组

userdel - 删除用户

userdelusername# 删除用户userdel-r username# 删除用户并删除家目录

usermod - 修改用户

usermod-aG group username# 添加用户到组usermod-s /bin/bash username# 修改shellusermod-L username# 锁定用户usermod-U username# 解锁用户

passwd - 修改密码

passwd# 修改当前用户密码passwdusername# 修改指定用户密码(需要root)passwd-l username# 锁定用户密码passwd-u username# 解锁用户密码

groupadd - 添加组

groupaddgroupname# 创建组groupadd-g1000groupname# 指定GID

groupdel - 删除组

groupdelgroupname# 删除组

su - 切换用户

su# 切换到rootsuusername# 切换到指定用户su- username# 切换到用户并加载环境变量

sudo - 以其他用户执行命令

sudocommand# 以root执行命令sudo-u usernamecommand# 以指定用户执行sudo-i# 切换到root的交互shellsudo-l# 列出当前用户可执行的sudo命令

who - 显示登录用户

who# 显示当前登录用户whoami# 显示当前用户名w# 显示登录用户及活动

软件包管理

apt (Debian/Ubuntu)

aptupdate# 更新软件包列表aptupgrade# 升级所有软件包aptinstallpackage# 安装软件包aptremove package# 卸载软件包aptpurge package# 卸载软件包并删除配置aptsearch keyword# 搜索软件包aptshow package# 显示软件包信息aptlist --installed# 列出已安装的软件包aptautoremove# 删除不需要的依赖

yum (CentOS/RHEL 7)

yuminstallpackage# 安装软件包yum remove package# 卸载软件包yum update# 更新软件包yum search keyword# 搜索软件包yum list installed# 列出已安装的软件包yum info package# 显示软件包信息

dnf (CentOS/RHEL 8+)

dnfinstallpackage# 安装软件包dnf remove package# 卸载软件包dnf update# 更新软件包dnf search keyword# 搜索软件包dnf list installed# 列出已安装的软件包

rpm - RPM包管理

rpm-i package.rpm# 安装RPM包rpm-e package# 卸载RPM包rpm-q package# 查询软件包rpm-qa# 列出所有已安装的RPM包rpm-ql package# 列出软件包文件rpm-qf /path/file# 查询文件属于哪个包

dpkg (Debian/Ubuntu)

dpkg -i package.deb# 安装DEB包dpkg -r package# 卸载软件包dpkg -l# 列出所有已安装的包dpkg -L package# 列出软件包文件dpkg -S /path/file# 查询文件属于哪个包

系统服务管理

systemctl (systemd)

systemctl startservice# 启动服务systemctl stopservice# 停止服务systemctl restartservice# 重启服务systemctl reloadservice# 重新加载配置systemctl statusservice# 查看服务状态systemctlenableservice# 设置开机自启systemctl disableservice# 取消开机自启systemctl list-units# 列出所有单元systemctl list-unit-files# 列出所有单元文件

service (SysV)

serviceservice_name start# 启动服务serviceservice_name stop# 停止服务serviceservice_name restart# 重启服务serviceservice_name status# 查看服务状态

chkconfig (SysV)

chkconfigserviceon# 设置开机自启chkconfigserviceoff# 取消开机自启chkconfig--list# 列出所有服务

文本处理

sed - 流编辑器

sed's/old/new/g'file# 替换文本sed-i's/old/new/g'file# 直接修改文件sed'1d'file# 删除第一行sed'1,5d'file# 删除1-5行sed'/pattern/d'file# 删除匹配行sed-n'5p'file# 打印第5行sed-n'5,10p'file# 打印5-10行

awk - 文本处理工具

awk'{print$1}'file# 打印第一列awk-F:'{print$1}'file# 使用冒号作为分隔符awk'/pattern/ {print}'file# 打印匹配行awk'{sum+=$1} END {print sum}'file# 求和awk'NR==1'file# 打印第一行awk'NR>=5 && NR<=10'file# 打印5-10行

cut - 截取文本

cut-d: -f1file# 使用冒号分隔,取第一列cut-c1-10file# 取1-10个字符cut-f1,3file# 取第1和第3列

sort - 排序

sortfile# 排序文件sort-rfile# 逆序排序sort-nfile# 数字排序sort-ufile# 去重排序sort-k2file# 按第2列排序

uniq - 去重

uniqfile# 去除连续重复行uniq-cfile# 统计重复次数uniq-dfile# 只显示重复行uniq-ufile# 只显示不重复行

diff - 文件比较

difffile1 file2# 比较两个文件diff-u file1 file2# 统一格式输出diff-r dir1 dir2# 递归比较目录

patch - 应用补丁

patchfile<patchfile# 应用补丁patch -p1<patchfile# 应用补丁(忽略一级目录)

定时任务

crontab - 定时任务

crontab-e# 编辑定时任务crontab-l# 列出定时任务crontab-r# 删除所有定时任务crontab-u user -e# 编辑指定用户的定时任务# crontab格式:# 分钟 小时 日 月 星期 命令# * * * * * command# 0 2 * * * command # 每天凌晨2点执行# */5 * * * * command # 每5分钟执行# 0 */2 * * * command # 每2小时执行

at - 一次性定时任务

at14:30# 在14:30执行(Ctrl+D结束输入)at now +1hour# 1小时后执行at -l# 列出待执行的任务at -d job_id# 删除任务

系统监控

vmstat - 虚拟内存统计

vmstat# 显示虚拟内存统计vmstat2# 每2秒刷新一次vmstat210# 每2秒刷新,共10次

iostat - I/O统计

iostat# 显示I/O统计iostat -x# 显示扩展统计iostat2# 每2秒刷新

sar - 系统活动报告

sar# 显示CPU使用情况sar -u25# 每2秒显示一次,共5次sar -r# 显示内存使用情况sar -n DEV# 显示网络统计

dmesg - 内核消息

dmesg# 显示内核消息dmesg|tail# 显示最后几条dmesg|greperror# 查找错误信息dmesg-w# 实时监控

journalctl - 系统日志

journalctl# 显示所有日志journalctl -uservice# 显示指定服务的日志journalctl -f# 实时跟踪日志journalctl --since today# 显示今天的日志journalctl -n100# 显示最后100条

常用快捷键

终端快捷键

Ctrl+C# 中断当前命令Ctrl+D# 退出终端/结束输入Ctrl+Z# 暂停进程(可用fg恢复)Ctrl+L# 清屏Ctrl+A# 移动到行首Ctrl+E# 移动到行尾Ctrl+U# 删除到行首Ctrl+K# 删除到行尾Ctrl+W# 删除前一个单词Ctrl+R# 搜索历史命令Tab# 自动补全

历史命令

history# 显示命令历史!!# 执行上一条命令!n# 执行历史中第n条命令!string# 执行最近以string开头的命令!$# 上一条命令的最后一个参数

实用技巧

管道与重定向

command1|command2# 管道:将command1的输出作为command2的输入command>file# 重定向输出到文件(覆盖)command>>file# 重定向输出到文件(追加)command<file# 从文件读取输入command2>file# 重定向错误输出command>file2>&1# 将标准输出和错误输出都重定向到文件command&>file# 将标准输出和错误输出都重定向到文件

后台执行

command&# 后台执行command&&command2# 前一个命令成功才执行后一个command||command2# 前一个命令失败才执行后一个command1;command2# 顺序执行(无论成功失败)

变量与环境变量

VAR=value# 设置变量echo$VAR# 显示变量exportVAR=value# 设置环境变量env# 显示所有环境变量set# 显示所有变量unsetVAR# 删除变量

别名

aliasll='ls -l'# 创建别名alias# 显示所有别名unaliasll# 删除别名

通配符

*# 匹配任意字符?# 匹配单个字符[abc]# 匹配a、b或c[a-z]# 匹配a到z[!abc]# 不匹配a、b、c{1,2,3}# 匹配1、2或3

总结

本文档涵盖了Linux系统中最常用的命令和操作,包括:

  • 文件和目录的基本操作
  • 文件查看和编辑
  • 权限管理
  • 系统监控
  • 网络操作
  • 进程管理
  • 软件包管理
  • 文本处理
  • 定时任务

掌握这些命令可以大大提高Linux系统操作的效率。建议在实际使用中多练习,熟能生巧。


注意

  • 使用rm -rf等危险命令前请仔细确认
  • 修改系统配置前建议备份
  • 使用sudoroot权限时要谨慎
  • 定期更新系统和软件包以保持安全

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询