一、文件和目录操作
1. ls
- 列出目录内容
- 选项:
-l
(详细列表)、-a
(包括隐藏文件)、-h
(以人类可读的格式显示文件大小)
2. cd
- 改变当前目录
- 用法:
cd 目录名
3. pwd
- 显示当前工作目录
4. mkdir
- 创建目录
- 用法:
mkdir 目录名
5. rmdir
- 删除空目录
- 用法:
rmdir 目录名
6. rm
- 删除文件或目录
- 选项:
-r
(递归删除目录及内容)、-f
(强制删除,不提示) - 用法:
rm 文件名
或rm -r 目录名
7. cp
- 复制文件或目录
- 选项:
-r
(递归复制目录)、-i
(提示是否覆盖目标文件) - 用法:
cp 源文件 目标位置
或cp -r 源目录 目标位置
8. mv
- 移动或重命名文件/目录
- 用法:
mv 源文件/目录 目标位置/新名称
9. touch
- 创建一个空文件或更新文件的访问和修改时间
- 用法:
touch 文件名
10. cat
- 显示文件内容
- 选项:
-n
(显示行号) - 用法:
cat 文件名
11. more
/less
- 分页显示文件内容
- 用法:
more 文件名
或less 文件名
12. head
/tail
- 显示文件的开头/结尾内容
- 用法:
head -n 行数 文件名
或tail -n 行数 文件名
13. find
- 在目录树中查找文件
- 示例:
find /home/user -name "*.txt"
14. grep
- 在文件中搜索文本
- 示例:
grep "text" 文件名
15. ln
- 创建链接
- 示例:
ln -s 源文件 目标文件
(创建软链接)
16. chmod
- 改变文件或目录的权限
- 示例:
chmod 755 文件名
(设置文件权限为rwxr-xr-x)
17. chown
- 改变文件或目录的所有者和所属组
- 示例:
chown 用户:组 文件名
18. chgrp
- 改变文件或目录的所属组
- 示例:
chgrp 组 文件名
二、系统管理
19. df
- 显示磁盘使用情况
- 选项:
-h
(以人类可读的格式显示)
20. du
- 显示目录或文件的磁盘使用情况
- 选项:
-sh
(总结指定目录的总大小,以人类可读的格式显示) - 用法:
du -sh 目录名
21. top
/htop
- 显示系统进程信息(
htop
是top
的增强版)
22. free
- 显示系统内存使用情况
- 选项:
-h
(以人类可读的格式显示)
23. uptime
- 显示系统运行时间、用户数以及平均负载
24. who
/w
- 显示当前登录系统的用户信息
25. ps
- 显示当前进程的快照
- 选项:
-ef
(显示所有进程的全格式信息)
26. kill
- 终止进程
- 用法:
kill 进程ID
三、网络管理
27. ifconfig
/ip addr
- 显示或配置网络接口信息(在新版本的Linux中,
ifconfig
已被ip
命令替代)
28. netstat
- 显示网络连接、路由表、接口统计等网络相关信息
- 选项:
-tuln
(显示TCP和UDP监听端口)
29. ping
- 测试网络连接
- 用法:
ping 主机名/IP地址
30.traceroute
/tracert
/tracepath
- 显示数据包到达目的地的路径
四、用户和组管理
31. useradd
- 添加新用户
- 示例:
useradd 用户名
- 可选参数:
-m
(创建用户主目录)、-g
(指定用户所属组)等
32. userdel
- 删除用户
- 示例:
userdel 用户名
- 可选参数:
-r
(同时删除用户主目录)
33. usermod
- 修改用户属性
- 示例:
usermod -g 新组名 用户名
(修改用户所属组)
34. passwd
- 设置或修改用户密码
- 示例:
passwd 用户名
(修改指定用户的密码) - 不带用户名则修改当前用户的密码
35. groupadd
- 添加新组
- 示例:
groupadd 组名
36. groupdel
- 删除组
- 示例:
groupdel 组名
37. groups
- 显示当前用户所属的组
- 示例:
groups
(不带参数时显示当前用户所属的组)
38. id
- 显示用户或组的ID信息
- 示例:
id 用户名
(显示指定用户的UID、GID以及所属的用户组) - 不带用户名则显示当前用户的ID信息
五、系统信息
39. uname
- 显示系统信息
- 示例:
uname -a
(显示详细的系统信息)
40. hostname
- 显示或设置系统的主机名
- 示例:
hostname
(显示当前主机名) - 示例:
hostnamectl set-hostname 新主机名
(在某些系统中设置新的主机名)
41. dmesg
- 显示或控制内核环形缓冲区的内容
- 常常用于查看系统启动时的信息
42. lsb_release
- 显示Linux标准基准(LSB)和特定发行版的信息
- 示例:
lsb_release -a
(显示所有相关信息)
43. lshw
- 显示硬件信息
- 示例:
lshw -class display
(仅显示显示设备的信息)
六、压缩和解压
44. tar
- 打包和解包文件
- 示例:
tar -czvf 归档名.tar.gz 源文件/目录
(打包并压缩) - 示例:
tar -xzvf 归档名.tar.gz
(解压缩并解包)
45. gzip
/gunzip
- 压缩/解压缩文件
- 示例:
gzip 文件名
(压缩文件) - 示例:
gunzip 文件名.gz
(解压缩文件)
46. bzip2
/bunzip2
- 另一种压缩/解压缩工具,通常比gzip提供更好的压缩率
- 示例:
bzip2 文件名
(压缩文件) - 示例:
bunzip2 文件名.bz2
(解压缩文件)
七、其他常用命令
47. man
- 显示命令的手册页
- 示例:
man ls
(显示ls
命令的手册页)
48. whatis
- 显示命令的简短描述(基于
man
数据库) - 示例:
whatis ls
(显示ls
命令的简短描述)
49. alias
- 为命令设置别名
- 示例:
alias ll='ls -l'
(设置ll
为ls -l
的别名)
50. history
- 显示历史命令列表
- 示例:
history
(不带参数时显示历史命令列表) - 可通过
!命令编号
来执行历史命令列表中的某条命令
八、软件包管理(以Debian/Ubuntu为例)
51. apt-get
- Debian和Ubuntu系统的软件包管理工具
- 示例:
apt-get update
(更新本地软件包列表) - 示例:
apt-get install 软件包名
(安装软件包) - 示例:
apt-get remove 软件包名
(卸载软件包)
52. dpkg
-
Debian系统的底层软件包管理工具
-
示例:
dpkg -l
(列出已安装的软件包) -
示例:
dpkg -r 软件包名
(卸载软件包,但不处理配置文件) -
示例:
dpkg -P 软件包名
(卸载软件包并删除配置文件)
九、软件包管理(以Red Hat/CentOS为例)
53. yum
(或dnf
在较新版本中)
- Red Hat和CentOS系统的软件包管理工具
- 示例:
yum update
(更新本地软件包列表和系统软件包) - 示例:
yum install 软件包名
(安装软件包) - 示例:
yum remove 软件包名
(卸载软件包)
54. rpm
- Red Hat系统的底层软件包管理工具
- 示例:
rpm -i 软件包.rpm
(安装.rpm软件包) - 示例:
rpm -qa
(列出已安装的软件包) - 示例:
rpm -e 软件包名
(卸载软件包)
十、文本处理
55. echo
- 显示一行文本或将文本重定向到文件
- 示例:
echo "Hello, World!"
(在终端显示文本) - 示例:
echo "Hello, World!" > 文件名
(将文本写入文件)
56. cut
- 从文件的每一行中截取指定的部分
- 示例:
cut -d: -f1 /etc/passwd
(从/etc/passwd文件中以冒号为分隔符截取第一列)
57. sort
- 对文本文件进行排序
- 示例:
sort 文件名
(对文件进行排序) - 可选参数:
-r
(逆序排序)、-n
(按数字排序)等
58. uniq
- 报告或忽略文件中的重复行
- 示例:
uniq 文件名
(显示文件中的唯一行) - 可选参数:
-c
(在每行前加上该行出现的次数
59. awk
- 文本处理工具,用于模式扫描和文本/数据提取
- 示例:
awk '{print $1}' 文件名
(打印文件的第一列)
60. sed
- 流编辑器,用于对输入流(文件或管道)进行基本的文本转换
- 示例:
sed 's/old/new/g' 文件名
(将文件中的"old"替换为"new")
十一、进程和服务管理
61. systemctl
- 控制
systemd
系统和服务管理器 - 示例:
systemctl start 服务名
(启动服务) - 示例:
systemctl stop 服务名
(停止服务) - 示例:
systemctl status 服务名
(查看服务状态) - 示例:
systemctl enable 服务名
(设置服务开机自启) - 示例:
systemctl disable 服务名
(禁止服务开机自启)
62. init.d
和 rc.d
脚本
- 传统Linux系统中的初始化和服务管理脚本目录
- 通常用于通过
/etc/init.d/服务名 start
或/etc/init.d/服务名 stop
来管理服务
63. cron
和 crontab
-
Debian系统的底层软件包管理工具
-
示例:
dpkg -i 软件包.deb
(安装.deb软件包)
-
示例:
dpkg -l
(列出已安装的软件包) -
示例:
dpkg -r 软件包名
(卸载软件包,但不处理配置文件) -
示例:
dpkg -P 软件包名
(卸载软件包并删除配置文件) -
Red Hat和CentOS系统的软件包管理工具
-
示例:
yum update
(更新本地软件包列表和系统软件包) -
示例:
yum install 软件包名
(安装软件包) -
示例:
yum remove 软件包名
(卸载软件包) -
Red Hat系统的底层软件包管理工具
-
示例:
rpm -i 软件包.rpm
(安装.rpm软件包) -
示例:
rpm -qa
(列出已安装的软件包) -
示例:
rpm -e 软件包名
(卸载软件包) -
显示一行文本或将文本重定向到文件
-
示例:
echo "Hello, World!"
(在终端显示文本) -
示例:
echo "Hello, World!" > 文件名
(将文本写入文件) -
从文件的每一行中截取指定的部分
-
示例:
cut -d: -f1 /etc/passwd
(从/etc/passwd文件中以冒号为分隔符截取第一列) -
对文本文件进行排序
-
示例:
sort 文件名
(对文件进行排序) -
可选参数:
-r
(逆序排序)、-n
(按数字排序)等 -
报告或忽略文件中的重复行
-
示例:
uniq 文件名
(显示文件中的唯一行) -
可选参数:
-c
(在每行前加上该行出现的次数) -
文本处理工具,用于模式扫描和文本/数据提取
-
示例:
awk '{print $1}' 文件名
(打印文件的第一列) -
流编辑器,用于对输入流(文件或管道)进行基本的文本转换
-
示例:
sed 's/old/new/g' 文件名
(将文件中的"old"替换为"new") -
控制
systemd
系统和服务管理器 -
示例:
systemctl start 服务名
(启动服务) -
示例:
systemctl stop 服务名
(停止服务) -
示例:
systemctl status 服务名
(查看服务状态) -
示例:
systemctl enable 服务名
(设置服务开机自启) -
示例:
systemctl disable 服务名
(禁止服务开机自启) -
传统Linux系统中的初始化和服务管理脚本目录
-
通常用于通过
/etc/init.d/服务名 start
或/etc/init.d/服务名 stop
来管理服务 -
用于定时执行任务的服务和工具
-
crontab -e
用于编辑当前用户的cron任务 -
crontab -l
用于列出当前用户的cron任务