必知必会的100个 Linux 基础命令

以下是每个 Linux 用户都应该掌握的 100 个必知必会的基础 Linux 命令,涵盖文件管理、用户管理、网络、系统监控、进程管理等多个领域。这些命令可以帮助你高效地完成日常操作。
1. 文件和目录管理
pwd
查看当前工作目录。ls
列出目录内容。ls -l:显示详细信息。ls -a:显示隐藏文件。
cd
切换目录。示例:
cd /home/user
mkdir
创建新目录。示例:
mkdir new_folder
rmdir
删除空目录。示例:
rmdir empty_folder
touch
创建空文件或更新文件时间戳。示例:
touch file.txt
cp
复制文件或目录。示例:
cp file1.txt file2.txt
mv
移动或重命名文件。示例:
mv old_name.txt new_name.txt
rm
删除文件或目录。示例:
rm file.txtrm -r folder:递归删除目录。
find
查找文件或目录。示例:
find / -name file.txt
locate
快速查找文件。示例:
locate file.txt
stat
查看文件详细信息。示例:
stat file.txt
tree
以树形结构显示目录。示例:
tree /path
basename
获取文件名。示例:
basename /path/to/file.txt
dirname
获取文件所在的目录路径。示例:
dirname /path/to/file.txt
2. 文件内容查看
cat
查看文件内容。示例:
cat file.txt
tac
倒序显示文件内容。示例:
tac file.txt
more
分页查看文件内容。示例:
more file.txt
less
分页查看文件内容(支持上下滚动)。示例:
less file.txt
head
查看文件的前几行。示例:
head -n 10 file.txt
tail
查看文件的最后几行。示例:
tail -n 10 file.txt
wc
统计文件内容的行数、单词数和字符数。示例:
wc file.txt
cut
按列提取文件内容。示例:
cut -d':' -f1 /etc/passwd
sort
对文件内容排序。示例:
sort file.txt
uniq
去除重复行。示例:
sort file.txt | uniq
diff
比较两个文件的差异。示例:
diff file1.txt file2.txt
cmp
比较两个文件的内容是否相同。示例:
cmp file1.txt file2.txt
grep
在文件中搜索指定内容。示例:
grep "keyword" file.txt
awk
文本处理工具。示例:
awk '{print $1}' file.txt
sed
流编辑器,用于替换文本。示例:
sed 's/old/new/g' file.txt
3. 压缩与解压缩
tar
打包和解压文件。打包:
tar -cvf archive.tar file解压:
tar -xvf archive.tar
gzip
压缩文件。示例:
gzip file.txt
gunzip
解压.gz文件。示例:
gunzip file.txt.gz
zip
创建 zip 压缩包。示例:
zip archive.zip file.txt
unzip
解压 zip 压缩包。示例:
unzip archive.zip
xz
压缩文件为.xz格式。示例:
xz file.txt
unxz
解压.xz文件。示例:
unxz file.txt.xz
7z
使用 7zip 压缩或解压文件。压缩:
7z a archive.7z file解压:
7z x archive.7z
4. 权限和用户管理
chmod
修改文件权限。示例:
chmod 755 file.txt
chown
修改文件拥有者。示例:
chown user file.txt
chgrp
修改文件所属组。示例:
chgrp group file.txt
umask
设置默认权限掩码。示例:
umask 022
id
显示用户 ID 和组 ID。示例:
id user
whoami
显示当前登录的用户名。who
显示当前登录用户列表。groups
显示用户所属的组。示例:
groups user
passwd
修改用户密码。示例:
passwd username
useradd
添加新用户。示例:
useradd new_user
usermod
修改用户属性。示例:
usermod -aG group username
userdel
删除用户。示例:
userdel username
groupadd
创建新组。示例:
groupadd new_group
groupdel
删除组。示例:
groupdel group_name
5. 磁盘管理
df
查看磁盘使用情况。示例:
df -h
du
查看目录或文件占用空间。示例:
du -sh /path
mount
挂载设备。示例:
mount /dev/sda1 /mnt
umount
卸载挂载点。示例:
umount /mnt
lsblk
显示块设备信息。示例:
lsblk
blkid
显示设备的 UUID。示例:
blkid /dev/sda1
fdisk
磁盘分区工具。示例:
fdisk /dev/sda
mkfs
格式化磁盘分区。示例:
mkfs.ext4 /dev/sda1
6. 系统监控与性能优化
top
实时显示系统进程信息。htop
类似top,更友好的界面。ps
查看当前运行的进程。示例:
ps aux
kill
终止进程。示例:
kill -9 PID
free
查看内存使用情况。示例:
free -h
uptime
查看系统运行时间。vmstat
查看系统资源使用情况。iostat
查看磁盘 I/O 性能。sar
收集系统性能数据。dmesg
查看内核日志。sysctl
查看和修改内核参数。示例:
sysctl -a
7. 网络管理
ping
测试网络连通性。示例:
ping 8.8.8.8
curl
获取 URL 数据。示例:
curl http://example.com
wget
下载文件。示例:
wget http://example.com/file.txt
ifconfig
查看或配置网络接口。ip
管理网络接口。示例:
ip addr
netstat
查看网络连接状态。ss
替代netstat查看网络连接。示例:
ss -tuln
traceroute
跟踪网络路径。示例:
traceroute example.com
nslookup
查询 DNS 信息。dig
查询域名信息。示例:
dig example.com
8. 系统管理
uname
查看系统内核版本。示例:
uname -a
hostname
查看或设置主机名。date
查看或设置系统时间。timedatectl
管理时间设置。shutdown
关机命令。示例:
shutdown -h now
reboot
重启系统。systemctl
管理系统服务。示例:
systemctl restart nginx
journalctl
查看系统日志。示例:
journalctl -u nginx
crontab
定时任务管理。示例:
crontab -e
9. 权限与安全
sudo
以管理员权限执行命令。ssh
远程登录。示例:
ssh user@host
scp
复制文件到远程服务器。示例:
scp file.txt user@host:/path
rsync
同步文件。示例:
rsync -av file /path
firewalld
管理防火墙规则。iptables
配置防火墙规则。passwd
修改用户密码。chage
修改密码有效期。last
查看最近登录记录。who
显示当前登录用户。
通过熟练掌握这些命令,你可以高效地管理 Linux 系统,并完成各种任务。
