Linux 常用命令
一、基础操作命令
1. ls - 列出目录 / 文件信息
-
功能:查看目录下文件列表,支持多格式显示。
-
示例:
-
ls:显示当前目录非隐藏文件; -
ls -l(缩写ll):长格式显示(权限、大小、修改时间等); -
ls -a:显示所有文件(含隐藏文件如.bashrc); -
ls -lh:人性化单位(K/M/G)显示文件大小。
-
-
注意:查看指定目录需加路径,如
ls /home。
2. cd - 切换工作目录
-
功能:变更当前终端所在目录,日常操作高频命令。
-
示例:
-
cd /home/user:绝对路径切换至目标目录; -
cd ../:返回上一级目录; -
cd ~:快速进入当前用户主目录; -
cd -:切换至上一次所在目录。
-
-
注意:路径分绝对路径(/ 开头)与相对路径(如
cd docs)。
3. pwd - 显示当前路径
-
功能:输出当前终端的完整绝对路径,避免 “迷路”。
-
示例:
pwd→ 输出如/home/user/documents。
4. clear - 清空终端
-
功能:清除终端已显示内容,光标回到顶部。
-
示例:
clear或快捷键Ctrl+L。
5. whoami - 查看当前用户
-
功能:输出当前登录用户名,用于确认身份。
-
示例:
whoami→ 输出如user。
6. uname - 查看系统信息
-
功能:获取内核名称、版本、架构等信息。
-
示例:
-
uname:仅显示内核名称(如Linux); -
uname -r:显示内核版本(如5.15.0-78-generic); -
uname -a:显示完整系统信息。
-
-
注意:查看发行版版本用
cat /etc/os-release。
二、文件与目录操作命令
1. 创建操作
(1)touch - 创建空文件 / 更新时间
-
功能:创建空文件或更新已有文件的时间戳。
-
示例:
-
touch test.txt:创建空文件; -
touch file1.txt file2.txt:批量创建; -
touch -d "2024-01-01" old.txt:修改文件时间。
-
(2)mkdir - 创建目录
-
功能:创建单个或多级目录。
-
示例:
-
mkdir docs:创建单个目录; -
mkdir -p docs/linux/commands:递归创建多级目录; -
mkdir -m 755 public:创建目录并指定权限755。
-
2. cp - 复制文件 / 目录
-
功能:复制文件或目录到目标路径。
-
示例:
-
cp test.txt /backup:复制文件至目标目录; -
cp -r docs/ /backup/docs:递归复制目录(必须加-r); -
cp -v file1.txt file2.txt:显示复制过程。
-
3. mv - 移动 / 重命名
-
功能:移动文件 / 目录或重命名。
-
示例:
-
mv test.txt /home/user:移动文件; -
mv old.txt new.txt:重命名文件; -
mv -f docs/ /backup:强制移动目录(覆盖不提示)。
-
4. rm - 删除文件 / 目录
-
功能:删除文件或目录,操作需谨慎!
-
示例:
-
rm test.txt:删除文件(默认提示确认); -
rm -f test.txt:强制删除(无提示); -
rm -r docs/:递归删除目录; -
rm -rf temp/:强制递归删除(高危!避免误删根目录)。
-
5. 查看与编辑
(1)cat - 查看小文件
-
示例:
-
cat test.txt:显示文件全部内容; -
cat -n test.txt:显示行号; -
cat file1.txt file2.txt > all.txt:合并文件内容。
-
(2)more/less - 分页查看大文件
-
more log.txt:按页显示,空格键翻页,q退出; -
less log.txt:增强版,支持上下滚动、搜索(输入/关键词)、q退出。
(3)head/tail - 查看首尾内容
-
head -5 log.txt:显示前 5 行; -
tail -10 log.txt:显示后 10 行; -
tail -f log.txt:实时监控文件新增内容(Ctrl+C停止)。
(4)nano/vim - 编辑文件
-
nano test.txt:简单编辑器,Ctrl+O保存,Ctrl+X退出; -
vim test.txt:专业编辑器,i进入编辑模式,Esc+:wq保存退出,:q!强制退出。
三、系统监控与管理命令
1. 资源监控
(1)top - 实时监控资源
-
功能:动态显示 CPU、内存、进程占用,每 3 秒刷新。
-
示例:
-
top:启动监控,q退出; -
top -p 1234:仅监控 PID 为 1234 的进程; -
top -u user:仅监控用户user的进程。
-
-
关键指标:
-
系统负载:
load average: 0.50, 0.30, 0.20(1/5/15 分钟,值越小越好); -
CPU 空闲率:
%id(越低负载越高); -
内存使用率:
Mem与Swap(Swap 使用率高需警惕内存不足)。
-
(2)free - 查看内存
- 示例:
free -h→ 人性化显示内存(如Mem: 15.5G total, 8.2G used)。
(3)df - 查看磁盘空间
-
示例:
df -h→ 显示分区占用(如/dev/sda1 50G 15G 35G 30% /); -
df -i:查看 inode 使用(避免 inode 耗尽无法创建文件)。
(4)du - 查看目录占用
-
示例:
-
du -sh docs/:显示目录总大小(如2.5G); -
du -h --max-depth=1 /home:显示一级子目录大小。
-
2. 进程管理
(1)ps - 查看进程
-
示例:
-
ps aux:显示所有进程(含 PID、CPU 使用率); -
ps aux | grep java:筛选 Java 相关进程。
-
(2)kill - 终止进程
-
示例:
-
kill 1234:发送终止信号(优雅退出); -
kill -9 1234:强制终止(进程无响应时用); -
killall java:批量终止同名进程。
-
(3)systemctl - 管理服务
-
示例(以 Nginx 为例):
-
systemctl start nginx:启动服务; -
systemctl stop nginx:停止服务; -
systemctl restart nginx:重启服务; -
systemctl enable nginx:设置开机自启; -
systemctl status nginx:查看服务状态(如active (running))。
-
四、用户与权限管理命令
1. 用户管理
(1)useradd - 创建用户
-
示例:
useradd -m -d /home/testuser -s /bin/bash testuser(创建用户并指定主目录、Shell); -
注意:创建后需用
passwd testuser设置密码。
(2)passwd - 修改密码
- 示例:
passwd testuser(管理员修改用户密码);普通用户直接输入passwd修改自身密码。
(3)userdel - 删除用户
- 示例:
userdel -r testuser(删除用户并清理主目录)。
(4)su/sudo - 切换权限
-
su - testuser:切换用户并加载环境变量; -
sudo ls /root:普通用户临时获取管理员权限; -
sudo -i:进入管理员交互式 Shell。
2. 权限管理
Linux 权限:读(r=4)、写(w=2)、执行(x=1),对应所有者(u)、所属组(g)、其他用户(o)。
(1)chmod - 修改权限
-
示例:
-
字母法:
chmod u+x ``test.sh(给所有者加执行权限); -
数字法:
chmod 755 ``test.sh(所有者 rwx,其他 rx)、chmod 644 test.txt(所有者 rw,其他 r); -
递归修改:
chmod -R 755 docs/。
-
(2)chown - 修改所有者 / 组
-
示例:
-
chown testuser test.txt:修改所有者; -
chown testuser:testgroup test.txt:修改所有者与组; -
chown -R testuser:testgroup docs/:递归修改目录。
-
(3)ls -l - 查看权限
- 示例:
ls -l test.txt→ 输出如-rw-r--r-- 1 testuser testgroup 1024 Aug 1 10:00 test.txt(首字段为权限)。
五、网络操作命令
1. ip addr - 查看网卡信息
-
功能:替代旧版
ifconfig,显示 IP、MAC 地址。 -
示例:
ip addr→ 查看所有网卡(如inet ``192.168.1.100/24)。
2. ping - 测试连通性
-
示例:
-
ping ``baidu.com:测试与百度连通(Ctrl+C停止); -
ping -c 4 ``baidu.com:发送 4 个包后停止。
-
3. netstat/ss - 查看网络状态
-
netstat -tuln:显示监听端口(如tcp 0 0 ``0.0.0.0:80`` LISTEN); -
ss -tuln:新版替代命令,效率更高; -
ss -an | grep :443:筛选 443 端口连接。
4. curl - 发送 HTTP 请求 / 下载
-
示例:
-
curl ``https://baidu.com:获取网页内容; -
curl -I ``https://baidu.com:查看响应头(如HTTP/1.1 200 OK); -
curl -O ``https://example.com/file.zip:下载文件。
-
5. wget - 下载工具
-
示例:
-
wget ``https://example.com/file.zip:直接下载; -
wget -c ``https://example.com/file.zip:断点续传; -
wget -P /download ``https://example.com/file.zip:指定下载目录。
-
6. ssh - 远程登录
-
示例:
-
ssh user@``192.168.1.100:默认 22 端口登录; -
ssh -p 2222 user@``192.168.1.100:指定端口登录; -
ssh user@server "ls /home":远程执行单条命令。
-
六、压缩与解压命令
| 格式 | 解压命令 | 压缩命令 |
|---|---|---|
.tar | tar xf file.tar | tar cf file.tar dir/ |
.tar.gz | tar xzf file.tar.gz | tar czf file.tar.gz dir/ |
.tar.bz2 | tar xjf file.tar.bz2 | tar cjf file.tar.bz2 dir/ |
.zip | unzip file.zip [-d 目录] | zip -r file.zip dir/ |
.rar | unrar x file.rar | rar a file.rar dir/ |
- 说明:
tar命令中,x= 解压、c= 压缩、f= 指定文件,z/j对应压缩格式;.zip/.rar需先安装unzip/rar工具。
七、搜索命令
1. find - 查找文件 / 目录
-
示例:
-
find /home -name "test.txt":按名称精确查找; -
find /home -iname "*.txt":模糊查找(忽略大小写); -
find / -size +100M:查找大于 100M 的文件; -
find /tmp -name "*.tmp" -delete:查找并删除临时文件(谨慎!)。
-
2. grep - 搜索文本内容
-
示例:
-
grep "error" log.txt:在文件中搜索 “error”; -
grep -i "Error" log.txt:忽略大小写; -
grep -n "warning" log.txt:显示匹配行号; -
grep -r "test" /home/docs:递归搜索目录下所有文件。
-
分享
如果这篇文章对你有帮助,欢迎分享给更多人!
部分内容可能已过时