zoukankan      html  css  js  c++  java
  • 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 即可以接着使用菜单了。

  • 相关阅读:
    从员工到总监,你要明白的8个道理!
    IT民工2013的升迁
    你会对老板说这十句傻话吗
    BIO
    同步工具类
    NIO(一)
    Lock与Condition
    forkJoin
    线程池与Future
    今天需要获取一个网站的web服务反馈回来的数据,找到份不错的帖子关于WebClient类的使用,记录下来·
  • 原文地址:https://www.cnblogs.com/rexonor/p/4904292.html
Copyright © 2011-2022 走看看