开始Linux的学习!虚拟机安装Ubuntu系统并编写第一个c程序

本文详细介绍如何使用VMware安装Ubuntu系统,包括下载与安装步骤,以及基本的Shell命令和C语言编程环境搭建,适合Linux初学者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为专业课的需求,我开始了关于Linux的学习,并选择使用虚拟机安装Linux系统。相关的虚拟机有很多种选择,在这儿我选择的是VMware

下载VMware:

下载连接:https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html

安装的过程比较简单,许多选项默认即可
在这里插入图片描述
安装完的界面整洁,使用起来也比较方便

下载Ubuntu:

下载链接:https://www.ubuntu.com/index_kylin
在这里插入图片描述

选择Ubuntu Desktop(大约1.9G 官网下载慢的话可以选择网盘等其余途径)
下载完成后是一个iso文件(不需要解压)

在VMware上创建一个新的虚拟机:

根据提示一般都是默认下一步,使用iso镜像文件是选择我们事先下载好的Ubuntu

在这里插入图片描述
开始此虚拟机后,选择简体中文,一步步之后,便可以完成Ubuntu系统的安装工作

安装code blocks并实现hello world:

首先,在终端执行sudo apt-get install build-essential安装build-essential软件包
在这里插入图片描述
提示输入密码的时候,虽然不会显示,但是有效果,正常输入即可
然后可以在终端输入sudo apt-get install codeblocks安装codeblocks
在这里插入图片描述
可以打开文本编辑器,选择文本为c 输入代码,并保存
在这里插入图片描述
输入gcc -o hw hw.c生成可执行文件
执行./hw之后可实现效果
在这里插入图片描述
同样可以直接在code blocks中实现:
在这里插入图片描述

基本Shell命令练习:

首先,进入终端:Ctrl+Alt+t 进入Ubuntu终端
联系几种简单命令:
ls :列出主文件夹下文件
ls -a: 列出主文件夹下的包括点(.)开头的隐藏文件
ls -l: 列出主文件夹下的包括与文件相关属性的内容信息
date:输出当前系统时间
Linux系统在线求助 man, 并按q离开main环境
在这里插入图片描述
在这里插入图片描述

<think>嗯,用户想在Ubuntu虚拟机学习Linux常用指令和编写C语言代码。我需要先理清他的需求。他可能刚接触Linux,所以需要从基础开始指导。首先,安装虚拟机部分可能已经完成,因为用户提到了“Ubuntu虚拟机”,但可能需要确认是否需要简要步骤。不过根据引用[1]和[2],用户之前可能已经安装了Vmware和Ubuntu,所以这部分可以简略,重点放在常用指令和C语言编程上。 接下来,用户需要学习常用指令。应该分基础命令和进阶管理命令。比如cd、ls这些是必须的,然后是文件操作和权限管理,比如chmod、sudo。需要结合引用[2]和[4],里面提到了网络设置、apt源更换,以及vim的使用,所以可能需要包括这些内容。 然后是C语言编程部分。用户需要安装编译工具,如gcc,和编辑器如vim或gedit。引用[4]中的例子是用vim写hello world,然后编译运行,这可以作为基础示例。此外,用户可能还需要了解如何编译更复杂的程序,比如引用中的辗转相除法例子,或者使用Makefile,这部分需要提及。 还要考虑用户可能遇到的问题,比如如何安装软件(用apt),如何解决依赖问题,或者权限问题需要sudo。此外,引用[3]提到了内核驱动开发,但用户当前需求可能不需要那么深入,但可以提一下后续学习方向。 需要生成相关问题,比如性能优化、编译工具链,或者调试方法。这些能帮助用户深入学习。 最后,确保回答结构清晰,分步骤,代码示例正确,符合LaTeX格式要求,比如用$...$和$$...$$,但用户的问题中数学内容不多,可能主要是在解释算法时使用,比如辗转相除法中的公式可能需要数学表达式。 可能还需要检查引用是否正确,比如引用[2]和[4]关于Ubuntu配置和C编程,引用[1]关于虚拟机安装。确保每个引用在回答中自然出现,比如在讲安装编译工具时引用[4],讲网络配置时引用[2]。 总结步骤:1. 常用指令分类讲解;2. C语言环境配置;3. 编写编译示例;4. 扩展工具如Makefile;5. 调试方法。每个部分给出代码示例,确保LaTeX格式正确。最后生成相关问题,如优化编译、调试技巧等。</think>### 分步教程:在Ubuntu学习Linux指令与C语言编程 #### 一、Linux常用指令学习(分阶段掌握) 1. **基础文件操作** - 目录切换与查看: ```bash $ cd /home # 进入/home目录 $ ls -l # 查看详细信息(权限、大小等) $ pwd # 显示当前路径 ``` - 文件操作: ```bash $ touch test.c # 创建空文件 $ cp test.c backup/ # 复制文件到backup目录 $ rm *.tmp # 删除所有.tmp文件(谨慎使用) ``` 2. **系统管理与权限** - 安装软件包(需联网): ```bash $ sudo apt update # 更新软件源[^4] $ sudo apt install gcc vim # 安装C编译器和编辑器 ``` - 权限管理: ```bash $ chmod +x script.sh # 添加可执行权限 $ sudo visudo # 修改sudo配置(危险操作需谨慎) ``` 3. **进阶工具** - 文本处理: ```bash $ grep "error" log.txt # 查找包含error的行 $ cat file.txt | wc -l # 统计文件行数 ``` #### 二、C语言编程环境搭建 1. **安装工具链** ```bash $ sudo apt install build-essential # 包含gcc/gdb/make等[^4] $ sudo apt install gdb # 调试器 ``` 2. **编写第一个程序** - 使用vim创建`hello.c`: ```bash $ vim hello.c ``` - 输入代码: ```c #include <stdio.h> int main() { printf("Hello Ubuntu!\n"); return 0; } ``` 3. **编译与运行** ```bash $ gcc hello.c -o hello # 编译生成可执行文件 $ ./hello # 运行程序(输出Hello Ubuntu!) ``` #### 三、实战案例:十进制转二进制(含数学原理) **算法原理**: 通过短除法实现转换,每次取余数$r_n = N \% 2$,更新$N = \lfloor N/2 \rfloor$,直到$N=0$。二进制结果为余数逆序排列,即$r_kr_{k-1}...r_1$[^1]。 **代码实现**: ```c #include <stdio.h> void dec2bin(int n) { if (n > 1) dec2bin(n / 2); printf("%d", n % 2); } int main() { int num = 10; printf("%d -> ", num); dec2bin(num); // 输出1010 return 0; } ``` #### 四、进阶开发技巧 1. **使用Makefile自动化编译** 创建`Makefile`文件: ```makefile CC = gcc CFLAGS = -Wall all: hello converter hello: hello.c $(CC) $(CFLAGS) $< -o $@ converter: dec2bin.c $(CC) $(CFLAGS) $< -o $@ clean: rm -f hello converter ``` 运行命令: ```bash $ make # 编译所有目标 $ make clean # 清理生成文件 ``` 2. **调试技巧** ```bash $ gcc -g program.c -o program # 添加调试信息 $ gdb ./program (gdb) break main # 在main函数设置断点 (gdb) run # 启动调试 ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值