Linux 常用的一些经验
zmodem 使用
现在很多shell 都带了zmodem功能,比较常用的是securecrt。
使用方法:
1、shell 链接到远程。并且执行rz -e(远程从本地接收文件),sz -e(远程发送到本地)。
2、运行 shell 的zmodem功能(securecrt 是自动打开的)。
注意:
由于很多时候发送的文件是二进制的,包含控制字符,会导致rz/sz退出,屏幕一堆乱码,所以建议自觉加上[-e]
参数。 这里我附上我用来上传下载的脚本,比zmodem速度快。
rootkit 检测
一般情况下Linux是不会感染病毒的。但是还是要小心。平时开启防火墙。并且定期检查rootkit。
常用工具rkhunter。
odex 转 dex
adb pull /data/data/com.baidu.appsearch/app_push_dex/plugin-deploy.dex
adb pull /system/framework/
java -jar ~/tools/smali/baksmali-2.0.6.jar -d framework -x plugin-deploy.dex
java -jar ~/tools/smali/smali-2.0.6.jar out
环境变量
Linux 下有几个较常用的管理工具 :Linuxbrew rbenv jenv pyenv alternative
1、alternative
我使用的是suse,系统默认很多程序使用alternative管理。所以不加干预。
2、jenv
java 比较特殊,有很多各自版本的路径依赖。所以建议使用jenv统一管理。并且可以配合.java-version 文件设置单个项目的java版本。
如果喜欢用alternative的使用slave 将版本的各种程序关联成一个。不要按照网上其他害人的方法,只管java和javac,后面你会发现被坑的很惨。
update-alternatives --install "/usr/bin/java" "java" "/usr/java/latest/bin/java" 20000
--slave /usr/bin/javac javac /usr/java/latest/bin/javac
--slave /usr/bin/javadoc javadoc /usr/java/latest/bin/javadoc
--slave /usr/bin/jar jar /usr/java/latest/bin/jar
--slave /usr/bin/keytool keytool /usr/java/latest/bin/keytool
--slave /usr/bin/orbd orbd /usr/java/latest/bin/orbd
--slave /usr/bin/pack200 pack200 /usr/java/latest/bin/pack200
--slave /usr/bin/rmid rmid /usr/java/latest/bin/rmid
--slave /usr/bin/rmiregistry rmiregistry /usr/java/latest/bin/rmiregistry
--slave /usr/bin/servertool servertool /usr/java/latest/bin/servertool
--slave /usr/bin/tnameserv tnameserv /usr/java/latest/bin/tnameserv
--slave /usr/bin/unpack200 unpack200 /usr/java/latest/bin/unpack200
--slave /usr/share/man/man1/java.1 java.1 /usr/java/latest/man/man1/java.1
--slave /usr/share/man/man1/keytool.1 keytool.1 /usr/java/latest/man/man1/keytool.1
--slave /usr/share/man/man1/orbd.1 orbd.1 /usr/java/latest/man/man1/orbd.1
--slave /usr/share/man/man1/pack200.1 pack200.1 /usr/java/latest/man/man1/pack200.1
--slave /usr/share/man/man1/rmid.1 rmid.1 /usr/java/latest/man/man1/rmid.1
--slave /usr/share/man/man1/rmiregistry.1 rmiregistry.1 /usr/java/latest/man/man1/rmiregistry.1
--slave /usr/share/man/man1/servertool.1 servertool.1 /usr/java/latest/man/man1/servertool.1
--slave /usr/share/man/man1/tnameserv.1 tnameserv.1 /usr/java/latest/man/man1/tnameserv.1
--slave /usr/share/man/man1/unpack200.1 unpack200.1 /usr/java/latest/man/man1/unpack200.1
3、pyenv
pyenv 安装是独立的下载包安装,跟java指定路径不同。所以,如果系统很多程序有依赖。建议使用系统安装的python,并且python脚本一般会自己指定版本。实在有必要使用新版的,可以使用pyenv单独管理。
git 使用
如果系统中有一些配置文件在服务器上做了配置修改,然后后续开发又新添加一些配置项的时候,
在发布这个配置文件的时候,会发生代码冲突:
如果希望保留生产服务器上所做的改动,仅仅并入新配置项, 处理方法如下:
然后可以使用git diff -w +文件名 来确认代码自动合并的情况.
反过来,如果希望用代码库中的文件完全覆盖本地工作版本. 方法如下:
其中git reset是针对版本,如果想针对文件回退本地修改,使用
无法启动GUI程序
报如下类似的错误。是由于touchegg占用了太多client指标。
Maximum number of clients reachederr:winediag:x11drv_init_thread_data x11drv: Can’t open display: :0. Please ensure that your X server is running and that $DISPLAY is set correctly
解决办法:kill touchegg。
无法使用全局菜单
部分程序如eclipse无法全局菜单,导致菜单不可以用。就需要安装带menuproxies 的gtk库。然后env UBUNTU_MENUPROXY=0 即可以接着使用菜单了。