Linux 經常使用的一些經驗

Linux 經常使用的一些經驗

zmodem 使用

如今不少shell 都帶了zmodem功能,比較經常使用的是securecrt。
使用方法:
一、shell 連接到遠程。而且執行rz -e(遠程從本地接收文件),sz -e(遠程發送到本地)。
二、運行 shell 的zmodem功能(securecrt 是自動打開的)。php

注意:
因爲不少時候發送的文件是二進制的,包含控制字符,會致使rz/sz退出,屏幕一堆亂碼,因此建議自覺加上 [-e] 參數。 這裏我附上我用來上傳下載的腳本,比zmodem速度快。java

stool 0.00KB python

rootkit 檢測

通常狀況下Linux是不會感染病毒的。可是仍是要當心。平時開啓防火牆。而且按期檢查rootkit。
經常使用工具rkhunter。linux

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 outgit

環境變量

Linux 下有幾個較經常使用的管理工具 :Linuxbrew rbenv jenv pyenv alternative
一、alternative
我使用的是suse,系統默認不少程序使用alternative管理。因此不加干預。
二、jenv
java 比較特殊,有不少各自版本的路徑依賴。因此建議使用jenv統一管理。而且能夠配合.java-version 文件設置單個項目的java版本。web

若是喜歡用alternative的使用slave 將版本的各類程序關聯成一個。不要按照網上其餘害人的方法,只管java和javac,後面你會發現被坑的很慘。sql

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

三、pyenv
pyenv 安裝是獨立的下載包安裝,跟java指定路徑不一樣。因此,若是系統不少程序有依賴。建議使用系統安裝的python,而且python腳本通常會本身指定版本。實在有必要使用新版的,可使用pyenv單獨管理。shell

git 使用

若是系統中有一些配置文件在服務器上作了配置修改,而後後續開發又新添加一些配置項的時候,bash

在發佈這個配置文件的時候,會發生代碼衝突:服務器

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 便可以接着使用菜單了。

相關文章
相關標籤/搜索