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 显示行号

最新文章

  1. [LeetCode] Sqrt(x) 求平方根
  2. JavaScript Array map() 方法
  3. BCP
  4. android animation中的参数interpolator详解
  5. sql多行转一行,以逗号隔开
  6. Flume-NG内置计数器(监控)源码级分析
  7. 【读书笔记】读《JavaScript高级程序设计-第2版》 - 非函数部分
  8. swift小结02-基础篇
  9. javaScript操作select
  10. java 面试 复习 II
  11. 令人费解的java泛型
  12. linux 下 启动oracle
  13. shell网络客户端
  14. 【.net 深呼吸】在运行阶段修改应用配置文件
  15. LeetCode 531. Longly Pixel I (孤独的像素之一) $
  16. URAL 1297 最长回文子串(后缀数组)
  17. pycharm中join的应用
  18. [Web]Restful风格的适用场景
  19. Python退火算法在高次方程的应用
  20. javascript 之 数组

热门文章

  1. Django templates 模板的语法
  2. easyUI tab页的显示与隐藏
  3. 判断MS SQLSERVER临时表是否存在
  4. 树莓派设置NTP同步
  5. Spark学习之JavaRdd
  6. Windows线程的多任务处理
  7. HDU1233(Kruskal&amp;Prim两解)
  8. 动手动脑(lesson2)
  9. 包含 PHP和nginx的镜像 supervisord.conf Dockerfile 案例
  10. [03] JSP指令