2016年11月2日 星期三

Linux 檔案權限


檔案的屬性十個字元,請參考"Linux 檔案類型(*.bat, *.exe...)"

[-][rwx][rw-][r--]
 0  123  456  789

 0 為:代表這個檔名的類型,請參考"Linux 檔案類型(*.bat, *.exe...)"
123為:擁有者的權限,本例中為可讀、可寫、可執行(rwx)
456為:同群組使用者權限,本例中為可讀、可寫(rw)
789為:其他使用者權限,本例中為可讀(r),就是唯讀之意

P.S. rwx所在的位置是不會改變的,有該權限就會顯示字元,沒有該權限就變成減號(-)

Linux 檔案類型(*.bat, *.exe...)


Linux檔案中的『副檔名』,對系統的識別檔案類型,並沒有任何意義。頂多只是讓使用者方便知道它是什麼類型。

實際上檔案的類型,請打指令 ls -l後,所顯示出來的第一欄(十個字元)的第一個字元,即為檔案的類型,即檔案屬性,例:-rwxrwxrwx,。

檔案屬性:
  -:正規檔案 ,可能為"純文字檔(ASCII)"、"二進位檔(binary)"、"資料格式檔(data)"。
  d:目錄   ,目錄。
  l :連結檔  ,似Windows的捷徑。
  b:區塊設備檔,例如:硬碟、軟碟。
  c:字元設備檔,例如:鍵盤、滑鼠。
  s:資料接口檔,檔案通常被用在網路上的資料承接。
  p:資料輸送檔,FIFO是一種特殊的檔案類型,主要在解決多個程序同時存取一個檔案所造成的錯誤問題。

如果是執行檔,如何執行檔案呢?console模式下,執行:"./程式名",即可。

Linux 基本指令


pwd: (Print Working Directory) - 顯示目前所在目錄

ls: (List information about file(s)) - 顯示檔案名稱與內容
  ls -a    顯示隱藏檔 (以"."開頭的檔案)
  ls -al   -a + -l
  ls -al|more 將檔案內容以一頁一頁顯示
  ls --color  以彩色顯示檔案資料
  ls -d   僅列出目錄
  ls -h    檔案容量以人類較易讀的方式(例如 GB, KB 等等)列出來;
  ls -l     詳細列出檔案系統結構
  ls -r     連同子目錄內容一起列出來
  ls -S    以檔案容量大小排序,而不是用檔名排序
  ls -t     依時間排序,而不是用檔名

cd: (Change Directory) - 變換工作路徑
  cd ..     回到上一層(.. 上一層), (. 目前目錄)
  cd     回到使用者目錄
  cd /usr/bin  到/usr/bin這個目錄(絕對路徑)
  cd .. /usr/bin  到上一層/usr/bin這個目錄(相對路徑)
  cd usr/bin   到usr/bin這個目錄(相對路徑)

cat: (Concatenate files and print on the standard output) - 顯示檔案內容

mkdir: (Create new folder(s)) - 建立新資料夾
rmdir: (Remove folder(s)) - 移除資料夾

rm: (Remove files) - 刪除檔案
  rm -irf    目錄下的東西都一起刪除
mv: (Move or rename files or directories) - 移動檔案或目錄
cp: (Copy one or more files to another location) - 複製檔案或目錄

ln: (Make links between files) - 把某個檔案(資料夾)內容連結到某個檔案(資料夾)
  ln -s 來源檔(資料夾) 目的檔(資料夾)
  此時目的檔(資料夾),可以看到來源檔(資料夾)裡面的內容

chmod: (change mode) - 改變檔案的屬性、 SUID 、等等的特性
chown: (change owner) - 改變檔案所屬人
chgrp: (change group) - 改變檔案所屬群組

參考路徑:
http://www.mediacollege.com/linux/command/linux-command.html
http://linux.vbird.org/linux_basic/redhat6.1/linux_06command.php

2016年11月1日 星期二

hello world(gcc) - (console)(Ubuntu 16.04.1)

Install:
  1. 安裝gcc
    sudo apt-get install g++
  2. 安裝基本library
    sudo apt-get install build-essential

撰寫第一個Hello world程式:

1. 開啟編輯器,順便開檔案
command 模式下->/usr/bin/vi hello_world.c

2. 把下面內容打入(vi 編輯器使用方式,請上往查詢)

#include<stdio.h>

int main()
{
  printf("%s", "Hellow World!!!\n");
}

3. build code
command 模式下->gcc hello_world.c -o hello_world

4. 執行程式
./hello_world