天天看點

工作随筆:瞎記-linux

/bin中 - 使用者二進制檔案

包含二進制可執行檔案。

在單使用者模式下,你需要使用的常見Linux指令都位于此目錄下。系統的所有使用者使用的指令都設在這裡。

例如:ps、ls、ping、grep、cp

/sbin目錄 - 系統二進制檔案

就像/bin,/sbin同樣也包含二進制可執行檔案。

但是,在這個目錄下的linux指令通常由系統管理者使用,對系統進行維護。例如:iptables、reboot、fdisk、ifconfig、swapon指令

/opt - 可選的附加應用程式

opt代表可選的。

包含從個别廠商的附加應用程式。

附加應用程式應該安裝在/opt/或者/opt/的子目錄下。

/mnt - 挂載目錄

臨時安裝目錄,系統管理者可以挂載檔案系統。

ls –a 顯示目前目錄中的所有檔案,包含隐藏檔案

ls -al

echo "~~" > e.txt  輸出到e.txt

pwd 顯示目前目錄

cat 列印檔案内容   可以多次列印 

cat t.txt t1.txt t2.txt 

cat t.txt t1.txt t2.txt >sub.txt 輸出到一個檔案中

./本目錄

cat ./*.txt >sub.txt 将目錄下的所有合并為一個

head 指令與 tail 相對

less 分頁輸出 空格鍵分頁

">" 是輸出到檔案中, 如果檔案存在, 則原來的内容被清空, 不存在則建立檔案, 比如

ls > filelist.txt 

">>"是把輸出追加到檔案中, 如果檔案存在, 追加到末尾, 不存在則建立檔案

file temp.txt檢視檔案類型

例如,如下所示,Temp.txt 檔案類型為text,編碼為UTF-8 Unicode

ch(改變)mod 777 x.txt

ch(改變)own(所有者) root x.txt

管道符号,是unix功能強大的一個地方,符号是一條豎線:"|",

用法: command 1 | command 2 他的功能是把第一個指令command 1執行的結果作為command 2的輸入傳給command 2,

例如:

ls -l | more

該指令列出目前目錄中的任何文檔,并把輸出送給more指令作為輸入,more指令分頁顯示檔案清單。

又如 rpm -aq | less

假設last -n 5的輸出如下

[root@www ~]# last -n 5 <==僅取出前五行

root     pts/1   192.168.1.100  Tue Feb 10 11:21   still logged in

root     pts/1   192.168.1.100  Tue Feb 10 00:46 - 02:28  (01:41)

root     pts/1   192.168.1.100  Mon Feb  9 11:41 - 18:30  (06:48)

dmtsai   pts/1   192.168.1.100  Mon Feb  9 11:41 - 11:41  (00:00)

root     tty1                   Fri Sep  5 14:09 - 14:10  (00:01)

如果隻是顯示最近登入的5個帳号

#last -n 5 | awk  '{print $1}'

root

dmtsai

awk工作流程是這樣的:讀入有'\n'換行符分割的一條記錄,然後将記錄按指定的域分隔符劃分域,填充域,$0則表示所有域,$1表示第一個域,$n表示第n個域。預設域分隔符是"空白鍵" 或 "[tab]鍵",是以$1表示登入使用者,$3表示登入使用者ip,以此類推。

Linux下查找檔案的指令有兩個;locate 和 find

首先說下locate,locate這個指令是對其生成的資料庫進行周遊(生成資料庫的指令:updatedb),這一特性決定了用locate查找檔案速度很快,但是locate指令隻能對檔案進行模糊比對,在精确度上來說差了點,簡單介紹下它的兩個選項:

  #locate 

             -i        //查找檔案的時候不區分大小寫 比如:locate  –i   passwd

       -n       //隻顯示查找結果的前N行     比如:locate  -n  5   passwd

下面重點說下find,find在不指定查找目錄的情況下是對整個系統進行周遊查找

  使用格式 :   find  [指定查找目錄]  [查找規則]  [查找完後執行的action]

這裡要注意的是目錄之間要用空格分開

  [查找規則] 

        (1)根據檔案名查找

           #  -name       //根據檔案名查找(精确查找)

           #  -iname       //根據檔案名查找,但是不區分大小寫 

這裡另外介紹下檔案名通配的知識

*表示  通配任意的字元

工作随筆:瞎記-linux
 ?表示  通配任意的單個字元
工作随筆:瞎記-linux
[ ] 表示 通配括号裡面的任意一個字元
工作随筆:瞎記-linux

     (2),根據檔案所屬使用者群組來查找檔案

           #  -user         //根據屬主來查找檔案

           #  -group        //根據屬組來查找檔案

          (3),根據uid 和 gid來查找使用者

           #find  /tmp  -uid  500  //查找uid是500 的檔案

           #find  /tmp  -gid  1000 // 查找gid是1000的檔案

          (4),-a  and  -o  and  –not的使用

           # -a 連接配接兩個不同的條件(兩個條件必須同時滿足)

wc指令用來列印檔案的文本行數、單詞數、位元組數等(print the number of newlines, words, and bytes in files)。在Windows的Word中有個“字數統計”的工具,可以幫我們把選中範圍的字數、字元數統計出來。Linux下的wc指令可以實作這個 功能。使用vi打開檔案的時候,底下的資訊也會顯示行數和位元組數。

常用參數

格式:wc -l <file>

列印指定檔案的文本行數。(l=小寫L)

以下參數可組合使用。

參數:-c, --bytes[喝小酒的網摘]http://blog.hehehehehe.cn/a/17301.htm

列印位元組數(print the byte counts)

參數:-m, --chars

列印字元數(print the character counts)

參數:-l, --lines

列印行數(print the newline counts)

參數:-L, --max-line-length

列印最長行的長度(print the length of the longest line)

參數:-w, --words

列印單詞數(print the word counts)

使用示例

示例一

[root@jfht ~]# wc /etc/passwd 

  46   66 2027 /etc/passwd

行數 單詞數 位元組數 檔案名 

[root@jfht ~]#

[root@jfht ~]# wc -l /etc/passwd 

46 /etc/passwd

[root@jfht ~]# wc -cmlwL /etc/passwd 

  46   66 2027 2027   74 /etc/passwd

[root@jfht ~]# wc -cmlLw /etc/passwd 

[root@jfht ~]# wc -wcmlL /etc/passwd 

繼續閱讀