在Linux環境下簡單編程學習心得
linux編程過程
在上周的《信息安全設計基礎》的課程學習中學習到了在虛擬的linux環境下簡單的編程。學習過程中接觸到了vim、gcc和gcd在實驗樓中,也利用了實驗樓的環境完成了實驗。
在實驗樓里模擬出來的環境的確方便了學習,但是因為會有時間限制,有些知識就學的不夠精通,於是又在自己的電腦上的虛擬機再次練習嘗試,結果就發現遇到了很多問題。
-
編譯原理
首先需要了解vim、gcc和gcd的分別的作用是什么。
-
vim:用來編寫程序使用,寫入代碼的.c源文件
-
gcc:用來編譯源文件,共有4個步驟
- 預處理階段:使用預處理器(cpp)將源程序加工為.i格式的被修改源程序
- 編譯階段:使用編譯器(ccl)將上一步的.i格式的文件加工為.s格式的匯編程序
- 匯編階段:使用匯編器(as)將上衣步的.s文件加工為.o格式的可重定位的目標程序(二進制)
- 鏈接階段:使用鏈接器(ld)將上一步的.o格式的文件加工為可執行目標程序(二進制)
-
gcd:調試程序,當程序不在是簡單的Hello Linux時候 就需要設斷點來確認各個函數的可行性。
-
而在實驗樓練習的
vimtutor
是一種簡化程序員使用的編程的操作練習,提高鍵的功能組合,提高編程的能力使用的。
-
在實驗中遇到的問題和解決過程
- 如何進入root賬戶
-
在普通用戶進入root用戶:
- 首次啟用: XXX:~$ sudo passwd root [sudo] password for XXX:輸入密碼 確認:輸入密碼 再確認:再次輸入密碼 提示成功更新密碼 此時已經root用戶已經啟用 - 二次啟用: XXX:~$su root 密碼:輸入密碼 此時已經進入到了root用戶 - 退出toot用戶: 鍵入exit就可以退出到普通用戶進行后續操作
-
安裝gcc
首先我的linux里面並沒有安裝gcc,在網上百度的教程,首先需要進入root賬戶,之后鍵入yum install gcc。
然而顯示了需要提示到root用戶。起初我對於系統還不太明白,通過查詢知識發現有普通用戶和root用戶,root用戶可以對電腦的的更高級操作進行授權。
進入了root用戶,再次使用
yum install gcc
,提示依然有錯誤,顯示E:無法獲得鎖/var/lib/dpkg/lock-open
后來也通過查詢出現這種原因的主要是因為軟件更新或者安裝時出現錯誤。刪除掉兩個臨時文件就好
通過鍵入代碼`sudo rm/var/lib/dpkg/lock sudo /var/cache/apt/archive/lock`成功的解決了問題。
后來在博客園看到一篇關於linux學習心得,看到了一個
** ubuntu默認的軟件包管理器不是yum,而是dpkg,**安裝軟件時用apt-get,命令代碼為 `sudo apt-get install XX`
並給出建議:在ubuntu下最好不要安裝yum,不然會出現奇怪的問題
之后是使用命令行sudo apt-get install gcc 成功的下載安裝了gcc
-
源的調整
首先軟件源:軟件源是Linux系統免費的應用程序安裝倉庫,很多的應用軟件都會這收錄到這個倉庫里面。深度操作系統繼承了debian和ubuntu使用命令apt-get在軟件倉庫中搜索、安裝、升級、卸載軟件,基於Ren Hat的多數Linux則使用yum命令。也有少數Linux使用自己的包管理系統,如YlmfOS的Ypk,SUSE的YaST,Gentoo的Portage等。主要時apt-get的使用。
在安裝gcd時候遇到了問題,無法安裝。后來檢查是因為源需要更新,后來通過看博文使用了
sudo apt-get update
解決了問題。不僅可以用代碼解決這個問題,也可以使用系統設置來跟新源
心得體會
發完上周的博客總結,但總是覺得知識並沒有掌握透徹,上周的學習重點並沒有把握住,之后在又再次重新操作了一下,的確不出所料,還是存在很多問題的,還有一些很細節的問題,如何進入到下一級文件夾,退出上一及,如何再編譯,如何刪除文件,這些命令看似簡單但卻常用,不加以練習很容易弄混餚。
-
編譯結果
經過vim的編寫和gcc的運行得到了結果
編譯了操作一遍后,對這個掌握的也更加透徹,對於博客中涉及到的gcc的命令為什么gcc 20145335.c -o 2014335和gcc 20145335.c -s 20145335 不同,這種簡單的問題就會自然而解,產生的知識中間文件,不同階段就有不同的文件產生,知道我學習的能力和理解能力一般,但還是需要付出努力去學習。The best way to predict the future is to invent it.