Linux常用脚本

本文最后更新于 2026年4月3日 下午

Linux 系统介绍

环境搭建

1
2
3
4
5
6
7
# 容易缺失的软件库
sudo apt install lib32z1 lib32ncurses5 lib32bz2-1.0

# tftp搭建

# nfs环境搭建

资源

网站 网址
内核官网 https://kernel.org/
uboot 官网 https://www.denx.de/wiki/U-Boot
uboot 源码 https://github.com/u-boot/u-boot/tree/master
Uboot 下载 https://ftp.denx.de/pub/u-boot/
嵌入式 Linux WiKi https://elinux.org/Main_Page
Buildroot https://buildroot.org/
交叉打包工具 https://crosstool-ng.github.io/

软件列表

1
2
3
4
5
6
7
8
9
10
11
12
# 必装软件
sudo apt install build-essential vim git wget tldr unzip zip aptitude
# document
sudo apt install texlive-full emacs pandoc
# font
sudo apt install fonts-wqy-microhei fonts-wqy-zenhei
# python3 and pip
sudo apt install python-is-python3 python3-pip
# juypter
sudo apt install python3-ipykernel
# 小工具
sudo apt install ascii

常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 开机启动命令行界面
sudo systemctl set-default multi-user.target
# 开机启动图形化界面
sudo systemctl set-default graphical.target
# 查看所有中文字体
fc-list :lang=zh

# 当脚本中需要root密码 "passwd"
# echo "passwd" | sudo -S <cmd_xxxx>

# 桌面安装
sudo apt-get install gnome-shell ubuntu-gnome-desktop unity-tweak-tool gnome-tweak-tool
# 编译环境配置
sudo apt install cmake build-essential python-is-python3
# 压缩解压
tar -cvf demo.tar
tar -zcvf demo.tar.gz
tar -jcvf demo.tar.bz2
tar -xvf demo.tar
tar -jxvf demo.tar.bz2
tar -zxvf demo.tar.gz

压缩解压文件命令

1
2
3
4
5
6
7
8
9
10
11
# 1. 使用 tar 压缩文件
# 该命令表示压缩当前文件夹下的文件夹 test,压缩后缀名为 test.tar.gz
tar -zcvf test.tar.gz ./test/
# 如果不需要压缩成 gz,只需要后缀为tar格式的,那么输入如下命令:
tar -cvf test.tar ./test/

# 1. 使用 tar 解压文件
# 该命令表示把后缀为.tar.gz 的文件解压到当前文件夹下。
tar -xzvf test.tar.gz
# 如果压缩文件的后缀是.tar,没有gz,则使用命令:
# tar -xvf test.tar

FAQ

新安装的 debian 系统,如何添加用户并获取 root 权限

首先切换到 root 用户,然后执行以下命令:

1
2
3
4
5
6
# 创建用户
sudo useradd -s /bin/bash -m {username}
# 设置密码
sudo passwd {username}
# 添加到root权限组
sudo usermod -aG sudo {username}

修改时区?

tzselect 设置, ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

Linux 免密码登录

1
2
3
4
5
6
mkdir .ssh
mv id_rsa.pub .ssh
cd .ssh
cat id_rsa.pub >> authorized_keys
sudo chmod 600 authorized_keys
service sshd restart

vnc 服务配置

1
2
3
4
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
startxfce4 &

/etc/systemd/system/vncserver@.service 文件中修改。

更改 Debian 12 bookorm 镜像源

可能 https 存在认证问题 先将源中的 https 改为 http,安装如下软件后再改回来,sudo apt install apt-transport-https ca-certificates

1
2
3
4
5
6
7
8
9
10
11
12
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware
# deb https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware

# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware
# deb-src https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware

资源

网站 网址
内核官网 https://kernel.org/
uboot 官网 https://www.denx.de/wiki/U-Boot
Uboot ftp 下载地址 https://ftp.denx.de/pub/u-boot/
嵌入式 Linux WiKi https://elinux.org/Main_Page
Buildroot https://buildroot.org/
交叉打包工具 https://crosstool-ng.github.io/

Debian 12 bookorm 镜像源

可能 https 存在认证问题 先将源中的 https 改为 http,安装如下软件后再改回来
sudo apt install apt-transport-https ca-certificates

1
2
3
4
5
6
7
8
9
10
11
12
13

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware
# deb https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware

# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware
# deb-src https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware

软件列表

1
2
3
4
5
6
7
8
9
10
11
12
13
# 必装软件

sudo apt install build-essential vim git wget tldr unzip zip aptitude
# document
sudo apt install texlive-full emacs pandoc
# font
sudo apt install fonts-wqy-microhei fonts-wqy-zenhei
# python3 and pip
sudo apt install python-is-python3 python3-pip
# juypter
sudo apt install python3-ipykernel
# 小工具
sudo apt install ascii

常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 开机启动命令行界面
sudo systemctl set-default multi-user.target
# 开机启动图形化界面
sudo systemctl set-default graphical.target
# 查看所有中文字体
fc-list :lang=zh

# 当脚本中需要root密码 " "
# echo " " | sudo -S <cmd_xxxx>

# 桌面安装
sudo apt-get install gnome-shell ubuntu-gnome-desktop unity-tweak-tool gnome-tweak-tool
# 编译环境配置
sudo apt install cmake build-essential python-is-python3
# 压缩解压
tar -cvf demo.tar
tar -zcvf demo.tar.gz
tar -jcvf demo.tar.bz2
tar -xvf demo.tar
tar -jxvf demo.tar.bz2
tar -zxvf demo.tar.gz

FAQ

Q A
修改时区? tzselect设置,ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

Q: Linux 免登录?
A:

1
2
3
4
5
6
mkdir .ssh
mv id_rsa.pub .ssh
cd .ssh
cat id_rsa.pub >> authorized_keys
sudo chmod 600 authorized_keys
service sshd restart

Linux Config

vnc 配置

1
2
3
4
5
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS

startxfce4 &

/etc/systemd/system/vncserver@.service文件中,注意修改

Linux 学习记录

常用命令说明

  1. 使用 tar 压缩文件

tar -zcvf test.tar.gz ./test/

该命令表示压缩当前文件夹下的文件夹 test,压缩后缀名为 test.tar.gz

如果不需要压缩成 gz,只需要后缀为 tar 格式的,那么输入如下命令:

tar -cvf test.tar ./test/

  1. 使用 tar 解压文件

tar -xzvf test.tar.gz

该命令表示把后缀为.tar.gz 的文件解压到当前文件夹下。

如果压缩文件的后缀是.tar,没有 gz,则使用命令:

tar -xvf test.tar

嵌入式 Linux 开发

网络资源

环境搭建

1
2
3
4
5
6
7
8
9
10
11
# 编译器等

# 容易缺失的软件
sudo apt install lib32z1 lib32ncurses5 lib32bz2-1.0

# tftp搭建

# nfs环境搭建



uboot

Linux kernel

rootfs

常用脚本

安装软件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/bin/bash

# 升级系统
UPDATE_SYSTEM=true

# 安装常用软件
INSTALL_SOFTWARE=true

# 安装xfce4
INSTALL_XFCE=true

# 安装并配置远程桌面
INSTALL_XRDP=true

# 更新系统
if [ "$UPDATE_SYSTEM" = true ]; then
sudo apt update && sudo apt upgrade -y
fi

# 安装常用软件
if [ "$INSTALL_SOFTWARE" = true ]; then
sudo apt install -y vim build-essential
sudo apt install -y git wget neofetch
fi

# 安装xfce4
if [ "$INSTALL_XFCE" = true ]; then
sudo apt install -y xrdp xfce4
fi

# 安装并配置远程桌面
if [ "$INSTALL_XRDP" = true ]; then
# Configure XRDP to use Xfce
sudo sed -i 's/^test -x/#test -x/' /etc/xrdp/startwm.sh
sudo bash -c 'echo "startxfce4" >> /etc/xrdp/startwm.sh'
# Restart XRDP service
sudo systemctl restart xrdp
# Enable XRDP to start on boot
sudo systemctl enable xrdp
# Allow RDP connections through the firewall
sudo ufw allow 3389/tcp
echo "XRDP installation and configuration completed."
fi

#
if [ "$INSTALL_TEXLIVE_FULL" = true ]; then
sudo apt install texlive-full fonts-wqy-zenhei
fi

常用软件的常用命令

TMUX

tmux 是一个终端复用软件,可以用来在一个终端窗口中创建多个会话,每个会话中可以运行多个命令,并且可以同时在多个窗口中进行交互。

  1. 显示帮助:Ctrl+b ?
  2. 新建会话:tmux new -s session_name
  3. 连接会话:tmux a -t session_name
  4. 断开会话:Ctrl+b d
  5. 新建窗口:Ctrl+b c
  6. 重命名窗口:Ctrl+b ,
  7. 切换窗口:Ctrl+b w
  8. 切换到上一个窗口:Ctrl+b p
  9. 切换到下一个窗口:Ctrl+b n
  10. 关闭窗口:Ctrl+b &
  11. 列出所有会话:tmux ls

VNC

首先输入指令安装 vnc 服务器sudo apt install tightvncserver,如果没有 xfce4 桌面,还需要安装 xfce4 桌面环境。然后在用户加目录下面执行tightvncserver,会提示输入密码,要求至少六个字符。输入密码后,会自动创建.vnc文件夹。然后在终端中输入以下指令:

1
2
3
4
5
6
cat>.vnc/xstartup<<EOF
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
startxfce4 &
EOF

此时直接输入vncserver :1即可运行服务端,默认端口为5901。关闭则输入命令:vncserver -kill :1

每次都手动执行比较麻烦,所以可以按照以下方法设置 VNC 自启动设置:
在 bash 中执行命令sudo vim /etc/systemd/system/vncserver@.service,将下面的内容写入其中。
注意修改用户名以及相应的群组和目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[Unit]
Description=Start TightVNC server at %i startup
After=syslog.target network.target
[Service]
Type=forking
User=haps
Group=haps
WorkingDirectory=/home/haps
PIDFile=/home/haps/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1024x768 :%i
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target

然后执行下面的命令:

1
2
3
4
5
6
7
8
# 更改配置文件后需要重新加载
sudo systemctl daemon-reload
# 设置为开机自启动
sudo systemctl enable vncserver@1.service
# 立即启动
sudo systemctl start vncserver@1.service
# 查看状态
sudo systemctl status vncserver@1.service

关键在于系统服务配置文件中,ExecStartPre命令需要添加-,表示该命令执行失败后会继续执行。不加则会因为该命令执行失败,后续命令不执行。


Linux常用脚本
https://blog.zimablue.fun/OS/Linux/
作者
zimablue1996
发布于
2024年8月11日
许可协议