從零開始學Linux(一)

Linux 基本命令:

遍歷目錄:
在 Linux 文件系統上,可以使用切換目錄命令 cd 將 shell 會話切換到另一個目錄:
格式:cd destination

cd 命令可以接受單個參數;如果沒有參數,則將切換到用戶主目錄。
destination 參數可以用倆種方式表示:
一、 絕對路徑(以/開頭的路徑)

[[email protected] ~]# cd /usr 
[[email protected] usr]#

使用絕對路徑可以清晰表明用戶想切換到的確切位置

二、 相對路徑(非/開頭的路徑)

[[email protected] ~]# cd workbook/ 
 [[email protected] workbook]# cd / 
[[email protected] /]# cd ./usr/     #雖然.代表當前路徑爲根目錄,但是依然爲相對路徑

Shell 如果配置好當前目錄的絕對路徑,也可以使用 shell 命令來顯示所處位置:

[[email protected] workbook]# pwd 
/root/workbook

注意:剛開始接觸命令行和 Linux 目錄結構,建議先使用絕對路徑;等熟悉目錄佈局之後,再使用相對路徑。

有倆個特殊字符可用於相對文件路徑中:

單點符( . ):表示當前目錄;
雙點符( … ):表示當前目錄父目錄。

文件和目錄列表:

ls 顯示當前目錄下的文件和目錄;
ls -r 逆序列出當前文件目錄
ls -a 列出所有文件包括隱藏文件(以·開頭的文件)
ls -A 列出隱藏文件,不包括.和…
ls -d 當前目錄
ls -l -d 當前目錄詳細信息(ls -ld)
ls -lh 顯示目錄或文件大小
ls -i 列出 inode 節點號,每個文件都有一個 inode 節點號

每個文件都有對應的 inode 節點號(比如學生的學號)

Linux 的文件類型:

– 普通文件,類似於 Windows 的記事本
d 目錄文件,類似於文件夾
c 字符設備文件,串行端口設備,順序讀寫,鍵盤
b 塊設備文件,可供存儲的接口設備,隨機讀寫,硬盤
p 管道文件,用於進程間的通信
l link,鏈接文件
在 linux 的文件系統中,保存在磁盤分區中的文件不管是什麼類型都給它分配一個編號,稱爲索引節點號 inode。
(1) 符號鏈接又叫軟鏈接,和原文件不是一個文件。例如 Windows 的快捷方式,如果原始文件被刪除,所有指向它的符號鏈接也就都被破壞了。符號鏈接記錄的是目標的 path。符號鏈接可以跨越文件系統,也可以爲目錄建立。軟鏈接有自己的 node,是 linux 特殊文件的一種,作爲一個文件,它的數據是它所連接的文件的路徑。

創建鏈接文件:ln -s 原文件名稱 鏈接文件名稱

(2) 硬鏈接,只能引用同一文件系統中的文件。它引用的是文件在文件系統中的物理索引(也稱爲 inode)。當移動或者刪除原始文件時,硬鏈接不會被破壞,因爲它所引用的是文件的物理數據而不是文件在文件結構中的位置。硬鏈接記錄的是目標的 inode

創建硬鏈接: ln  原文件名稱   新文件名稱

s 套接字文件,用於網絡上的通信。可以啓動一個程序來監聽客戶端的要求,客戶端可以通過套接字來進行數據通信

常見 Linux 目錄名稱:

/ 根目錄,通常不在這裏存儲文件
/bin 可執行文件,ls,cd
/sbin 可執行文件
/boot 開機啓動的文件,包括 linux 內核以及開機菜單與開機所需配置文件等
/dev 設備文件,任何設備與接口設備都是以文件形式存在於這個目錄的
/root root 用戶的主目錄
/home 普通用戶的主目錄
/mnt 掛載點目錄
光盤必須和/下的某個目錄節點建立聯繫才能使用。
把光盤和指定的掛載點目錄建立聯繫的過程叫做掛載。

mount /dev/sr0 /mnt

/media 媒體目錄,也是掛載點目錄
/opt 可選目錄。存放第三方軟件包和數據文件
/var 可變目錄,用以存放經常變化的文件,如日誌文件
/etc 配置文件
/lib 系統的函數庫
/proc 該目錄是一個虛擬文件系統,它放置的數據都在內存當中
/run 系統運行時所需文件
/usr 放置的數據爲可分享的與不可變動的,unix 操作系統軟件資源所放置的目
錄,而不是用戶數據
/srv service 的縮寫,是一些網絡服務啓動之後,這些服務所需要取用的數據
目錄
/tmp 讓一般用戶或者是正在執行的程序暫時放置文件的地方
/sys 這個目錄其實跟/proc 非常類似,也是一個虛擬的文件系統,主要是記錄與內核相關的信息

FHS(文件系統層級標準)
圖片來源google圖庫

很多Linux發行版都遵循了FHS,FHS偶爾進行更新,想要保持和FHS標準同步,訪問官網:(http://www.pathname.com/fhs)

更多的基本命令:

添加指定命令別名:

alias 目標命令名稱=‘需要執行的命令’   #alias 臨時生效        
    alias hh=’ll bg’ 
   unalias hh=’ll bg’   #   刪除指定的命令別名

Shell 下的一些快捷鍵:

ctrl+d 輸入已結束。在 shell 下相當於 exit
ctrl+c 鍵盤中斷請求,終止當前的命令
ctrl+s ctrl+q 暫停/恢復屏幕輸出
ctrl+l 清屏,相當於 clear
Tab 自動補完命令與文件名
Tab 雙擊:可以列出所有可能匹配的選擇
ctrl+u 刪除光標至行首的內容
ctrl+k 刪除光標至行尾的內容
ctrl+a 跳到命令行行首
ctrl+e 跳到命令行行尾
ctrl+左右箭頭,支持按單詞跳轉

與時間有關的命令:

輸出和更改日期時間:date(軟件、系統時間)更改日期的格式 月日時分年.秒
date -s 「」 ‘’
date -s 只有 root 才能設置,其它只能查看
date -s 20160813 日期爲 20160813,時間爲 00:00:00 date -s 01:01:01 設置具體時間,不會對日期做更改
date -s 「01:01:01 2016-08-13″ 設置全部時間 date -s 「01:01:01 20160813″ 設置全部時間 date -s 「2016-08-13 01:01:01″ 設置全部時間 date -s 「20160813 01:01:01″ 設置全部時間

查看硬件時間:

clock 查看硬件時間:
hwclock -w 系統時間給硬件時間
hwclock -s 硬件時間給系統時間
查看日曆:cal
cal 查看當年當月的日曆 cal 年份 查看一年日曆
cal 月份 年份 查看當年當月的日曆
cal -1 查看該月的日曆
cal -3 查看前一個月,本月,下月的日曆

將輸入接到標準輸出(從鍵盤輸入,從顯示器輸出):

echo 寫入文本  #顯示到終端

文件命名規則:

(1) 不能使用/來當文件名,/是用來做根的,也是用來做路徑分隔符的
(2) 文件名不能超過 255 個字符
(3) 區分大小寫
創建多個普通文件:

方法 1:
touch 文件名 1 文件名 2 文件名 3
方法 2:
touch {文件名 1,文件名 2,文件名 3}
touch {1,2}{3,4} touch abc{1…100}

向文件裏寫入數據:

重定向:>
追加重定向:>>
查看文件的內容:cat stat 查看文件的詳細信息
touch 不僅可以創建空文件,還可以改變文件的修改時間
atime access time 看了一下內容 cat
mtime modify time 文件內容被改變了,ctime 也會發生改變
ctime change time 元數據被改變,重命名
創建目錄文件:

mkdir 目錄名
-p parents 父目錄
-v verbose 詳細信息

刪除普通文件和目錄文件:

rm(命令別名默認帶-i,該選項用來提示用戶進行交互)刪除當前目錄下的所有文件(*代表所有):rm -rf *

複製文件:複製普通文件:cp 複製目錄文件:cp -r (添加-r 選項則可以 copy 目錄文件)

移動文件:mv,等同 Windows 裏面的剪切,移動之後原文件消失