dd命令底层低效,仅供备用:

#备份
sudo dd if=/dev/sda1 of=~/elf.bak status=progress
#还原
sudo dd if=~/elf.bak of=/dev/sda1 status=progress
#压缩备份
sudo dd if=/dev/sda1 status=progress | gzip -c > ~/elf.bak
#压缩还原
gunzip -c ~/elf.bak | sudo dd of=/dev/sda1 status=progress
  • 2 备份还原 MBR 和分区表

#备份MBR
sudo dd if=/dev/sdX of=/path/to/mbr bs=512 count=1
#还原MBR
sudo dd if=/path/to/mbr of=/dev/sdX bs=512 count=1
#MBR只还原分区表
sudo dd if=/path/to/mbr of=/dev/sdX bs=66 skip=446 count=1
#MBR清空引导记录
sudo dd if=/dev/zero of=/dev/sdX bs=446 count=1
#备份分区表
sudo sfdisk -d /dev/sdX > /path/to/fqb
#还原分区表
sudo sfdisk /dev/sdX < /path/to/fqb
  • 3 解决与 Windows 时间不同步

sudo dpkg-reconfigure tzdata #时区设置
sudo hwclock --localtime --systohc #使用本地时间并写入主板

正常情况下,Deepin已经具备了网络时间同步功能,如一旦失效,则可以:

sudo apt install ntpdate #安装同步时间软件
sudo ntpdate-debian #网络时间同步

方法二:

    timedatectl set-local-rtc 1 --adjust-system-clock

使用systemd启动之后,时间由timedatectl来管理,重启完成将硬件时间UTC改为CST。
恢复UTC:timedatectl set-local-rtc 0
查看:cat /etc/adjtime

  • 4 删除不需要的旧内核

查询所有内核:dpkg --get-selections |grep linux
正在使用的内核不能删除:uname -r

删除不需要的内核:sudo apt purge XXX

  • 5 清除已卸载软件遗留配置

dpkg --get-selections |grep deinstall | sed 's/deinstall/\lpurge/' | sudo dpkg --set-selections; sudo dpkg -Pa
  • 6 开机进入命令行

开机进入命令行:sudo systemctl disable lightdm
恢复开机进桌面:sudo systemctl enable lightdm

  • 7 系统启动分析

显示启动系统过程中用户态和内核态所花的时间:systemd-analyze
显示每个启动项所花费的时间明细:systemd-analyze blame

  • 8 假死后安全重启系统

同时按住Ctrl+Alt+SysRq+B,可实现安全重启,其中SysRq就是Print Screen键。
适合假死或黑屏时重启系统。注意有Fn功能键的,视配置可能需要同时按住Fn功能键。

经测试,Alt+SysRq+B可以达到相同的效

  • 9 进程相关命令

pgrep XXX #查询进程IDps -ef |grep XXX #显示所有进程信息,连同命令行
ps -aux |grep XXX #列出目前所有的正在内存当中的程序
可以用 | 管道和 more 连接起来分页查看:ps -aux |moresudo netstat -tulpn |grep :21 #查询端口
pkill XXX #杀掉
killall XXX #全杀
  • 10 Live 模式修复 GRUB 引导

    打开Terminal,或者进入Shell,执行sudo -i && fdisk -l找到系统安装分区sdaX,然后按顺序执行:

mount /dev/sdaX /mnt
mount /dev/sdaY /mnt/boot/efi
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
chroot /mnt
update-grubgrub-install /dev/sda
exit

不同硬盘酌情修改。

  • 11 离线安装软件

    当没有网络连接的电脑上需要安装某个软件时,可以使用下面的脚本下载该软件以及依赖包,在脱机电脑上执行:

sudo dpkg -i *.deb

如果上述安装命令最后报错,则需要执行:

sudo apt install -f

如果提示缺少软件包(依赖),则拷贝依赖包名(例如XXX),在有网络的电脑上执行:

apt download XXX

再拷贝到脱机电脑上双击安装即可。
批量下载脚本如下:

#! /bin/bash
pkg="$*"

function getDepends()
{
ret=\`apt-cache depends $1 |grep -i 依赖 |sed 's/(.*)//' |cut -d: -
f2\`
if [[ -z $ret ]]; then
echo "$1 No depends"
echo -n
else
# echo $ret
# apt-cache depends $1 |grep -i 依赖
# echo ''
for i in $ret
do
if [[ `echo $pkg |grep -e "$i "` ]]; then
# echo "$i already in set"
echo -n
elif [[ $i =~ '<' ]]; then
echo "Drop $i"
elif [[ "$i" != "libc6" &&
"$i" != "libcairo2" &&
!("$i" =~ "glib") &&
!("$i" =~ "gtk") &&
!("$i" =~ "font")
]]; then
# echo "Download $i ing"
pkg="$pkg $i"
getDepends $i
fi
done
fi
}

for j in $@
do
getDepends $j
done

# echo $pkg
apt download $pkg -d -y
  • 12 制作 USB 启动盘

sudo dd if=/path/to/the/downloaded/iso of=/path/to/the/USB/device
#显示进度
sudo dd if=/path/to/the/downloaded/iso of=/path/to/the/USB/devicestatus=progress
  • 13 查看与同步 GPT 分区 UUID

查看UUID方法一:blkid
查看UUID方法二:ls -l /dev/disk/by-uuid

同步:sudo vi /etc/fst

  • 14 配置命令行默认 Python 版本

    不推荐,可能导致某些依赖python的软件出现问题!在此仅作为示例,介绍update-alternatives的基本用法。

首先需要在系统中添加Python2.7、Python3.5的选项,默认为Python3.5(优先级20)

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 10
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.5 20
#显示
update-alternatives --display python
#切换
sudo update-alternatives --config python
Last modification:July 24th, 2019 at 12:20 pm
如果觉得我的文章对你有用,请随意赞赏