Linux常用脚本
Linux 系统介绍
环境搭建
# 容易缺失的软件库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/ |
软件列表
# 必装软件sudo apt install build-essential vim git wget tldr unzip zip aptitude# documentsudo apt install texlive-full emacs pandoc# fontsudo apt install fonts-wqy-microhei fonts-wqy-zenhei# python3 and pipsudo apt install python-is-python3 python3-pip# juyptersudo apt install python3-ipykernel# 小工具sudo apt install ascii常用命令
# 开机启动命令行界面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.tartar -zcvf demo.tar.gztar -jcvf demo.tar.bz2tar -xvf demo.tartar -jxvf demo.tar.bz2tar -zxvf demo.tar.gz压缩解压文件命令
# 1. 使用 tar 压缩文件# 该命令表示压缩当前文件夹下的文件夹 test,压缩后缀名为 test.tar.gztar -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.tarFAQ
新安装的 debian 系统,如何添加用户并获取 root 权限
首先切换到 root 用户,然后执行以下命令:
# 创建用户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 免密码登录
mkdir .sshmv id_rsa.pub .sshcd .sshcat id_rsa.pub >> authorized_keyssudo chmod 600 authorized_keysservice sshd restartvnc 服务配置
#!/bin/shunset SESSION_MANAGERunset DBUS_SESSION_BUS_ADDRESSstartxfce4 &在 /etc/systemd/system/vncserver@.service 文件中修改。
更改 Debian 12 bookorm 镜像源
可能 https 存在认证问题 先将源中的 https 改为 http,安装如下软件后再改回来,sudo apt install apt-transport-https ca-certificates
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmwaredeb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmwaredeb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmwaredeb 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
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmwaredeb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmwaredeb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmwaredeb 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软件列表
# 必装软件
sudo apt install build-essential vim git wget tldr unzip zip aptitude# documentsudo apt install texlive-full emacs pandoc# fontsudo apt install fonts-wqy-microhei fonts-wqy-zenhei# python3 and pipsudo apt install python-is-python3 python3-pip# juyptersudo apt install python3-ipykernel# 小工具sudo apt install ascii常用命令
# 开机启动命令行界面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.tartar -zcvf demo.tar.gztar -jcvf demo.tar.bz2tar -xvf demo.tartar -jxvf demo.tar.bz2tar -zxvf demo.tar.gzFAQ
| Q | A |
|---|---|
| 修改时区? | tzselect设置,ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime |
Q: Linux 免登录? A:
mkdir .sshmv id_rsa.pub .sshcd .sshcat id_rsa.pub >> authorized_keyssudo chmod 600 authorized_keysservice sshd restartLinux Config
vnc 配置
#!/bin/shunset SESSION_MANAGERunset DBUS_SESSION_BUS_ADDRESS
startxfce4 &在/etc/systemd/system/vncserver@.service文件中,注意修改
Linux 学习记录
常用命令说明
- 使用 tar 压缩文件
tar -zcvf test.tar.gz ./test/
该命令表示压缩当前文件夹下的文件夹 test,压缩后缀名为 test.tar.gz
如果不需要压缩成 gz,只需要后缀为 tar 格式的,那么输入如下命令:
tar -cvf test.tar ./test/
- 使用 tar 解压文件
tar -xzvf test.tar.gz
该命令表示把后缀为.tar.gz 的文件解压到当前文件夹下。
如果压缩文件的后缀是.tar,没有 gz,则使用命令:
tar -xvf test.tar
嵌入式 Linux 开发
网络资源
环境搭建
# 编译器等
# 容易缺失的软件sudo apt install lib32z1 lib32ncurses5 lib32bz2-1.0
# tftp搭建
# nfs环境搭建uboot
Linux kernel
rootfs
常用脚本
安装软件
#!/bin/bash
# 升级系统UPDATE_SYSTEM=true
# 安装常用软件INSTALL_SOFTWARE=true
# 安装xfce4INSTALL_XFCE=true
# 安装并配置远程桌面INSTALL_XRDP=true
# 更新系统if [ "$UPDATE_SYSTEM" = true ]; then sudo apt update && sudo apt upgrade -yfi
# 安装常用软件if [ "$INSTALL_SOFTWARE" = true ]; then sudo apt install -y vim build-essential sudo apt install -y git wget neofetchfi
# 安装xfce4if [ "$INSTALL_XFCE" = true ]; then sudo apt install -y xrdp xfce4fi
# 安装并配置远程桌面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-zenheifi常用软件的常用命令
TMUX
tmux 是一个终端复用软件,可以用来在一个终端窗口中创建多个会话,每个会话中可以运行多个命令,并且可以同时在多个窗口中进行交互。
- 显示帮助:
Ctrl+b ? - 新建会话:
tmux new -s session_name - 连接会话:
tmux a -t session_name - 断开会话:
Ctrl+b d - 新建窗口:
Ctrl+b c - 重命名窗口:
Ctrl+b , - 切换窗口:
Ctrl+b w - 切换到上一个窗口:
Ctrl+b p - 切换到下一个窗口:
Ctrl+b n - 关闭窗口:
Ctrl+b & - 列出所有会话:
tmux ls
VNC
首先输入指令安装 vnc 服务器sudo apt install tightvncserver,如果没有 xfce4 桌面,还需要安装 xfce4 桌面环境。然后在用户加目录下面执行tightvncserver,会提示输入密码,要求至少六个字符。输入密码后,会自动创建.vnc文件夹。然后在终端中输入以下指令:
cat>.vnc/xstartup<<EOF#!/bin/shunset SESSION_MANAGERunset DBUS_SESSION_BUS_ADDRESSstartxfce4 &EOF此时直接输入vncserver :1即可运行服务端,默认端口为5901。关闭则输入命令:vncserver -kill :1。
每次都手动执行比较麻烦,所以可以按照以下方法设置 VNC 自启动设置:
在 bash 中执行命令sudo vim /etc/systemd/system/vncserver@.service,将下面的内容写入其中。
注意修改用户名以及相应的群组和目录
[Unit]Description=Start TightVNC server at %i startupAfter=syslog.target network.target[Service]Type=forkingUser=hapsGroup=hapsWorkingDirectory=/home/hapsPIDFile=/home/haps/.vnc/%H:%i.pidExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1ExecStart=/usr/bin/vncserver -depth 24 -geometry 1024x768 :%iExecStop=/usr/bin/vncserver -kill :%i[Install]WantedBy=multi-user.target然后执行下面的命令:
# 更改配置文件后需要重新加载sudo systemctl daemon-reload# 设置为开机自启动sudo systemctl enable vncserver@1.service# 立即启动sudo systemctl start vncserver@1.service# 查看状态sudo systemctl status vncserver@1.service关键在于系统服务配置文件中,ExecStartPre命令需要添加-,表示该命令执行失败后会继续执行。不加则会因为该命令执行失败,后续命令不执行。
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!