git fetch –all
git reset –hard origin/master
git pull

交换分区#
大小推荐#
| 物理内存 | 交换分区(SWAP) |
|---|---|
| <= 4G | 至少4G |
| 4~16G | 至少8G |
| 16G~64G | 至少16G |
| 64G~256G | 至少32G |
调节操作#
# 查看命令相关
sudo swapo
swapoff swapon
# 关闭现有的交换分区
sudo swapoff /swapfile
# 查看效果
htop
# 预支出一块儿空地
sudo fallocate -l 16G /swapfile
du -sh /swapfile
# 设置权限 防止误操作
sudo chmod 600 /swapfile
# 整上
sudo mkswap /swapfile
mkswap: /swapfile:警告,将擦除旧的 swap 签名。
正在设置交换空间版本 1,大小 = 16 GiB (17179865088 个字节)
无标签, UUID=6de8b5e1-bdc3-4e7b-98c9-6801126fcb0b
# 开!
sudo swapon /swapfile
# 查看
swapon --show
NAME TYPE SIZE USED PRIO
/swapfile file 16G 535.3M -2
# 写到fstab自动挂载
sudo vim /etc/fstabfstab示例:
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/nvme0n1p5 during installation
UUID=a99e475d-766f-49db-85ce-5c1308beab58 / ext4 errors=remount-ro 0 1
# /boot/efi was on /dev/nvme0n1p1 during installation
UUID=5C1D-5115 /boot/efi vfat umask=0077 0 1
/swapfile none swap sw 0 0
LABEL=Windows /mnt/Windows auto nosuid,nodev,nofail,x-gvfs-show,x-gvfs-name=Windows 0 0靓仔是
/swapfile none swap sw 0 0
tar 指定解压目录#
tar xvf test.tar.gz -C /data/
tree
.
├── data
│ ├── testUbuntu22.04 切换wifi#
# 切换
sudo nmcli con up CMCC-XXXX-5G
# 使用show可以查看保存wifi
e
# 连接wifi
sudo nmcli dev wifi connect CMCC-XXXX password woshipassword123
# 删除记录
sudo nmcli con delete CMCC-YYYY
# 开关wifi
sudo nmcli radio wifi on
sudo nmcli radio wifi offUbuntu22.04 依赖项整理#
- vbox: libqt5opengl5
- kate: konsole
- Qt5.12.12: mesa-common-dev, libgl1-mesa-dev
- OpenCV4.6.0: libgtk2.0-dev, pkg-config, libcanberra-gtk-module
- 如果没有安装这俩依赖不会影响编译,但是编译后会有功能损失,补充安装后不会修复;
- 如果想修复,只能安装后再编译一次;
dpkg .deb#
Install#
sudo dpkg -i file.deb
c l r P L s#
-c列出内容-l提取包信息-r移除一个已安装的包-P完全清除一个已安装包-L列出安装所有文件清单-s显示已安装包信息
WSL#
wsl问题 因为后面不太喜欢这种东西了,还是上了物理机. 所以就不粘贴过来了.
配置文件#
限制使用win资源
[wsl2]
swap=8GB
swapFile=C:\\Users\\Ian\\Documents\\LinuxSwap
memory=10GB
processors=6
kernelCommandLine = vsyscall=emulate
[experimental]
autoMemoryReclaim=gradualautoMemoryReclaim#
gradual表示渐进回收,比较温和。- 还有
dropcache模式,会更激进一点(直接清缓存)。
异端gui#
啊哈 👍 这个问题我懂:你在 WSL2 里跑 Linux GUI 应用,结果界面上文字都变成了小方框,说明系统里缺少常用字体。 解决方法是 给 WSL 里装字体包,然后刷新字体缓存。
✅ 解决步骤#
- 更新系统包索引
sudo apt update- 安装常见字体包
推荐把以下几个都装上,涵盖英文 + 中文 + 常用符号:
# 基本英文字体
sudo apt install -y fonts-dejavu-core fonts-dejavu-extra
# 中文字体(简体 + 繁体)
sudo apt install -y fonts-noto-cjk
# 日文字体(如果需要) - 并不需要
sudo apt install -y fonts-noto-cjk-extra
# emoji 表情字体
sudo apt install -y fonts-noto-color-emoji- 刷新字体缓存
fc-cache -fv- 重启 GUI 程序
重新打开你运行的 GUI 应用,看看文字是不是正常显示了。
🔧 可选:拷贝 Windows 字体到 WSL#
如果你想让 WSL 用 Windows 里相同的字体,可以这样做:
sudo mkdir -p /usr/share/fonts/windows
sudo cp -r /mnt/c/Windows/Fonts/* /usr/share/fonts/windows/
sudo fc-cache -fv这样就能在 WSL 里直接用 Windows 的字体(微软雅黑、宋体、黑体等)。
👉 可以优先装 fonts-noto-cjk,它是 Google 的全套中日韩字体,几乎所有缺字问题都能解决。
sudo apt upgrade#
E: Sub-process /usr/bin/dpkg returned an error code (1)
解决#
sudu下
- 备份
/var/lib/dpkg/info - 新建
/var/lib/dpkg/info - 重新执行更新
- 合并
/var/lib/dpkg/info和 备份文件 - 完
说明#
非原理性解决方案, 若解决不了, 另寻他法或者需要直击灵魂.
磁盘操作#
NTFS#
修复挂载问题#
ntfsfix /dev/{disk name}一般发行版#
在此中可以使用ntfsfix, 不过刚才看了一圈儿, 好像, 这工具就是来源于下面所介绍的
树莓派#
因为没有预装ntfsfix, 所以
- 安装
ntfs-3g很久远的工具:sudo apt install ntfs-3g(看3g就知道年代久远 😄) - 取消挂载,
sudo umount /dev/sda{N} - 重新挂载,
mount –t ntfs /dev/sda{n} /media/pi
就可以有读写权限了. 不然只有读的, 挺不好的.
不过在windows放了缓存在里面的话就没办法挂载为可写了, 方法是取消Win的快速启动功能后关机,不使用休眠.
磁盘查询命令#
fdisk -l
df -hLVM概要(がいよう)
自弁の理解:
- 将零散的集合起来,再进行动态分组。
- PV » VG » LV
じゃあ作成(さくせい):#
pvcreat disk1 disk2 di3 ... # 集合
pvs|pvdisplay
vgcreat 集合name 1 2 3 ... # 集合
vgs|vgdisplay
lvcreat -n name -L size 集name
lvs|lvdisplay格式化磁盘:#
mkfs.ext4 /dev/集name/name # 格式化此(PS:路径为所示)注: 不过要采用这种方法来给Linux扩容的话需要之前时就选定Linux磁盘管理为LVM,否则主目录在之后不能添加lv组,也就谈不上添加。
LVMの削除(さくじょ):#
LV lvremove /dev/...
VG vgremove 集name
PV(物理卷) pvremove /dev/...disk LVの追加(ついか):#
lvexpend -L +1G /dev/集name/name
# 增加了空白空间
resize2fs /dev/... 更新文件系统 使空白空间得以有身份(文件系统)disk VGの追加#
pvcreat /dev/sdd(new)
vgexpend 集name /dev/sdd网络#
SSH 远程终端控制#
ssh root(usrname)@192.168.^.^ (IP)
输入密码错误之后——就…之前解决过,然而忘了上次怎么解决的了(京东云)反正这次是等着等着突然就能连接了。 以后可得把解决方案记录到这儿ヽ(*。>Д<)o゜
另外,ssh公钥🔑连接方式可以参考makethingseasy中的描写。
ping 测试连通#
mtr 测试网络+每个路由信息
* + IP
VNC 桌面远程#
Emmmm 当时还写了这个?现在倒是用这个在链接树莓派o(∩∩)o…哈哈(2021-04-22)
壓縮打包#
tar -zxvf **.tar.gz:.tar.gztar -jxvf **.tar.bz2:.tar.bz2
tar#
tar xvzf fileName.tar.gz
tar cvzf fileName.tar.gz targerNamex: 解压 c : 压缩
exclude#
exclude 后目录不用带
/,--exclude需放在-cvf参数之前
tar --exclude='.*' --exclude='.git' --exclude='mysql*' -cvf xxx.tar xxx/Ubuntu 16.04 升级 Ubuntu 18.04#
___ 经尝试真的不如备份自我资料后重装……因为太…慢…了… 更新还不稳。
其实还好… 就是更新速度慢了点儿。早不到十点更新到了下午13点38分。不过基于是一键式的所以还是有多点儿好处的。 更新命令
sudo do-release-upgrade
# 提示是没法找到可用更新…
# 所以 之后增加了
-c
# 还是不行
-d
# 参数完成更新但是python被重装了!!!! 里面的包都没了…🐎a算了,好在软件级别的东西都还在…另外pip也损坏了,apt安装也失败,后面我就用了.py脚本重新安装,所以apt卸载再重装没试,不知道行不行。 收回前面“软件级别的都还在”,其实软件级别的也待测。
设定系统常量#
在用户目录下profile文件中可通过export 增加(一般来说是增加路径)
export IAN=/mnt/c/Users/ian
sourse ~/.profile之后便可通过cd $IAN 来访问win下的用户目录。当然,这个方法是在添加GoPath时注意到的。
emm 其实在/etc/profile 文件下才是系统王道
ps#
今年面试还碰到个问这个问题,说什么是变量….. 把我给整蒙了…..
结果一番问下才发现他想问的就是放在/etc/profile和~/.profile里有啥区别,
啥是系统,用户,会话级变量.唉.. 有时候突然听到基本问题就觉得对方是不是有什么深意…
tmux 虚拟多终端#
类似于vim多窗口编辑一类的东西,emm 或者说图形化ubuntu使用ctrl+alt+t叫出来的东西。这么一对比的话就是无界面化的虚拟终端——那个是界面里的虚拟终端嘛。 用于解决ssh连接远程开启应用,断开后不关闭进程的方案。因为nohup好像并不稳定的样子……
不过用起来… 不太了解怎么这就能够持久化了…因为毕竟是虚拟窗口,间makethingseasy中,其实…好像…大概…没什么关系吧。这两者。
最大文件数/单进程最大文件数#
bump fs.nr_open + fs.max-file to their largest possible values
cat /proc/sys/fs/file-max
cat /proc/sys/fs/nr_open今天(2021-04-22)看epoll的时候好奇看了一下,发现我的fs/file-max居然有9223372036854775807震惊一下.
查看某进程限制#
有时候某进程的远远小于上述两个的设定值
cat /proc/21975/limits | grep "Max open files"修改#
vim /etc/sysctl.conf
# 修改/添加: fs.file-max = 1048576
sysctl -p查看局域网内设备IP#
arp -a bash 查看当前unix时间#
在 Bash 中,你可以使用 date 命令来查看当前的 Unix 时间(即从 1970 年 1 月 1 日 00:00:00 UTC 到现在的秒数)。具体命令如下:
date +%s这个命令会输出当前的 Unix 时间戳。例如:
1697049600如果你需要毫秒级的 Unix 时间,可以使用以下命令:
date +%s%3N这个命令会输出当前的 Unix 时间戳,精确到毫秒。例如:
1697049600123