--- tags: linux-shell, bash --- # LinuxShell: Chap3 Basic Concept ## 1 登入/登出 ### 1.1 登入類型 登入主機可以分為 | 登入主機方式 | 意義 | | ------------ | -------------------------------------------------------------- | | 遠端登入 | 操作者不直接面對主機,而透過網路連線主機,以虛擬終端機方式登入 | | 本機登入 | 操作者直接面對主機,由主機的鍵盤鍵入帳密 | 主機登入的介面分為 1 圖形介面 2 文字介面 通常Linux/BSD系統 預設會開啟7個終端機,即tty1~tty7 文字介面佔tty1~tty6 圖形介面佔tty7 **每個介面的切換方式為Ctrl+Alt+F1(tty1)~Ctrl+Alt+F7(tty7)** 遠端登入多數會使用ssh或是telnet程式來連接遠端主機 ssh連線方式較telnet為安全 因為ssh連線會在傳輸資料做加密,而telnet則為明碼傳送(可以透過Wireshark封包攔截查看內容) ### 1.2 OpenSSH的登入方法 #### ssh -l 帳號 主機名稱或IP ```shell= ssh -l json 192.168.1.2 ``` #### ssh 帳號@主機名稱或IP ```shell= ssh json@192.168.1.2 ``` #### ssh 主機名稱或IP 假設沒有指定帳號,代表以目前系統的帳號名稱為預設帳號 e.g. 假設現在使用者身份為root,則此時,使用ssh 192.168.1.2 代表使用root身份登入遠端主機 ```shell= ssh 192.168.1.2 ``` ### 1.3 登出主機 結束終端機程式 可以在 terminal 鍵入 exit或是輸入Ctrl+D ## 2 檔案, 目錄(屬性介紹) Linux/BSD中,把任何東西,包括週邊硬體,都視為檔案。 ### 2.1 檔案 在Unix-like的系統中,檔案可以分為幾種: | 型態代碼 | 檔案型態 | 描述 | | -------- | -------- | -------------------------------------------------- | | - | 一般檔案 | 純文字檔,二進位檔。如果檔案具有執行權限則為執行檔 | | d | 目錄 | 包含檔案的資料夾 | | b | 區塊設備檔| 主要是週邊硬體連結,作為系統跟硬體之間的溝通介面 | | c | 字元設備檔| 主要是週邊硬體連結,作為系統跟硬體之間的溝通介面 | | s | Socket檔 |內部行程通訊的一種特殊檔案,也可以做為跟遠端主機通訊的管道 | | p | 管線檔 |內部行程通訊的機制,資料採取FIFO,可以由一邊寫入,另一邊讀出| | l | 符號連結檔|稱為soft link或是symbolic link,用以連結其他的檔案或目錄| **隱藏檔**:檔名的第一個字元是"."。隱藏檔可以是前面所提到的任一種檔案型態 ### 2.2 查看檔案型態指令 ls ```shell= ls -la /etc/resolv.conf -rw-r--r-- 1 root root 66 2009-02-21 00:58 /etc/resolv.conf ``` 其中最左邊的- 代表檔案型態為一般檔案 ```shell= ls -ld /usr drwxr-xr-x 16 root root 4096 2009-01-01 10:38 /usr ``` 代表 /usr為目錄 ### 2.3 查看檔案型態指令 file 用法如下: ```shell= file 檔案路徑 ``` 範例: 1. file /etc/resolv.conf ```shell= /etc/resolv.conf: ASCII text ``` 表示 /etc/resolv.conf為純文字檔 2. file /usr/bin ```shell= /usr/bin: directory ``` 表示 /usr/bin為一個目錄 3. file /usr/bin/ssh ```shell= /usr/bin/ssh: ELF 32-bit LSB shared object, Intel 80386, version 1(SYSV), stripped ``` 代表 /usr/bin/ssh為一個2進位檔案 4. file /root/tmp/test.sh ```shell= /root/tmp/test.sh: Bourne-Again shell script text executable ``` 代表 /root/tmp/test.sh是一個bash script文字檔,具執行權 5. file /dev/tty1 ```shell= /dev/tty1: character special (4/1) ``` 代表 /dev/tty1 是一個字元設備檔 6. file /dev/hda ```shell= /dev/hda: block special (3/0) ``` 代表 /dev/hda是一個區塊設備檔 7. file /dev/initctl 執行結果: ```shell= /dev/initctl: fifo (named pipe) ``` 這表示, mysqld.sock是一個socket檔 8. file /bin/sh 執行結果: ```shell= /bin/sh: symbolic link to `bash` ``` 這表示,/bin/sh是一個連結到/bin/bash的符號連結檔 ### 2.4 目錄 目錄也是檔案的一種,主要是作為檔案的文件夾。 Unix-like的檔案系統採用階層式的架構 ### 2.4.1 檔案路徑 檔案在樹狀目錄中,可由根目錄算起,將各階層用到的名稱組合起來,稱為該檔案的路徑。 ### 2.4.2 工作目錄 工作目錄又稱為現行目錄,即目前你所處的目錄位置 執行以下指令 ```shell= pwd ``` 可以拿到工作目錄的路徑 ### 2.4.3 切換路徑 使用cd指令,可以切換到不同的目錄底下,稱之為 切換路徑 ### 2.4.4 ## Contact info(聯絡資訊) <a href="mailto:yuanyu90221@gmail.com?subject=contact">yuanyu90221@gmail.com</a>
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up