嵌入式系統及應用Linux學習筆記(一)——常用命令

https://blog.csdn.net/qq_40700822/article/details/106080389

Linux簡介

Linux是一款優秀的計算機操作系統
LINUX是在UNIX基礎上開發,具有UNIX全部功能。
1991年,芬蘭赫爾辛基大學的學生Linus Torvalds開發了Linux。
Linus Torvalds把它變成了“自由”軟件。
注意:“自由”不是“免費”, “自由”即開源。
開源與免費的區別:免費軟件通常以二進制文件形式發佈。用戶雖然可以免費使用,但無權對軟件進行任何修改。開源軟件是將軟件以源代碼形式發佈,並遵循GPL等開源協議,用戶不僅能使用,而且還可對軟件進行改進。

Linux特點

1.開放性
開放性是指系統遵循世界標準規範,特別是遵循開放系統互聯(OSI)國際標準。
2.多用戶
Linux操作系統允許多個用戶同時登錄到系統當中
3.多任務
計算機同時執行多個程序,而且各個程序的運行相互獨立
4.出色的穩定性能
統一當作文件來看
7.豐富的網絡功能
完善的內置網絡是Linux的一大特點
8.安全性
採取了許多安全措施,包括對讀、寫操作進行權限控制,帶保護的子系統,審計跟蹤和內核授權
9.可移植性
能夠在微型機到大型計算機的任何環境和平臺上運行

Linux基本操作

1、Linux的登錄

有2種方式可以進入Linux的文本界面
虛擬控制檯:用組合鍵Ctrl+Alt+F2、 Ctrl+Alt+F7切換
GUI下的仿真終端:(ALT+CTL+T)

2、shell程序命令

在這裏插入圖片描述

Linux的基本命令

  1. passwd命令
    更改用戶密碼
  2. –help
    –help選項放在命令之後,用來顯示命令的信息。
  3. man命令
    顯示系統文檔中的man頁內容。
  4. nfo命令
    是一個基於菜單的超文本系統,是有GNU項目開發並有Linux發佈的。
  5. who命令
    用於查看當前登錄到系統的用戶信息
  6. uname命令
    uname命令顯示正在使用的Linux系統信息
    r:顯示操作系統的內核發行號(Release Number)
    n:顯示網絡上本機的節點名(Node Name)
    v:顯示操作系統的內核版本號(Version Number)
  7. date命令
    顯示或設置系統的時間
    格式:date [+%adDhHjmMrSTwWy]
  8. cal命令
    在屏幕上輸出日曆信息
    格式: cal [month] [year]
  9. echo命令
    用於回顯輸入內容
    格式: echo strings
  10. clear命令
    clear命令清除shell窗口中的內容
    格式: clear
  11. su命令
    用戶進入到系統後,切換到其他用戶,使用su命令。
    退回到原來用戶使用exit命令
    若想成功切換需要切換用戶賬號的密碼。

Linux文件系統的特點

1.Linux文件系統採用樹形結構,從根目錄root(/)開始。
2.Linux的虛擬文件系統允許衆多不同類型的文件系統共存,並支持跨文件系統的操作。
3.Linux的文件是無結構字符流式文件,不考慮文件內部的邏輯結構,只把文件簡單地看作是一系列字符的序列。
4.Linux的文件可由文件擁有者或超級用戶設置相應的訪問權限而受到保護。
5.Linux把所有的外部設備都看作文件,可以使用與文件系統相同的系統調用和函數來讀寫外部設備。

Linux文件系統的組成

/bin:存放二進制可執行命令目錄;
/home:用戶主目錄的基點目錄,默認情況每個用戶主目錄都設在該目錄下,如默認情況下用戶user01的主目錄是/home/user01;
/lib:存放標準程序設計庫目錄,又叫動態鏈接共享庫目錄,目錄中文件類似windows裏的.dll文件;
/etc:存放系統管理和配置文件目錄;
/dev:存放設備特殊文件目錄,如聲卡文件、磁盤文件等;

Linux文件系統類型

EXT文件系統
其它文件系統

文件系統操作

1. 建立文件系統。

當硬盤完成分區後,應該在該分區上建立文件系統,該操作又稱爲格式化。建立文件系統是通過mkfs工具來完成的。例如,如果需要在分區/dev/hdb1上建立ext4文件系統,可使用下列命令:
mkfs -t ext4 /dev/hdb1
按照Linux系統對分區的命名規則,ATA接口的硬盤以字母組合hd開始,SCSI和SATA接口硬盤以字母組合sd開始。第3個字母是硬盤的序號,a爲第1塊硬盤,b爲第2塊硬盤,依次類推。最後一位數字是分區的序號。

2. 掛載子文件系統。

創建文件系統後,需要使用命令mount將該文件系統安裝到主文件系統中。例如將第 1 .步中的hdb1分區掛載到“/mnt/dev”節點上,可使用下列命令:

su				// 切換到根用戶權限
mkdir /mnt/dev		// 創建目錄
chmod 777 /mnt/dev		// 修改目錄權限
mount -t ext4 /dev/hdb1 /mnt/dev	// 掛載子文件系統

在進行掛載前,首先要切換爲根用戶權限,否則無法訪問“/mnt”目錄。然後,爲掛載點建立一個空目錄,爲了讓所有用戶都能訪問和修改該目錄,還需要使用chmod命令修改目錄的權限。最後執行mount命令進行掛載,第1個參數是文件系統類型,第2個參數是分區的路徑,第3個參數是掛載點的路徑。

3.卸載子文件系統。

對於一些可讀寫的移動設備來說,移除設備前需要進行卸載子文件系統操作。因爲Linux系統使用了緩存機制,如果不卸載就移除設備可能會造成子文件系統數據丟失。例如某個已掛載的USB存儲器掛載點爲/mnt/usbdisk,卸載該文件系統的命令如下:

umount /mnt/usbdisk

***注意:對於正在進行讀寫操作的子文件系統不能使用umount命令卸載。卸載子文件系統前,應保證其中沒有文件被打開。

Linux文件系統操作命令

1.顯示文件命令

1)cat命令
格式:cat [選項] …[文件]…
說明:把多個文件連接後輸出到標準輸出(屏幕)或加“> 文件名”輸出到另一個文件中。
常用選項:
-b--number-noblank:從1開始對所有非空輸出行進行編號。
-n--number:從1開始對所有輸出行編號。
-s--squeeze-blank:將連續兩行以上的空白行合併成一

2.more命令

格式:more [選項] [文件…]
說明:該命令顯示文本文件的內容,一次顯示一屏,滿屏後停下來,可按如下鍵繼續。
(1)Space鍵 :默認顯示文本的下一屏內容。
(2)Enter鍵:默認顯示文本的下一行內容。
(3)d鍵或CTRL+D:向下顯示文本半屏,默認爲11行。
(4)b鍵或CTRL+B:默認顯示文本的上一屏內容。
(5)q or Q or INTERRUPT鍵:退出more命令。

常用選項:
-num:指定一個整數,表示一屏顯示多少行。
-d:在每屏底部顯示提示信息,包括當前顯示的百分比,按鍵提示等。
-c–p:不滾屏,在顯示下一屏之前先清屏。
+num:從行號num開始顯示。
+/pattern:定義一字符串,在文件中查找該字符串,從該字符串後開始顯示。

3.less命令

格式:less [選項] [文件]…
說明:與more命令相似,分屏顯示文件的內容。less命令允許用戶向前(PageUp)或向後(PageDown)瀏覽文件。在less命令提示符下按q鍵退出。

常用選項:
-i--ignore-case:搜索時忽略大小寫,除非搜索串中包含大寫字母。
-I--IGNORE-CASE:搜索時忽略大小寫。
-m--long-prompt:顯示讀取文件的百分比。
-M--LONG-PROMPT:顯法讀取文件的百分比、行號及總行數。
-N--LINE-NUMBERS:在每行前輸出行號。
-p pattern--pattern=pattern:定義一字符串,在文件中查找該字符串,從該字符串後開始顯示。

4.head命令

格式:head [選項] …[文件]…
說明:head 命令用於查看一個文本文件的開頭部分,行數由參數值決定,默認值是10。

常用選項:
-c--bytes=num:顯示文件前面num個字節。
-n--lines=num:顯示文件前面num行,不指定此參數顯示前10行。

5.tail命令

格式:tail [選項] … [文件] …
說明:tail命令用於查看一文本文件的末尾若干行,行數由參數值決定,默認值是10。如果給定的文件不止一個,則在顯示的每個文件前面加一個文件名標題。

常用選項:
-c--bytes=num:顯示文件最後面num個字節。
-n--lines=num:顯示文件最後面的num行,不指定此參數顯示10行。

6.複製、刪除和移動文件的命令

cp命令

格式:cp [選項] 源文件或目錄 目標文件或目錄
說明:cp命令完成文件的複製。
如果源是普通文件,該命令把源文件複製成指定的目標文件或複製到指定的目標目錄中。
如果源是目錄,目標是一已存在的目錄,該命令把源目錄下的所有文件和子目錄都複製到目標目錄中;
如果源是目錄,目標不是一已存在的目錄,命令出現錯誤信息。

常用選項:
-a--archive:等同於 –dpR。
-d:複製符號鏈接時,把目標文件或目錄也建立爲符號鏈接,並指向與源文件或目錄鏈接的原始文件或目錄。
-f--force:強行復制文件或目錄
-i--interactive:覆蓋目標文件前需要確認。
-n--no-clobber:不覆蓋已存在的目標文件。
-p:複製源文件或目錄內容的同時也複製文件屬性
-R-r--recursive:遞歸複製目錄,將源目錄下所有文件及子目錄都複製到目標位置。

rm 命令

格式:rm [選項] …文件或目錄…
說明:rm命令可以刪除文件或目錄,刪除目錄必須要加“-r”選項。
常用選項:
-f--force:強制刪除文件或目錄。
-i--interactive:刪除文件或目錄前提示要用戶確認。
-r-R, 或--recursive:遞歸刪除指定目錄及其下屬各級子目錄和相應的文件。

mv命令

格式:mv [選項] 源文件或目錄 目標文件或目錄
說明:mv命令可移動文件或目錄;更改文件或目錄的名稱。
常用選項:
-i--interactive:覆蓋文件前需要確認。
-f--force:若目標文件或目錄已存在,直接覆蓋。
-n--no-clobber:不覆蓋已存在的文件。
-u--update:移動或更改文件名時,若目標文件已存在,且文件日期比源文件新,則不覆蓋目標文件。

7.文件內容統計命令

格式:wc [選項] …[文件]…
說明:wc命令統計給定文件中的字節數、字數、行數。
常用選項:
-c--bytes:統計字節數。
-m或--chars:統計字符數。
-l--lines:統計行數。
-w--words:統計字數。

8.文件的壓縮和備份

bzip2命令

格式:bzip2 [選項] [要壓縮的文件]
說明:bzip2壓縮生成.bz2文件的壓縮程序,並刪除原始的文件。
常用選項:
-c--stdout:將壓縮或解壓縮的結果送到標準輸出。
-d--decompress:執行解壓縮。
-f--force:壓縮或解壓縮時,若輸出文件與現有文件同名,覆蓋現有文件。
-k--keep:bzip2 在壓縮或解壓縮後,保留原始文件。

gzip命令

格式:gzip [選項] [文件 …]
說明:gzip壓縮會產生".gz"的壓縮文件,並刪除原始文件。
常用選項:
-c--stdout--to-stdout:壓縮後文件輸出到標準輸出設備,不改變原始文件。
-d--decompress--uncompress:解開壓縮文件。
-f--force:強行壓縮文件。
-n--no-name:壓縮文件時,不保存原來的文件名稱及時間戳記。
-N--name:壓縮文件時,保存原來的文件名稱及時間戳記。
-r--recursive:遞歸處理,將指定目錄下的所有文件及子目錄一併處理。

tar(tape archive)命令

格式:tar [選項…] [文件或目錄]…
說明:tar 是用來建立,還原備份文件的工具程序,它可以加入,解開備份文件內的文件。
常用選項:
-A--catenate:新增tar文件到已存在的備份文件。
-c--create:建立新的備份文件。
-f<備份文件>--file=<備份文件>:指定備份文件。
-t--list:列出備份文件的內容。
-v--verbose:顯示指令執行過程。
-x--extract--get:從備份文件中還原文件。
--delete:從備份文件中刪除指定的文件。

Linux目錄操作命令

1.切換工作目錄和顯示目錄內容的命令

cd命令

格式:cd [目的目錄] 
說明:切換目錄至目的目錄,前提是用戶必須擁有進入目的目錄的權限。 其中目的目錄可爲絕對路徑或相對路徑,若目錄名稱省略,則切換至使用者的主目錄。

pwd命令

格式:pwd
說明:pwd命令不帶任何選項或參數,Linux系統用 pwd 命令來查看“當前工作目錄”的完整路徑。

ls命令

格式:ls [選項]… [文件或目錄]…
說明:ls命令可列出目錄的內容,包括文件和子目錄的名稱。

常用選項:
-a--all:列出目錄下的所有文件和目錄,包括以 “.” 開頭的隱含文件。
-A--almost-all:列出除“.”(當前目錄)及”…”(當前目錄的上級目錄)外的任何文件和目錄。
-b--escape:把文件名中不可輸出的字符用反斜槓加字符編號的形式列出。
-c:輸出文件的ctime(文件最後更改的時間),並根據ctime 排序。
-C:分成多列顯示文件和目錄。
-F--classify:加上文件類型的指示符號,其中“*”表示可執行的普通文件;“/”表示目錄;“@”表示符號鏈接;“|”表示管道文件;“=”表示套接字。
-d--directory:將目錄像文件一樣顯示,而不是顯示其下的文件。
-l:列出文件詳細信息,輸出信息分成7個字段列表
在這裏插入圖片描述
第1字段:文件類型及訪問權限字段。
文件屬性字段總共有10個字母組成,第一個字母表示文件類型,具體如下。
- 表示該文件是一個普通文件。
d 表示該文件是一個目錄。
c 表示該文件是字符設備文件。
b 表示該文件是塊設備文件。
p 表示該文件是管道文件。
l 表示該文件是符號鏈接文件。
s 表示該文件是套接字。
後面的9個字符表示文件的訪問權限,我們在存取權限部分詳細介紹。

第2字段:文件鏈接數字段。
表示文件硬鏈接數或目錄子目錄數。

第3字段:文件屬主字段。
表示文件的所有者。

第4字段:文件所屬用戶組字段。
表示該文件所屬的用戶組。

第5字段:文件大小字段。
表示該文件的大小,以字節爲單位。

第6字段:最後修改時間字段。
表示該文件最後修改時間。

第7字段:文件名字段。
表示該文件的文件名,如果是符號鏈接,-> 箭頭符號後面跟一個它指向的文件。

2.創建和刪除目錄命令

mkdir命令

格式:mkdir [選項] … 目錄名…
說明:該命令創建由目錄名命名的目錄,同時設置該目錄的權限。要求創建目錄的用戶在當前目錄中具有寫權限,並且目錄名不能是當前目錄中已有的目錄或文件名稱。
常用選項:
-m--mode=MODE:對新建目錄設置存取權限。
-p--parents:若所建目錄的上層目錄不存在,會一併建立。

rmdir命令

格式:rmdir [選項]… 目錄名…
說明:該命令從一個目錄中刪除一個或多個目錄。刪除目錄時,必須對該目錄的父目錄具有寫權限,目錄被刪除前應該是空目錄。
常用選項:
-p--parents:刪除指定目錄後,若該目錄的上層目錄已變成空目錄,則其一併刪除。

Linux改變文件或目錄存取權限命令

用戶和用戶組

Linux系統是一個多用戶多任務的分時操作系統,任何一個要使用系統資源的用戶,都必須首先向系統管理員申請一個賬號,然後以這個賬號的身份進入系統。 Linux內部用UID標識各用戶。
用戶組(group)就是具有相同特徵的用戶的集合體,Linux系統中每個用戶都屬於一個用戶組,系統能對一個用戶組中的所有用戶進行集中管理。在Linux內部用戶組用GID標識。
Linux系統規定了4種不同類型的用戶,分別是文件主、同組用戶、其他用戶、超級用戶。

存取權限

存取權限就是用來確定誰可以通過何種方式對文件和目錄進行訪問,Linux系統規定3種訪問文件和目錄的方式。
(1)讀(r)
對文件表示只允許指定用戶讀取該文件的內容,禁止做任何更改操作;對目錄表示可以列出存儲在該目錄下的文件。
(2)寫(w)
對文件表示允許指定用戶打開並修改該文件;對目錄表示允許從該目錄中刪除或添加新的文件。
(3)執行(x)
對文件表示允許指定用戶執行該文件;對目錄表示允許在該目錄中進行查找,能用cd命令將工作目錄改爲該目錄。
用ls -l命令可以顯示文件或目錄的詳細信息,其中第一字段即爲文件屬性字段
在這裏插入圖片描述

chmod命令

用字母設定法改變文件或目錄的訪問權限。

格式:chmod [who] [opt] [mode] 文件或目錄名…
說明:用於改變文件或目錄的訪問權限,是Linux系統管理員最常用到的命令之一。其中who表示對象,是以下字母中的一個或多個的組合。
u:表示文件所有者。
g:表示同組用戶。
o:表示其它用戶。
a:表示所有用戶。
opt表示操作,可以爲如下符號。
+:添加某個權限。
-:取消某個權限。
=:賦予給定的權限,並取消原有的權限。
mode表示權限,是以下字母一個或多個的組合。
r:可讀。
w:可寫。
x:可執行。

用數字設定法改變文件或目錄的訪問權限。

格式:chmod [mode] 文件或目錄名…
說明:將rwx看成二進制數,如果該位有權限,用1表示,該位沒有權限用0表示,那麼rwx r-x r- -可以表示爲:111 101 100,再將其每三位轉換成爲一位八進制數,就是754。
在這裏插入圖片描述

Linux改變用戶組和文件主的命令

chgrp命令

格式:chgrp [選項]… 所屬組 文件或目錄…
說明:chgrp命令改變指定文件所屬的用戶組,其中所屬組可以是用戶組的ID,也可以是用戶組的組名。文件是以空格分開的要改變屬組的文件列表,支持通配符。在Linux下一般只有超級用戶才能改變該文件的屬組。
常用選項:
-R--recursive:遞歸式地改變指定目錄及其下的所有子目錄和文件的屬組。

chown命令

格式:chown [選項] … [用戶][:[組]] 文件 …
說明:chown命令將指定文件的擁有者改爲指定的用戶或組。用戶可以是用戶名或用戶ID。組可以是組名或組ID。文件是以空格分開的要改變權限的文件列表,支持通配符。在linux下一般只有超級用戶纔可以使用該命令。
常用選項:
-R--recursive:遞歸式改變指定目錄及其下的所有子目錄和文件的擁有者。

本文中沒有提到的命令都可以用--help命令來進行查詢。

END
2020.5.12 by iNBC form SDUT

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章