工作隨筆:瞎記-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
root
root
dmtsai
root


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       //根據文件名查找,但是不區分大小寫 

 

這裏另外介紹下文件名通配的知識

 

*表示  通配任意的字符

 

          

 ?表示  通配任意的單個字符

         

[ ] 表示 通配括號裏面的任意一個字符

     (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 
  46   66 2027 2027   74 /etc/passwd
[root@jfht ~]# wc -wcmlL /etc/passwd 
  46   66 2027 2027   74 /etc/passwd
[root@jfht ~]#

 

 

 

//統計行數

xargs 本身雖然沒有多大用處,但在和其他命令相結合時,他的功能非常強大。
下面是另一個示例,我們希望計算這些文件中的行數:

file * | grep ASCII | cut -d":" -f1 | xargs wc -l

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