linuxc語言講解,linuxC語言

本文目錄一覽:

linux下c語言編程

實在點,給你些命令操作操作,不過好象有點多,哈哈

Linux/Unix常用命令

1、目錄操作

和DOS相似,UNIX採用樹型目錄管理結構,由根目錄(/)開始一層層將子目錄建下去,各子目錄以 / 隔開。用戶login後,工作目錄的位置稱為 home directory,由系統管理員設定。‘~’符號代表自己的home directory,例如 ~/myfile 是指自己home目錄下myfile這個文件。

(1)顯示目錄文件 ls

執行格式: ls [-atFlgR] [name] (name可為文件或目錄名稱)

例: ls 顯示出當前目錄下的文件

ls -a 顯示出包含隱藏文件的所有文件

ls -t 按照文件最後修改時間顯示文件

ls -F 顯示出當前目錄下的文件及其類型

ls -l 顯示目錄下所有文件的許可權、擁有者、文件大小、修改時間及名稱

ls -lg 同上

ls -R 顯示出該目錄及其子目錄下的文件

注:ls與其它命令搭配使用可以生出很多技巧(最簡單的如”ls -l | more”),更多用法請輸入ls –help查看,其它命令的更多用法請輸入 命令名 –help 查看.

(2)建新目錄 mkdir

執行格式: mkdir directory-name

例: mkdir dir1 (新建一名為dir1的目錄)

(3)刪除目錄 rmdir

執行格式: rmdir directory-name 或 rm directory-name

例:rmdir dir1 刪除目錄dir1,但它必須是空目錄,否則無法刪除

rm -r dir1 刪除目錄dir1及其下所有文件及子目錄

rm -rf dir1 不管是否空目錄,統統刪除,而且不給出提示,使用時要小心

(4) 改變工作目錄位置 cd

執行格式: cd [name]

例: cd 改變目錄位置至用戶login時的working directory

cd dir1 改變目錄位置,至dir1目錄

cd ~user 改變目錄位置,至用戶的working directory

cd .. 改變目錄位置,至當前目錄的上層目錄

cd ../user 改變目錄位置,至上一級目錄下的user目錄

cd /dir-name1/dir-name2 改變目錄位置,至絕對路徑(Full path)

cd – 回到進入當前目錄前的上一個目錄

(5)顯示當前所在目錄pwd

執行格式: pwd

(6)查看目錄大小du

執行格式: du [-s] directory

例: du dir1 顯示目錄dir1及其子目錄容量(以kb為單位)

du -s dir1 顯示目錄dir1的總容量

(7)顯示環境變量

echo $HOME 顯示家目錄

echo $PATH 顯示可執行文件搜索路徑

env 顯示所有環境變量(可能很多,最好用”env | more”,”env | grep PATH”等)

(8)修改環境變量,在bash下用export,如:

export PATH=$PATH:/usr/local/bin

想知道export的具體用法,可以用shell的help命令:help export

2、文件操作

(1)查看文件(可以是二進制的)內容 cat

執行格式:cat filename或more filename 或cat filename|more

例: cat file1 以連續顯示方式,查看文件file1的內容

more file1

或 cat file1|more 以分頁方式查看文件的內容

(2)刪除文件 rm

執行格式: rm filename

例: rm file?

rm f*

(3)複製文件 cp

執行格式: cp [-r] source destination

例: cp file1 file2 將file1複製成file2

cp file1 dir1 將file1複製到目錄dir1

cp /tmp/file1 將file1複製到當前目錄

cp /tmp/file1 file2 將file1 複製到當前目錄名為file2

cp -r dir1 dir2 (recursive copy)複製整個目錄。

(4)移動或更改文件、目錄名稱mv

執行格式: mv source destination

例: mv file1 file2 將文件file1,更名為file2

mv file1 dir1 將文件file1,移到目錄dir1下

mv dir1 dir2

(5)比較文件(可以是二進制的)或目錄的內容 diff

執行格式: diff [-r] name1 name2 (name1、name2同為文件或目錄)

例: diff file1 file2 比較file1與file2的不同處

diff -r dir1 dir2 比較dir1與dir2的不同處

(6)文件中字符串的查找 grep

執行格式: grep string file

例: grep abc file1 查找並列出串abc所在的整行文字

(7)文件或命令的路徑尋找

執行格式一:whereis command 顯示命令的路徑

執行格式二:which command 顯示路徑及使用者所定義的別名

執行格式三:whatis command 顯示命令的功能摘要

(8)建立文件或目錄的鏈接 ln

例: ln source target1 建立source文件(已存在)的硬鏈接,命名為target1

ln -s source target2 建立source文件的符號鏈接,命名為target2

文件編輯器vi

vi是在UNIX 上被廣泛使用的中英文編輯軟件。vi是visual editor的縮寫,是UNIX提供給用戶的一個窗口化編輯環境。

進入vi,直接執行vi編輯程序即可。

例:$vi test.c

顯示器出現vi的編輯窗口,同時vi會將文件複製一份至緩衝區(buffer)。vi先對緩衝區的文件進行編輯,保留在磁盤中的文件則不變。編輯完成後,使用者可決定是否要取代原來舊有的文件。

1、vi的工作模式

vi提供二種工作模式:輸入模式(insert mode)和命令模式(command mode)。使用者進入vi後,即處在命令模式下,此刻鍵入的任何字符皆被視為命令,可進行刪除、修改、存盤等操作。要輸入信息,應轉換到輸入模式。

(1)命令模式

在輸入模式下,按ESC可切換到命令模式。命令模式下,可選用下列指令離開vi:

:q! 離開vi,並放棄剛在緩衝區內編輯的內容

:wq 將緩衝區內的資料寫入磁盤中,並離開vi

:ZZ 同wq

:x 同wq

:w 將緩衝區內的資料寫入磁盤中,但並不離開vi

:q 離開vi,若文件被修改過,則要被要求確認是否放棄修改的內容,此指令可與:w配合使用

(2)命令模式下光標的移動

H 左移一個字符

J 下移一個字符

K 上移一個字符

L 右移一個字符

0 移至該行的首

$ 移至該行的末

^ 移至該行的第一個字符處

H 移至窗口的第一列

M 移至窗口中間那一列

L 移至窗口的最後一列

G 移至該文件的最後一列

W, W 下一個單詞 (W 忽略標點)

B, B 上一個單詞 (B 忽略標點)

+ 移至下一列的第一個字符處

– 移至上一列的第一個字符處

( 移至該句首

) 移至該句末

{ 移至該段首

} 移至該段末

NG 移至該文件的第n列

N+ 移至光標所在位置之後第n列

n- 移至光標所在位置之前第n列

(3)輸入模式

輸入以下命令即可進入vi輸入模式:

a(append) 在光標之後加入資料

A 在該行之末加入資料

i(insert) 在光標之前加入資料

I 在該行之首加入資料

o(open) 新增一行於該行之下,供輸入資料用

O 新增一行於該行之上,供輸入資料用

dd 刪除當前光標所在行

X 刪除當前光標字符

x 刪除當前光標之前字符

U 撤消

• 重做

F 查找

ESC鍵 離開輸入模式

GNU C編譯器

LINUX上可用的C編譯器是GNU C編譯器,它建立在自由軟件基金會編程許可證的基礎上,因此可以自由發布。

LINUX 上的GNU C編譯器(GCC)是一個全功能的ANCI C兼容編譯器。下面介紹GCC和一些GCC編譯器最常用的選項。

1、使用GCC

通常後跟一些選項和文件名來使用GCC編譯器。GCC命令的基本用法如下:

gcc [options] [filenames]

命令行選項指定的編譯過程中的具體操作

2、GCC常用選項

GCC有超過100個的編譯選項可用,這些選項中的許多可能永遠都不會用到,但一些主要的選項將會頻繁使用。很多的GCC選項包括一個以上的字符,因此必須為每個選項指定各自的連字符,並且就像大多數LINUX 命令一樣不能在一個單獨的連字符後跟一組選項。例如:

gcc test.c

編譯成功後,當前目錄下就產生了一個可執行文件a.out。

也可用-o選項來為即將產生的可執行文件指定一個文件名來代替a.out。例如:

gcc -o count count.c

此時得到的可執行文件就不再是a.out,而是count。

3、執行文件

格式: ./可執行文件名

例:./a.out

./count

linux下的C語言開發(管道通信)

姓名:馮成 學號:19020100164 學院:丁香二號書院

轉自:

【嵌牛導讀】本文將介紹linux下的C語言開發中的管道通信

【嵌牛鼻子】linux C語言 管道通信

【嵌牛提問】linux下的C語言開發中的管道通信是什麼?

Linux系統本身為進程間通信提供了很多的方式,比如說管道、共享內存、socket通信等。管道的使用十分簡單,在創建了匿名管道之後,我們只需要從一個管道發送數據,再從另外一個管道接受數據即可。

#include stdio.h

#include unistd.h

#include stdlib.h

#include string.h

int pipe_default[2]; 

int main()

{

    pid_t pid;

    char buffer[32];

    memset(buffer, 0, 32);

    if(pipe(pipe_default) 0)

    {

        printf(“Failed to create pipe!\n”);

        return 0;

    }

    if(0 == (pid = fork()))

    {

        close(pipe_default[1]);

        sleep(5);

        if(read(pipe_default[0], buffer, 32) 0)

        {

            printf(“Receive data from server, %s!\n”, buffer);

        }

        close(pipe_default[0]);

    }

    else

    {

        close(pipe_default[0]);

        if(-1 != write(pipe_default[1], “hello”, strlen(“hello”)))

        {

            printf(“Send data to client, hello!\n”);

        }

        close(pipe_default[1]);

        waitpid(pid, NULL, 0);

    }

    return 1;

}

    下面我們就可以開始編譯運行了,老規矩分成兩步驟進行:(1)輸入gcc pipe.c -o pipe;(2)然後輸入./pipe,過一會兒你就可以看到下面的打印了。

[test@localhost pipe]$ ./pipe

Send data to client, hello!

Receive data from server, hello!

linux與c語言有什麼異同?

C和Linux C基本上沒有什麼區別。

我們意義上的普通C,是標準ANSI C,是任何C編譯器都應該遵循的C語言協議。

而Linux C其實特指的是Linux上的GCC編譯器,GCC編譯器完全遵循ANSI C,並在此基礎上又做了一些擴展,例如:

1)對ASM語法的支持

2)編譯器支持內聯函數

3)支持__attribute__機制

linux下的C語言學習

裝 Fedora 。

掌握的知識至少要先會用吧?

Linux 的開發環境不是一個單獨的程序,而是很多相互補充的程序互相配合組成的。編譯器有編譯器,程序連接器有單獨的連接器,編譯控制器有單獨的控制器。開發環境有開發環境,頭文件有功能軟件庫提供……

很多需要的事情……

—————

你開發難道不想用別人的功能庫?難道所有功能都自己寫?包括圖形界面字符界面的所有的函數都自己寫?

開發程序不光只有 gcc binutils make 就行了,比如有的時候你需要 pkg-config 來獲取某些函數庫的信息,有的時候你需要某些 C header 。有的時候你還需要一些附加的工具來生成某些數據。

ubuntu 這些東西默認不安裝。如果你能知道你需要什麼,自己會去找對應的開發用 C header 文件,那麼我就不在說什麼了。

我見過許多用 ubuntu 開發的人,跑來問怎麼為什麼寫的 GTK 程序提示找不到 Header 。之後讓他自己裝他還不知道裝哪個,哪個文件裡面有他需要的 Header 。結果我的建議是完全安裝,對於 ubuntu 來說,這個有點不可思議。但 Fedora 輕鬆無比,選上開發部分的所有內容即可。

讓別人用 RH9 的是騙子,別理他們。

怎麼用linux寫c語言

Linux正在成為開發人員的編程天堂,成為開源和免費操作系統。 Turbo C編譯器已經是一種編譯程序的舊方法,所以讓程序員轉向Linux以獲得新的編程環境。 在本文中,我們將解釋如何編寫,編譯和運行一個簡單的C程序。 這將成為您遷移到可以在Linux上編寫和執行的更複雜和有用的C程序的基礎。

我們在Ubuntu 18.04 LTS系統上運行了本文中提到的步驟和命令。

我們將使用Linux命令行工具Terminal,以編譯一個簡單的C程序。 要打開終端,您可以使用Ubuntu Dash或Ctrl + Alt + T快捷方式。

第1步:安裝build-essential軟件包

為了編譯和執行C程序,您需要在系統上安裝必要的軟件包。 在Linux終端中以root用戶身份輸入以下命令:

sudo apt-get install build-essential

系統會要求您輸入root用戶密碼; 安裝過程將在此之後開始。 請確保您已連接到互聯網。

第2步:編寫一個簡單的C程序

安裝必要的軟件包之後,讓我們編寫一個簡單的C程序。

打開Ubuntu的圖形文本編輯器,將以下示例程序寫入或複製到其中:

#includestdio.h

int main()

{

printf(“nA sample C program “);

return 0;

}

然後使用.c擴展名保存文件。 在這個例子中,我將我的C程序命名為linuxidc.c

或者,您可以通過gedit中的終端編寫C程序,如下所示:

gedit linuxidc.c

這將創建一個.c文件,您可以在其中編寫和保存程序。

第3步:使用gcc編譯C程序

在終端中,輸入以下命令以生成您編寫的程序的可執行版本:

句法:

$ gcc [programName].c -o programName

示例:

$ gcc linuxidc.c -o linuxidc

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/156693.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-18 01:57
下一篇 2024-11-18 01:57

相關推薦

  • AES加密解密算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演着非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28
  • Python作為中心語言,在編程中取代C語言的優勢和挑戰

    Python一直以其簡單易懂的語法和高效的編碼環境而著名。然而,它最近的發展趨勢表明Python的使用範圍已經從腳本語言擴展到了從Web應用到機器學習等廣泛的開發領域。與此同時,C…

    編程 2025-04-28
  • Python基礎語言

    Python作為一種高級編程語言擁有簡潔優雅的語法。在本文中,我們將從多個方面探究Python基礎語言的特點以及使用技巧。 一、數據類型 Python基礎數據類型包括整數、浮點數、…

    編程 2025-04-28

發表回復

登錄後才能評論