【linux】

news/2024/7/8 4:34:35

1、Linux系统介绍

不同于Windows,Linux是一个开源的操作系统。
Linux一切皆文件,对文件的操作有:创建文件、编辑文件、保存文件、关闭文件、重命名文件、删除文件、恢复文件。

1.1 目录结构

根目录 /
bin:全称binary,含义是二进制。该目录中存储的都是一些二进制文件,文件都是可以被运行的。
dev:该目录中主要存放的是外接设备,例如盘、其他的光盘等。在其中的外接设备是不能直接被使用的,需要挂载。
etc:该目录主要存储一些配置文件。
home:表示除了root用户以外其他用户的家目录,类似于windows下的user/用户
proc:全称process,表示进程,该目录中存储的是Linux运行时候的进程。
root:该目录是root用户自己的家目录
sbin:全称super binary,该目录也是存储一些可以被执行的二进制文件,但是必须得有super权限的用户才能执行。
tmp:表示临时文件夹,当系统运行时候产生的临时文件会存在该目录。
usr:存放用户自己安装的软件,默认位置
var:存放的程序/系统的日志文件的目录
mnt:当外接设备需要挂载的时候,就需要挂载到mnt目录下。

1.2 命令

linux的命令是指在linux终端中运行的内容。
命令格式: 命令 【选项】 【操作对象】
pwd 打印当前目录
ls 列出当前工作目录下的文件及文件夹的名称
**ls [path]**列出指定目录下的文件及文件夹名称
ls [可选项] 以指定的格式进行显示文件
cd切换到当前用户的家目录
mkdir创建目录
mkdir -p创建多层目录
mkdir path1 path2一次性创建多个目录
touch创建新文件
**rm **删除文件或者目录
rm -rf删除路径
cp 赋值文件/文件夹到指定的位置
cp -r复制文件夹
mv移动文件到新的位置,或者重命名文件

1.3文件编辑器

vim、nona、gedit

2、编译器

使用g++编译C++代码。
步骤:预处理、编译、汇编、链接
1、预处理-Processing

g++ -E test.cpp -o test.i

2、编译

g++ -S test.i -o test.s

3、汇编

g++ -C test.s -o test.o

4、链接

g++ test.o -o test

g++重要编译参数
1、-g 编译带调试信息的可执行文件

#产生带调试信息的可执行文件test
g++ -g test.cpp -o test

2、-O[n] 优化源代码
-O选项会告诉g++对源代码进行基本优化。这些优化在大多数情况下都会使程序执行的更快。
-O 同时减小代码的长度和执行时间,其效果等价于-O1
-O0 表示不做优化
-O2 除了完成-O1的优化之外,还进行一些额外的调整工作,如指令调整等。
-O3 则包括循环展开和其他一些与处理特性相关的优化工作
3、-l和-L指定库文件 |指定库文件路径
4、-I 指定头文件搜索目录

g++ -I

5、-Wall 打印警告信息

3、GDB调试命令

  • (gdb)help(h) #查看命令帮助
  • (gdb)run® # 重新开始运行文件
  • (gdb)start # 单步执行,运行程序
  • (gdb)list(l) #查看源代码
  • (gdb)set #设置变量的值
  • (gdb)next(n) #单步调试
  • (gdb)backtrace(bt) #查看函数的栈帧和层级关系
  • (gdb)info(i) #查看函数内部局部变量的值
  • (gdb)finish #结束当前函数,返回到函数调用点
  • (gdb)continue© #继续运行
  • (gdb)print§ #打印值及地址
  • (gdb)quit(q) #退出gdb

http://www.niftyadmin.cn/n/3648080.html

相关文章

给网页添加背景图片html_如何使用HTML将背景图像添加到网页的顶部

给网页添加背景图片htmlHow To Build a Website With HTML 如何使用HTML构建网站This tutorial series will guide you through creating and further customizing this website using HTML, the standard markup language used to display documents in a web browser. No pri…

docker本地开发和测试_如何使用Docker和DDEV在本地计算机上开发Drupal 9网站

docker本地开发和测试The author selected the Diversity in Tech Fund to receive a donation as part of the Write for DOnations program. 作者选择了“技术多元化”基金来接受捐赠,这是Write for DOnations计划的一部分。 介绍 (Introduction) DDEV is an ope…

人性化的验证(Validate)系统

为何要验证(Validate)   验证是系统中一个必不可少的部分,前端验证、后台验证中起来往往会发现,一个简单完整的CRUD应用中,用来处理与验证有关的代码或配置就占了几乎三分之一。Struts1.x时代的验证就不提了。不管是Struts2(webwork)的验证…

小程序动画从头开始_如何从头开始在Kubernetes上部署弹性Node.js应用程序

小程序动画从头开始视频 (Video) 描述 (Description) You may have heard the buzz around Kubernetes and noticed that many companies have been rapidly adopting it. Due to its many components and vast ecosystem it can be quite confusing to find where the path st…

在easyjweb应用中关于acegi安全配置的增强

在easyjweb的应用程序中,我们习惯通过easyJWebCommand这一参数来指定服务器端控制器的执行命令。比如newsDocManage.ejf?easyJWebCommandedit&id1,将执行NewsDocManageAction中的doEdit方法。在acegi中,最简单也是最常用的权限控制是基于…

debian docker_如何在Debian 10上使用Docker和Caddy远程访问GUI应用程序

debian docker介绍 (Introduction) Even with the growing popularity of cloud services, the need for running native applications still exists. 即使云服务越来越流行,仍然需要运行本机应用程序。 By using noVNC and TigerVNC, you can run native applicat…

[挑战MVC极限]EasyJWeb-1.0特性抢先看之一简介

序  2006年,一群Java领域的大师们纷纷转向动语言,随着类似RoR这些框架的宣传及推广,我们发现动态语言确实带来了以前在Java的领域里面不曾有的思想、东西。使用传统的Java MVC框架做开发,相对于动态语言所表现出来的灵活、敏捷&…

debian docker_如何在Debian 9上使用Docker和Caddy远程访问GUI应用程序

debian docker介绍 (Introduction) Even with the growing popularity of cloud services, the need for running native applications still exists. 即使云服务越来越流行,仍然需要运行本机应用程序。 By using noVNC and TigerVNC, you can run native applicat…