linux常用命令大全

目录

文件和目录管理

ls

cd

pwd

mkdir

rmdir

touch

cp

mv

rm

find

locate

tree

文件查看与编辑 

cat

less

more

head

tail

nano

vi / vim

文件权限与所有权

chmod

chown

chgrp

文本处理

grep

awk

sed

cut

sort

uniq

wc

diff

patch

系统信息

uname

top

htop

ps

df

du

free

uptime

dmesg

进程管理

ps

top / htop

kill

killall

pkill

bg

fg

jobs

网络管理

ifconfig / ip

ping

netstat / ss

ssh

scp

wget

curl

ftp

dig

traceroute

包管理

apt(适用于Debian/Ubuntu及其衍生版)

yum / dnf(适用于CentOS/Fedora/RHEL)

pacman(适用于Arch Linux及其衍生版)

zypper(适用于openSUSE)

用户管理

adduser / useradd

deluser / userdel

usermod

passwd

su

sudo

磁盘管理

fdisk

mkfs

mount

umount

lsblk

blkid

df 和 du

压缩与归档

tar

gzip / gunzip

bzip2 / bunzip2

zip / unzip

其他常用命令

echo

date

history

alias

crontab

chmod / chown

sudo


文件和目录管理

ls

功能:列出目录内容。

常用选项

  • -l:长格式显示,包括权限、所有者、大小和修改时间。
  • -a:显示所有文件,包括隐藏文件(以.开头)。
  • -h:以人类可读的格式显示文件大小(与-l结合使用)。
  • -R:递归列出子目录内容。

示例

ls -lah /home/user

cd

功能:更改当前工作目录。

用法

cd [目录路径]

示例

cd /var/log
cd ~        # 切换到当前用户的主目录
cd ..       # 返回上一级目录

pwd

功能:显示当前工作目录的完整路径。

用法

pwd

示例

/home/user/Documents

mkdir

功能:创建新目录。

常用选项

  • -p:递归创建目录,即创建多级目录。

示例

mkdir new_folder
mkdir -p parent_folder/child_folder

rmdir

功能:删除空目录。

示例

rmdir empty_folder

touch

功能:创建空文件或更新现有文件的时间戳。

示例

touch newfile.txt

cp

功能:复制文件或目录。

常用选项

  • -r:递归复制目录及其内容。
  • -i:在覆盖文件前提示确认。
  • -p:保留文件的属性(权限、时间戳等)。

示例

cp source.txt destination.txt
cp -r source_folder/ destination_folder/

mv

功能:移动或重命名文件或目录。

示例

mv oldname.txt newname.txt
mv /path/to/file /new/path/

rm

功能:删除文件或目录。

常用选项

  • -r:递归删除目录及其内容。
  • -f:强制删除,不提示确认。
  • -i:删除前提示确认。

示例

rm file.txt
rm -rf folder_to_delete/

find

功能:在目录结构中搜索文件和目录。

常用选项

  • -name:按名称搜索。
  • -type:按类型搜索(f:文件,d:目录)。
  • -size:按大小搜索。
  • -mtime:按修改时间搜索。

示例

find /home/user -name "*.txt" 
find /var/log -type f -size +10M

locate

功能:快速查找文件或目录(依赖于系统的文件数据库,需定期更新,如通过updatedb)。

示例

locate nginx.conf

tree

功能:以树状图显示目录结构。

示例

tree /home/user

注意:可能需要先安装,例如在Debian/Ubuntu上:

sudo apt install tree

文件查看与编辑 

cat

功能:连接文件并输出到标准输出(通常是终端)。

常用选项

  • -n:为所有输出的行编号。
  • -E:在每行结尾显示$符号。

示例

cat file.txt
cat -n file.txt

less

功能:分页查看文件内容,支持向前和向后翻页。

示例

less largefile.log

常用快捷键

  • Space:下一页
  • b:上一页
  • /pattern:搜索模式
  • q:退出

more

功能:分页查看文件内容(功能较less简单)。

示例

more file.txt

功能:显示文件的开头部分。

常用选项

  • -n:指定显示的行数(默认10行)。

示例

head -n 20 file.txt

tail

功能:显示文件的结尾部分。

常用选项

  • -n:指定显示的行数(默认10行)。
  • -f:实时监控文件新增内容(如日志文件)。

示例

tail -n 50 logfile.log
tail -f /var/log/syslog

nano

功能:简单易用的命令行文本编辑器。

示例

nano file.txt

常用快捷键

  • Ctrl + O:保存
  • Ctrl + X:退出
  • Ctrl + K:剪切一行
  • Ctrl + U:粘贴

vi / vim

功能:功能强大的命令行文本编辑器,适用于编程和高级编辑。

基本模式

  • 普通模式:默认模式,用于浏览和操作文本。
  • 插入模式:编辑文本。
  • 命令模式:执行保存、退出等命令。

示例

vim file.txt

常用命令

  • i:进入插入模式
  • Esc:返回普通模式
  • :w:保存文件
  • :q:退出
  • :wq:保存并退出
  • :q!:强制退出不保存

文件权限与所有权

chmod

功能:更改文件或目录的权限。

用法

chmod [选项] 模式 文件

模式表示

  • 符号模式u(用户)、g(组)、o(其他)、a(所有人) + +(添加)、-(移除)、=(赋值) + 权限(rwx)。
  • 八进制模式:如755,每位表示用户、组、其他的权限。

示例

chmod u+x script.sh          # 给文件所有者添加执行权限
chmod 755 myprogram          # 设置权限为rwxr-xr-x
chmod -R 644 /var/www/html   # 递归设置权限

chown

功能:更改文件或目录的所有者和/或所属组。

用法

chown [选项] [新所有者][:新组] 文件

示例

chown user:group file.txt      # 更改所有者为user,所属组为group
chown -R user /var/www/html   # 递归更改所有者

chgrp

功能:更改文件或目录的所属组。

用法

chgrp [选项] 新组 文件

示例

chgrp developers project/
chgrp -R staff /var/log

文本处理

grep

功能:在文件中搜索匹配的文本模式。

常用选项

  • -i:忽略大小写。
  • -r / -R:递归搜索目录。
  • -n:显示匹配行的行号。
  • -v:反转匹配,显示不匹配的行。
  • -E:使用扩展正则表达式。

示例

grep "error" /var/log/syslog
grep -i "warning" *.log
grep -r "TODO" ./src

awk

功能:强大的文本处理工具,适用于模式扫描和处理。

基本用法

awk 'pattern {action}' 文件

示例

# 打印文件的第一列
awk '{print $1}' file.txt

# 打印包含"error"的行的第二列
awk '/error/ {print $2}' log.txt

# 统计文件的行数、单词数和字符数
awk 'END {print NR, NF, length}' file.txt

sed

功能:流编辑器,用于处理和转换文本。

常用用法

  • 替换文本:s/pattern/replacement/
  • 删除行:d
  • 插入行:i
  • 追加行:a

示例

# 替换文件中的"foo"为"bar"
sed 's/foo/bar/g' file.txt

# 删除包含"delete"的行
sed '/delete/d' file.txt

# 将修改后的内容保存到新文件
sed 's/foo/bar/g' file.txt > newfile.txt

cut

功能:按列或字符提取文本。

常用选项

  • -d:指定分隔符。
  • -f:指定要提取的字段。
  • -c:按字符位置提取。

示例

# 提取以逗号分隔的第二列
cut -d',' -f2 file.csv

# 提取每行的前10个字符
cut -c1-10 file.txt

sort

功能:对文本行进行排序。

常用选项

  • -n:按数值排序。
  • -r:逆序排序。
  • -u:去重后排序。

示例

sort file.txt
sort -nr numbers.txt
sort -u names.txt

uniq

功能:报告或忽略重复的行。

常用选项

  • -c:计数重复行的出现次数。
  • -d:仅显示重复的行。
  • -u:仅显示唯一的行。

示例

sort file.txt | uniq
sort file.txt | uniq -c

wc

功能:统计字、行、字符数。

常用选项

  • -l:行数。
  • -w:字数。
  • -c:字符数。
  • -m:字节数。

示例

wc -l file.txt          # 行数
wc -w file.txt          # 字数
wc -c file.txt          # 字符数
wc -lwm file.txt        # 行数、字数、字符数

diff

功能:比较两个文件或目录的不同。

常用选项

  • -u:以统一格式显示差异。
  • -r:递归比较目录。
  • -c:以上下文格式显示差异。

示例

diff file1.txt file2.txt
diff -u file1.txt file2.txt
diff -r dir1/ dir2/

patch

功能:根据diff生成的补丁文件修改文件。

用法

patch < patchfile.diff

示例

diff -u original.txt modified.txt > changes.patch
patch original.txt < changes.patch

 

系统信息

uname

功能:显示系统信息。

常用选项

  • -a:显示所有信息。
  • -r:内核版本。
  • -s:操作系统名称。

示例

uname -a
uname -r

top

功能:实时显示系统的进程信息和系统资源使用情况。

常用快捷键

  • q:退出。
  • M:按内存使用排序。
  • P:按CPU使用排序。
  • k:杀死进程。

示例

top

htop

功能top的增强版,提供更友好的用户界面和更多功能。

示例

htop

注意:可能需要先安装:

sudo apt install htop

ps

功能:显示当前系统的进程信息。

常用选项

  • -e / -A:显示所有进程。
  • -f:全格式显示。
  • -u:按用户过滤。
  • -aux:显示所有详细信息。

示例

ps aux
ps -ef
ps -u username

df

功能:显示文件系统的磁盘空间使用情况。

常用选项

  • -h:以人类可读的格式显示。
  • -T:显示文件系统类型。

示例

df -h
df -Th

du

功能:估算文件和目录的磁盘使用情况。

常用选项

  • -h:以人类可读的格式显示。
  • -s:总结。
  • -d:指定显示目录深度。

示例

du -h /var/log
du -sh *
du -h -d 1 /home/user

free

功能:显示系统的内存使用情况。

常用选项

  • -h:以人类可读的格式显示。
  • -m:以MB为单位显示。
  • -g:以GB为单位显示。

示例

free -h

uptime

功能:显示系统已运行时间、当前时间、登录用户数和负载平均值。

示例

uptime

dmesg

功能:显示系统启动信息和内核消息。

常用选项

  • -H:以人类可读的格式显示。
  • -T:显示时间戳。

示例

dmesg | less
dmesg -H

 

进程管理

ps

功能:显示当前系统的进程信息。

示例

ps aux
ps -ef

top / htop

功能:实时显示系统的进程信息和系统资源使用情况。

示例

top
htop

kill

功能:发送信号到指定进程,通常用于终止进程。

用法

kill [信号] PID

常用信号

  • -15(默认):优雅终止。
  • -9:强制终止。

示例

kill 1234
kill -9 1234

killall

功能:根据进程名称发送信号到所有匹配的进程。

用法

killall [信号] 进程名称

示例

killall firefox
killall -9 firefox

pkill

功能:根据进程名称或其他属性发送信号到进程。

用法

pkill [选项] 模式

示例

pkill firefox
pkill -9 firefox
pkill -u username

bg

功能:将当前暂停的作业放到后台继续运行。

示例

bg %1

fg

功能:将后台作业调回前台。

示例

fg %1

jobs

功能:显示当前Shell的作业列表。

示例

jobs

 

网络管理

ifconfig / ip

功能:显示或配置网络接口信息。

ifconfig 示例

ifconfig
ifconfig eth0 up
ifconfig eth0 192.168.1.100 netmask 255.255.255.0

ip 示例

ip addr show
ip link set eth0 up
ip addr add 192.168.1.100/24 dev eth0

注意ip命令是现代Linux系统中推荐使用的网络管理工具,ifconfig逐渐被弃用。

ping

功能:测试与目标主机的网络连通性。

用法

ping [选项] 目标主机

示例

ping google.com
ping -c 4 192.168.1.1    # 发送4个数据包

netstat / ss

功能:显示网络连接、路由表和接口统计信息。

netstat 示例

netstat -tuln    # 显示所有监听的TCP和UDP端口
netstat -anp     # 显示所有连接及其PID

ss 示例

ss -tuln
ss -anp

注意ss命令是netstat的现代替代品,速度更快,功能更强大。

ssh

功能:通过SSH协议远程登录到另一台计算机。

用法

ssh [选项] 用户@主机

示例

ssh user@192.168.1.100
ssh -p 2222 user@server.com

scp

功能:通过SSH协议在本地主机和远程主机之间复制文件。

用法

scp [选项] 源 目标

示例

scp file.txt user@remote:/path/to/destination/
scp -r folder/ user@remote:/path/to/destination/

wget

功能:从网络上下载文件。

常用选项

  • -c:断点续传。
  • -O:指定输出文件名。
  • -r:递归下载。

示例

wget https://example.com/file.zip
wget -c https://example.com/file.zip
wget -O newname.zip https://example.com/file.zip

curl

功能:与服务器进行数据传输,支持多种协议(HTTP, HTTPS, FTP等)。

常用选项

  • -O:保存下载文件。
  • -L:跟随重定向。
  • -I:只获取HTTP头部。

示例

curl -O https://example.com/file.zip
curl -L https://example.com
curl -I https://example.com

ftp

功能:通过FTP协议进行文件传输。

示例

ftp ftp.example.com

注意:FTP传输未加密,建议使用SFTP或scp

dig

功能:查询DNS信息。

示例

dig example.com
dig MX example.com   # 查询MX记录

traceroute

功能:跟踪数据包到目标主机的路径。

示例

traceroute google.com

注意:可能需要安装:

sudo apt install traceroute

 

包管理

不同的Linux发行版使用不同的包管理工具,以下是几种常见的包管理工具及其基本用法。

apt(适用于Debian/Ubuntu及其衍生版)

更新包列表

sudo apt update

升级已安装的包

sudo apt upgrade

安装新软件包

sudo apt install package_name

删除软件包

sudo apt remove package_name

搜索软件包

apt search keyword

显示软件包信息

apt show package_name

yum / dnf(适用于CentOS/Fedora/RHEL)

更新包列表

sudo yum check-update
sudo dnf check-update

升级已安装的包

sudo yum update
sudo dnf upgrade

安装新软件包

sudo yum install package_name
sudo dnf install package_name

删除软件包

sudo yum remove package_name
sudo dnf remove package_name

搜索软件包

yum search keyword
dnf search keyword

pacman(适用于Arch Linux及其衍生版)

更新包列表并升级系统

sudo pacman -Syu

安装新软件包

sudo pacman -S package_name

删除软件包

sudo pacman -R package_name

搜索软件包

pacman -Ss keyword

zypper(适用于openSUSE)

更新包列表并升级系统

sudo zypper refresh
sudo zypper update

安装新软件包

sudo zypper install package_name

删除软件包

sudo zypper remove package_name

搜索软件包

zypper search keyword

用户管理

adduser / useradd

功能:创建新用户。

adduser 示例(更为用户友好):

sudo adduser username

useradd 示例

sudo useradd -m -s /bin/bash username
sudo passwd username      # 设置密码

deluser / userdel

功能:删除用户。

deluser 示例

sudo deluser username

userdel 示例

sudo userdel username
sudo userdel -r username   # 删除用户及其主目录

usermod

功能:修改用户信息。

常用选项

  • -aG:将用户添加到附加组。
  • -s:更改登录Shell。
  • -d:更改主目录。

示例

sudo usermod -aG sudo username      # 将用户添加到sudo组
sudo usermod -s /bin/zsh username   # 更改用户的Shell
sudo usermod -d /new/home username  # 更改用户的主目录

passwd

功能:更改用户密码。

示例

passwd                     # 修改当前用户的密码
sudo passwd username       # 修改指定用户的密码

su

功能:切换用户。

用法

su [选项] [用户名]

示例

su -                      # 切换到root用户
su - username             # 切换到指定用户

sudo

功能:以超级用户或其他用户身份执行命令。

示例

sudo apt update
sudo systemctl restart nginx

配置:通过编辑/etc/sudoers文件或使用visudo命令进行配置,允许特定用户或组使用sudo

 

磁盘管理

fdisk

功能:磁盘分区工具。

用法

sudo fdisk /dev/sdX

常用操作

  • m:显示帮助。
  • n:新建分区。
  • d:删除分区。
  • p:显示分区表。
  • w:保存更改并退出。

示例

sudo fdisk /dev/sda

mkfs

功能:创建文件系统。

常用文件系统类型

  • mkfs.ext4:创建ext4文件系统。
  • mkfs.xfs:创建XFS文件系统。
  • mkfs.vfat:创建FAT32文件系统。

示例

sudo mkfs.ext4 /dev/sda1
sudo mkfs.xfs /dev/sda2

mount

功能:挂载文件系统。

用法

sudo mount [选项] 设备 挂载点

示例

sudo mount /dev/sda1 /mnt
sudo mount -t ext4 /dev/sda1 /mnt

umount

功能:卸载文件系统。

用法

sudo umount 挂载点或设备

示例

sudo umount /mnt
sudo umount /dev/sda1

lsblk

功能:列出所有块设备的信息。

示例

lsblk
lsblk -f    # 显示文件系统类型

blkid

功能:显示或查找块设备的属性,如UUID和文件系统类型。

示例

sudo blkid

dfdu

df:显示文件系统的磁盘空间使用情况。

示例

df -h

du:估算文件和目录的磁盘使用情况。

示例

du -sh /home/user
du -h -d 1 /var

 

压缩与归档

tar

功能:创建和提取归档文件。

常用选项

  • -c:创建归档。
  • -x:提取归档。
  • -v:显示过程。
  • -f:指定归档文件。
  • -z:使用gzip压缩。
  • -j:使用bzip2压缩。

示例

# 创建tar.gz归档
tar -czvf archive.tar.gz /path/to/directory

# 提取tar.gz归档
tar -xzvf archive.tar.gz

# 创建tar.bz2归档
tar -cjvf archive.tar.bz2 /path/to/directory

# 提取tar.bz2归档
tar -xjvf archive.tar.bz2

gzip / gunzip

功能:压缩和解压缩文件。

示例

gzip file.txt         # 压缩为file.txt.gz
gunzip file.txt.gz    # 解压缩

bzip2 / bunzip2

功能:使用bzip2算法压缩和解压缩文件,通常比gzip有更好的压缩率。

示例

bzip2 file.txt        # 压缩为file.txt.bz2
bunzip2 file.txt.bz2  # 解压缩

zip / unzip

功能:创建和解压缩ZIP格式的压缩文件。

示例

zip archive.zip file1.txt file2.txt
unzip archive.zip

注意:可能需要先安装:

sudo apt install zip unzip

其他常用命令

echo

功能:在终端输出文本或变量的值。

示例

echo "Hello, World!"
echo $HOME

date

功能:显示或设置系统日期和时间。

示例

date
date +"%Y-%m-%d %H:%M:%S"

history

功能:显示Shell命令历史。

示例

history
history | grep ssh

alias

功能:为命令创建别名。

用法

alias 别名='实际命令'

示例

alias ll='ls -lah'
alias gs='git status'

注意:将别名添加到~/.bashrc~/.zshrc以使其永久生效。

crontab

功能:定时任务调度工具。

常用用法

  • crontab -e:编辑当前用户的crontab。
  • crontab -l:列出当前用户的crontab。
  • crontab -r:删除当前用户的crontab。

示例

crontab -e

示例任务(每晚2点备份):

0 2 * * * /usr/bin/rsync -av /home/user /backup/

chmod / chown

功能:更改文件权限和所有权(已在文件权限与所有权章节中详细介绍)。

sudo

功能:以超级用户或其他用户身份执行命令(已在用户管理章节中详细介绍)。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值