日志重定向

test_3d 2>&1 | tee -a test_3d.txt
test_3d 2>&1 | tee  test_3d.txt

远程同步

复制

scp -r remote@10.10.10.10:/home/ Android.bp local

同步

rsync -avz --exclude 'out*' remote@10.10.10.10:/home/alps/ local
rsync -avz --exclude 'out*' --delete remote@10.10.10.10:/home/alps/ local

-r 递归 -a 参数可以替代-r,除了可以递归同步以外,还可以同步元信息(比如修改时间、权限等) -v 参数则是将结果输出到终端 -z 参数指定同步时压缩数据。 –delete 参数,这将删除只存在于目标目录、不存在于源目录的文件。 –exclude 同步时排除某些文件或目录

重启显示服务

compiz --replace
sudo /etc/init.d/xrdp start

解压

tar -xvf file.tar //解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2 //解压 tar.bz2
tar -xZvf file.tar.Z //解压tar.Z
unrar e file.rar //解压rar
unzip file.zip //解压zip

软连接

ln 参数 源文件或目录 目标文件或目录

-f 建立时,将同档案名删除.

ln -sf python2 python

查看so ABI 架构信息

readelf -h XXX.a 这命令可列出所有so的OS,ABI,架构信息,类别(32/64位)等等

android手机音量

adb shell tinymix 'RX2 Digital Volume' '90'

repo 代码同步

repo sync --force-sync -c --no-tags --no-clone-bundle -q
repo sync --force-sync --no-tags --no-clone-bundle -cf

重复执行repo sync 应对网络中断问题

#!/bin/sh
while (ture);do
        repo sync;
done

挂载网络硬盘

sudo mount -t cifs -o username=username,password=password //10.120.10.***/dir /home/username/dir
sudo mount -t cifs -o username=chengzhi.hou,password=password //10.120.10.100/ckt_cd_share/SmartPhone /home/ckt/ckt_cd_share
sudo mount -t cifs -o username=chengzhi.hou,password=password //10.235.64.99/iso /home/megvii/tmp/

python 多版本配置

sudo update-alternatives --config python

https://blog.csdn.net/Hiking_Yu/article/details/104373221

sudo update-alternatives --list python
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.7 2
sudo update-alternatives --config python

切换默认java版本

update-alternatives --config java
update-alternatives --config javac

示例:

hcz@ubuntu:~$ sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      auto mode
* 1            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      manual mode
  2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode

Press <enter> to keep the current choice[*], or type selection number:

linux系统 下利用命令行查看移动设备

hcz@ubuntu:~$ lsusb
Bus 001 Device 054: ID 22b8:2e76 Motorola PCS

查找文件

find . -name “.xml” 递归查找所有的xml文件 find / -name filename.txt 根据名称查找/目录下的filename.txt文件。 find . -name “.xml” |xargs grep “hello world” 递归查找所有文件内容中包含hello world的xml文件 find ./ -size 0 | xargs rm -f & 删除文件大小为零的文件 grep -H ‘spring’ .xml 查找所以有的包含spring的xml文件 ls -l | grep ‘.jar’ 查找当前目录中的所有jar文件 grep ‘test’ d 显示所有以d开头的文件中包含test的行。 grep ‘test’ aa bb cc 显示在aa,bb,cc文件中匹配test的行。 grep ‘[a-z]{5}’ aa 显示所有包含每个字符串至少有5个连续小写字符的字符串的行。

find -name “*” xargs touch *

查看目录下文件(夹)大小

du -h –max-depth 0 abc

-max-depth=n表示只深入到第n层目录,此处设置为0,即表示不深入到子目录。 总结du常用命令 du -h –max-depth=1 |grep [TG] |sort # 查找上G和T的目录并排序 du -sh # 统计当前目录的大小,以直观方式展现 du -h –max-depth=1 |grep ‘G’ |sort # 查看上G目录并排序 du -sh –max-depth=1 # 查看当前目录下所有一级子目录文件夹大小 du -h –max-depth=1 |sort # 查看当前目录下所有一级子目录文件夹大小 并排序 du -h –max-depth=1 |grep [TG] |sort -nr # 倒序排

执行shell 脚本的时候同时把命令显示到终端

在shell 脚本第一行加入 #!/bin/sh -x 或者 -v 来源 How to echo shell commands as they are executed

在 Ubuntu 上启用 SSH

默认情况下,当 Ubuntu 最初被安装的时候,通过 SSH 进行远程访问是不被允许的。在 Ubuntu 上启用 SSH 非常的简单直接。 以 root 或者其他 sudo 用户身份执行下面的步骤,在你的 Ubuntu 系统上安装并且启用 SSH。 01.使用Ctrl+Alt+T打开终端,并且安装openssh-server软件包:

sudo apt update
sudo apt install openssh-server

FFMPEG

视频抽帧

ffmpeg -i ./ELZ.mp4 -f image2 -vf fps=fps=3 -qscale:v 2 F:\tmp\img\%04d.jpg
ffmpeg -i xxx.mp4 -f image2 -vf fps=1/5 -qscale:v 2 .\image\img%04d.jpg

图片组合视频

ffmpeg -f image2 -i ./out_result_%d.bmp chaoqianzhen.mp4

改变码率压缩视频

ffmpeg -i Desktop/1.mov -b:v 1.5M  Desktop/1.mp4