linux-vi和文件操作

在 Linux 系統的世界里,有一個核心思想貫穿始終,那就是 “萬物都是文件”。這一理念極大地簡化了系統資源的管理和操作,為用戶和開發者提供了統一且高效的交互方式。本文將深入探討這一理念在 Linux 文件系統中的具體體現,從硬盤分區管理到文件類型、權限,再到目錄操作和文本編輯等各個方面。

硬盤分區管理:提升存儲效率的基石

硬盤作為數據存儲的核心硬件,在 Linux 系統中通過分區管理來提高使用與管理效率。存儲被劃分為多個邏輯分區,每個邏輯分區都是硬件存儲的一部分。每個分區可看作一個獨立的邏輯單元,支持諸如格式化、掛載、卸載等操作。

例如,當我們新添加一塊硬盤時,通常會先對其進行分區,將其劃分為不同用途的邏輯區域,如一個分區用于安裝操作系統,一個分區用于存儲用戶數據等。通過這種方式,不僅可以更好地組織數據,還能在出現問題時,方便地對特定分區進行維護,而不影響其他分區的數據。

創建文件系統:為數據存儲搭建框架

在分區之上,需要創建文件系統。這一過程主要包含兩個關鍵步驟:一是將分區初始化為特定的文件系統,從而創建出能夠存儲文件和數據的結構;二是通過這種初始化,確保文件能夠按照預定的規則進行存儲、讀取和管理。常見的 Linux 文件系統有 ext4、XFS 等,不同的文件系統在性能、可靠性和功能特性上各有差異,用戶可根據實際需求選擇合適的文件系統進行格式化。

文件系統的組織架構:基于目錄的層次體系

整個 Linux 文件系統基于目錄來組織,形成了一種類似于樹狀的結構,即 “目錄樹”。在這個目錄樹中,“/” 具有特殊的雙重含義:它既是根目錄,代表整個文件系統的起點,包含了所有其他目錄和文件;同時也是路徑分隔符,用于區分不同層級的目錄和文件。

文件的廣義定義:超越傳統的數據單元

在 Linux 的 “萬物都是文件” 理念下,文件的定義被大大拓寬。它不僅僅指磁盤上的數據存儲單元,還涵蓋了物理設備和虛擬實體。這種廣泛的設定帶來了諸多優點。一方面,統一了對各種資源的操作方式,使得對文件、設備等的操作具有通用性;另一方面,標準化了輸入和輸出,極大地簡化了 I/O 操作。例如,在 Linux 中,我們可以像操作普通文件一樣操作硬件設備文件,通過讀取和寫入設備文件來與硬件進行交互。

文件類型的多樣分類

Linux 系統中的文件主要分為三類:

  1. 普通文件:這是用戶日常使用最為頻繁的文件類型,存儲在硬盤等設備上。普通文件又可進一步細分為文本文件,如純文本文件、配置文件等,其內容以字符形式存儲,可直接查看和編輯;以及二進制文件,包括可執行文件、圖像、音頻等,這類文件的內容以二進制格式存儲,通常需要特定的程序來解析和處理。
  2. 目錄文件:目錄文件并不存儲常規的數據,其主要功能是保存其他文件的信息,類似于一個文件索引,通過它可以快速定位和訪問文件系統中的其他文件和目錄。
  3. 特殊文件:特殊文件與硬件設備緊密相關,通過這些文件,系統能夠實現對硬件設備的訪問和控制。例如,/dev 目錄下的文件大多是特殊文件,它們代表了各種硬件設備,如硬盤、光驅、串口等。

通過 file 命令,我們可以輕松查看對應文件的類型,這為用戶準確識別和處理不同類型的文件提供了便利。

遵循 FHS 標準:保障跨平臺兼容性

為了確保不同 Linux 發行版之間的跨平臺兼容性,Filesystem Hierarchy Standard(FHS)應運而生。FHS 主要包含以下幾個方面的規定:

  1. 定義了以樹形結構來組織文件的方式,使得文件系統的布局具有一致性和可預測性。
  2. 明確規定了各個目錄的名稱和作用,讓用戶和開發者能夠清晰了解每個目錄的用途。
  3. 定義了兩層規范:一是規定了 “/” 目錄下應該放置哪些文件;二是對 “/usr” 以及 “/var” 目錄的子目錄進行了詳細定義。例如,“/usr” 目錄主要用于存放應用程序,“/var” 目錄用于存放經常變化或增長的文件,如日志、緩存、郵件、打印隊列等。

系統定義目錄的功能與用途

在 Linux 文件系統中,有許多系統定義的目錄,它們各自承擔著特定的功能:

  1. /:根目錄,整個文件系統的根基,包含了文件系統中的所有內容,是目錄樹的起始點。
  2. /bin:存放著用戶可執行的文件,即外部命令,如 cal(日歷命令)、date(日期命令)、who(查看在線用戶命令)、sh(Bourne shell)、bash(Bourne - Again shell)等。這些命令可供普通用戶直接在終端中執行。
  3. /sbin:該目錄存放的是管理員可執行的系統管理命令,例如用于系統啟動、網絡配置、磁盤管理等操作的命令,普通用戶通常沒有執行這些命令的權限,只有管理員(root 用戶)才能使用。
  4. /lib, /lib64:這兩個目錄用于存放函數庫和模塊文件,這些文件是程序運行所依賴的基礎,不同架構的系統可能會有不同的存放目錄,/lib64 一般用于 64 位系統存放 64 位的庫文件,/lib 則可能存放 32 位庫文件或一些通用的庫文件。
  5. /boot:存放 Linux 系統啟動時會用到的文件,包括內核文件、引導加載程序(如 GRUB)相關文件等。這些文件對于系統的正常啟動至關重要。
  6. /dev:這是設備文件的存放目錄,系統中的每一個硬件設備在該目錄下都有對應的文件,通過這些文件,用戶和程序可以與硬件設備進行交互。例如,/dev/sda 可能代表第一塊硬盤,/dev/tty 代表終端設備等。
  7. /mnt, /media:用于臨時掛載其他文件系統的目錄。/mnt 通常用于手動掛載外部存儲設備,如移動硬盤、U 盤等;/media 則一般用于自動掛載可移動設備,當插入設備時,系統會自動將其掛載到 /media 目錄下的某個子目錄中。
  8. /proc:這是一個虛擬文件系統,它將系統中的進程和內核信息以文本文件的形式呈現出來。我們可以通過 cat 等命令查看對應的進程信息或硬件信息,例如,cat /proc/cpuinfo 可以查看 CPU 的詳細信息。/proc 目錄下的文件并不實際存儲在磁盤上,而是由內核動態生成,反映系統當前的運行狀態。
  9. /root:管理員(root 用戶)的家目錄,root 用戶的個人配置文件、數據等通常存儲在此目錄下。
  10. /home:普通用戶的家目錄,每個用戶在 /home 目錄下都有一個以自己用戶名命名的子目錄,用戶的個人文件、配置等都存儲在這個目錄中,具有較高的私密性。
  11. /etc:用于存儲配置文件的重要目錄,包含了用戶信息、服務的啟動信息以及常用服務的配置信息等。例如,/etc/profile 文件用于設置系統環境變量,/etc/passwd 文件存儲了用戶賬戶的基本信息。許多系統服務和應用程序在啟動時會讀取該目錄下的配置文件,以確定運行參數和行為。
  12. /usr:存放應用程序的主要目錄,類似于 Windows 系統中的 “Program Files” 目錄。大部分安裝的軟件包會將其文件安裝到 /usr 目錄下的子目錄中,如 /usr/bin 存放可執行文件,/usr/lib 存放庫文件,/usr/share 存放共享數據等。
  13. /opt:用于存放額外安裝的軟件目錄,通常是一些第三方軟件或企業自定義軟件的安裝位置。與 /usr 目錄不同,/opt 目錄下的軟件相對獨立,便于管理和卸載。
  14. /var:如前所述,該目錄用于存放經常變化或增長的文件,由于這些文件的內容會不斷更新,如日志文件會隨著系統運行持續記錄新的事件,所以將它們單獨存放在 /var 目錄下,有利于系統管理和維護,同時也便于對這些動態數據進行監控和分析。
  15. /run:存放程序或服務運行時產生的信息,例如進程的 PID 文件(記錄進程 ID)等。這些信息在系統運行期間動態生成,系統重啟后可能會重新生成,因此 /run 目錄下的內容通常不會被持久保存。
  16. /tmp:用于存放臨時文件的目錄,許多程序在運行過程中會產生一些臨時數據,這些數據通常不需要長期保存,系統會定期清理 /tmp 目錄下的文件。用戶也可以在該目錄下創建臨時文件,以滿足特定的臨時需求。
  17. /sys:存放和內核相關的信息,與 /proc 類似,但 /sys 文件系統更側重于提供內核對象(如設備驅動程序、總線等)的信息。通過 /sys 目錄,用戶和管理員可以獲取和修改內核對象的一些屬性,以調整系統的運行行為。
  18. /srv:存儲一些服務啟動后需要提取或訪問的數據,例如 Web 服務器可能會將網站數據存儲在 /srv/www 目錄下。不同的服務可以根據自身需求在 /srv 目錄下創建相應的子目錄來存儲數據。

路徑表示:絕對路徑與相對路徑

在 Linux 文件系統中,路徑用于定位文件和目錄。路徑分為絕對路徑和相對路徑:

  1. 絕對路徑:從根目錄(/)開始,一直到目標文件或目錄的完整路徑。例如,/home/user/Documents/file.txt 就是一個絕對路徑,它明確地指出了 file.txt 文件位于 /home 目錄下的 user 子目錄中的 Documents 子目錄中。
  2. 相對路徑:從當前所在目錄出發,到目標文件或目錄的路徑。相對路徑不包含根目錄,它是相對于當前工作目錄的位置。例如,如果當前工作目錄是 /home/user,要訪問 Documents 目錄下的 file.txt 文件,使用相對路徑可以表示為 Documents/file.txt。在相對路徑中,可以使用 “..” 來表示回到上一級目錄(父目錄)。例如,從 /home/user/Documents 目錄要回到 /home/user 目錄,可以使用 “cd..” 命令。

目錄操作命令:管理文件系統的利器

在 Linux 系統中,有一系列用于目錄操作的命令,這些命令是用戶管理文件系統的常用工具:

  1. pwd:用于顯示當前所在目錄的絕對路徑。當我們在終端中執行復雜的操作,需要明確當前所處的位置時,pwd 命令能提供清晰的信息。例如,在經過多次目錄切換后,執行 “pwd” 命令,系統會輸出當前所在的完整路徑,如 “/home/user/Documents”。
  2. cd:用于切換到某個目錄。可以使用絕對路徑或相對路徑來指定目標目錄。例如,“cd /home/user” 會切換到 /home 目錄下的 user 子目錄;“cd..” 會回到當前目錄的父目錄;“cd ~” 會回到當前用戶的家目錄(對于普通用戶,通常是 /home/ 用戶名;對于 root 用戶,是 /root)。
  3. mkdir:用于創建目錄。如果要創建單個目錄,直接使用 “mkdir 目錄名” 即可。例如,“mkdir new_dir” 會在當前目錄下創建一個名為 new_dir 的新目錄。若要創建多級目錄(即遞歸創建),可以使用 “-p” 選項。例如,“mkdir -p parent_dir/child_dir/grandchild_dir” 會一次性創建 parent_dir 目錄及其子目錄 child_dir 和孫目錄 grandchild_dir,如果這些目錄不存在的話。
  4. rmdir:用于刪除空目錄。其基本語法為 “rmdir 目錄名”。例如,“rmdir empty_dir” 會刪除當前目錄下名為 empty_dir 的空目錄。如果目錄不為空,rmdir 命令會報錯,提示目錄非空無法刪除。
  5. rm -r:可以遞歸刪除目錄及其包含的所有子目錄和文件。使用時需謹慎,因為該操作會永久刪除指定目錄下的所有內容,無法恢復。例如,“rm -r my_dir” 會刪除 my_dir 目錄及其內部的所有文件和子目錄。“-f” 選項用于強制刪除,即不提示確認信息直接刪除,使用時要格外小心,避免誤刪重要數據;“-i” 選項用于交互刪除,在刪除每個文件或目錄前,系統會提示用戶確認是否刪除,這種方式可以減少誤操作的風險。
  6. ls:用于展示當前目錄中的文件和目錄。該命令有多個常用選項:
    • “-i”:顯示文件和目錄的索引節點號。索引節點是文件系統中用于標識文件的一種數據結構,每個文件和目錄在文件系統中都有唯一的索引節點號。
    • “-a”:顯示所有文件,包括以點(.)開頭的隱藏文件。在 Linux 系統中,以點開頭的文件通常被視為隱藏文件,默認情況下,ls 命令不會顯示它們。
    • “-l”:以詳細信息展示文件和目錄,包括文件的權限、所有者、所屬組、文件大小、修改時間等信息。例如,“ls -l” 可能會輸出類似 “-rwxr - xr-- 1 user group 1024 Apr 15 10:00 example_file” 的信息,其中 “-rwxr - xr--” 表示文件的權限,“1” 表示文件的硬鏈接數,“user” 是所有者,“group” 是所屬組,“1024” 是文件大小(單位為字節),“Apr 15 10:00” 是文件的最后修改時間,“example_file” 是文件名。
    • “-d”:羅列目錄本身的信息,而非目錄內的文件和子目錄信息。例如,當我們只想查看某個目錄的屬性(如權限、所有者等),而不想查看其內部內容時,可以使用 “ls -ld 目錄名”。

文件操作命令:處理文件內容的工具集

除了目錄操作命令,Linux 系統還提供了豐富的文件操作命令,用于查看、編輯和處理文件內容:

  1. cat:用于查看文件的內容。它會將文件的全部內容一次性輸出到終端。例如,“cat file.txt” 會在終端上顯示 file.txt 文件的所有內容。如果文件內容較多,可能會導致終端屏幕快速滾動,不利于查看。
  2. more:用于分頁展示文件的內容。使用 “more file.txt” 命令后,文件內容會以一頁一頁的形式顯示,用戶可以通過按回車鍵向下移動一行,按空格鍵翻頁,按 “q” 鍵退出查看。這種方式適合查看較長的文件,方便用戶逐頁閱讀。
  3. head, tail:這兩個命令用于指定輸出文件的前面或后面幾行。使用 “-n” 選項可以規定輸出的行數。例如,“head -n 10 file.txt” 會輸出 file.txt 文件的前 10 行內容;“tail -n 5 file.txt” 會輸出 file.txt 文件的最后 5 行內容。對于 tail 命令,還有一個 “-f” 選項,它表示持續輸出文件的最后幾行,直到用戶手動停止。這個選項在查看實時更新的日志文件時非常有用,用戶可以實時看到日志文件中新增的內容。
  4. wc:用于統計文本文件的行數、單詞數和字符數。常用選項如下:
    • “-l”:統計文本文件的行數。例如,“wc -l file.txt” 會輸出 file.txt 文件的行數。
    • “-w”:統計文本文件的單詞數。單詞是以空格或換行符分隔的字符串。
    • “-c”:統計文本文件的字符數,包括所有的字符,如字母、數字、標點符號等。
  5. diff:用于比較兩個文件是否相同。通過 “diff file1.txt file2.txt” 命令,系統會逐行對比兩個文件的內容,并輸出它們之間的差異。如果兩個文件完全相同,diff 命令不會輸出任何內容;如果存在差異,它會指出哪些行不同以及具體的差異內容,這對于檢查文件的修改情況或對比配置文件的變化非常有幫助。

文件權限:保障系統安全與資源控制

在 Linux 系統中,文件權限通過 10 位字母來表示:

  1. 第一位:表示文件的類型。常見的類型有:
    • “d”:表示目錄文件。
    • “-”:表示普通文件。
    • “b”:表示塊設備文件,這類文件通常用于訪問如硬盤等以塊為單位進行數據存儲和傳輸的設備。
    • “c”:表示字符設備文件,用于訪問如串口、鍵盤等以字符為單位進行數據傳輸的設備。
    • “l”:表示鏈接文件,又分為軟鏈接(符號鏈接)和硬鏈接,軟鏈接類似于 Windows 系統中的快捷方式,而硬鏈接則是為文件創建了一個額外的目錄項,多個硬鏈接可以指向同一個文件實體。
  2. 后面的 9 位:每 3 位一組,分別表示所有者權限、用戶組權限和其他人的權限。權限類型包括:
    • 讀權限(r)
      • 對于文件:若用戶對文件具備讀權限,那么該用戶能夠查看文件的內容。例如,當用戶擁有讀權限時,可以運用 cat、more 或者 less 等命令來查看文件內容。如果文件權限為 “-r--r--r--”,表示所有者、用戶組和其他人都只有讀權限,只能查看文件內容,不能進行修改或執行。
      • 對于目錄:若用戶對目錄有讀權限,就能夠列出該目錄下的文件和子目錄。可以使用 ls 命令查看目錄內容。但僅有讀權限,用戶無法進入目錄或對目錄內的文件進行操作。
    • 寫權限(w)
      • 對于文件:要是用戶對文件有寫權限,就可以對文件內容進行修改、刪除或者添加。舉例來說,借助 nano、vim 等文本編輯器就能修改文件內容。如果文件

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/75904.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/75904.shtml
英文地址,請注明出處:http://en.pswp.cn/web/75904.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Endnote 21顯示字段設置與修改詳細解析(附Endnote Click)

目錄 前言字段設置與詳細解釋Endnote Click1. 安裝 Endnote Click2. 一鍵獲取Edge插件3. 安裝完成啟動插件4. 檢索期刊文獻案例5. 在 Endnote Click 我的locker中導入文獻 前言 在學術研究的漫漫征途中,高效管理參考文獻是每位學者、學生都繞不開的關鍵環節。Endno…

java使用 ?Stream 流對自定義對象數組去重的

在 Java 中,使用 Stream 流對自定義對象數組去重的核心是確保對象能正確判斷“重復”的邏輯。以下是具體實現方法及場景分析: 方法 1:直接使用 distinct()(需重寫 equals 和 hashCode) 若自定義對象已正確重寫 equals…

C++ (類的設計,對象的創建,this指針,構造函數)

類的設計 C對結構體是有增強的 可以包含函數作為結構體成員 可以直接定義變量 在結構體成員函數里面可以直接訪問結構體成員變量 struct student{string name;int age;float score;void play_game(const string &name);}void student::play_game(const string game){}…

《ADVANCING MATHEMATICAL REASONING IN LAN- GUAGE MODELS》全文閱讀

《ADVANCING MATHEMATICAL REASONING IN LAN- GUAGE MODELS: THE IMPACT OF PROBLEM-SOLVING DATA, DATA SYNTHESIS METHODS, AND TRAINING STAGES》全文閱讀 提升語言模型中的數學推理能力:問題求解數據、數據合成方法及訓練階段的影響 \begin{abstract} 數學推…

網絡測試工具:涵蓋網絡測速、密碼查看、故障判斷與網絡監測

在網絡管理與維護的廣闊領域中,網絡測試工具扮演著至關重要的角色。它們不僅簡化了復雜的網絡診斷流程,還提升了工作效率。今天推薦一款包含功能全面的網絡測試工具:InetTest,是一款免費且開源的網絡測試工具,適用于Wi…

小剛說C語言刷題——1005 - 已知一個圓的半徑,求解該圓的面積和周長

1.題目描述 已知一個圓的半徑,求解該圓的面積和周長。 輸入 輸入只有一行,只有 1個整數。 輸出 輸出只有兩行,一行面積,一行周長。(保留兩位小數)。 令 pi3.1415926。 樣例 輸入 1 輸出 3.14 6.…

【算法】快速排序

算法系列六:快速排序 一、快速排序的遞歸探尋 1.思路 2.書寫 3.搭建 3.1設計過掉不符情況(在最底層時) 3.2查驗能實現基礎結果(在最底層往上點時) 3.3跳轉結果繼續往上回搭 4.實質 二、快速排序里的基準排序 …

SoapUI 4.6.4(32位)下載安裝教程 - 兼容老舊Windows系統

SoapUI 4.6.4(32位版) 是個老版本的測試工具,專門給 32位 Windows 電腦 用的。現在最新版都是 64 位的了,但如果你還在用老系統,可能還得找這個舊版。 SoapUI 4.6.4工具下載:https://pan.quark.cn/s/c07381db8102 這…

【AI量化第24篇】KhQuant 策略框架深度解析:讓策略開發回歸本質——基于miniQMT的量化交易回測系統開發實記

我是Mr.看海,我在嘗試用信號處理的知識積累和思考方式做量化交易,應用深度學習和AI實現股票自動交易,目的是實現財務自由~ 目前我正在開發基于miniQMT的量化交易系統——看海量化交易系統。 本篇要講到量化的核心了——策略。說白了每個投資者…

Java面試黃金寶典48

1. C++ 的拷貝構造函數,深拷貝和淺拷貝 定義 拷貝構造函數:在 C++ 里,拷貝構造函數屬于特殊的構造函數,其功能是使用一個已存在的對象來初始化一個新對象。當對象以值傳遞的方式作為參數傳給函數、函數返回對象、用一個對象初始化另一個對象時,拷貝構造函數會被調用。淺拷…

OpenCV學習之獲取圖像所有點的坐標位置(二)

1.功能介紹 (1)使用openCV解析了.jpeg、.jpg、.png格式的圖像文件,輸出了圖像的寬、高、通道數; (2)創建txt格式文件,保存圖像中各像素點的rgba值。 2.環境介紹 操作系統:window10 開發語言:visual studio 2015 c++ 3.功能實現過程 3.1環境設置 (1)打開Vs2015…

B2B2C多用戶商城平臺 的兩種創新玩法

以前隨便搞個淘寶京東那樣的商城就能躺著賺錢的日子早過去了!現在市面上各種電商玩法花樣百出:小紅書那種刷著刷著就下單的"種草"電商,拼多多那種"幫我砍一刀"的社交電商,還有抖音快手那種看著視頻突然就想買…

【Bluedroid】A2DP Sink播放流程源碼分析(二)

接上一篇繼續分析:【Bluedroid】A2DP Sink播放流程源碼分析(一)_安卓a2dp sink播放流程-CSDN博客 AVDTP接收端(Sink)流事件處理 bta_av_sink_data_cback 是 Bluedroid 中 A2DP Sink 角色的 AVDTP 數據回調函數,負責處理接收端的…

抗量子算法驗證工具

抗量子算法計算工具 抗量子算法驗證工具ML-KEMML-DSASLH-DSA 抗量子算法驗證工具 2024年末,美國NIST陸續公布了FIPS-203、FIPS-204、FIPS-205算法標準文檔,抽空學習了一下,做了個算法計算工具。 ML-KEM ML-DSA SLH-DSA 需要的朋友可留言交流…

2025年PMP考試有哪些變化?難點在哪里?

PMP(項目管理專業人士資格認證)考試因其廣泛的行業認可度和實用性,成為許多專業人士提升職業競爭力的重要選擇。然而,對于初次接觸PMP考試的考生來說,其廣度與深度的平衡、理論與實踐的結合,以及跨文化思維…

Docker學習筆記-docker安裝、刪除

一、在centOS 7中docker的默認安裝目錄 # Docker 主配置文件目錄 ls /etc/docker# Docker 數據目錄(鏡像、容器、卷等) ls /var/lib/docker# Docker 可執行文件路徑 which docker # 輸出類似 /usr/bin/docker 二、docker文件目錄說明 目錄/文件用途/…

MATLAB求和∑怎么用?

MATLAB求和∑怎么用? 一:題目:求下列方程的和 二、代碼如下 1.syms函數 (方法一) 代碼如下(示例): 1. syms x 2. symsum((x.^22*x).^3,1,100) 3. 2.直接用循環 (方法二) 代碼如下&am…

每日算法-鏈表(2.兩數相加、24.兩兩交換鏈表中的節點、143.重排鏈表)

一.兩數相加 1.1題目描述 1.2題解思路 定義兩個指針l1,l2依次遍歷兩個鏈表,用變量add存儲l1加l2的值,將add的個位數取出來充當新節點的值,然后將add的個位數刪去,即add /10,循環此操作。 重點分析: 1.跟…

Flutter學習 滾動組件(1):ListView基本使用

目錄 一、ListView構造方法1.1 常規方法1.2 ListView.builder1.3 ListView.separated 二、自定義ListView樣式和布局:三、ListView性能優化:總結: 一、ListView構造方法 主要以下幾種方法: 常規方法,直接使用默認的構…

ESLint常見錯誤

1、Strings must use singlequote —— 字符串必須使用單引號 2、Extra semicolon semi——額外的分號:一行語句結尾不能添加分號 3、Unexpected trailing comma —— 行尾多了一個逗號 4、Newline required at end of file but not found ——文件結尾必須要新加…