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/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

发表回复

登录后才能评论