Linux基础

常用shell命令

命令 说明 命令 说明
man 查看联机帮助 ls 查看目录及文件列表
cp 复制目录或文件 mv 移动目录或文件
cd 改变文件或目录 rm 删除文件或目录
mkdir 创建新目录 rmdir 删除空目录
cat 查看文本内容 find 查找目录或文件
date 显示或修改日期和时间 free 显示内存交换空间信息
chmod 改变目录或文件权限 chown 改变目录或文件的所有者

控制台操作

按Ctrl+Alt+F2键进入控制台Ctrl+Alt+F7退出控制台

输入用户名root和密码获取管理员权限

输入以下命令,创建新用户

adduser [用户名] //创建新用户,隶属于普通用户组

password [密码] //为该用户修改密码,新用户密码默认为空

GCC/G++ 编译器

Ubuntu默认已安装好GCC/G++编译器,gcc --version命令查看编译器版本,

该编译器没有图形界面,编译命令如下

gcc [-选项 1] [-选项 2]... [-选项 n] <源文件名>

g++ [-选项 1] [-选项 2]... [-选项 n] <源文件名>

如果命令中不包含输出文件的名称,默认在该目录侠生成.out的可执行文件

源程序文件名test.c

常用GCC/G++编译选项:

编译选项 用法 说明
-c gcc -c test.s 只进行预处理,编译和汇编,生成.o 文件
-S gcc -S test.i 只进行预处理,编译和汇编,生成.s 文件
-E gcc -E test.c -o test.i 只进行预处理,参数预处理后的结果到标准输出
-C gcc -S test.i 预处理不删除注释信息,常与-E同时使用
-o gcc -O1 test.c -o test 指定目标名称,常与-c -S同时使用,默认.out

Vi编译Helloword

cd~ //进入主目录

mkdir helloword //新建helloworld目录

cd helloword //进入helloworld目录

vi helloword.c //使用vi新建并打开helloworld.c文件

helloworld文件如下

#include <stdio.h>
int main()
{
char *c;
c = "hello word!";
printf("%s\n", c);
return 0;
}

输入结束后按Esc退出输入状态,输入命令Q后进入Ex模式,在Ex模式下输入wq并按Enter,保存文件。

程序编译与连接

gcc -o hello helloword.c //编译并连接程序

//-o hello表示使用hello作为目标文件名

若程序编写错误会有相关错误信息

使用终端运行程序

./hello //运行当前目录下的hello程序

输出结果为: Hello world!

GBD调试工具

常用vi编辑起命令

命令 解释 命令 解释
Esc 进入或退出命令模式 i/I/ 插入
h/j/k/l或方向键 移动光标位置 a/A 在光标后输入
/关键字 向下查找关键字 o/O 插入新行
x/X 向前或向后删除一个字符 r/R 在光标后改写
D/d 删除整行 w 保存文件
Y/y 复制整行 q 退出vi
p/P 在上一行,下一行粘贴 wq 退出Vi
U 还原上一个动作 set nu 显示行号

Linux环境C程序设计的更多相关文章

  1. 多线程编程之Linux环境下的多线程(二)

    上一篇文章中主要讲解了Linux环境下多线程的基本概念和特性,本文将说明Linux环境下多线程的同步方式. 在<UNIX环境高级编程>第二版的“第11章 线程”中,提到了类UNIX系统中的 ...

  2. 在Linux环境下采用压缩包方式安装JDK 13

    本文地址:https://www.cnblogs.com/oberon-zjt0806/p/11663731.html 可以,转载,出处,格式,懂?? 什么是JDK?? 好吧如果你不知道这个问题的话我 ...

  3. Linux环境下的network IO

    同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的.所以先限定一下本文的上下文. 本文讨论的背景是Linux环境下的network IO. ...

  4. linux 环境下运行STS时 出现must be available in order to run STS

    linux 环境下运行ECLIPSE时 出现 “ A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be avai ...

  5. Linux环境搭建-在虚拟机中安装Centos7.0

    最近在空闲时间学习Linux环境中各种服务的安装与配置,都属于入门级别的,这里把所有的学习过程记录下来,和大家一起分享. 我的电脑系统是win7,所以我需要在win7上安装一个虚拟机-VMware,然 ...

  6. Linux环境下部署完JDK后运行一个简单的Java程序

    前言 前一篇文章详细讲解了如何在Windows环境下安装虚拟机+Linux系统,并且成功部署了JDK. 不过部署完JDK之后,我们判断部署是否成功的依据是看"java -version&qu ...

  7. OpenJDK 编译-Linux环境

    说明:笔者是在Ubuntu 16.04虚拟机中编译 OpenJDK 8 源码下载 http://download.java.net/openjdk/jdk8/ 推荐直接下载openjdk-8-src- ...

  8. Linux环境中Openfire安装指南

    Linux环境中Openfire安装指南 安装环境: 安装软件:Openfire 4_1_0 http://download.igniterealtime.org/openfire/openfire_ ...

  9. linux环境下学习使用pro*c/c++工具

    1.proc是oracle用来预编译嵌入SQL语句的c程序. 2.如何使用proc工具 在Linux环境下,首先确保gcc编译器正常使用,安装oracle数据库或者客户端,一般就会默认安装pro*c/ ...

随机推荐

  1. 17秋 软件工程 团队第五次作业 Alpha Scrum4

    17秋 软件工程 团队第五次作业 Alpha Scrum4 今日完成的任务 世强:部门基础信息模块数据更新.部门审核提交: 港晨:设计编写登录界面的一部分: 树民:学习python基本语法.flask ...

  2. Ubuntu18.04 安装tomcat9

    1.官网下载 2.移动到/usr/local/tomcat 3.解压 4.修改权限,否则在idea中不能正常使用

  3. logbak 配置相关

    一.配置简单 1. 配置简单,易于上手,通过logback.xml文件进行配置,如果没有配置的话,执行默认配置 <configuration> <appender name=&quo ...

  4. docker安装与卸载

    文章转自:https://www.cnblogs.com/yufeng218/p/8370670.html  (EE安装) https://blog.csdn.net/jxyzh11/article/ ...

  5. mybatis的批量更新实例

    近来批量添加,删除,更新用的比较多,单一的删除和更新,操作无法满足企业某些业务的需求,故通过以下示例分享知识: 今天通过更新的例子来说明 演示环境为jdk8,maven环境,ssm框架 请准备好环境, ...

  6. java 桥接模式

    桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦. 1)适配器:改变已有的两个接口,让他们相容. 2)桥接模式:分离抽象化 ...

  7. HDU2066(SPFA+前向星)

    https://vjudge.net/problem/HDU-2066 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白 ...

  8. BMP280 driver对接单片机I2C或者SPI总线接口

    1:登录github网站搜BMP280,找到 BoschSensortec/BMP280_driver 2:gitclone或者download zip都可以,把驱动下载到本地,记得fork哦! 3: ...

  9. SkylineGlobe 如何实现FlyTo定位到目标点之后触发的事件函数

    之前有朋友问,如何在Skyline里面实现FlyTo定位到目标点之后触发的事件函数呢? 下面的这段代码,就可以帮你解决这个问题. <!DOCTYPE html PUBLIC "-//W ...

  10. USB协议枚举过程详解

    一 枚举过程之文字描述 ?主机集线器监视着每个端口的信号电压,当有新设备接入时便可觉察.(集线器端口的两根信号线的每一根都有15kΩ的下拉电阻,而每一个设备在D+都有一个1.5kΩ的上拉电阻.当用US ...