Linux常用命令

本文整理了Linux系统中高频使用的命令,涵盖文件操作、系统管理、网络配置、权限管理等场景,帮助开发者快速掌握核心技巧。


一、文件与目录操作

1. 查询与搜索

命令 说明
ls <dir> 列出目录内容
ll <dir> 显示详细文件信息(等价ls -l
find <dir> -name *py* -type d 查找目录中名称含"py"的目录
grep "main" test.c 在test.c中搜索"main"字符串
whereis python 查找python安装路径

管道符技巧
ll /usr/bin | grep python 搜索/usr/bin目录中名称含"python"的文件


2. 压缩与解压

格式 压缩命令 解压命令
.tar tar -cvf file.tar dir tar -xvf file.tar -C target_dir
.tar.gz tar -zcvf file.tar.gz dir tar -zxvf file.tar.gz -C target_dir
.tar.bz2 tar -jcvf file.tar.bz2 dir tar -jxvf file.tar.bz2
.zip zip -r file.zip dir unzip file.zip -d target_dir

分卷压缩示例

cat data.zip.* > data.zip  # 合并分卷
unzip data.zip

3. 文件操作

  • 复制/移动
    cp -r src/*.log dest_dir 复制所有日志文件
    mv old_name new_name 重命名文件
  • 权限管理
    chmod 755 script.sh 赋予可执行权限
    chown -R user:group dir 递归修改目录所有者
  • 文本处理
    sed -i 's/old/new/g' file 替换文件内容
    echo "text" >> file 追加内容到文件末尾

二、用户与权限管理

1. 用户操作

sudo adduser new_user   # 创建用户
passwd new_user         # 设置密码
usermod -aG sudo user   # 添加sudo权限
userdel -r old_user     # 删除用户及目录

2. 权限配置

  • sudo免密配置
    修改/etc/sudoers添加:
    %sudo ALL=(ALL:ALL) NOPASSWD:ALL
  • 修复权限错误
    chmod 440 /etc/sudoers 避免world writable错误

三、网络与服务管理

1. 网络诊断

ping example.com       # 测试网络连通性
netstat -tlnp          # 查看所有监听端口
lsof -i :8080          # 查询占用8080端口的进程

2. SSH配置

# 服务端
sudo vim /etc/ssh/sshd_config  # 修改端口/允许root登录
systemctl restart sshd

# 客户端
ssh-keygen   # 生成密钥对
ssh-copy-id user@host  # 上传公钥实现免密登录

四、进程与系统监控

1. 进程管理

ps aux | grep nginx    # 查询nginx进程
kill -9 PID            # 强制终止进程
nohup python app.py &  # 后台运行程序

2. 资源监控

top                # 实时查看CPU/内存占用
df -h              # 查看磁盘空间
du -sh /var/log    # 统计目录大小
free -m            # 显示内存使用(MB单位)

五、进阶技巧

1. 定时任务(Crontab)

crontab -e  # 编辑定时任务
# 示例:每天6点备份;时间的格式:分钟(0-59)、小时(0-23)、一个月中的第几天(1-31)、月份(1-12)、星期中星期几(0-6)(星期天为0)
0 6 * * * /opt/backup.sh > /logs/backup.log 2>&1

2. 系统服务配置(Systemd)

创建/etc/systemd/system/myservice.service

[Unit]
Description=My Custom Service
After=network.target

[Service]
ExecStart=/usr/bin/python3 /app/main.py
Restart=always

[Install]
WantedBy=multi-user.target

启用服务:

systemctl daemon-reload
systemctl start myservice
systemctl restart myservice	# 重启服务
systemctl enable myservice	# 设置开机自启服务

暂停服务:

systemctl stop myservice	# 暂停服务
systemctl disable myservice	# 关闭服务自启
posted @ 2025-05-27 13:45  Geek0070  阅读(78)  评论(0)    收藏  举报