{eval=Array;=+count(Array);}

国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

問答專欄Q & A COLUMN

怎樣在Linux下編程?需要什么技術?

DonneDonne 回答0 收藏1
收藏問題

10條回答

dinfer

dinfer

回答于2022-06-27 17:13

前言

分享好玩科技,探索未知世界。大家好,我是drinkingcode。針對如何學習Linux編程,分享一下作為過來人的經驗,希望可以幫助到大家。


環境搭建

如果要在Linux下進行編程,那么首先我們需要有Linux操作系統的環境。通常的做法是下載并安裝VMware,然后在VMware下安裝Linux操作系統的發行版,比如Ubuntu,CentOS等。當一切安裝就緒后,你就擁有一個Linux的編程環境了。如果大家需要相關資料,可以關注私信我,百度網盤分享給大家。(僅供個人參考學習)


入門

掌握C語言

環境搭建好之后,接下來我們需要掌握一門編程語言。由于在Linux下提供的系統API都是針對C語言的,所以想要進行Linux編程,就需要掌握C語言的基本使用。針對C語言的學習,給推薦大家一本《C和指針》


熟悉Linux命令

在Linux下編程,很多時候都是通過命令來進行操作的,ls命令,cd命令等。所以掌握常用 的Linux命令之后,你就能更方便地去使用Linux系統。對于Linux命令的掌握,大家只需要選擇一些常用的命令來進行學習就可以,至于平時不常見的命令,到時遇到再去選擇性學習。在這里推薦一本學習Linux命令的書籍《鳥哥的Linux私房菜》基礎學習篇


熟悉vim

有了前三步的基礎,接下來,我們就可以手動來寫C語言了。在Linux下,C語言的編輯器為vim。但是想要在vim上編寫代碼,就需要了解vim基本命令的使用,因為vim的使用使用vim命令來進行交互的。當我們熟悉了vim命令的使用后,我們就可以自由自在地在Linux下編寫我們的C語言代碼啦,然后用gcc編譯器編譯我們寫好C語言代碼的文件,就可以得到可執行程序,運行可執行程序,就可以看到輸出結果。


進階

熟悉系統API

在入門階段,我們掌握基本開發Linux程序的流程。但是在入門階段中,我們編寫的應用還不具備太大的實用意義,因為我們編寫的程序并沒有借助系統的API。所以在進階階段,我們需要做的就是借助Linux系統API,以便我們編寫的應用發揮更大的威力,更具有實用的價值。

在Linux系統中,比如讀取一個文件的內容或者把服務器建立一個連接等,都需要調用Linux系統API才能實現。如何掌握這些API呢?在這里,推薦搭建閱讀《UNIX環境高級編程》,里邊介紹了文件I/O,進程間通信等知識。這樣我們就可以借助系統API讓應用發揮更大的價值。



掌握Makefile

當我們編寫一個程序的時候,為了讓其層次更清晰,通常會把不同部分的程序放在不同的文件或文件夾中,但這些文件之后又是有相互依賴關系的,如何在gcc編譯時告知他們之間的順序呢?此時,就需要我們掌握Makefile的基本語法,然后用Makefile來告知gcc如何編譯。在這里推薦一本《GNU make》。


總結

以上就是我說認為在Linux編程學習中幾個比較重要的節點,予以羅列出來,希望對于想要學習Linux編程的同學有一定的借鑒作用。如果你喜歡我的文章或對你有幫助,歡迎點贊轉發!


關注我,我是drinkingcode,分享好玩科技,探索未知世界!

評論0 贊同0
  •  加載中...
GT

GT

回答于2022-06-27 17:13

其實和Windows下面編程流程差不多,唯一的區別就是你需要先熟悉一下Linux環境(畢竟沒有Windows使用起來那么方便),其次,還有就是你需要熟悉一下常用的shell命令及vim等編輯器,下面我簡單介紹一下:

  • 了解一下Linux的目錄結構:這個是了解Linux的基礎,根目錄下面都有哪些目錄,每個目錄都是干什么,常用的配置文件(網絡IP、環境變量)都在哪,常用庫都在哪,這個都需要了解掌握:

  • 熟悉常用的Linux Shell命令:這個是使用Linux的基礎,像常見的ls,cd,find,mdkir,rm,top,grep,sed,awk,su等,簡化版的Linux就只Terminal終端而已,如果你連基本的命令都不會,就不要想著還能操作Linux:

  • 熟悉一下vim,emacs等編輯器的使用,可能在迷你版的Linux下,就只是一個vim編輯器,你所有的編程工作都只能在這個環境下進行,wq!命令,這個你會經常用到,如果是桌面版的,可能還有相關IDE可供使用:

  • 最后就是編程了,這個根據自己的編程語言安裝對應的包或編譯器就行(gcc,java,python等),無非就是vim編輯,命令行編譯,調試運行而已(和windows平臺可能會有差異),開始使用起來不舒服,后面熟悉后,也就沒啥了,當然,有些IDE是跨平臺的,也有Linux平臺的版本,使用起來和windows的差異不會太大:

就分享這么多吧,可能有些亂,初學編程的話,如果對Linux不熟悉的話,建議還是在Windows環境下面進行,使用起來能更方便一些,熟悉后,可在Linux下面進行,當然,直接在Linux下面也行,不過有個熟悉的過程,建議初學者,還是下載一個桌面版的Linux,不至于直接一個終端命令行,使用起來很迷茫,不知所措,以后很多服務器都是基于Linux平臺的,Linux的應用也很廣泛,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言。

    評論0 贊同0
    •  加載中...
    justjavac

    justjavac

    回答于2022-06-27 17:13

    在Linux下編程那么必定要使用Linux的命令行終端vim了,要熟練掌握各種vim命令。

    Linux終端命令

    在Linux下打開命令行終端:Ctrl +Alt + T

    瀏覽目錄或者文件:ls 后面可以加很多參數,-l 、-a、-h等

    進入某個目錄:cd + 路徑

    返回到上層目錄:cd ..

    切換到上次cd 進入的目錄:cd -

    創建一個文件:touch

    a.c

    創建一個目錄:mkdir mydir

    創建和刪除目錄

    • mkdir 目錄名 創建一個目錄
    • rm -r 目錄名 刪除一個目錄

    創建一個文件

    • touch filename.txt 創建一個文件
    • echo "string" >> filename.txt 向文件中寫入字符串
    • cat filename 查看文件的內容

    復制 cp

    • cp srcfile.txt dstfile.txt 文件的復制
    • cp srcfile dstfile -r 文件夾的復制

    移動文件或修改名字(mv)

    • mv srcfile dstname 修改名字
    • mv filename 路徑名 移動文件或文件夾


    vim 編輯器的使用

    創建一個文本文件并進入編輯模式:vi

    filename.txt

    vim三種模式之間的轉換

    1) 命令行模式

    esc: 進入命令行模式

    yy:復制當前一行

    nyy:從當前行開始復制n行

    :3, 6yy:從第三行復制到第六行

    dd:刪除當前行到剪切板

    ndd: 刪除n行到剪切板

    p:在光標的下一行粘貼

    P:在光標的上一行粘貼

    u:撤銷

    Ctrl +r:反撤銷

    2) 插入模式(編輯模式)

    i :進入插入模式光標之前插入

    a:光標之后插入

    I :行首插入

    A:行尾插入

    o:光標下一行插入

    O : 光標上一行插入

    s:刪除光標所在字符并進入插入模式

    S:刪除光標所在行并進入插入模式

    r:修改光標所在字符

    R:替換光標所在行,直到按下esc鍵結束

    0:光標移動到行首

    $:光標移動到行尾

    gg: 光標移動到文件開頭

    G: 光標移動到文件結尾

    cc:刪除當前行并進入插入模式(刪除的內容放在剪貼板中)

    yw:將光標所在單詞copy到剪貼板

    3) 底行模式

    Shift +::進入底行模式

    :wp:保存并退出

    :q:不保存退出

    :q!:強制退出

    學習Linux需要掌握的知識

    c語言基礎

    要熟悉基本的C語法,數據類型、函數、指針等。

    文件IO

    要掌握文件IO相關的系統調用函數,對文件進行打開、關閉、讀寫等操作。

    數據結構

    熟練掌握順序存儲與鏈式存儲等存儲結構:鏈表、隊列、棧、二叉樹等。

    進程和線程

    理清進程和線程的區別,掌握進程和線程的創建方法,熟練運用線程和進程相關的系統調用函數。

    網絡編程

    理清TCP/IP協議,會使用socket創建網絡套接字,掌握網絡通信的方法,熟悉各種服務器模型。

    評論0 贊同0
    •  加載中...
    fou7

    fou7

    回答于2022-06-27 17:13

    Linux下編程其實非常方便,Linux下了有完整的編輯、調試,編譯,打包一棧式工具。

    當然需要有前提熟悉linux常用命令、熟悉shell環境、能適應純命令行終端的使用(Xwindows環境不咋成熟,不建議)。然后蟲蟲給大家說說Linux編程的一些技術:

    終端編輯器和插件

    Vim:vim是最常用的Linux編輯工具和linux IDE環境的母體,使用vim配合一些插件完全可以實現現代IDE環境下的絕大多數功能。

    推薦組合:

    主題:molokai(github:/tomasr/molokai),vim-colors-solarized

    插件:YouCompleteM自動補全(github:/Valloric/YouCompleteMe)

    瀏覽目錄結構的插件nerdtree(github:/crooloose/nerdtree)

    其他有益插的vim工具推薦:

    vim-surround:刪除、修改和添加 括號、引號、XML操作。

    matchit:用%在字符間跳轉。

    tComment:快速注釋、反注釋代碼。

    tabular:對齊。

    snipmate.vim:代碼片段。

    vim-easymotion:定位。

    vim-instant-markdown: Markdown文檔時預覽。

    Emacs:

    emacs是*unix體系最大強大的編輯器和操作系統(幾乎可以做任何事情)

    emacs常用的插件推薦

    spacemacs vim和emacs功能的優勢集合;

    dracula-theme 很靚的主題;

    更多的可以看github的這個倉庫awesome-emacs(github :/emacs-tw/awesome-emacs)

    調試debug

    linux有強大的調試工具gdb。GDB可以讓你調試一個程序,包括讓程序在你希望的地方停下,此時 你可以查看變量,寄存器,內存及堆棧。更進一步你可以修改變量及內存值。原生支持c、c++、Fortran,rust、golang,通過插件可以支持其他語言。比如基于瀏覽器的擴展gdbgui(github:/cs01/gdbgui)

    鏈接和編譯工具Make

    make是*nix下最強大的鏈接和編譯工具,基于Makefiles的配置可以實現對大規模項目的自動編譯和編譯,可以大家減輕開發人員的編譯勞動。

    窗口和分屏工具

    screen、Tmux和byobu等工具也是碼農們必不可少的工具,這些蟲蟲文章中有過專門介紹,在此不再贅述。

    更多

    基于需求和碼農的語言環境,Linux下也有大量的工具來滿足需求,這也是蟲蟲文章涉獵的領域之一,關注蟲蟲可以學習并且接受蟲蟲最新文章介紹。

    評論0 贊同0
    •  加載中...
    ConardLi

    ConardLi

    回答于2022-06-27 17:13

    由于某些特殊的歷史原因,國內開發者還是以Windows系統為主,這跟國外在Unix哲學下成長起來的開發者群體不一樣。

    不過這兩年Linux在國內開發者群體中的歡迎程度越愛越高,要知道連Windows10都有了Ubuntu/Debian/fedora等Linux發行版作為Windows10的Linux子系統,那么想要在Linux下編程,需要掌握哪些知識呢?

    為什么要在Linux下開發?

    二十年前你在Linux上學習的編程知識,基本上現在還能用,不過五年前你在windows上學習的編程知識,也許大部分現在已經用不了了。

    絕大多數服務器環境都是運行Linux操作系統,大部分開發者寫的程序,最終都是要在Linux服務器上運行的;絕大多數的開源軟件會優先適配Linux平臺;很大比例的第三方庫只會登陸Linux平臺。Linux開源、免費、高效,Linux能夠給你最大的可能性,Linux給了你一大堆最為原始的工具,你可以用這些工具組合成專屬于你自己的高效工具庫。

    Linux下各種開源環境應有盡有,各種shell拿來就可以用,跟Unix保持了很好的血緣關系,Lisp/Python/Java/C/C++/PHP/Ruby等各種各樣的環境拿來就可以用。

    visual studio是銀河系最好的繼承開發環境,但是Windows卻沒有因此成為最強的開發者生態。

    Linux編程需要掌握哪些知識

    想要在Linux下熟練編程,你必須要學很多專業技能。

    • 熟悉Linux命令

    Linux的精華是命令行,你必須熟練使用命令行進行日常的工作、學習,Linux上有各種各樣的shell命令,bash、sh等命令應有盡有。

    你還得熟悉在Linux上通過命令行安裝軟件、搭建開發環境、完成文件管理,對于代碼調試、編譯等等。

    • 熟練使用vim/emacs

    在Linux編程世界里,不會使用emacs和vim是可怕的。

    emacs號稱是“神之編輯器”,vim則被稱為“編輯器之神”,這兩款文本編輯器都是Linux下開發者的重要編程工具,豐富的插件讓這兩款編輯器非常強大。

    • 看一些Linux的書籍

    《鳥哥Linux私房菜》、《深入理解Linux內核》、《Unix環境高級編程》、《Unix網絡編程》、《Linux程序設計》、《深入理解Linux內核》等,這些都是Linux/Unix下的經典書籍。

    評論0 贊同0
    •  加載中...
    terasum

    terasum

    回答于2022-06-27 17:13

    在Linux下編程不需要什么特別的技術,你只需要掌握Linux操作系統的使用方法,然后在里面安裝你所需要編程語言的IDE即可。

    Linux系統下是兼容大部分編譯軟件的,比如Java語言應用最廣泛的是eclipse,它具備Linux版本,而且用起來和Windows下差別不大。

    Linux生態圈還有一款廣為人知的可以寫代碼的軟件,那就是vim,如果你在Linux下跑過C語言程序,那一定用過vi這個指令。它類似于Windows上的notepad,功能強大。

    Linux入門,個人推薦一本書:《Linux鳥叔的私房菜》。

    評論0 贊同0
    •  加載中...
    _DangJin

    _DangJin

    回答于2022-06-27 17:13

    一、熟悉Linux基本操作和系統管理;

    二、熟悉vim基本操作和man命令;

    三、找一本厚點的C語言教材(比如<c語言程序設計第二版>),精讀+實現每一個例子,做每一個習題;

    四、熟悉計算機基礎

    1.買一本二手<深入理解計算機系統(csapp)>(影印或原版),精讀+實現每一個例子,做每一個習題;

    2.看網課cmu的15-213,做每一個作業,完成全部六個lab;

    五、補課數學課

    微積分、線性代數、概率和數理統計

    離散數學

    六、算法

    1.買一本clrs<算法導論intro algorithms>(影印或原版),精讀+實現每一個例題+做每一個習題

    2.上網課,cs61b或Princeton的algorithms I&II

    七、操作系統

    1.買二手書<操作系統概念><現代操作系統><操作系統:原理和實現>(影印或原版),粗讀前兩本,最后一本精讀+做每一個例子和習題。

    2.上網課MIT6.828,做每一個作業,完成全部6個lab。

    八、數據庫

    參照七。

    九、網絡

    參照七。

    十、云計算

    1.直接上網課分布式系統

    2.直接上網課cloud computing(以及advanced)。

    ----

    十一大數據方向(線性代數和統計高分)

    上網課

    十二machine learning方向(線代和統計高分)

    網課(推薦Stanford cs229+230,Andrew Ng吳恩達)

    評論0 贊同0
    •  加載中...
    Integ

    Integ

    回答于2022-06-27 17:13

    Linux是一個開源的操作系統,它最初僅僅只是芬蘭Helsinki大學的一位年輕學生Linux Torvalds作為愛好開發的。Linus對Minix(一個小型的UNIX系統)很感興趣,并且決定開發一個比Minix更好的系統。

    Linux下編程可分為Linux C語言編程和Linux底層內核編程

    Linux C語言編程需要掌握技術

    1.Linux之io系統編程

    2.Linux

    進程間通信

    3.Linux

    多線程編程

    4.Linux

    網絡編程

    Linux底層內核編程需要掌握技術

    1.Uboot原理和編程

    2.Kernel

    啟動流程和移植

    3.Linux

    驅動編程

    以上就是Linux下的編程和所需學習的技術,這只是其中的一個大綱,具體還包括很多模塊的技術,希望對你了解有幫助!

    評論0 贊同0
    •  加載中...
    garfileo

    garfileo

    回答于2022-06-27 17:13

    編程不局限某個系統,方法基本一致

    編程很多技術,技能基本類似,不完全依賴于操作系統,比如WEB編程。局部區別在于工具,不過工具很多也跨平臺了。差別更多是系統調用層面,這個層面如果準尋POSIX也是兼容的。

    目的不同,需要學習內容會有差異

    要做什么如,運維:Shell,Python;WEB開發:HTML,CSS,JavaScript,數據庫(MySQL,MongoDB);服務端:Java,Python;游戲:unity,C++,Javascript等等。

    要熟練掌握某些工具

    如類似編輯工具:vim/vi vscode,Atom,Sublime text 其中一種,還有一些測試、性能分析工具等等。

    評論0 贊同0
    •  加載中...
    CoderStudy

    CoderStudy

    回答于2022-06-27 17:13

    在Linux下進行編程需要什么技術?看來你是沒有接觸過Linux操作系統啊。

    很多人想到Linux就想到什么呢?想到黑乎乎的命令行?一堆自己完全沒有接觸過的命令,然后想到自己一臉懵逼的樣子?

    哈哈哈哈,你實在是想得太多了。

    首先你需要選擇一個正確的發行版,或者說選擇一個比較好用的Linux發行版。我個人推薦初次接觸Linux操作系統的人,使用深度開發的深度Linux操作系統。

    當你進入到深度Linux操作系統的桌面之后,你就會發現原來是這樣的一個系統啊,和windows有什么區別呀?

    然后你該用什么編輯器就用什么編輯器,該用什么就用什么,沒有任何的關系的。

    至于編程本身需要的技術和操作系統沒有關系。

    當然如果你對Linux操作系統有了更進一步的研究,你還需要去嘗試一下不同的發行版本,比如說由紅帽公司推出的cent OS操作系統。這是一個非常常見的運行在服務器上的操作系統,當然你接觸這樣的操作系統的話是必須使用命令行了。

    還有ubuntu的Linux操作系統,也是需要去嘗試一下的。因為現在有很多的服務器上開始使用ubuntu的操作系統了。

    如果你的Linux水平達到了一定的境界,你一定要嘗試一下arch Linux操作系統。當你能夠順利的在虛擬機上把它給安裝上,說明你的Linux操作系統已經達到一定的境界了。

    當你使用的發行版足夠多之后,你就會發現其實各種各樣的Linux操作系統都是差不多的。只不過在自帶的環境方面各有特色而已。

    總之不要害怕,也不要膽怯,放手去干 just do it。

    各位看官,你們是怎么接觸到Linux操作系統并使用它的呢?歡迎在評論區中討論。

    喜歡我的話給我點贊并關注哦。

    評論0 贊同0
    •  加載中...

    最新活動

    您已邀請0人回答 查看邀請

    我的邀請列表

    • 擅長該話題
    • 回答過該話題
    • 我關注的人
    向幫助了您的網友說句感謝的話吧!
    付費偷看金額在0.1-10元之間
    <