刘耀杰·言

探索技术与生活的交叉点

← 返回博客

第三篇-Linux 常用命令总结(Ubuntu)

Linux 是运维、开发、云计算、容器、自动化以及 AI 工程实践中的基础操作系统。本文整理了一份常见且实用的 Linux 命令总结,适合作为日常学习和查询参考。

Linux #Linux#系统管理#故障排查

前言

Linux 是运维、开发、云计算、容器、自动化以及 AI 工程实践中的基础操作系统,对于使用 Ubuntu 的用户来说,掌握常用命令是日常操作、系统管理和问题排查的基本功;

本文整理了一份常见且实用的 Linux 命令总结,适合作为日常学习和查询参考


命令

目录与文件操作

查看当前目录

pwd

查看目录下的文件

ls

查看详细信息

ls -l

显示隐藏文件

ls -la

切换目录

cd /etc
cd ..
cd ~

创建目录

mkdir test
mkdir -p /data/test/logs

创建空文件

touch test.txt

复制文件

cp a.txt b.txt

复制目录

cp -r dir1 dir2

移动/重命名文件

mv old.txt new.txt
mv file.txt /tmp/

删除文件

rm file.txt

删除目录

rm -r testdir

强制删除

rm -rf testdir

文件查看命令

查看文件内容

cat file.txt

分页查看

less file.txt

查看前 10 行

head file.txt

查看前 20 行

head -n 20 file.txt

查看后 10 行

tail file.txt

实时查看日志

tail -f /var/log/syslog

文件搜索与查找

查找文件

find / -name nginx.conf

当前目录查找 txt 文件

find . -name "*.txt"

查找目录

find /data -type d -name logs

查找命令路径

which python3
which docker

在文件中搜索关键字

grep "error" app.log

忽略大小写搜索

grep -i "error" app.log

显示行号

grep -n "error" app.log

递归搜索目录

grep -rn "listen" /etc/nginx/

用户与权限管理

查看当前用户

whoami

查看当前登录用户

who

切换用户

su - root

使用 sudo 执行命令

sudo apt update

修改文件权限

chmod 644 file.txt
chmod 755 script.sh

修改文件属主

chown user:user file.txt

递归修改目录权限

chmod -R 755 /data/test

递归修改属主

chown -R ubuntu:ubuntu /data/test

系统信息查看

查看系统版本

cat /etc/os-release

查看内核版本

uname -r

查看主机名

hostname

查看 CPU 信息

lscpu

查看内存信息

free -h

查看磁盘使用情况

df -h

查看目录大小

du -sh /data

查看块设备

lsblk

进程管理

查看当前进程

ps -ef

查找指定进程

ps -ef | grep nginx

动态查看进程

top

更友好的进程查看工具

htop

杀死进程

kill 1234

强制杀死进程

kill -9 1234

按名称杀进程

pkill nginx

网络相关命令

查看 IP 地址

ip a

查看路由表

ip route

测试网络连通性

ping 8.8.8.8

测试域名解析

ping www.baidu.com

查看端口监听

ss -tunlp

查看指定端口

ss -tunlp | grep 80

查看网络连接

netstat -tunlp

测试端口连通性

telnet 192.168.1.10 22

使用 curl 测试 HTTP 服务

curl http://127.0.0.1
curl -I http://127.0.0.1

下载文件

wget https://example.com/file.tar.gz

软件包管理(Ubuntu)

更新软件源

sudo apt update

升级软件包

sudo apt upgrade -y

安装软件

sudo apt install nginx -y

卸载软件

sudo apt remove nginx -y

彻底卸载

sudo apt purge nginx -y

自动清理无用包

sudo apt autoremove -y

搜索软件包

apt search docker

服务管理(systemd)

查看服务状态

systemctl status nginx

启动服务

sudo systemctl start nginx

停止服务

sudo systemctl stop nginx

重启服务

sudo systemctl restart nginx

重新加载配置

sudo systemctl reload nginx

设置开机自启

sudo systemctl enable nginx

取消开机自启

sudo systemctl disable nginx

查看开机日志

journalctl -b

查看指定服务日志

journalctl -u nginx -f

压缩与解压

打包为 tar

tar -cvf archive.tar test/

解包 tar

tar -xvf archive.tar

打包并压缩为 tar.gz

tar -zcvf archive.tar.gz test/

解压 tar.gz

tar -zxvf archive.tar.gz

压缩 zip

zip -r test.zip test/

解压 zip

unzip test.zip

磁盘与挂载

查看磁盘分区

fdisk -l

查看文件系统使用情况

df -h

挂载磁盘

mount /dev/sdb1 /mnt

卸载磁盘

umount /mnt

查看 UUID

blkid

编辑器相关

使用 vim 编辑文件

vim test.txt

使用 nano 编辑文件

nano test.txt

用户管理

创建用户

sudo useradd -m testuser

设置密码

sudo passwd testuser

删除用户

sudo userdel -r testuser

查看用户信息

id testuser

SSH 远程连接

远程登录

ssh user@192.168.1.100

指定端口连接

ssh -p 2222 user@192.168.1.100

复制文件到远程服务器

scp file.txt user@192.168.1.100:/tmp/

从远程服务器复制文件到本地

scp user@192.168.1.100:/tmp/file.txt ./

常见日志路径(Ubuntu)

系统日志

/var/log/syslog

认证日志

/var/log/auth.log

内核日志

/var/log/kern.log

DPKG 安装日志

/var/log/dpkg.log

查看日志示例

tail -f /var/log/syslog
tail -f /var/log/auth.log

常用组合命令

查找某个端口被谁占用

ss -tunlp | grep 8080

查找某个进程

ps -ef | grep python

查看大文件/大目录

du -sh * | sort -hr

查看最近修改的文件

ls -lt

后台运行程序

nohup python3 app.py > app.log 2>&1 &

查看后台任务

jobs

Linux 学习建议

对于 Ubuntu 初学者来说,不需要一开始就把所有命令都背下来,更重要的是理解几个核心方向:

文件和目录怎么操作

服务怎么管理

进程怎么查看

网络怎么排查

日志怎么查看

软件怎么安装

权限怎么处理

只要把这些高频命令掌握好,后续无论是做 Linux 运维、Docker、Kubernetes,还是做 AI 开发和服务部署,都会轻松很多


评论

回到顶部