0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Linux命令基本格式

Last updated at Posted at 2017-03-27

Linux命令基本格式

[root@localhost~]#

其中表示意義如下表:

標記 意義
root: 當前登錄的目錄
localhost 主機名稱
~ 家目錄(這個位置放當前所在目錄)

|表示超級用戶(普通用戶為$)

pwd

[root@localhost~]# pwd

pwd指令可以顯示當前的絕對路徑,所以如果我在~的目錄下面使用pwd的話,用該要顯示/root/home/這個家目錄才對。

命令格式

命令 [option] [parameter]

其中選項(Option)又分為簡化選項和完整選項比如ls中的簡化選項-a的完整選項就是--all,簡化選項和完整選項的功能是一樣的。

ls  [Option]  [file or directory]

選項:

  • -a 顯示所有文件,包括隱藏文件
  • -l 顯示詳細訊息
  • -d 查看目錄屬性
  • -h 人性化的顯示文件大小(2023389->1.9M)
  • -i 顯示inode number

ls -a

[root@localhost~]# ls -a
      anaconda-ks.cfg     .bash_profile   .cshrc

Linux裡面(.)開頭的文件就是隱藏文件,這個指令下了之後會顯示所有文件,包括隱藏的文件,在上面的範例之中.cshrc就是隱藏文件。

ls -l

[root@localhost~/Desktop]# ls -l
-rwxrwxrwx@ 1     root  staff    7056122  8 11  2015 the-swift.pdf
drwxr-xr-x  4     root  staff        136  3  8 20:21 Rmd to pptx
# 權限 #軟連接次數  #所文件用者     ##檔案大小  ##日期    ##檔案名稱
      #引用計數           ##檔案大小不人性化

權限

-rw--r--r--

在說權限之前,要先比較一下Linux和Windows之間文件類型,Linux不像是Windows有明顯區分擴展名,Linux的軟體、硬體都是以文件形式儲存的,不管是目錄、設備...都是以文件的方式儲存的,他們的差別就只有權限。

權限默認一般有十位的字,其中第一位-為文件類型,文件類型最常見的有三個分別是文件-、目錄d、軟連接文件l,後面九個數字分別代表各種用戶所持有的權限,每三位數為一組,分別為檔案擁有者、加入此群組之帳號的權限、非本人且沒有加入本群組之其他帳號的權限,簡略的說有三個組:u所屬者、g所屬組、o其他人,而顯示的字符有讀(r)、寫(w)、執行(x)三種權限。

權限說白了就是文件和用戶之間的關係,明確各個身份所持有的權限(讀、寫、執行)

其實文件類型除了這些以外還有四種文件類型塊設備文件b、字符設備文件c、套接字文件s、管道文件p,但是並不常用只要大概知道就可以了,因為這些內容不需要普通用戶做操作。

最近的Linux權限有時候在十個位數後面會有一個(.),例如:-rw--r--r--.,這個(.)官方並沒有明確定義,但是在使用經驗上面知道這個大概是代表(ACL權限),除此之外在Mac OS上面甚至還有@,例如:-rw-r--r--@,這些類型大概知道一下就可以了。

- rw- r-- r--
-dl u所屬者 g所屬組 o其他人

ls -d

[root@localhost~/Desktop]# ls -d
.
[root@localhost~/Desktop]# ls -ld
drwxr-xr-x+ 53 Gumdam  staff  1802  3 11 16:46 .

-d這個選項單獨使用時是沒有意義的,因為ls -l並沒有辦法顯示當前目錄的資料,因為我的Desktop沒有檔案,所以沒有任何的資訊,Linux當中目錄也是檔案,而這個檔案的權限我們無法得知,而這個-d可以讓我們可以查看目錄的屬性。

ls -h

[root@localhost~/Desktop]# ls -h
Adlm                 Downloads            Untitled-figure
Applications         Library              Untitled.Rpres
[root@localhost~/Desktop]# ls -lh \dev
crw-------  1 root         wheel           13,   1  3  7 21:10 afsc_type5
crw-rw-rw-  1 root         wheel           18,   1  3  7 21:10 cu.Bluetooth-Incoming-Port
brw-r-----  1 root         operator         1,   0  3  7 21:10 disk0
brw-r-----  1 root         operator         1,   1  3  7 21:10 disk0s1
brw-r-----  1 root         operator         1,   3  3  7 21:10 disk0s2
brw-r-----  1 root         operator         1,   2  3  7 21:10 disk0s3
### ....etc
### 權限                              ##檔案大小人性化

-h這個選項單獨使用時是沒有什麼意義的,因為這個選項是讓我的ls指令中的內容可以人性化的顯示檔案大小,但是單是在ls -h這個指令下面並不會有檔案大小所以使用的效果和ls是一樣的。

ls -lh 等於 ll

## ls -lh 等同 ll
[root@localhost~]# ls -lh

[root@localhost~]# ll

這兩個指令是等同的,可以使用搜索指令去查ll會顯示如下:

## which 查詢命令的別名(wereis 可查詢命令、幫助文檔的位置)
[root@localhost~]# which ll

ll: aliased to ls -lh

除了這個樣子查詢以外,還可以使用alias透過指令的別名查詢指令指令的全名,比如我看到一個叫做gstd的指令,我不知道它是什麼指令,我就可以使用alias來查詢:

[root@localhost~]# alias _
_=sudo

ls -i

[root@localhost~]# ls -i  ~/Desktop
3355431 $RECYCLE.BIN
 454344 -the-swift-programming-language-.pdf
4753760 Orphans no Namida.mp3
 453557 Command_line.pdf
# inode number  #filename

inode number 介紹

Unix的時候,利用inode來取資料的方式就已經有了,在Linux上面也是使用這種資料查找資料,在Linux上面每一個檔案都有一個inode number,就大家所知道的檔案儲存在硬碟的位置是不固定的,首先,假設你的硬碟被格式化成了ex4檔案系統,會建立一個inocde table查找表,你的硬碟被切成了好幾個等大小的數據塊,每一個數據塊可以儲存4KB的檔案,如果我有一個10KB的檔案儲存了進去,它並不會連續的儲存,假設它分別儲存了4KB在Proc A、4KB在Proc B、2KB在Proc C。

講到這裡有一個問題,我這個10KB的文件儲存了進去有一個區塊只有儲存2KB的資料,那麼這個區塊還可以儲存其他的資料嗎?答案是不行的,有興趣可以自己去研究,數據塊不是只能切成每4KB一個區塊,默認是4KB,但是其實是可以0KB、2KB、4KB三種的。

在查找表裡面會記錄inode nuber(ID號碼)、修改時間、權限以及要抓資料的區塊位置。Linux中檔案在開啟的時候就是利用這個概念去抓資料的,首先讀取到inode number,再確認權限,如果不匹配就直接拒絕,匹配的話就會把數據塊中的資料抓給使用者使用。

圖3-1.1 Linux檔案系統抓資料示意圖

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?