Linux 常用命令

Linux 常用命令

查看系统信息

常用的系统信息命令可以帮助快速辨别硬件架构和发行版。

查看 CPU 架构:

uname -m

常见输出示例:x86_64

查看系统发行版信息:

cat /etc/os-release

后台任务

jobs / bg / fg

这组命令适合在同一个终端中暂存和恢复暂停的前台任务。

常用命令:

  • jobs:查看当前后台任务。
  • bg %1:让编号为 1 的任务在后台继续运行。
  • fg %1:把编号为 1 的任务恢复到前台。

screen

screen 可以在独立会话中运行命令,终端断开后仍然可以恢复查看。

常用操作:

  • screen:进入一个新的 screen 会话。
  • Ctrl + A,再按 D:从当前 screen 会话分离。
  • screen -r:恢复之前的 screen 会话。

tmux

tmux 的作用与 screen 类似,常被用来管理长期运行的会话。

后台运行命令

将任务送入后台运行并丢弃输出是常见的需求,下面展示两种写法。

./someserver-linux-amd64 server &>/dev/null &

说明:

  • &>:重定向标准输出和标准错误。
  • /dev/null:丢弃输出内容。
  • 最后的 &:让命令在后台执行。

注意:只使用 & 时,关闭终端后任务通常也会结束。

如果希望关闭终端后任务继续运行,可以使用 nohup

nohup ./someserver-linux-amd64 server &>/dev/null &

进程信息

以下命令用于排查运行中的进程和其资源占用。

列出进程:

ps aux

按进程名查找

ps aux | grep nginx

也可以使用:

pgrep nginx

pgrep 只返回进程号。

查看 CPU 占用

top 显示实时的 CPU 和内存占用情况,默认按 %CPU 排序。

top

查看占用文件的进程

lsofgrep 可以定位占用某个文件或套接字的进程。

lsof | grep nginx

查看监听端口

ss -plnt 是查看监听端口及其进程的常用组合。

ss -plnt

参数说明:

  • p:显示进程 ID 和进程名。
  • l:只显示监听中的 socket。
  • n:以数字形式显示 IP 和端口。
  • t:只显示 TCP 连接;如果要查看 UDP,可以改为 u

终止进程

使用 PID 终止某个进程:

kill 1234

终止 PID 为 1234 的进程。

killall nginx
pkill nginx

killallpkill 都可以按进程名终止进程。

解压文件

不同压缩格式对应不同解压命令,按需执行即可。

.tar

tar -xvf filename.tar

参数说明:

  • -x:解压文件。
  • -v:显示解压过程中的文件信息,可选。
  • -f:指定文件名。
  • -C:解压到指定目录。

解压到指定目录:

tar -xvf filename.tar -C /home/user/desktop

.tar.gz / .tgz

tar -xzvf filename.tar.gz
tar -xzvf filename.tgz

-z 表示文件使用 gzip 压缩。

.zip

unzip filename.zip

.zip 归档可以使用 unzip 直接展开。

.rar

unrar x filename.rar

.rar 通常使用 unrar 解压。

.7z

7z x filename.7z

.7z 格式则使用 7z 命令。

删除和新建

删除

rm file.txt

删除单个文件。

rm -r mydir

递归删除文件夹。

rm -rf mydir

强制递归删除文件夹,使用前务必确认路径,避免误删。

新建

touch file.txt

新建空文件。

echo "hello world!" > file.txt

写入文本并创建文件;如果文件已存在,会覆盖原内容。

mkdir mydir

新建文件夹。

systemd 服务

服务文件通常放在:

/etc/systemd/system/myservice.service

示例:

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

[Service]
ExecStart=/usr/local/bin/myscript.sh
Restart=always
User=myuser
Group=mygroup

[Install]
WantedBy=multi-user.target

关键配置:

  • ExecStart:服务启动时执行的命令。
  • Restart:服务异常退出后的重启策略。
  • User / Group:服务运行时使用的用户和用户组。

常用命令:

sudo systemctl daemon-reload
sudo systemctl start my_service
sudo systemctl enable my_service
sudo systemctl stop my_service
sudo systemctl disable my_service
sudo rm /etc/systemd/system/my_service.service
sudo systemctl daemon-reload

说明:

  • 修改或新增 service 文件后,需要执行 systemctl daemon-reload
  • enable 表示开机自启。
  • disable 表示取消开机自启。