熟悉LINUX系統

来源:https://www.cnblogs.com/WangYiqiang/archive/2018/08/30/9561489.html
-Advertisement-
Play Games

常用的Shell命令 當用戶登錄到字元界面系統或使用終端模擬視窗時,就是在和稱為shell的命令解釋程式進行通信。當用戶在鍵盤上輸入一條命令時,shell程式將對命令進行解釋並完成相應的動作。這種動作可能是執行用戶的應用程式,或者是調用一個編輯器、GNU/Linux實用程式或其他標準程式,或者是一條 ...


常用的Shell命令

當用戶登錄到字元界面系統或使用終端模擬視窗時,就是在和稱為shell的命令解釋程式進行通信。當用戶在鍵盤上輸入一條命令時,shell程式將對命令進行解釋並完成相應的動作。這種動作可能是執行用戶的應用程式,或者是調用一個編輯器、GNU/Linux實用程式或其他標準程式,或者是一條錯誤信息,告訴用戶輸入了錯誤的命令。

1.目錄操作

mkdir  abc          創建一個目錄abc

cd   abc            將工作目錄改變到abc

cd                  改變當前目錄到主目錄

ls                  列出當前目錄的內容

ls  -l              輸出當前目錄內容的長列表,每個目錄或文件占一行

pwd                 顯示當前目錄的全路徑

2.文件顯示實用程式

cat  mx.c            顯示mx.c文件內容

more  mx.c           分屏顯示mx.c內容

tail  mx.c           顯示文件後幾行

cat  file1  file2    連接file1 file2

head  filename       顯示文件filename的開始10行

wc  filename         統計文件filename中的行數、單詞數和字元數

od  文件             查看非文本文件

3.文件管理實用程式

cp  file1  file2     將文件1複製到文件2

mv  file1  file2     將文件重命名為file2

rm  filename         刪除文件filename

rm  -i  filename     請求用戶確認刪除

4.數據操作實用程式

    tty                  顯示當前終端的路徑和文件名

    who                  顯示當前登錄用戶的列表

    sort  filename       顯示文件filename中的行的排序結果

    spell  filename      檢查文件filename中的拼寫錯誤

5.其他實用程式

    date                 輸出系統日期和時間

    cal                  顯示本月的日曆。cal 2002 顯示2002年的日曆

    clear                清除終端屏幕

    history              顯示你以前執行過的命令的列表

    man                  顯示實用程式的有用信息,並提供該實用程式的基本用法

    echo                 讀取參數並把它寫到輸出

4、熟悉gcc編譯器

GNU/Linux中通常使用的C編譯器是GNU gcc。編譯器把源程式編譯生成目標代碼的任務分為以下4步:

a. 預處理,把預處理命令掃描處理完畢;

b. 編譯,把預處理後的結果編譯成彙編或者目標模塊;

c. 彙編,把編譯出來的結果彙編成具體CPU上的目標代碼模塊;

d. 連接,把多個目標代碼模塊連接生成一個大的目標模塊;

1.使用語法:

  gcc [ option | filename ]...

  其中 option 為 gcc 使用時的選項, filename 為 gcc要處理的文件。 

2.GCC選項

    GCC的選項有很多類,這類選項控制著GCC程式的運行,以達到特定的編譯目的。

⑴全局選項(OVERALL OPTIONS)

    全局開關用來控制在“GCC功能介紹”中的GCC的4個步驟的運行,在預設的情況下,這4個步驟都是要執行的,但是當給定一些全局開關後,這些步驟就會在 某一步停止執行,這產生中間結果,例如可能你只是需要中間生成的預處理的結果或者是彙編文件(比如你的目的是為了看某個CPU上的彙編語言怎麼寫)。

①  –x  language 

    對於源文件是用什麼語言編寫的,可以通過文件名的尾碼來標示,也可以用這開關。指定輸入文件是什麼語言編寫的,language 可以是如下的內容

a.  c

b. objective-c

c. c-header

d. c++

e.cpp-output

f.assembler

g.assembler-with-cpp

②–x none 

把-x開關都給關掉了。

③  –c 

編譯成把源文件目標代碼,不做連接的動作。

④–S 

把源文件編譯成彙編代碼,不做彙編和連接的動作。

⑤–E 

只把源文件進行預處理之後的結果輸出來。不做編譯,彙編,連接的動作。

 –o file (常用)

指明輸出文件名是file。

⑦–v 

把整個編譯過程的輸出信息都給列印出來。

⑧–pipe 

由於gcc的工作分為好幾步才完成,所以需要在過程中生成臨時文件,使用-pipe就是用管道替換臨時文件。

⑵ 語言相關選項(Language Options)

用來處理和語言相關的選項

①–ansi 

    這個開關讓GCC編譯器把所有的GNU的編譯器特性都給關掉,讓你的程式可以和ansi標準相容。

②–include file 

    在編譯之前,把file包含進去,相當於在所有編譯的源文件最前面加入了一個#include <file>語句,

③–C 

    同-E參數配合使用。讓預處理後的結果,把註釋保留,讓人能夠比較好讀它。

連接開關(Linker Options)

    用來控制連接過程的開關選項。

① –llibrary 

    連接庫文件開關。例如-lugl,則是把程式同libugl.a文件進行連接。

② –lobjc 

    這個開關用在面向對象的C語言文件的庫文件處理中。

③ –nostartfiles 

    在連接的時候不把系統相關的啟動代碼連接進來。

④ –nostdlib 

    在連接的時候不把系統相關的啟動文件和系統相關的庫連接進來。

⑤–static 

    在一些系統上支持動態連接,這個開關則不允許動態連接。

⑥shared 

    生成可共用的被其他程式連接的目標模塊。  

目錄相關開關(Directory Options)

    用於定義與目錄操作相關的開關。

–Ldir

    搜尋庫文件(*.a)的路徑。  

調試開關(Debugging Options)

–g

    把調試開關打開,讓編譯的目標文件有調試信息。

–V version

用來告訴編譯器使用它的多少版本的功能,version參數用來表示版本。

5、掌握Linux下C程式編輯運行過程

Linux下編寫C程式要經過以下幾個步驟:

啟動常用的編輯器,鍵入C源程式代碼。

例如,點擊應用程式/附件/文本編輯器進入編輯環境,輸入C源程式,保存並命名為hello.c

# include <stdio.h>

void main(void)

{

Printf(“Hello world!\n”);

}

⑵編譯源程式

點擊應用程式/附件/終端進入命令行。用gcc編譯器對C源程式進行編譯,以生成一個可執行文件。方法:

gcc  -o  hello.out  hello.c ↙

⑶運行可執行文件

   ·/hello.out ↙

註:命令行中 -o選項表示要求編譯器輸出可執行文件名為hello.out文件,hello.c是源程式文件。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 托管代碼 托管代碼(Managed Code)實際上就是中間語言(IL)代碼。代碼編寫完畢後進行編譯,此時編譯器把代碼編譯成中間語言(IL),而不是能直接在你的電腦上運行的機器碼。程式集(Assembly)的文件負責封裝中間語言,程式集中包含了描述所創建的方法、類以及屬性的所有元數據。托管代碼在公共 ...
  • 前兩天朋友叫我模仿一個網站,剛剛開始,我一個頁面一個頁面查看源碼並複製和保存,花了我很多時間,一個字“累”,為了減輕工作量,我寫了個網站“克隆工具”,一鍵克隆,比起人工操作, 效率提高了200%以上,精確度也大大提高,雖然網上也很多網站克隆工具,但我覺得作為一個程式員,要有點研究精神,哈哈哈,可以根 ...
  • 一、項目介紹 ①web項目,開發工具Visual Studio,語言C# ②本地IIS,手機上或其他用戶在和本地在同一個區域網(並不絕對是指同一個WIFI)內訪問,同時要把防火牆關掉 ③IIS全名Internet Information Services,用來發佈網站 二、步驟 <1>在開始菜單中搜 ...
  • CentOS6、7安裝MySQL5.7全教程 做開發總得用到數據吧,Linux作為伺服器,總得有一個資料庫來存儲測試用的數據,所以呢,這裡附上CentOS6、7安裝MySQL5.7的教程喔~ 用到的工具:CentOs6、7;Mysql依賴包 Step1. 查看已安裝的mysql: 卸載當前mysql ...
  • tab鍵:補全命令 \ :命令折行寫 Ctrl+C :結束命令 --help :查看命令詳細信息 man :類似於help 比help更加詳細。 sudo :臨時以管理員許可權執行命令。 還有嗎? ...
  • 環境:VMware Workstation 12 Pro,Windows 10,CentOS 6.9 x86_64,Xshell5 基本介紹 tcpdump是Linux自帶的抓包工具,可以詳細看到電腦通信中詳細報文內容,如果讀者熟悉另一款 強大的抓包工具wireshark,tcpdump相當於是w ...
  • Shutter是一個由第三方提供的在Ubuntu上運行的截圖工具,相對於系統自帶的截圖工具(預設可通過Ctrl + Shift + Print快捷鍵啟動截圖),最大的優點就是可以即時對圖片進行編輯,在圖片上做一些標記和文字標註等,使用起來很方便。在Ubuntu 16.04上,該軟體運行一切正常,當將 ...
  • 1、編寫一段程式,使用系統調用fork( )創建兩個子進程,再用系統調用signal( )讓父進 程捕捉鍵盤上來的中斷信號(即按ctrl+c鍵),當捕捉到中斷信號後,父進程用系統調用kill( )向兩個子進程發出信號,子進程捕捉到信號後,分別輸出下列信息後終止: Child process 1 is ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...