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. January 11th, 2018 Week 02nd Thursday

    Live, travel, adventure, bless, and don't be sorry. 精彩地活着,不停地前行,大胆冒险,心怀感激,不留遗憾. Everything we do is ...

  2. C语言变量定义与数据溢出(初学者)

    1.变量定义的一般形式为:类型说明符.变量名标识符等:例:int a,b,c;(abc为整型变量) 在书写变量定义时应注意以下几点: (1)允许在一个类型说明符后,定义多个相同类型的变量.各变量之间用 ...

  3. (8)Python判断结构

  4. 【转】字符编码笔记:ASCII、Unicode、UTF-8 和 Base64

    1. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串.每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态(-128~127),这被称为一 ...

  5. MySQL慢查询1- 开启慢查询

    本文章摘自网络,学习之用 一.简介 开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,才能更好的优化数据库系统的性能. 二.参数说明 slow_query_log ...

  6. MySql常用命令集Mysql常用命令3

    MYSQL常用命令 有很多朋友虽然安装好了mysql但却不知如何使用它.在这篇文章中我们就从连接 MYSQL.修改密码.增加用户等方面来学习一些MYSQL的常用命令. 有很多朋友虽然安装好了mysql ...

  7. mvc:message-converters简单介绍

    说说@ResponseBody注解,很明显这个注解就是将方法的返回值作为reponse的body部分.我们进一步分析下这个过程涉及到的内容,首先就是方法返回的类型,可以是字节数组.字符串.对象引用等, ...

  8. 转载 线程池 异步I/O线程 <第三篇>

    在学习异步之前先来说说异步的好处,例如对于不需要CPU参数的输入输出操作,可以将实际的处理步骤分为以下三步: 启动处理: 实际的处理,此时不需要CPU参数: 任务完成后的处理: 以上步骤如果仅仅使用一 ...

  9. day20 Python 高阶函数,函数,嵌套,闭包 装饰器

    高阶函数定义 1.函数接收的参数是一个函数名 2.函数的返回值是一个函数名 3.满足上述条件任意一个都可以称之为高阶函数 一.函数的接收参数是一个函数名 import time def foo(): ...

  10. Photoshop 基础六 图层

    图层就像一张张叠在一起的胶片,最上层的图像挡住下面的图像,使之看不见 上层图像中没有像素的地方为透明区域,通过透明区域可以看到下一层的图像 图层是相对独立的,在一个图层编辑时,不影响其它图层 每次只能 ...