文章目录
- [一、 Linux命令基础格式](#一、 Linux命令基础格式)
- 二、Linux基本命令
-
- [2.1 文件和目录操作](#2.1 文件和目录操作)
- [2.2 文件查看命令](#2.2 文件查看命令)
- [2.3 文件编辑命令](#2.3 文件编辑命令)
- [2.4 权限与所有权管理](#2.4 权限与所有权管理)
- [2.5 文件查找和搜索](#2.5 文件查找和搜索)
- [2.6 压缩和解压命令](#2.6 压缩和解压命令)
- [2.7 用户与权限管理](#2.7 用户与权限管理)
- [2.8 系统信息与进程管理](#2.8 系统信息与进程管理)
- [2.9 网络相关命令](#2.9 网络相关命令)
- [2.10 系统状态与资源查看](#2.10 系统状态与资源查看)
一、 Linux命令基础格式
在Linux中,命令有以下通用格式:
command [-options] [parameter]
- command:命令本身;
- -options:[可选,非必填]命令的一些选项,可以通过选项控制命令的行为细节;
- parameter:[可选,非必填]命令的参数,多用于命令的指向目标等;
示例:
ls -l /home/test
- 其中 ls 是命令本身,-l是选项,/home/test 是参数;
- 意思是以列表的形式,显示/home/test目录内的内容;
二、Linux基本命令
2.1 文件和目录操作
命令 | 功能 | 常用选项 | 示例 |
---|---|---|---|
ls |
列出目录内容 | -l (长格式)、-a (显示隐藏文件)、-h (易读格式) |
ls -lah |
cd |
切换目录 | 无 | cd /root/ |
pwd |
显示当前目录路径 | 无 | pwd |
mkdir |
创建目录 | -p (递归创建) |
mkdir -p /www/example/ui |
rm |
删除文件或目录 | -r (递归删除)、-f (强制删除) |
rm -rf test.txt |
cp |
复制文件或目录 | -r (递归复制) |
cp -r file1 dir/ |
mv |
移动或重命名文件或目录 | 无 | mv file1 newfile |
tree |
树状结构显示目录 | -L (层级深度) |
tree -L 2 |
注:
- 批量删除特定文件类型: 在实际工作中,可能需要批量删除目录下的特定文件类型。例如,删除所有2025-01月的.log文件,可以使用
rm -rf 2025-01*.log
。 rm -rf
谨慎使用: rm -rf命令非常强大,但也非常危险,因为它会强制删除文件或目录,且不会提示确认。如果需要进一步确认是否删除文件,可以添加-i
选项,如:rm -rf -i text.file
。cp
和mv
的区别:cp用于复制文件或目录,而mv用于移动或重名名文件或目录,cp保留原文件,操作新文件,mv则直接操作原文件。
2.2 文件查看命令
命令 | 功能 | 常用选项 | 示例 |
---|---|---|---|
cat |
查看文件内容(从头到尾一次性输出) | -n (显示行号) |
cat -n file.txt |
more |
分页查看内容(只能向下翻页) | +n (从第 n 行开始) |
more +10 file.txt |
less |
分页查看内容,支持上下翻页和搜索 | /word (搜索关键字) |
less file.txt 然后输入 /error 查找 |
head |
查看文件前几行 | -n N (显示前 N 行) |
head -n 20 file.txt |
tail |
查看文件最后几行 | -n N 、-f (实时跟踪) |
tail -n 50 file.txt 、tail -f file.log |
nl |
显示内容并添加行号 | -b a (对所有行编号) |
nl -b a file.txt |
wc |
统计文件内容 | -l (行数)、-w (单词数)、-c (字节数) |
wc -l file.txt |
file |
查看文件类型 | 无 | file file.txt |
strings |
提取二进制文件中的可读字符 | 无 | strings a.out |
2.3 文件编辑命令
命令 | 功能 | 常用选项 | 示例 |
---|---|---|---|
vi / vim |
高级文本编辑器 | 无(进入后按 i 进入插入模式) |
vim file.txt ,:wq 保存退出 |
awk |
文本分析工具,按列处理数据 | '{print $1}' (打印第一列) |
awk '{print $1}' file.txt |
echo |
向文件写入一行内容 | >> (追加)、> (覆盖) |
echo "hello" >> file.txt |
printf |
更精准格式化输出 | 无 | printf "line1\nline2\n" >> file.txt |
touch |
创建空文件或更新时间戳 | 无 | touch newfile.txt |
truncate |
修改文件大小 | -s 0 (将文件清空) |
truncate -s 0 file.txt |
2.4 权限与所有权管理
命令 | 功能 | 常用选项 | 示例 |
---|---|---|---|
chmod |
修改权限 | +x (添加执行权限)、755 (设置 rwxr-xr-x) |
chmod +x run.sh |
chown |
改变文件属主 | user:group |
chown root:staff file.txt |
chgrp |
改变用户组 | 无 | chgrp users file.txt |
注:
-
文件或目录结构:
Linux 中使用 10 个字符表示文件或目录的权限,如下:
powershell-rwxr-xr--
权限目录结构:
powershell[0] [1][2][3] [4][5][6] [7][8][9] ^ ^^^ ^^^ ^^^ 类型 用户权限 用户组权限 其他用户权限
位置 字符 含义 第 1 位 -
/d
/l
等表示文件类型: -
:普通文件d
:目录(directory)l
:符号链接(link)c
/b
:字符 / 块设备文件第 2-4 位 rwx
所有者(User)权限: r
:读(read)w
:写(write)x
:执行(execute)第 5-7 位 r-x
所属组(Group)权限 第 8-10 位 r--
其他用户(Other)权限 -
chmod 的两种方式:
-
符号法:chmod u+x script.sh
-
数字法:chmod 644 file.txt ,数字可以按照二进制来理解,
-
2.5 文件查找和搜索
命令 | 功能 | 常用选项 | 示例 |
---|---|---|---|
find |
在目录中查找 | -name 、-type f 、-size |
find /var -name "*.log" |
locate |
快速查找文件路径 | 无(需 updatedb ) |
locate passwd |
grep |
搜索文本 | -r (递归)、-i (忽略大小写)、--color |
grep -i "error" /var/log/* |
xargs |
配合管道批量处理 | 无 | `find . -name "*.log" |
` | ` | 管道命令 | 左边命令的输出作为右边命令的输入,可叠加 |
2.6 压缩和解压命令
命令 | 功能 | 常用选项 | 示例 |
---|---|---|---|
tar |
打包与解包 | -czf (压缩)、-xzf (解压) |
tar -czf backup.tar.gz ./data |
gzip / gunzip |
压缩/解压 .gz 文件 |
无 | gzip file.txt ;gunzip file.txt.gz |
zip / unzip |
ZIP 格式压缩 | -r (目录递归) |
zip -r code.zip src/ ;unzip code.zip |
2.7 用户与权限管理
命令 | 功能 | 常用选项 | 示例 |
---|---|---|---|
useradd |
添加新用户 | -m (自动建家目录) |
useradd -m newuser |
passwd |
设置密码 | 无 | passwd newuser |
usermod |
修改用户属性 | -aG (添加组) |
usermod -aG sudo user1 |
groups |
查看用户所属组 | 无 | groups username |
2.8 系统信息与进程管理
命令 | 功能 | 常用选项 | 示例 |
---|---|---|---|
top |
实时查看进程 | -u (指定用户) |
top -u root |
ps |
查看进程状态 | -ef (全部进程) |
`ps -ef |
kill |
终止进程 | -9 (强制) |
kill -9 1234 |
df |
查看磁盘空间 | -h (人类可读) |
df -h |
du |
查看目录大小 | -sh (总大小) |
du -sh /var/log |
free |
查看内存使用情况 | -m (MB)、-h |
free -h |
uptime |
查看系统运行时长 | 无 | uptime |
who / w |
当前登录用户 | 无 | who |
hostname |
查看主机名 | 无 | hostname |
2.9 网络相关命令
命令 | 功能 | 常用选项 | 示例 |
---|---|---|---|
ping |
网络连通性测试 | -c (次数) |
ping -c 4 www.baidu.com |
curl |
请求网络资源 | -I (只查看头部) |
curl -I https://www.baidu.com |
wget |
下载文件 | -c (断点续传) |
wget -c http://example.com/file.zip |
netstat |
查看网络端口 | -tuln (监听端口) |
netstat -tuln |
ss |
更快的端口/连接查看工具 | -ltnp |
ss -ltnp |
scp |
远程文件复制 | -r (递归) |
scp file.txt user@ip:/tmp/ |
2.10 系统状态与资源查看
命令 | 功能 | 常用选项 | 示例 |
---|---|---|---|
top |
实时查看系统资源使用情况 | -n (指定更新次数) |
top top -n 1 |
htop |
更友好的 top 替代(需安装) |
交互界面操作 | htop |
uptime |
查看系统运行时间和负载 | 无 | uptime |
df |
查看磁盘空间使用情况 | -h (人类可读格式)、-T (显示文件系统类型) |
df -h df -hT |
du |
查看文件或目录大小 | -h (人类可读)、-s (汇总显示) |
du -sh * |
free |
查看内存使用情况 | -h (人类可读格式) |
free -h |
vmstat |
查看虚拟内存、CPU等统计信息 | 1 (每秒刷新) |
vmstat 1 |
iostat |
查看 CPU 和磁盘 I/O 性能(需安装 sysstat ) |
-d (仅磁盘)、-x (扩展统计) |
iostat -dx 1 |
who |
查看当前登录用户 | 无 | who |
w |
显示当前登录用户及其活动 | 无 | w |
systemctl |
管理和查看系统服务状态 | status (查看状态)、start (启动)、stop (停止)、restart (重启)、enable (开机启动) |
systemctl status nginx systemctl restart sshd systemctl enable firewalld |
注:
systemctl
命令大多需要 root 权限 ,使用时建议加上sudo
。df
用于查看整体磁盘挂载使用情况,du
更适合查看某一目录或文件的空间使用。top
、htop
用于实时系统资源监控,适合定位性能瓶颈。vmstat
和iostat
提供更底层的资源使用统计,适合做深入诊断。