基礎指令的使用篇3 Linux版

/

/boot

/bin

/sbin

/lib.modules

/lib64

/etc/redhat-release

/etc/centos-release

/home/zczx

/mnt

/media

/misc

/proc/meminfo

/proc/cpuinfo

/proc/partition

/sya

/opt

/tmp

/usr/local/

/usr/share/man

/usr/share/doc

/usr/share/dict

/var/log/

/var/www

/var/ftp

/var

/dev/

sda,sda1

/dev/null

/dve/zero

/dve/random

/dve/tty

/srv

/root

wKioL1edZWbhpfqIAAHgo89Ej8A250.png-wh_50

文件通配符

* 匹配零個或多個字符

? 匹配任何單個字符

~ 當前用戶家目錄

~+ 當前工作目錄 

~- 前一個工作目錄





[:digit:]任意數字,相當于0-9

[:lower:]任意小寫字母

[:upper:]任意大寫字母

[:alpha:]任意大小寫字母

[:alnum:]任意數字或字母

[:space:]空格

[:punct:]標點符號



ls /var/l*[[:digit:]]*[[:lower:]]

wKiom1edZC2geFV4AAD_0a5OtWI030.png-wh_50

ls -d /etc/[0-9]*[^0-9]

ls -da /etc/*.d

wKioL1edZDzAZbBUAABhWtpotoY419.png-wh_50

ls -da [nmrp]*.conf



touch命令


-a  改變atime

-m  改變mtime

-c  如果文件存在就刷新時間,如果沒有也不創造

-t  

touch -d yesterday f2 f2文件昨天的時間,Ctime不改變 




 cp指令

   單一文件,源文件復制在一個沒有的目錄,就會在生成一個以不存在目錄為名字的復制文件。


   復制目錄有同一樣名字的文件,root用戶提示你是否覆蓋,普通用戶不提示,因為root 使用的是別名 cp -i

cp -n 如果有相同的文件則不覆蓋

多個源文件cp必須到真實存在的目錄


目錄要使用-r選項


-i: 交互式

-r,-R:遞歸復制目錄及內部的所有內容

-a:歸檔,-dR–preserv=all

-d:不復制原文件,只復制連接名

–preserv 

           mode:權限

           ownership:屬主屬組

           timestamp:時間

           all:所有保留

           links

           xattr

           context

           all


-p:等同–preserv=mode,ownership,timestamp

-V:備份過程可見



cp –preserv=mode -R



alias

更改之后永久有效要放在配置文件中

僅對當前用戶:~/.bashrc


對所有用戶都有效:~/etc/bashrc



移動和重名名文件


mv core.3106 /testdir/

-i:詢問你是否移動

-f:強制移動


rm


-f:強制刪除

-r:遞歸(一個一個刪除)

root 用戶刪除會詢問你是否刪除

普通用戶只會直接刪除

#rm -rf /  7版本之后是會提示你操作危險

7版本之后要使用 rm -rf /*  




tree 目錄樹

     -d: 只顯示目錄

     -L level: 指定顯示的層級數目

     -p pattern: 只顯示指定pattern匹配到的路徑

wKiom1edZcDjyp38AAAsshb6O8g915.png-wh_50

mkdir 創建目錄

     -p:存在于不報錯,且可以制動創建所需的各目錄;

     -v:顯示詳細信息

     -m MODE:創建目錄時直接指定權限


rmdir 刪除空目錄

      

      -p:遞歸刪除父空目錄

      -V:顯示詳細信息



ls -i

inode 號

在一個分區中節點號是唯一的,在不同的分區中可以節點號相同。

wKiom1edZ4yz3tGmAACYQVGg6kA878.png-wh_50


df -i 可以查看各分區的inode 號的多少

df 看各分區的容量

wKioL1edZ8KBVTq2AAA91kLSWzs915.png-wh_50


ln 鏈接

ln aa bb 硬鏈接aa到bb ,inode號相同,文件內容大小相同,修改也相同。

如果刪除其中一個,另外一個還存在。如果都刪去,則數據塊數據還能存在,但如果有新的數據寫入,就會刪除舊的數據,加入一個新的鏈接可以還原出舊的數據。


數據分為:元數據 (放在inode table),數據內容(放在block 數據快)

inode (index node)不表中包含文件系統所有文件列表

一個節點是在一個表項,包含有關文件的信息(元數據),包括:      

           文件類型,權限,UID,GID

           連接數目(指向這個文件名路徑名稱個數)

           該文件的大小和不同的時間戳

           指向磁盤上文件的數據塊指針

           有關文件的其他數據

  每一個分區都有一個 inode table 

  inode entrv 條目  每一條記錄里面都記錄了元數據的數據塊的指針共有12個直接指針,最后指針指向數據,一共12X4K=48K  

   block 大小為4K   每一條指針都指向一個文件塊

雙重指針 :在第13個直接指針中指向一個文件塊,每一個文件塊里面有1024個指針,最后指針指向數據,一個指針4K。

    一重指針:1024X4K= 4M  

三重指針:在第13個直接指針所指向的文件塊中,1024個文件塊指針在分別再指向1024個文件塊,最后指針指向數據,里面的指針還是4K。

    二重指針: 1024X1024X4K= 4G

    三重指針: 1024X1024X1024X4K= 4T

    隔離多少層到數據就是多少層指針,都叫間接指針。

wKiom1edZXvzduVaAALMf--Imhs566.png-wh_50


硬鏈接不能跨分區,硬鏈接不能連目錄,但是文件目錄可以增加鏈接數目,每個子目錄下都有一個.. 和本身目下有一個.

-s 進行軟鏈結(symbolic link)

ln -s f1 f2

ll f1 f2

         f2軟鏈接到f1 


軟連接跨分區要寫明軟連接的路徑

     原始文件相對路徑:相對于軟連接文件的路徑,而不是相對于當前工作目錄的路徑

ln -sv /root/f1 testdir/f111

    原始文件的路徑    軟鏈接


file 檢查文件類型,確定文件內容

file -b Desktop/  列出文件辨識結果,不顯示文件名稱

     -c           詳細顯示指令執行過程,便于排錯或分析

     -f           列出文件中文件名的文件類型

     -F使用指定分隔符號替換輸出文件名后默認的“:”分隔符號

     -i           輸出mime類型的字符串

     -L           查看對應軟鏈接對應文件類型

     -z           嘗試去解讀壓縮文件的內容

     –help       顯示命令在線幫助



標準I/O和管道


程序:命令+數據

     讀入數據:Input

     輸出數據:Output


打開的文件都有一個fd


Linux給程序提供三種I/O設備

標準輸入 -0  默認來自鍵盤的輸入

標準輸出 -1  默認輸出到終端窗口

標準錯誤 -2  默認輸出到終端窗口、

重定向:

ls > /dve/pts/2   將顯示輸出到pts2的終端中

ls > ls.log    將顯示的輸出保存到ls.log文件中

>> f 追加不覆蓋



ls . /xxx > /testdir/fi 2> /testdir/f1

對的指令輸出到fi 錯的輸出到f1


                                 >>

set -C 禁止將內容覆蓋已有文件,可以追加強制覆蓋

set +C 允許覆蓋


ll /dve/null

ls xx /testdir/ &> /tmp/all.log

ls xx /testdir/ 2>&1 / > /tmp/all.log

                &>>


cat f1 ls.log >f3

將f1 和ls.log合拼放在f3


tr命令

tr-轉換或刪除字符



mail -s +用戶名字 S表示標

.   用來mail的結束

原創文章,作者:swzczx,如若轉載,請注明出處:http://www.www58058.com/28222

(0)
swzczxswzczx
上一篇 2016-08-04
下一篇 2016-08-04

相關推薦

  • 設計模式(十一)代理模式Proxy(結構型)

    1.概述        因為某個對象消耗太多資源,而且你的代碼并不是每個邏輯路徑都需要此對象, 你曾有過延遲創建對象的想法嗎 ( if和else就是不同的兩條邏輯路徑) ? 你有想過限制訪問某個對象,也就是說,提供一組方法給普通用戶,特別方法給管理員用戶?以上兩種需求都非常類似,并且都需要解決一個更大的問題:你如何提供…

    Linux干貨 2015-07-09
  • 硬鏈接與軟鏈接的聯系與區別

    硬鏈接與軟鏈接的聯系與區別 我們知道文件都有文件名與數據,這在 Linux 上被分成兩個部分:用戶數據 (user data) 與元數據 (metadata)。用戶數據,即文件數據塊 (data block),數據塊是記錄文件真實內容的地方;而元數據則是文件的附加屬性,如文件大小、創建時間、所有者等信息。在 Linux 中,元數據中的 inode 號(ino…

    Linux干貨 2016-10-23
  • drbd+corosync+pacemaker

    存儲分類: DAS:直接附加存儲;例如ide,sata,scsi,sas等 NAS:網絡附加存儲;即文件級別共享存儲;例如nfs等 SAN:存儲區域網絡;即塊級別共享存儲;例如ip-san,fc-san   共享存儲選型比較: SAN性能優良,價格昂貴; NAS性能基于文件系統級別,性能低下; 因此,另一個DRBD誕生,全稱為分布式復制塊設備,Di…

    Linux干貨 2017-11-13
  • Shell腳本中select、函數總結

    描述: select控制語句基于Korn Shell中的控制結構 select語句首先顯示一個菜單,然后根據用戶的選擇給變量賦予相應的值,最后執行一系列命令。 語法: select varname [ in arg…] do    commands done 說明: select結構顯示arg項的菜單。加入忽略關鍵字in和參數…

    Linux干貨 2016-08-24
  • mysqld_multi 多實例部署

    序言:多實例?Why?   隨著硬件層面的發展,linux系統多核已經是普通趨勢,而mysql是單進程多線程,所以先天上對多進程的利用不是很高,雖然5.6版本已經在這方面改進很多,但是也沒有達到100%,所以為了充分的利用系統資源,mysql有自己的補充,那就是可以部署多實例,一個實例一個端口。     1,準備好mysql環境…

    2017-11-16
  • 一位老it工程師的忠告,新手進來學習,老手進來體會,收獲很大。

    諸位,咱當電子工程師也是十余年了,不算有出息,環顧四面,也沒有看見幾個有出息的!回顧工程師生涯,感慨萬千,愿意講幾句掏心窩子的話,也算給咱們師弟師妹們提個醒,希望他們比咱們強! [1]好好規劃自己的路,不要跟著感覺走!根據個人的理想決策安排,絕大部分人并不指望成為什么院士或教授,而是希望活得滋潤一些,爽一些。那么,就需要慎重安排自己的軌跡。從哪個行業入手,逐…

    Linux干貨 2015-02-26
欧美性久久久久