5、Linux常用指令

📚 Linux 常用指令速查

📋 目录索引

  • [[#一、文件/文件夹]]

    • [[#1、查看/开放文件权限]]
    • [[#2、解压文件夹]]
    • [[#3、压缩文件夹]]
  • [[#二、查看进程/关闭进程]]

    • [[#1、ps 命令(静态查看)]]]
    • [[#2、top 命令(动态查看)]]
    • [[#3、常用组合与技巧]]
    • [[#4、Python 进程管理]]

一、文件/文件夹

1、查看/开放文件权限

查看权限:

ll

开放权限:

chmod 777 文件名

最高权限 (开放给所有人):将文件权限设置为 rwxrwxrwx

2、解压文件夹

tar.gz / .tgz / .tar 

  • 解压到当前目录:tar -zxvf filename.tar.gz
  • 解压到指定目录:tar -zxvf filename.tar.gz -C /path/to/directory

zip

  • 解压到当前目录:unzip filename.zip
  • 解压到指定目录:unzip filename.zip -d /path/to/directory
  • 解压密码文件:unzip -P 密码 filename.zip

rar

  • 解压:unrar x filename.rar

gz (单文件)

  • 解压:gzip -d filename.gz 或 gunzip filename.gz

常用参数介绍:

  • -x:解压 (extract)
  • -v:显示详细过程 (verbose)
  • -f:指定文件 (file)
  • -z:通过 gzip 过滤 (gzip)
  • -C:指定解压目录 (change directory)
  • -d:指定解压目录 (directory, unzip专用)

3、压缩文件夹

tar.gz / .tgz

  • 压缩当前目录下的文件夹:tar -zcvf filename.tar.gz foldername
  • 压缩指定路径的文件夹:tar -zcvf filename.tar.gz -C /path/to/source foldername

zip

  • 压缩到当前目录:zip -r filename.zip foldername
  • 压缩并设置密码:zip -r -P 密码 filename.zip foldername
  • 压缩指定路径的文件夹:zip -r filename.zip /path/to/source/foldername

rar

  • 压缩:rar a filename.rar foldername

gz (单文件)

  • 压缩:gzip filenamegzip -k filename (保留原文件)

常用参数介绍:

  • -c:创建压缩档案 (create)
  • -v:显示详细过程 (verbose)
  • -f:指定文件 (file)
  • -z:通过 gzip 过滤 (gzip)
  • -r:递归处理目录 (recursive, zip/rar专用)
  • -a:添加文件到压缩包 (add, rar专用)
  • -k:保持原文件不删除 (keep, gzip专用)

二、查看进程/关闭进程

1、ps 命令(静态查看)

查看所有进程(系统风格):

ps -ef
  • -e: 显示所有进程
  • -f: 全格式显示(UID, PID, PPID, CPU, 状态, 启动时间, 命令)

查看所有进程(BSD风格):

ps aux
  • a: 显示现行终端下的所有程序,包括其他用户
  • u: 以用户为主的格式来显示程序状况
  • x: 显示没有控制终端的进程

配合 grep 查找特定进程:

ps -ef | grep <进程名>

ps aux | grep <进程名>

按进程号 (PID) 查看:

ps -p <PID> -o args=

(仅显示命令)

2、top 命令(动态查看)

实时查看:

top

q 退出。

排序:

  • 内存占用最高:top 后按 M(大写)
  • CPU 占用最高:top 后按 P(大写)

3、常用组合与技巧

查看端口占用进程:

netstat -tlnp | grep <端口号>

ss -tlnp | grep <端口号>

查看进程树:

pstree -p

查找进程 PID:

pidof <进程名>

查看僵死进程:

ps -ef | grep defunct

4、Python 进程管理

优雅后台打开python:

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

查找 Python 进程:

ps aux | grep python

查找特定 Python 脚本:

ps aux | grep script.py

查找 Python 进程 PID:

pidof python

pgrep -f python

优雅关闭 Python 进程:

kill <PID>

强制关闭 Python 进程:

kill -9 <PID>

批量关闭所有 Python 进程:

pkill python

killall python

按名称查找并关闭 Python 进程:

pkill -f script.py

参数说明:

  • -f: 匹配完整命令行
  • -9: 强制终止信号(SIGKILL)
  • pkill: 根据进程名关闭
  • killall: 根据进程名关闭所有实例

三、检测文件是否存在

1、Shell指令

使用Shell指令检测:

[ -f "/home/ubuntu/secretary/obsidian_vault/我的笔记/随笔/主要矛盾/我的Java入门项目(第一周).md" ] && echo "存在"

参数说明:

  • -f 表示判断路径是否为 普通文件 且 存在
  • 路径中包含中文和特殊字符(如括号),所以务必用 双引号 包裹整个路径,防止 shell 解析错误。

2、ls指令

ls "/home/ubuntu/secretary/obsidian_vault/我的笔记/随笔/主要矛盾/我的Java入门项目(第一周).md" >/dev/null 2>&1 && echo "存在" || echo "不存在"

模板如下:

ls "" >/dev/null 2>&1 && echo "存在" || echo "不存在"
  • stat 会读取文件属性,若文件不存在则报错。
  • 比 ls 更可靠,但仍不如 test 轻量。

3、find指令

# 精确匹配文件名(在指定目录下)
find "/home/ubuntu/secretary/obsidian_vault/我的笔记/随笔/主要矛盾" -name "我的Java入门项目(第一周).md" -type f | grep -q . && echo "存在" || echo "不存在"
  • -type f 确保是普通文件。
  • grep -q . 判断是否有输出(即找到文件)。

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 kipleyarch@gmail.com
Obsidian