Day 01嵌入式学习之Linux基础知识和命令操作
學習嵌入式開發的隨堂筆記
Day 01嵌入式學習之linux基礎知識和命令操作
1.英文:
read:讀,r字母
write:寫,w字母
execute:執行,運行,x字母
directory:目錄,d字母
2.計算機組成部分:硬件和軟件
2.1.硬件
1必要的三大件
1.CPU
核心的兩大功能:
1.數據運算,例如:1+1=2
2.外設控制,從外設拿到數據(讀數據,read)或者向外設發送數據(寫數據,write)
問:何為外設?
答:除了CPU其他任何硬件
2.內存:用于暫存CPU計算時(1)或者計算之后的數據(2)
特點:數據可以進行無限的覆蓋
缺點:掉電數據丟失(就是重啟或者斷電)
優點:數據的讀或者寫速度非常快(比CPU慢,比硬盤快)
3.硬盤(統稱為閃存):用于永久性保存數據
特點:數據也可進行無限的覆蓋
缺點:數據的讀或者寫操作太慢了,所以數據操作一般都要先從硬盤拷貝到內存
再從內存進行操作,這樣速度能夠提高不少
優點:數據永久性不丟失,也就是掉電數據不丟失
2)其余可選硬件
鼠標,鍵盤,顯示器,顯卡等
2.2.軟件:三大部分
1)操作系統
功能:通過驅動程序來管理各種硬件和管理各種應用軟件(CPU分配,內存分配等)
2)命令行軟件(專業術語叫shell終端)
功能:接收到用戶輸入的各種命令,然后讓CPU執行這些運行處理這些命令
例如:windows終端輸入notepad命令,最終能夠打開一個記事本
3)各種應用程序:QQ,吃雞,喝農藥,百度瀏覽器等
3.主流的操作系統
windows:微軟
linux:開源(免費和付費),推薦三大主流linux系統:
ubuntu(推薦,64位,版本:18.04 ),fedora,kali(黑客最愛)
蘋果:MAC IOS
安卓:本質就是linux
vxwork:付費(硬實時操作系統,以上linux,windows等都是軟實時操作系統)(嵌入式)
4.linux系統發展(設計思想參考unix)
開源免費
1991年正式發布
linux內核之父:linus
推薦linux發展視頻:《the code linux》
5.linux系統特點
linux系統理念(信仰):一切皆文件
一切皆文件:在linux系統中,任何硬件外設都是以文件的形式存在,一個應用程序例如QQ訪問顯示器,只需訪問這個顯示器硬件對應的文件即可
文件即硬件,硬件皆文件
問:linux系統中文件如何管理呢?
答:靠文件系統(僅僅是一個名詞)來管理文件
不同的文件系統管理文件的方式方法不一樣
例如:硬盤一般用NTFS文件系統一(管理的文件大小無限制)
U盤一般用FAT32文件系統(管理的單個文件不要超過4GB)
內存一般用SYSFS文件系統(管理的文件都是位于內存中,掉電丟失)
6.linux系統中跟文件和目錄(也是一種特殊的文件,俗稱文件夾)相關的概念
6.1.目錄:能夠包含其他目錄和文件
6.2.根目錄:文件系統中最上一層的目錄,用"/"表示
? 也就是linux系統中所有的目錄和文件他們都是位于"/"根目錄下
? 例如:/home(語義:在根目錄下有一個home目錄或者一個home文件)
6.3.子目錄:位于其他目錄下的目錄
? 例如:/home(語義:假如home是一個目錄名,home就是根目錄’/‘的子目錄)
? /home/tarena:假如tarena是一個目錄名,tarena就是home子目錄
? 其中第二個’/'表示分割
6.4.父目錄:子目錄的上一層目錄
? 例如:/home:根目錄‘/’就是home子目錄的父目錄
6.5.當前目錄(又稱工作目錄):當前正在使用或者所在的目錄,用’.'表示
? 例如:./home:當前目錄下有一個home目錄或者文件
? 上一級目錄:當前目錄的父目錄,用"…"表示
? 例如:…/…/:上一級的上一級目錄
6.6.主目錄:登錄linux系統時,需要一個用戶,linux系統給這個用戶專門指定了一個專有的目錄
? 此目錄簡稱主目錄,并且都是位于/home/目錄下,用"~"表示
? 例如:登錄linux系統的用戶名叫tarena,tarena用戶的主目錄:/home/tarena
? 登錄linux系統的用戶名叫zhangsan,zhangsan用戶的主目錄:/home/zhangsan
6.7.路徑:目錄和文件的位置,又分兩種:
? 絕對路徑:以"/“開頭的路徑表示形式
? 例如:/home/tarena
? 相對路徑:不以”/“開頭的路徑表示形式
? 例如:home/tarena或者./home/tarena或者…/…/
? 由衷建議:以后軟件代碼中最好寫絕對路徑
? open(“my.txt”); //前提是程序運行之前必須先進入my.txt文件所在的目錄下,否則打開open失敗
? 或者
? open(”/dev/my.txt");//愛在哪個目錄下就在哪個目錄下
7.掌握linux系統必要命令:
建議:通過輸入各種命令替代圖形界面操作方式
命令格式:命令名 選項
多用TAB自動補全
7.1)pwd:獲取當前所在路徑
7.2)ls:目錄和文件的信息
形式1:
ls -lh //獲取當前目錄下所有的目錄和文件的詳細信息
形式2:
ls -lh 文件名 //獲取此文件的詳細信息
例如:
ls -lh /home/tarena/qw.c 得到以下信息:
-rwxrw-r-- 1 tarena tarena 70 Jun 25 16:36 qw.c
說明:
‘-’:表示此文件就是一個普通的文件
‘rwx’:表示當前登錄linux的用戶對此文件可以讀(查看文件),可以寫(向文件寫入信息),可執行
‘rw-’:表示當前登錄linux的用戶所在的組對此文件可以讀,可以寫,不可執行運行
‘r–’:表示其他的linux用戶對此文件可以讀,不可寫,不可執行
‘1’:表示硬連接數(不關注)
‘tarena’:表示當前登錄linux系統的用戶名
‘tarena’:表示tarena用戶所在的組
‘70’:表示此文件大小為70個字節
“Jun 25 16:36”:文件的創建日期
‘qw.c’:文件名
7.3)clear:清屏命令
7.4)cd:切換路徑:cd /home/tarena
7.5)mkdir:創建目錄:mkdir -p /home/tarena/hello/hello1
7.6)touch:創建空文件:touch /home/tarena/hello.txt
7.7)rm:刪除目錄和文件: rm -fr /home/tarena/hello
7.8)cp:文件或者目錄拷貝:cp -fr 源文件 新文件
? cp -fr 源目錄 新目錄
? 注意:cp hello.txt hello/
? 分3種:
? 1.hello是一個目錄并且存在,就是將hello.txt拷貝一份到hello目錄下
? 2.hello是一個目錄并且不存在,命令cp報錯
? 3.hello是你想象的,你認為的目錄但是不存在,并且命令形式:cp hello.txt hello 就是一個文件的拷貝
? 切記:只要是目錄操作,建議最后一定加分隔符’/’,來區分是目錄還是文件
? 建議每次輸入命令,用TAB鍵來補全,也會順便給你添加’/’
7.9)mv:移動,剪切命令
形式:
mv 源文件 目標文件
mv 源文件 目標目錄下/
mv 原目錄 目標目錄
mv 源目錄 目標目錄下/
7.10)cat 命令:快速查看文件的內容
格式:cat 文件名
例如: cat hello.txt
7.11)echo命令:向顯示器 打印輸出數據命令
? 例如:echo “我是大神"或者echo 我是大神
? 注意:此命令一般配合”>“和”>>"(統稱重定向符)
? 格式:echo 打印信息 > 文件名 //先清空文件里面的內容,然后將信息保存到文件中
? echo 打印信息 >> 文件名 //直接在文件末尾追加新信息
例如:
? cd /home/tarena/
? touch hello.txt
?echo 我是大神 > hello.txt 意思是:先將hello.txt文件內容刪除,然后將新內容寫入到文件
? cat hello.txt
? echo 我是小神 >> hello.txt 意思是:將新內容追加到文件的后面
? cat hello.txt
7.12)find命令:到某個指定的路徑下找文件或者目錄
? 格式:find 路徑 -name 要找的文件名
? 例如:find /usr/include -name stdio.h
? 語義:到/usr/include目錄下找一個文件名為stdio.h這個文件
7.13)grep命令:到某個路徑下的某個文件中搜索字符串
? 格式:grep -R ”要搜索的信息“ 文件名
? 例如:grep “我是大神” * -Rn
? 語義:在當前目錄下的所有文件中搜索我是大神字符串
? “*”:表示全部文件
? “-Rn”:到子目錄下也同樣搜索,并且打印字符串所在的行號
7.14)whoami:查看當前登錄的linux系統的用戶名
? 例如:whoami
7.15)linux系統解壓縮的三條命令:
linux常用的兩種壓縮格式:bz2和gz
1.壓縮命令:
? tar -jcvf 壓縮包名.tar.bz2 目錄或者文件 //把目錄和文件打包成bz2這種壓縮格式
? tar -zcvf 壓縮包名.tar.gz 目錄或者文件 //把目錄和文件打包成gz這種壓縮格式
解壓縮:
tar -xvf 壓縮包名.tar.bz2/壓縮包名.tar.gz
? 例如:
總結
以上是生活随笔為你收集整理的Day 01嵌入式学习之Linux基础知识和命令操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MFC将窗口的关闭键(叉叉)变为不可用/
- 下一篇: linux中zip文件解压命令,Linu