linux下的基本命令操作

linux下命令繁多,但作爲一個android的hal層開發人員,我比較常用的命令爲以下幾個:


1.find

find命令主要功能爲查找指定路徑下的文件名。通常用法格式爲

 find . -name test.txt 。

find 後面跟路徑名 . 代表當前路徑。-name後指定需要搜索的文件名。

find命令一般會和其他命令合用。比如:

find . -name test.txt |  xargs grep "abc"

find . -name test.txt | xargs rm -rf {}

這裏記得需要xargs參數

2.grep

grep命令主要功能爲查找指定路徑/文件下匹配指定字符串的文件。常用用法如下:

grep "string" -rn .

grep後面跟字符串,參數r代表遞歸查找當前路徑下的所有文件,n代表現實匹配字符串所在文件的行數。如果需要查找多個字符串,並且排除spy.log文件,則:

grep "string1\|string2" -rn . --exclude=spy.log

grep支持正則表達。在dos下如果需要實現這個命令則需使用findstr "string1 string2" 1.txt。

grep還有一個比較常用的參數-c,表示統計出現某個字符串的個數。在寫shell腳本時經常用到該參數。

3.echo

echo命令主要用於打印信息,當然也有將echo輸出的信息重定向到文件中,這裏注意一點:

echo "string" >1.txt

echo "apend" >> 1.txt

>將string輸入到1.txt,會覆蓋原有的1.txt文件,類似fopen中的w+,而>>是追加,不會覆蓋原有文件,類似fopen中的a+。

4.cat

cat命令主要用於輸出文件的內容。在shell的for循環中常常用到該命令。如:

>>>>>>>>>>>>>>>>>>

#!/bin/bash

for i in $(cat ./1.txt) ; do

echo $i

done

>>>>>>>>>>>>>>>>>>

這裏,我們可以按行取i變量,這對腳本是非常有用的。

5.chmod

該命令主要修改文件權限,通常我們創建一個腳本,沒有執行權限,這時需要執行如下命令:

chmod +x test.sh

6.chown

該命令主要更改文件所屬組,通常在服務器上通過sudo方式拷貝的文件其所屬組爲root,我們需要更改成自己工作目錄的用戶組:

sudo chown wzw:wzw -R .

7.切換後臺命令

切換後臺命令由jobs,fg,<Ctrl - z > 一組命令構成,通過vi打開的文件在使用<Ctrl - z >命令切爲後臺後,通過jobs可以查看到後臺程序,通過fg並指定後臺程序號便可將後臺程序切到前臺。

8. sed命令

sed命令功能比較強大,介紹幾種最常用的。

1)刪除指定字符串的行

sed "/abc/d" 1.txt

sed -i "/abc/d" 1.txt

兩行區別第二行會修改1.txt文件

2)替換指定字符串

sed "1,20s/abc/bbc/g" 1.txt

1,20s說明修改文件指定行爲1到20行

sed "/abc/c\bbc\nnextline"

修改abc行內容爲bbc並且添加下一行nextline,該修改以行爲單位。


9.awk命令

awk命令和sed命令同爲裁剪文件的內容,我只用過一種:

cat 1.txt |awk '{print $1}'

wc 1.txt | awk '{print $1}'

wc統計個數命令,第一列是行,第二列是字符串,第三列是字符個數,通過awk可以截取需要的信息。


附:shell中的中括號和大括號 轉http://www.2cto.com/os/201308/235084.html


10.crontab

linux下的定時器命令,/etc/crontab是修改全局的,crontab -e 修改當前用戶的。在/var/spool/cron/crontabs/下有對當前用戶的保存。

另外/etc/init.d/rc.local /etc/profile 兩個文件可以添加自啓動,rc.local在沒有選擇user就已經運行了,權限相當於root,profile在選擇user後才運行,權限限制於當前用戶。


高級用法

1. find和sed

find ./res/ -name '*' -print | xargs -i sed -i "s/\"\([0-9]*\)dip\"/\"@dimen\/dp\1\"/g" {}

sed中\([0-9]\),括號代表會記錄該參數,在後面的\1中顯示該參數。




除以上命令外,cp scp mv  diff sdiff ls cd export date sleep wc  du top df 等命令也較爲常用,有興趣的可以查看linux手冊說明。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章