【轉】Linux經常使用命令及技巧

在Linux的世界裏,有太多的細節須要去記住:Bash命令,經常使用的配置,一些實用的小技巧。。。這些知識很是細碎,但卻會時不時地用到。雖然從各類各樣的Linux書籍中能夠找到相關的內容,但這些細節過於龐雜,徹底用腦子記住比較困難,而翻閱書本又比較的消耗時,所以集中總結在這裏,並於從此不斷補充,方便查閱。 

批量替換文件中的字串,介紹兩種不一樣的方法  

#!/bin/sh
for file in $(find . -type f -name <filename>)
do
cat $file | sed "s/text_to_replace/replacement/g" > $file.new
mv $file.new $file
done

 
sed -ie "s/text_to_replace/replacement/g" `find . -type f -name <filename>`


注意:sed在Linux下是用-i,在Unix/Macos下是 -ie 

寫個腳本,把data目錄下,全部size爲0,可是文件名不是以.a結尾的文件,移到別的目錄  
 
find . -size 0 ! -name '*.a' -print0 | xargs -0 -I FILE mv FILE <otherdir>


統計項目的java代碼總行數  
 
wc -l $(find . -type f -name '*.java')


將用戶usera分配進用戶組groupa  
usermod -a -G groupa usera


使用DHCP  

修改相應的網卡配置文件,假設網卡名稱爲eth0,那麼文件名爲: /etc/sysconfig/network-scripts/ifcfg-eth0  
 
DEVICE=eth0
USERCTL=no
ONBOOT=yes
BOOTPROTO=dhcp
BROADCAST=192.168.1.255
NETWORK=192.168.1.0
NETMASK=255.255.255.0
IPADDR=192.168.1.5


將ONBOOT設爲yes,將BOOTPROTO設爲dhcp 

設置BASH快捷鍵  

把經常使用的,同時字符比較多的命令綁定到快捷鍵上。好比常常用到的: 
 
ps -ef | grep <process_name>


將上述命令綁定到CTRL+B:首先確保BASH環境爲emacs模式,而不是vi]模式: 
 
set -o emacs


而後在 ~/.inputrc 中添加下述內容: 
 
$if mode=emacs
"\C-b": "ps -ef | grep " 
$endif


最後輸入下述命令使配置生效: 
 
source ~/.inputrc


在BASH下設置網絡代理  
 
export http_proxy=http://<your_proxy>:<your_proxy_port>


從機器A登陸至機器B,使用SSH進行無密碼登陸  

在機器A上生成我的證書: 
 
ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (~/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in ~/.ssh/id_rsa.
Your public key has been saved in ~/.ssh/id_rsa.pub.
The key fingerprint is: ...
The key's randomart image is: ...

將生成的公鑰id_rsa.pub裏面的內容,複製到機器B的~/.ssh/authorized_keys中。 

寫一行命令,統計出/usr/bin目錄中的bash腳本和每一個腳本的代碼行數,並排序  
 
wc -l $(file /usr/bin/* | grep "script" | grep -v perl | cut -d: -f1) | sort
相關文章
相關標籤/搜索