step2 . day1 Linux和C語言的高級應用

通過了十來天的基礎知識補習,自覺收穫不少,在指針和二級指針即函數的應用上有了更深的理解,也完成了不少以前沒能完成或者相同原理的代碼段。linux

通過一個小測驗,感受基礎基本紮實,修整一天,繼續開始step2學習,爭取在下週前完成本身心心念唸的俄羅斯方塊遊戲。shell

今天繼續學習Linux系統的應用,經過軟件包管理機制的學習,也算解決了兩個問題ubuntu

1.dpkg status database is locked by another process數組

解決方案:①sudo rm /var/lib/dpkg/lock網絡

     ②sudo dpkg --configure -a架構

感受這個問題的出現就是我第一次出現2問題時候,選擇了直接關閉shell,可能出現了錯誤函數

 

2.Configuring ttf-mscorefonts-installer問題工具

解決方案:這個是鼠標沒法選擇OK而繼續下去,需求鼠標點入文本後按tab鍵,選擇ok  接受安裝這個EULA學習

 

 

下面是今天對應Linux的繼續學習筆記,作個記錄測試

一:系統準備

1.VMware軟件安裝,用來在如今操做系統下模擬Linux系統而沒必要重裝系統

2.Linux系統安裝,推薦使用Ubuntu14.02版本,較爲穩定
注意:安裝步驟,選擇稍後安裝虛擬機,完成必要的配置步驟後添加鏡像安裝
打開VMware workstations→在主頁中選擇「建立新的虛擬機」→典型→稍後安裝系統→選擇Linux系統及版本→
選擇安裝名稱和路徑→指定硬盤大小→自定義硬件配置→選擇安裝鏡像→完成後啓動此虛擬機開始安裝→
安裝中按順序要求填寫用戶名、語言、時區、管理員密碼和建立用戶等。

建議選擇已經配置好的系統,避免學習環境安裝而浪費大量時間,且安裝系統後的軟件升級和配置需求不少其餘知識,須要按部就班
下載配置好的系統,在虛擬機中選擇打開虛擬機,選擇文件夾後雙擊.Ubuntu.vmx後便可使用

2、Linux系統下學習C語言高級應用的步驟
1.Linux系統介紹及shell基本命令
2.網絡配置及shell腳本相關
3.gcc編譯流程、gdb調試、指針、數組、函數、結構體、共用體、內存的分佈、Makefile

3、Linux起源和shell命令

1.Linux起源四個重要人物:
肯.湯姆森 AT&T公司員工,貝爾實驗室、發明B語言Unix操做系統、發明C語言
爲玩遊戲而改變世界的自由之人《space Travel》
丹尼斯里奇 發明C語言 Unix操做系統 C語言之父 Unix之父

查理斯斯托曼 自由軟件之父、GNU項目創立者,開發了許多核心工具:Emacs、GCC、GDB和GNU Make等,建立自由軟件基金會
林納斯.託瓦茲 linux之父、極客之父(King Of Geeks ) 創造 Linux 和 Git 兩個極好的開源項目,並使他們自由免費

2.什麼是Linux:是一種操做系統,1991年Linus Torvals 爲了能在家裏的PC機上使用與學校同樣的操做系統,開始編寫了類UNIX。
什麼是GNU GNU is Not Unix 由查理斯托斯曼建立,最初軟件爲 GCC make glibc
什麼是GPL General Public License 通用公共協議許可
copyright 收費閉源
copylift 開源,咱們首先聲明它是有版權的;而後,咱們給它加上發佈條款,這個條款就是一個法律聲明,
它賦予全部人有使用、研究、修改和從新發布程序的代碼及其衍生做品的自由(free is not free),
但要求在這個過程當中保持發佈規則不變。
什麼是嵌入式系統:以應用(用戶需求)爲核心、以計算機技術爲基礎、軟硬件可裁剪的、適用對功能、成本體積功耗有嚴格要求的專用計算機系統

Ubuntu系統網站:https://cn.ubuntu.com/
查看Ubuntu版本:cat /etc/issue
查看當前內核版本 uname -r


3.打開終端:Ctrl+alt +t
Ctrl+shift+n 在相同路徑下在開啓一個終端(必須在終端打開的狀況下)
Ctrl+shift + t 左右分屏在同一個路徑下再打開一個終端*(必須在終端打開狀況下)
4.關閉終端:exit Ctrl+d 點x
5.終端提示符 linux@ubuntu:~$
linux :用戶名
ubuntu:主機名
~:家目錄路徑,/根目錄路徑
$表示普通用戶 # 表示管理員用戶 使用sudo su root切切換管理員目錄
6.shell命令複習
sudo shutdown -h -now 關機
touch 建立文件 文件不存在則建立,存在則修改時間戳
vi 建立並打開文件
mkdir 建立目錄 mkdir ~/gaga/farsight -p --->遞歸建立多個目錄文件
mv 移動或重命名 若是源文件/文件夾和目的文件/文件夾都沒有加路徑,則表示重命名;
若是不在同一個路徑下,必須添加路徑
不容許相同路徑下有相同文件名
cp 拷貝 -arf 強制拷貝
rm 刪除文件 -rf刪除目錄
cd 切換目錄(-前一個操做目錄,~家目錄 .當前目錄 絕對路徑和相對路徑之分)
cat 查看文件內容

ls 查看文件清單(ls ls 路徑 ls -a ls -l ls -i ls -lh)
文件類型 bsp - lcd
權限
權限 (文件全部者 + 文件所屬組 + 其餘用戶權限) 八進制-權限
a u g o
chmod a-x a.out
chmod a+x a.out
chmod 675 a.out

clear 清屏 Ctrl+l
r:讀 w:寫 x:執行 -:沒有對應的權限
pwd 查看當前工做目錄
tar 打包壓縮解壓
tab 自動補全
dpkg 軟件包管理相關
apt-get 軟件包管理相關


7.軟件包管理機制
背景:Debian Linux首先提出軟件包管理機制 Deb 包
Readhat Linux基於這個理念推出了本身的軟件包管理機制 Rpm軟件包

軟件包的命名
rxvt_1%3a2.6.4-14_i386.deb
Filename_Version-Reversion_Architecture.deb
軟件名 軟件版本 修訂版本 體系架構
經過 file a.out查看文件信息
軟件包安裝①(離線安裝,需先準備好軟件包,軟件間的依賴關係也要本身準備,須要sudo權限)
sudo dpkg -i 軟件包全名 安裝軟件 sudo dpkg -i *deb 多個軟件包同時安裝
sudo dpkg -r 軟件名 卸載軟件
sudo dpkg -P 軟件名 卸載軟件包含配置文件
sudo dpkg -p 軟件名 查看包的具體信息
sudo dpkg -L 軟件名 查看軟件包安裝到系統的文件目錄信息
sudo dpkg -l 查看全部安裝的Deb包 顯示版本號及說明

軟件包安裝apt②(在線安裝,解決依賴關係,本質是先下載到本地,再本地安裝)
測試有網 ping www.baidu.com
查看ip ifconfig(Linux下)
ipconfig(Windows下)

sudo apt-get install 軟件包名 軟件安裝
sudo apt-get remove 軟件包名 軟件卸載
sudo apt-get --purge remove <package> 刪除包,包括配置文件等
sudo apt-get --reinstall install <package> 從新安裝
sudo apt-get clean 清除下載的軟件包

apt安裝完的軟件deb包存放在:
/var/cache/apt/archives$
文檔通常在:/usr/share
可執行文件:/usr/bin
配置文件:/etc
lib文件:/usr/lib

若是軟件包裝不上:
一、網絡通不通
二、更新軟件源

若是在安裝軟件的時候出現depends .....

1. sudo apt-get update 更新索引
2. sudo apt-get -f install 更新依賴
3. 從新安裝軟件

-- 經常使用的底層目錄以及文件
軟件源存放文件: /etc/apt/source.list
軟件包的索引路徑: /var/lib/apt/lists
下載軟件deb包路徑 : /var/cache/apt/archives

 

8打包和壓縮
(1)gzip / gunzip   + file
(2)bzip2 / bunzip2  + file
(3)xz / unxz     + file (對大文件的壓縮效果比較明顯)

gzip 1.c

gunzip bunzip2 unxz 對文件解壓
意:只針對文件操做 《注意:只能對文件操做,不能對目錄操做》

tar : 對目錄打包 ===>linux格式:gz bz2 xz c 建立 (壓縮)x 釋放 (解壓) z gz格式j bz2格式 J xz格式 v 顯示過程 f 指定文件名 注意:這些參數均可以組合在一塊兒使用,f必須在最後面 ------------------------------------------tar -cvf dir.tar.?   dir 對任意格式進行打包===> tar -cvf filename.tar.xz filenametar -czvf dir.tar.gz  dir tar -cjvf dir.tar.bz2  dir tar -cJvf dir.tar.xz  dir ----------------------------------------tar -xvf dir.tar.* (對全部格式均可以解壓) ===> tar -xvf filename.tar.xz tar -xvf dir.tar tar -xzvf dir.tar.gz tar -xjvf dir.tar.bz2 tar -xJvf dir.tar.xz ------------------------------------------

相關文章
相關標籤/搜索