Linux 系统常用命令教程:从入门到日常运维

刘小猪 发布于 阅读:1 教程

Linux 系统常用命令教程

Linux 是服务器、嵌入式设备、开发环境和容器平台中常见的操作系统。掌握一些常用命令,可以帮助你更高效地查看文件、管理进程、配置权限、排查网络和完成日常运维。

本教程以常用命令为主,按使用场景分类,适合初学者快速上手,也适合日常查阅。

一、目录与文件管理

1. 查看当前目录

pwd

输出示例:

/home/user

2. 列出目录内容

ls
ls -l
ls -la

常用参数:

示例:

ls -lah

3. 进入目录

cd /etc

返回上一级目录:

cd ..

返回家目录:

cd

4. 创建目录

mkdir project

递归创建多级目录:

mkdir -p project/src/main

5. 创建文件

创建空文件:

touch notes.txt

6. 复制文件

复制文件:

cp source.txt target.txt

复制目录:

cp -r project/ backup_project/

7. 移动或重命名

移动文件:

mv notes.txt docs/notes.txt

重命名文件:

mv a.txt b.txt

8. 删除文件和目录

删除文件:

rm notes.txt

强制删除文件,不提示:

rm -f notes.txt

删除目录及其内容:

rm -r directory/

谨慎使用:

rm -rf directory/

注意:rm -rf / 是非常危险的命令,可能造成系统文件被删除,千万不要执行。

二、文件查看与编辑

1. 查看文件内容

cat config.txt

适合小文件。

2. 分页查看大文件

less largefile.txt

常用操作:

查看尾部内容:

tail -f app.log

tail -f 常用于实时查看日志。

3. 查看前几行

head -n 20 data.txt

4. 快速编辑文件

使用 nano

nano notes.txt

使用 vim

vim notes.txt

vim 基本操作:

三、搜索与查找

1. 按文件名查找

find /etc -name "*.conf"

查找当前目录下的文件:

find . -name "*.txt"

2. 搜索文件内容

grep "error" app.log

忽略大小写:

grep -i "error" app.log

递归搜索目录:

grep -r "timeout" ./logs

显示匹配行号:

grep -n "user" nginx.conf

3. 使用 locate 快速查找

locate nginx.conf

如果数据库未更新,可执行:

sudo updatedb

四、文件权限与用户组

Linux 中每个文件都有所有者、所属组和其他用户的权限。

权限通常表示为:

-rw-r--r--

含义:

1. 查看权限

ls -l file.txt

2. 修改权限

数字方式:

chmod 644 file.txt

常见权限数字:

例如:

chmod 755 script.sh

表示:

3. 修改所有者

sudo chown user:user group file.txt

递归修改目录权限:

sudo chown -R www-data:www-data /var/www/html

4. 添加可执行权限

chmod +x backup.sh

五、进程管理

1. 查看进程

ps aux

2. 实时查看资源占用

top

或:

htop

如果未安装,可尝试:

sudo apt install htop

或:

sudo yum install htop

3. 查找指定进程

ps aux | grep nginx

4. 结束进程

kill 1234

强制结束:

kill -9 1234

按进程名结束:

pkill nginx

注意:结束系统关键进程可能影响服务,建议先确认进程用途。

六、网络与远程操作

1. 查看 IP 地址

新命令:

ip addr

旧命令:

ifconfig

2. 测试网络连通性

ping 8.8.8.8

停止时可按 Ctrl + C

3. 查看端口占用

ss -lntp

或:

netstat -lntp

查找某个端口:

ss -lntp | grep :80

4. DNS 查询

dig example.com

或:

nslookup example.com

5. SSH 登录远程服务器

ssh user@server_ip

指定端口:

ssh -p 2222 user@server_ip

生成 SSH 密钥:

ssh-keygen -t rsa

将公钥复制到服务器:

ssh-copy-id user@server_ip

七、软件包管理

不同 Linux 发行版使用不同的包管理器。

Debian / Ubuntu

更新软件源:

sudo apt update

安装软件:

sudo apt install nginx

卸载软件:

sudo apt remove nginx

清除依赖:

sudo apt autoremove

搜索软件:

apt search nginx

CentOS / RHEL / Rocky Linux

安装软件:

sudo yum install nginx

或使用 dnf

sudo dnf install nginx

更新软件:

sudo yum update

八、磁盘与系统信息

1. 查看磁盘空间

df -h

查看当前目录占用:

du -sh *

2. 查看内存

free -h

3. 查看 CPU 信息

lscpu

4. 查看系统版本

cat /etc/os-release

5. 查看内核版本

uname -a

6. 查看已加载模块

lsmod

九、压缩与解压

1. 创建 tar 压缩包

tar -czvf backup.tar.gz /path/to/files

参数说明:

2. 解压 tar 包

tar -xzvf backup.tar.gz

3. 解压到指定目录

tar -xzvf backup.tar.gz -C /tmp

4. 创建 zip

zip -r backup.zip project/

5. 解压 zip

unzip backup.zip

十、日志与排错

1. 查看系统日志

journalctl -xe

查看指定服务日志:

journalctl -u nginx -f

2. 查看历史命令

history

3. 统计文件行数

wc -l data.txt

4. 查找最近修改的文件

find . -type f -mtime -1

十一、常用快捷键

在终端中熟练使用快捷键可以提升效率。

十二、实用工作流示例

示例 1:查看某个端口被哪个进程占用

sudo lsof -i :80

或:

sudo ss -lntp | grep :80

示例 2:批量修改文件后缀

将当前目录下所有 .html 文件改为 .htm

for f in *.html; do mv "$f" "${f%.html}.htm"; done

示例 3:统计目录中文件数量

find . -type f | wc -l

示例 4:定时备份文件

data/ 目录打包并保存到 backup/

tar -czvf backup_$(date +%F).tar.gz data/

结语

Linux 命令非常丰富,日常使用建议遵循三个原则:

  1. 先理解命令用途,再执行高风险操作。
  2. 对重要数据先备份,再批量处理。
  3. 善用 man 命令和 --help 查看帮助。

查看命令帮助:

man ls

或:

ls --help

当你对基础命令熟练后,可以进一步学习 Shell 脚本、Cron 定时任务、Systemd 服务管理、Docker 容器和日志分析等更高级的 Linux 运维内容。

Linux 命令 常用命令 教程 运维