Skip to content
李小明 edited this page Mar 4, 2024 · 113 revisions

常用

  • 系统信息:$ uname -a 例如:Linux 82816b8ae4b7 5.4.0-56-generic #62-Ubuntu SMP Mon Nov 23 19:20:19 UTC 2020 x86_64 Linux
  • 系统版本: $ lsb_release -a
  • 内核版本: $ cat /proc/version
  • 显示库版本: # dpkg -l | grep 名字
  • 升级内核:执行sudo apt list | grep linux-generic*查看可用,一般选择HWE进行安装sudo apt install linux-generic-hwe-18.04
  • 64位还是32位: $ getconf LONG_BIT
  • 主板硬件信息:$ sudo dmidecode |grep -A16 "System Information$"
  • CPU信息: $ lscpu
  • 内存硬件信息:$ sudo dmidecode |grep -A16 "Memory Device$"
  • 内存大小信息: $ free -h
  • 硬盘分区UUID: $ blkid
  • 硬盘详细信息: $ sudo parted,接着执行print list输出硬盘的型号、路径、扇区、分区表和分区详细信息。
  • 时间信息: $ timedatectl
  • 设置时区: $ sudo timedatectl set-timezone "Asia/Shanghai"
  • 关闭时间同步: $ sudo timedatectl set-ntp false
  • 修改时间: 先关闭时间同步, 再 $ sudo timedatectl set-time 09:20:06
  • 修改日期: 先关闭时间同步, 再 $ sudo timedatectl set-time 2019-05-15
  • 网卡信息: $ sudo ethtool enp2s0, enp2s0为网卡名称, 可通过$ ip a命令查看. 只能查看板载有线网卡信息!
  • 有线网卡设为双工1000MB/S模式: sudo ethtool -s enp2s0 duplex full autoneg off speed 1000 , 如果网络断了执行 sudo ip link set enp2s0 up 后拔插网线实现.
  • 网络连接: # netstat -aultnp, 需要先安装# apt-get install net-tools.
  • 网络带宽及DNS连接: # iftop, 需要先安装.
  • DNS信息: $ resolvectl status
  • 挂载的文件系统的容量信息: $ df -h , 后面可以加上文件夹路径以查看其所在文件系统信息.
  • 文件大小: $ sudo du -hs * .
  • 文件权限大小日期:$ ls -l
  • 文件SHA256$ sha256sum 文件路径.
  • 删除文件(文件夹),忽略不存在错误:$ rm -rf not_exists 2&> /dev/null
  • 删除修改日期超过7天以上的文件:$ find * -mtime +3 -exec rm {} \;
  • 模糊查找并删除: find "${DIR_PATH}/zip" -name 'ASTWBDV001*.zip' -exec rm {} \;
  • 目录快捷方式: $ ln -s ~/dev/next/web link , 在当前位置生成~/dev/next/web的快捷方式link.
  • NTFS不能修改问题修复: 先在文件的其他位置中查看盘路径(例如/dev/sda3), 执行 $ sudo ntfsfix /dev/sda3 后重新挂载.
  • 压缩包分割: $ split -b 30M msi.tar.gz "msi.tar.gz."
  • 压缩包合并: $ cat plsql.tar.gz.* > plsql.tar.gz
  • 切换JDK版本: $ sudo update-alternatives --config java 当安装了多个版本JDK时可通过此命令切换.
  • 启动应用程序首选项: $ gnome-session-properties
  • NO_PUBKEY时添加:$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6A030B21BA07F4FB
  • 查询已经安装的软件包: sudo dpkg --get-selections | grep spiceapt list -a --installed | grep spice
  • APT查询可用版本: # apt list --all-versions | grep gstreamer
  • APT安装指定版本: # apt install libvirt-dev=6.0.0-0ubuntu8 , libvirt-dev为软件包名, 6.0.0-0ubuntu8为可用版本.

安装共享库(so文件)

比如RocksDB需要librocksdb.so.6.5, 此时可以直接复制编译好的librocksdb.so, 将其放到/usr/local/lib中:

  1. 做个软链接: # ln -s librocksdb.so librocksdb.so.6.5
  2. 注册库: # ldconfig

exFAT

支持访问

$ sudo apt-get install exfat-fuse exfat-utils

创建分区

$ sudo mkfs.exfat -n 共用 /dev/sdX

首先创建gpt分区表.

apt代理

在$HOME文件夹中创建文件apt.conf并添加如下内容:

Acquire {
  HTTP::proxy "http://127.0.0.1:4445";
  HTTPS::proxy "http://127.0.0.1:4445";
}

apt需要代理时, 加参数 -c apt.conf , 例如: $ sudo apt -c apt.conf update

ssh隧道不行, 代理必须是http和https的, 可用v2ray. 参考 http://daemon369.github.io/network/2014/06/05/use-proxy-for-apt-get

终端代理

$ export https_proxy="http://127.0.0.1:4445"

删除乱码文件(夹)

  1. 执行ls -i查看乱码文件(夹)左边的数字
  2. 执行find -inum 数字 -delete删除
  3. 非空文件夹执行find -inum 数字 -exec rm -rf {} \;

注意: 速度较慢, 参考 https://blog.csdn.net/tianwang1101/article/details/76079435

ISO类型U盘的格式化

  1. 删除分区 $ sudo fdisk /dev/sdb 反复按d删除所有分区, 按w保存;
  2. 格式化 $ sudo mkfs -t ntfs -f /dev/sdb1.

注意: 对应替换U盘路径 /dev/sdb 为真实的.


设置

点击Dock图标最小化

$ gsettings set org.gnome.shell.extensions.dash-to-dock click-action 'minimize'

更多调整

$ sudo apt install gnome-tweaks

然后从dash中打开优化

18.04注意

grub菜单等待时间

修改为等待2秒

$ sudo sh -c 'echo GRUB_RECORDFAIL_TIMEOUT=2 >> /etc/default/grub'
$ sudo update-grub

开机启动

从18.04开始默认没有/etc/rc.local文件, 需要手动创建:

#!/bin/sh -e

#
# add script before "exit 0"
#

exit 0

保存, 然后执行

$ sudo chmod +x /etc/rc.local
$ sudo systemctl enable rc-local.service
$ sudo systemctl start rc-local.service

WIFI设置

  1. 安装wpasupplicant
$sudo apt install -y wpasupplicant

说明: 经过测试在18.04和19.10中, 我的USB WIFI(mt7601u)启动时一直报错:mt7601u rx urb failed无法使用, 但安装这个后问题解决.

  1. 按照树莓派Ubuntu Server的WIFI配置文档完成配置.

网络

查看在用端口及pid

$ sudo ss -ntlp

某些程序打开的端口好像没有,得通过netstat -aultnp才会显示.

科学上网

VPN服务(PPTP,容易封杀)

https://help.ubuntu.com/community/PPTPServer

VPN服务(OpenVPN)

https://github.com/Nyr/openvpn-install

注意:让设置IP时,此IP为服务器的网卡IP,并非真是的公网IP!

SSH隧道

$ ssh -NfD 4444 -i /path/to/aws.pem ubuntu@服务器IP

说明:aws.pem为服务器的ssh key. 执行命令后在本机4444端口上建立了与服务器的隧道,本级请求会被发送到服务器, 服务器自动将tcp请求转发到最终目的地. 本地使用Socket5连接4444端口即可科学上网, 本机到服务器的通信是加密的. 如需在系统启动时自动执行, 写一个sh脚本沉睡半分钟后执行此命令, 在.profile中后台运行sh脚本.

miredo

$ sudo apt install -y miredo
$ sudo nano /etc/miredo.conf

将文件内容修改为

# Please refer to the miredo.conf(5) man page for details.
InterfaceName   teredo

# Pick a Teredo server:
ServerAddress teredo.remlab.net
#ServerAddress win10.ipv6.microsoft.com

# Some firewall/NAT setups require a specific UDP port number:
#BindPort       3545

保存,然后

$ sudo nano /lib/systemd/system/miredo.service

删除ExecStartPre=...这行,保存.

预执行会导致miredo自启动失败,所以删除.

SSH

免密登录

本机执行:

  1. $ ssh-keygen -t rsa
  2. $ ssh-copy-id username@remote-server-ip

修改端口

编辑 /etc/ssh/sshd_config 将其中的 Port 22 修改为 Port 新的端口

USB设备权限开放给Chrome

注意: Ubuntu 20.04中,Chrome 85可以正常访问以USB连接并允许访问数据的三星手机.

默认情况下Chrome没有权限, 需要特别设置后才能访问.

首先插入USB设备, 执行 lsusb, 结果如下:

km@km-pc:~$ lsusb
Bus 002 Device 004: ID 0951:1666 Kingston Technology DataTraveler G4
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 138a:0017 Validity Sensors, Inc. Fingerprint Reader

观察插入USB设备信息行ID后面的部分, 比如 0951:1666. 分号前面是厂商代码, 后面是产品代码.

/etc/udev/rules.d/ 中新建规则文件, 比如 usb-0951-1666.rules. 在规则文件中添加下面内容:

SUBSYSTEM=="usb", ATTRS{idVendor}=="厂商代码", ATTR{idProduct}=="产品代码", MODE="0660", GROUP="plugdev"

保存后重新插入USB设备, Chrome就能访问了. Chrome中访问 chrome://device-log/?refresh=1 查看日志, 访问 chrome://usb-internals/ 可以添加模拟设备.

参考 https://stackoverflow.com/questions/47650400/failed-to-open-dev-bus-usb-001-007-permission-denied-for-usb-device?answertab=active#tab-top

鼠标移动速度调整

16.04中系统设置>鼠标和触摸板里可以直接设置指针速度,但是在使用4K屏幕时移动速度还是显得很慢。调整方法如下:

  1. Run in terminal xinput --list --short and find your mouse id (我想调整的鼠标id为12)
  2. Run in terminal xinput --list-props 12 (12改成上个步骤中查到的鼠标id)
  3. Find the id for the property Device Accel Constant Deceleration (我查到的值是305)
  4. Run in terminal xinput --set-prop 12 305 0.5 (12改成第一步查到的id,305改成第三步查到的值)

The last number (0.1) is the important value. The smaller the number the faster your cursor moves (default value is 1.0). Play around with the values till you find one that works for you and then add the command to the startup applications GUI.

参考https://askubuntu.com/questions/875817/how-to-increase-mouse-movement-speed-in-ubuntu-16-04?answertab=votes#tab-top

安装

NVIDIA驱动

访问 https://www.geforce.cn/drivers 手动搜索驱动程序,下载后是一个run格式文件。执行下面命令即可安装:

$ sudo chmod +x NVIDIA-Linux-x86_64-430.09.run
$ sudo apt install gcc make
$ sudo su
# ./NVIDIA-Linux-x86_64-430.09.run

按照提示完成安装后重启即可。验证执行:

$ nvidia-smi

18.04中GTX1660安装时无法显示, 得用CPU核心显示完成安装, 然后再手动安装驱动.

更新固件

参考 https://itsfoss.com/update-firmware-ubuntu/

$ sudo apt update && sudo apt upgrade -y
$ sudo fwupdmgr refresh
$ sudo fwupdmgr update

速度很慢, 耐心等待.

CUDA Toolkit

https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1804&target_type=deblocal

安装时如果提示 cuda : 依赖: cuda-10-1 (>= 10.1.105) 可以执行下面语句,然后按提示操作:

$ sudo apt-get install -y aptitude && sudo aptitude install cuda

18.04中我是先安装了nvidia驱动,之后安装cuda时就出现上面问题. 19.04中似乎没有问题.

Google拼音

安装

$ sudo apt install -y fcitx
$ im-config

选择“确定”,选择“是”,勾选“fcitx”,选择“确定”,重启。

$ sudo apt install -y fcitx-googlepinyin
$ sudo reboot

重启后安装已经成功了,任务栏中语言图标点开后的菜单里面只有“配置”(fcitx-config-gtk3)是可用的。点开后在输入法标签中看到Google拼音说明安装成功,需要输入中文时按“ctrl+空格”键。

参考 https://ywnz.com/linuxjc/2891.html

设置

为了方便输入并尽可能去除非必要快捷键,进入配置的“全局配置”标签,配置如下:

  1. 快捷键>切换激活: Lshift Rshift
  2. 快捷键>额外的激活输入法快捷键: 两侧 Shift
  3. 快捷键>启用输入法间切换: 去除勾选
  4. 快捷键>上一页: ,
  5. 快捷键>下一页: .
  6. 程序>在窗口间共享状态: 所有
  7. 勾选"显示高级选项": 将其它快捷键通过按Esc的方式去除.

注意

18.04.02中发现一个问题: 文件管理器中搜索不能输入中文, 非要在文件管理器中其它文本框中激活一次中文输入后才能在搜索中输入中文.

Clone this wiki locally