tft每日頭條

 > 生活

 > linux基本指令

linux基本指令

生活 更新时间:2025-01-20 17:02:32

1、fdisk打不開, 、/dev/sdb: 沒有那個文件或目錄解決

簡單的說就是插入優盤,Sdb,具體過程是,我剛開始應用fdisk -l是會出現fdisk權限不夠,dev/sdb權限不夠,後來應用root模式,還是這樣。我加入優盤後出現下面情況,,整個指令敲得過程,看截圖。

linux基本指令(linux指令學習5)1

linux基本指令(linux指令學習5)2

linux基本指令(linux指令學習5)3

linux基本指令(linux指令學習5)4

後兩個表中的命令含義:

p顯示現有的分區

n建立新分區

t更改分區類型

d删除現有的分區

a更改分區啟動标志

w對分區的更改寫入到硬盤或者存儲器中。

q不保存退出。

由于我的 U 盤裡面還有一些重要的文件,所以現在不能進行分區,這裡現在就不演示 fdisk的分區操作了,後面我們講解裸機例程的時候需要将可執行的 bin 文件燒寫到 SD 卡中,燒寫到 SD 卡之前需要對 SD 卡進行分區,到時候在詳細講解如何使用 fdisk 命令對磁盤進行分區。

、格式化命令 mkfs

使用命令 fdisk 創建好一個分區以後,我們需要對其格式化,也就是在這個分區上創建一個

文件系統,Linux 下的格式化命令為 mkfs,命令格式如下:

mkfs

[參數] [-t 文件系統類型]

[分區名稱]

主要參數如下:

fs指定建立文件系統時的參數

-V顯示版本信息和簡要的使用方法。

-v顯示版本信息和詳細的使用方法。

比如我們要格式化 U 盤的分區/dev/sdb1 為 FAT 格式,那麼就可以使用如下命令:

mkfs –t vfat /dev/sdb1

挂載分區命令 mount

我們創建好分區并且格式化以後肯定是要使用硬盤或者 U 盤的,那麼如何訪問磁盤呢?比

如我的 U 盤就一個分區,為/dev/sdb1,如果直接打開文件/dev/sdb1 會發現根本就不是我們要的結果。我們需要将/dev/sdb1 這個分區挂載到一個文件夾中,然後通過這個文件訪問 U 盤,磁盤挂載命令為 mount,命令格式如下:

mount

[參數] -t

[類型] [設備名稱] [目的文件夾]

命令主要參數有:

-V顯示程序版本。

-h顯示輔助信息。

-v顯示執行過程詳細信息。

-o ro隻讀模式挂載。

-o rw讀寫模式挂載。

-s-r 等于-o ro。

-w 等于-o rw。

挂載點是一個文件夾,因此在挂載之前先要創建一個文件夾,一般我們把挂載點放到“/mnt”

目錄下,在“/mnt”下創建一個 tmp 文件夾,然後将 U 盤的/dev/sdb1 分區挂載到/mnt/tmp 文件

夾裡面,操作如圖

linux基本指令(linux指令學習5)5

、卸載命令 umount

當我們不再需要訪問已經挂載的 U 盤,可以通過 umount 将其從卸載點卸除,命令格式如

下:umount [參數] -t

[文件系統類型]

[設備名稱]

-a卸載/etc/mtab 中的所有文件系統。

-h顯示幫助。

-n卸載時不要将信息存入到/etc/mtab 文件中

-r如果無法成功卸載,則嘗試以隻讀的方式重新挂載。

-t<文件系統類型>

僅卸載選項中指定的文件系統。

-v 顯示執行過程。上面我們将 U 盤挂載到了文件夾/mnt/tmp 裡面,這裡我們使用命令 umount 将其卸載掉

linux基本指令(linux指令學習5)6

2、Linux C 編程記錄vim修改和編輯流程

主要是vim的控制文件修改過程,需要在root模式下進行修改

linux基本指令(linux指令學習5)7

linux基本指令(linux指令學習5)8

linux基本指令(linux指令學習5)9

linux基本指令(linux指令學習5)10

linux基本指令(linux指令學習5)11

3、gcc編譯器

在上一小節我們已經使用過 GCC 編譯器來編譯 C 文件了,我們使用到是 gcc 命令,gcc 命

令格式如下:

gcc

[選項] [文件名字]

主要選項如下:

-c:隻編譯不鍊接為可執行文件,編譯器将輸入的.c 文件編譯為.o 的目标文件。

-o:<輸出文件名>用來指定編譯結束以後的輸出文件名,如果不使用這個選項的話 GCC 默

認編譯出來的可執行文件名字為 a.out。

-g:添加調試信息,如果要使用調試工具(如 GDB)的話就必須加入此選項,此選項指示編

譯的時候生成調試所需的符号信息。

-O:對程序進行優化編譯,如果使用此選項的話整個源代碼在編譯、鍊接的的時候都會進

行優化,這樣産生的可執行文件執行效率就高。

-O2:比-O 更幅度更大的優化,生成的可執行效率更高,但是整個編譯過程會很慢。

GCC 編譯器的編譯流程是:預處理、編譯、彙編和鍊接。預處理就是展開所有的頭文件、替換程序中的宏、解析條件編譯并添加到文件中。編譯是将經過預編譯處理的代碼編譯成彙編代碼,也就是我們常說的程序編譯。彙編就是将彙編語言文件編譯成二進制目标文件。鍊接就是将彙編出來的多個二進制目标文件鍊接在一起,形成最終的可執行文件,鍊接的時候還會涉及到靜态庫和動态庫等問題。上一小節演示的例程都隻有一個文件,而且文件非常簡單,因此可以直接使用 gcc 命令生成可執行文件,并沒有先将 c 文件編譯成.o 文件,然後再鍊接在一起。

4、Makefile 基礎

何為 Makefile

上一小節我們講了如何使用 GCC 編譯器在 Linux 進行 C 語言編譯,通過在終端執行 gcc 命令來完成 C 文件的編譯,如果我們的工程隻有一兩個 C 文件還好,需要輸入的命令不多,當文件有幾十、上百甚至上萬個的時候用終端輸入 GCC 命令的方法顯然是不現實的。如果我們能夠編寫一個文件,這個文件描述了編譯哪些源碼文件、如何編譯那就好了,每次需要編譯工程的時隻需要使用這個文件就行了。這種問題怎麼可能難倒聰明的程序員,為此提出了一個解決大工程編譯的工具:make,描述哪些文件需要編譯、哪些需要重新編譯的文件就叫做 Makefile,Makefile 就跟腳本文件一樣,Makefile 裡面還可以執行系統命令。使用的時候隻需要一個 make命令即可完成整個工程的自動編譯,極大的提高了軟件開發的效率。如果大家以前一直使用 IDE來編寫 C 語言的話肯定沒有聽說過 Makefile 這個東西,其實這些 IDE 是有的,隻不過這些 IDE對其進行了封裝,提供給大家的是已經經過封裝後的圖形界面了,我們在 IDE 中添加要編譯的C 文件,然後點擊按鈕就完成了編譯。在 Linux 下用的最多的是 GCC 編譯器,這是個沒有 UI的編譯器,因此 Makefile 就需要我們自己來編寫了。作為一個專業的程序員,是一定要懂得Makefile 的,一是因為在 Linux 下你不得不懂 Makefile,再就是通過 Makefile 你就能了解整個工程的處理過程。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved