Linux 常用的一些经验

Linux 常用的一些经验

zmodem 使用

现在很多shell 都带了zmodem功能,比较常用的是securecrt。
使用方法:
1、shell 链接到远程。并且执行rz -e(远程从本地接收文件),sz -e(远程发送到本地)。
2、运行 shell 的zmodem功能(securecrt 是自动打开的)。

注意:
由于很多时候发送的文件是二进制的,包含控制字符,会导致rz/sz退出,屏幕一堆乱码,所以建议自觉加上 [-e] 参数。 这里我附上我用来上传下载的脚本,比zmodem速度快。

stool 0.00KB

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 使用

如果系统中有一些配置文件在服务器上做了配置修改,然后后续开发又新添加一些配置项的时候,

在发布这个配置文件的时候,会发生代码冲突:

error: Your local changes to the following files would be overwritten by merge
protected/config/main.php 
Please, commit your changes or stash them before you can merge

如果希望保留生产服务器上所做的改动,仅仅并入新配置项, 处理方法如下:

git stash 
git pull 
git stash pop 

然后可以使用git diff -w +文件名 来确认代码自动合并的情况.
反过来,如果希望用代码库中的文件完全覆盖本地工作版本. 方法如下:

git reset --hard 
git pull 

其中git reset是针对版本,如果想针对文件回退本地修改,使用

git checkout HEAD file/to/restore 

无法启动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 即可以接着使用菜单了。

posted @ 2015-10-23 13:36  rexonor  阅读(285)  评论(0编辑  收藏  举报