俗话说,工欲善其事必先利其器.使用Ubuntu这么多年,有一些基本命令的使用总是忘记而反复去查,还有一些比较方便但散乱的使用技巧,可以在日常工作生活中极大的提高我们的效率,现记录如下.
一些好用的命令
命令,ubuntu操作中最快捷的方式.下面是一些好用的命令,记住以后偶尔用到会很方便.
// 在终端中打开当前文件夹
nautilus .
// 对比文件, 需先下载meld
meld xxx yyy
// 查看代码差异(gitk,很好用的查看代码差异的图形界面,比git log强多了)
gitk .
// 设置密码(可随意设置,没有长度限制)
sudo passwd
// 设置root用户
sudo password root
// 处理中文解压乱码问题
unzip -O CP936
// 普通tar解压, x解压, -f指定档案名称,
tar -xzvf xxx
// 普通打包 c打包
tar -cvf 文件名 要打包的文件
// 多线程下载,以下载一个win10 iso文件为例:
axel -n 20 http://pic.lpxt.com:789/ISO/cn_windows_10_x64_2020_07.iso
// 创建文件
touch xxx.txt
//过滤log
adb logcat -v time -b all | grep -E "sss|sdfsd"
ubuntu 各种中文乱码问题
- 首先,安装中文支持包language-pack-zh-hans:
$ sudo apt-get install language-pack-zh-hans
- 然后,修改/etc/environment(在文件的末尾追加):
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh:en_US:en"
- 如果还不行,就配置locale-gen, 终端执行
sudo locale-gen zh_CN.UTF-8
配置完后检查中文显示是否正常,若仍然不正常执行 配置语言环境变量
复制以下命令,终端执行
export LANG=en_US.UTF-8
export LANGUAGE=
export LC_CTYPE="en_US.UTF-8"
export LC_NUMERIC=zh_CN.UTF-8
export LC_TIME=zh_CN.UTF-8
export LC_COLLATE="en_US.UTF-8"
export LC_MONETARY=zh_CN.UTF-8
export LC_MESSAGES="en_US.UTF-8"
export LC_PAPER=zh_CN.UTF-8
export LC_NAME=zh_CN.UTF-8
export LC_ADDRESS=zh_CN.UTF-8
export LC_TELEPHONE=zh_CN.UTF-8
export LC_MEASUREMENT=zh_CN.UTF-8
export LC_IDENTIFICATION=zh_CN.UTF-8
export LC_ALL=
4 对于中文乱码是空格的情况,安装中文字体解决。
$ sudo apt-get install fonts-droid-fallback ttf-wqy-zenhei ttf-wqy-microhei fonts-arphic-ukai fonts-arphic-uming
- 对于解压乱码的,可以在环境变量中,指定unzip参数,总是以指定的字符集显示和解压文件
/etc/environment中加入2行
UNZIP="-O CP936"
ZIPINFO="-O CP936"
studio 加载源码
1. source build/envsetup.sh //(source可以用 . 代替,即". build/envsetup.sh")
2. lunch //并选择要编译的项目
3. make idegen -j4 // (这里的 -j4 表示用4线程来编译,可以不加)
4. sudo development/tools/idegen/idegen.sh //(我的电脑需要管理员权限才能执行成功,所以我一般会在前面加上"sudo")
创建桌面快捷方式
有时候每次点击sh文件启动比较麻烦,此时创建一个桌面快捷方式,每次启动只要双击桌面的启动图标就可以了.下面以studio的启动为例.
用编辑器创建并编辑一个 studio.desktop 文件.
[Desktop Entry]
Name=Studio
Comment=Android studio
Exec=/home/lisx/bin/android-studio/bin/studio.sh
Icon=/home/lisx/bin/android-studio/bin/studio.png
Terminal=false
StartupNotify=true
Type=Application
Categories=Application;Development;
将创建的文件可信任,右键查看文件属性–权限–勾选可执行
ps: 顺带说一句,编辑器啊,vi vim gedit 都没有geany好用.
Ubuntu的系统监视器不可用
可重新安装监视器
snap remove gnome-system-monitor
snap install gnome-system-monitor
也可以把整个gnome装上,比原生图形界面好用不少
sudo apt-get install gnome
adb devices 不识别设备
有时经常会遇到ubuntu突然不识别设备了,此时就需要把设备信息写入文件中,帮助系统识别
// 先插上设备,在终端输入命令:
lsusb
//然后拔出设备,再次在终端输入命令:
lsusb
// 查看两次的结果差异,其中少的一行就是该设备的信息,只要关注0e8d:201c:
Bus 001 Device 009: ID 0e8d:201c MediaTek Inc.
//这个文件是用于adb调试的,在打开的文件中增加以下文本
// idVendor是0e8d, idProduct是201c,此处为*表示通用
sudo gedit /etc/udev/rules.d/53-android.rules
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}="0bb4", ATTR{idProduct}="*", SYMLINK+="android_adb"
// 这个文件是用于下载的,在打开的文件中增加以下文本:
sudo gedit /etc/udev/rules.d/53-MTKinc.rules
SUBSYSTEM=="usb", SYSFS{idVendor}=="0e8d", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=MSG_WIFI_STATE"0e8d", ATTR{idProduct}="2000", SYMLINK+="android_adb"
KERNEL=="ttyACM*", MODE="0666"
//驱动重新加载:
sudo chmod a+rx /etc/udev/rules.d/53-android.rules
sudo chmod a+rx /etc/udev/rules.d/53-MTKinc.rules
sudo /etc/init.d/udev restart
代码下载及编译步骤
ubuntu的环境天然适合编译源码,代码下载及编译的基本步骤如下:
// 同步代码到本地
repo init -u xxx:platform/manifest -b xxx
repo sync
// 编译命令
source build/envsetup.sh
lunch 1 // 选分支
make -j12 // 此处电脑多少核就写多少,提高编译效率
// 编译的时候,可以给所有的分支建立一个本地分支
//刚克隆下来的代码是没有分支的,repo start实际是对git checkout –b命令的封装
repo start --all master
// 等同于:
repo forall -c git checkout master
建立分支及提交
既然说了代码的下载编译,后续肯定是要提交的,顺带说一个同步本地代码到github的完整操作
// 本地建立git仓库
git init
// 从github下载代码
git clone [email protected]:xxx/xxx.git
// 本地代码关联github库:
git remote add origin https://github.com/xxx/xxx
// pull代码到本地
git pull origin master
// 添加一个名为host的分支
git checkout -b host xxxxx
// 切换到主干
git checkout master
// 合并分支host到主干
git merge host
git commit -m “描述”
// 把本地源码库push到Github上,在master分支可以这么写
git push origin master
// 如果是其他自建分支,需要指定主分支master提交
git push origin HEAD:master
// 或者 git push origin HEAD:refs/for/master
//git reset --hard HEAD 后,丢失找回
git reflog
b7057a9 HEAD@{0}: reset: moving to b7057a9
98abc5a HEAD@{1}: commit: more stuff added to foo
b7057a9 HEAD@{2}: commit (initial): initial commit
//如找回第二commit,只需要做如下操作:
$ git reset --hard 98abc5a
语言冲突导致终端无法启动问题
在安装完Ubuntu后,又安装了搜狗拼音,中英文来回切换,结果导致终端都打不开了,找了半天解决办法,终于如下方案起了作用:
// 在.profile中添加
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh"
java环境配置
// 打开主目录.bashrc文件,并添加java路径
export JAVA_HOME=/usr/bin/java
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
Ubuntu 更新源
这个需要实时去查,现在使用的是18.04,以下均会以此为默认版本.
//Ubuntu 下载源的配置文件:
cat /etc/apt/sources.list
//先备份一下这个文件:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
//然后打开该文件(可以使用 Ubuntu 自带的 gedit 编辑工具,也可以直接 vi):
sudo gedit /etc/apt/sources.list
// 在文件中添加(此处仅标出了阿里云的源,有一个好用的就行了),保存并退出
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
// 终端执行
sudo apt-get update #访问源列表里的每个网址,并读取软件列表,然后保存在本地电脑。我们在新的软件包管理器里看到的软件列表,都是通过update命令更新的。
sudo apt-get upgrade #这个命令,会把本地已安装的软件,与刚下载的软件列表里对应软件进行对比,如果发现已安装的软件版本太低,就会提示你更新
// ps: 各种源
#阿里源
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
##中科大源
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
##163源
deb http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse
##清华源
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse