首页 > 系统相关 >01-Linux命令和C语言基础

01-Linux命令和C语言基础

时间:2023-05-14 13:33:55浏览次数:36  
标签:__ 文件 01 -- C语言 Linux test 光标

1 Linux开发环境搭建

1.1 虚拟机安装

1、安装VM Ware
2、安装ubuntu

分区 -- Linux没有盘符的概念
/ -- 5000M
/boot -- 系统启动过程中读取的重要文件
/swap -- 2000M,虚拟内存是物理内存的两倍左右
/home -- 常见的分区
  • Linux文件系统结构是通过文件夹管理的
  • 虚拟内存是一段硬盘空间,当作是内存使用

1.2 Linux文件与Windows文件传输

直接拖拽或者复制粘贴,如果不行执行下面命令

sudo apt-get autoremove open-vm-tools
sudo apt-get install open-vm-tools
sudo apt-get install open-vm-tools-desktop

2.文件和目录相关命令

2.1 Linux文件系统结构

  • Linux系统是一个分层的树形组织结构

  • Filesystem Hierarchy Standard(文件系统层次结构标准)
  • Linux是开源软件,各个linux发行机构都可以按照在即的需求对于文件系统进行剪裁,所以众多的linux发行版本的目录结构也不尽相同。为了规范文件目录命名和存放标准,Linux基金会颁发了FHS(Fliesystem Hierarchy Standard)

2.2 命令

pwd -- 显示路径

ls -- 显示当前文件下文件
ls /home(可以加目录) 
ls -a -- 不忽略点开头的文件(隐藏文件)
ls -l -- 用长格式方式显示,权限、用户、大小
ls -l /bin
ls -R 目录 -- 递归显示目录

df -T 显示文件系统的信息
  • ctrl+shift+t,新建一个终端窗口
  • rwx -- 读写执行,-表示无权限,权限通常有9位,三种用户各占3位(创建者,同组用户,其他用户)
  • Linux系统下插入U盘,引入一个新的目录结构
df -T -- 显示文件系统的信息
// 增删改查
cat test.c -- 显示在屏幕中
cat -s 多个空行合并成一个空行显示
cat -b 多加行号显示

nl test.c -- 加行号显示

vi test.c

cp test1.c test4.c
cp test.c /home/evan/test

cp -rf 文件夹/文件 文件目录

mv test.c test1.c -- 重命名
mv test.c ../test3.c -- 移动并重名名
mv -rf 文件夹 文件目录

touch 文件 -- 创建文件
touch 已经存在的文件 -- 修改时间戳

rm 文件
rm -rf 文件夹

mkdir 文件夹名称
mkdir -p 多级文件夹

3.vi编辑器

vi是一个编辑环境,有三种模式

:w -- 保存
:q -- 退出没有修改的文件
:q! --强制退出,不保存修改过的部分
:x -- 保存并退出
:wq -- 保存并退出
:w test1.c -- 另存为文件
:r file -- 读入其他文件的内容

a -- 光标之后
i -- 光标之前
o -- 插入一个新的行
A -- 行尾插入
I -- 行首插入

:! -- 执行外部命令,按enter键返回
// 拷贝粘贴
ndd -- 表示剪切n行
nyy -- 复制n行
p -- 粘贴在行下
P -- 粘贴在上面
nx -- 删除n个从光标开始的字符
u -- undo撤销操作
// 一些高级操作
// vi 光标的命令
h,l,j,k -- j,k光标上下移动,h,l光标左右移动
gg -- 返回首行
1G -- 返回首行
nG -- 到第一行
G -- 返回最后一行

:set nu -- 显示行号
:set nonu -- 不显示行号

// 查找
/string -- 查找内容
n -- 向下查找
N -- 向上查找
支持正则表达式

// 替换

:10,20s/str1/str2/g -- 在10,20行内用str2替换str1,g表示全部替换
:1,$s/man/MAN/g -- 全文替换
:%s/man/MAN/g -- 全文操作
:s/man/MAN/g -- 不写范围,就是指的是当前行
:s/man/Man -- 不加g表示替换第一个
:10,15s/man/MAN/g 

y0 -- 从光标复制到行首
y$ -- 从光标复制到行尾
d0 -- 从光标剪切到行首
d$ -- 从光标剪切到行尾

// 块复制,删除
:118,125y -- 复制118,125行复制
:118,$d -- 删除118行之后的所有行

4.基础知识

计算机基本结构
一.冯诺依曼模型

  • 计算机硬件由五部分构成
  • 存储程序的思想:系统的运行过程就是按照一定的顺序不断执行存储器中的程序指令的过程

    二.存储器分类
  • 主存储器及内存,程序中待处理的数据和处理的结果都存储在内存中
  • 外存储器是用来长期保存数据的大容量存储器
  • 寄存器是CPU内部的高速存储器,速度快,数量少
    三.程序
    广义上讲,为了实现一个特定的目标而预先设计的一组操作的工作步骤,称之为一个程序
    程序就是系统可以识别的一组有序的指令,程序存储在磁盘上,被加载到内存中执行
    四.程序设计语言的发展
    1.机器语言,直接使用机器指令01序列来设计程序,可以被计算机系统直接识别
    2.汇编语言,把机器指令符号化,即通过一组简单的符号来表示机器指令
    3.高级语言,和特定的计算机系统无关,更接近于人类自然语言,一条语句对应多条机器指令
    五.程序设计步骤
    编辑--编译,链接-执行,调试

5.数据的表示

一.计算机数据表示
送入计算机的数字,字母,符号等信息必须转换成0,1组合的数据形式才能被计算机识别
能够进行算术运算得到明确数值概念的信息,是计算机数值数据,其余的信息称为非数值数据
二.数值数据的表示
十进制\八进制\二进制\十六进制
三.原码\反码\补码
四.非数值型数据表示
字符的存储,ASCII表

6.程序编译和调试

gcc(GNU Compiler)是GUN推出的多平台编译器,可以将C,C++源程序编译连接成可执行文件支持以下后缀文件

.c -- c语言源代码
.h -- 程序所包含的头文件
.i -- 已经进过预处理的c源代码
.s -- 汇编语言源代码文件
.o -- 编译后的目标文件
//编译输出可执行文件
gcc -o hello hello.c
-o 输出可执行文件
-c 只要求编译器输出目标代码(.o文件),而不必输出可执行文件
-g 用于调试
./hello 查看输出结果

gcc -o hello hello.c -Wall 

gcc -o hello.c  没有指定输出文件,默认文件名就是a.out

__FILE__  -- %s -- 显示文件
__LINE__ -- %d -- 哪一行
__FUNCTION__ -- %s ,哪个函数

7.数据结构与算法

算法的概念:解决问题采取的方法和步骤就称之为算法

gcc作为一个交叉编译器,如何生成ARM平台的执行程序

标签:__,文件,01,--,C语言,Linux,test,光标
From: https://www.cnblogs.com/Icer-newer/p/17398108.html

相关文章

  • 【题解】ars[A001]相控阵
    Link→模拟赛T1一道简单好想小可爱题。首先我们很容易得到一个结论,就是若想使总作用力最大,那么五个核弹中一定会有四个反应关系去对总作用力产生贡献。证明的话:五个核弹相当于一个五元环,不同模式相当于对点进行染色,我们不妨规定两种模式分别染色为红和蓝。因为边数\(n\)......
  • Java:Linux/Windows/macOS安装JDK
    目录开发环境安装JDK生产环境安装JDKJava版本开发环境安装JDK可以通过oracle的官方下载地址,下载安装https://www.oracle.com/cn/java/technologies/downloads/https://www.oracle.com/cn/java/technologies/downloads/archive/生产环境安装JDK文档https://openjdk.org/install/#Ja......
  • Linux 文件与目录管理有关的指令与权限
    之前对文件和目录的指令与权限有误解(特别是目录这一块),在本文进行记录。让使用者能进入某目录成为“可工作目录”的基本权限可使用的指令:例如cd等变换工作目录的指令。目录所需权限:使用者对这个目录至少需要具有x的权限。额外需求:如果使用者想要在这个目录内利用ls......
  • LINUX下用YUM安装nginx出现No package nginx available.的问题与解决方案
    1.备份CentOS-Base.repomv/etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.bak2.下载新的CentOS-Base.repo到/etc/yum.repos.d/wget-o/etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-7.repo3.把服务器的包信息下载到本......
  • AtCoder Beginner Contest 301
    title:AtCoderBeginnerContest301categories:算法题解description:咕咕咕tags:-Atcoder-贪心-BFS-DPcover:/img/chino/vec/chino17.jpgkatex:truedate:2023-05-1322:47:31A-OverallWinner(abc301a)题目大意给定一个字符串表示高桥和青木......
  • oracle根据 部署环境日志SQL查询中格式不正确 ORA-01810
    --查询TESTDATE数据表中,指定日期的所有字段SELECT*FROMXXCWHEREC.CREATEDATE=TO_DATE('2022-12-2308:50:44','yyyy-MM-ddHH24:mm:ss');ORA-01810报错在进行TO_DATE或者TO_STAMP的操作sql还是报错;由于Oracle中的格式化字符串不区分大小写,所以月份的MM和......
  • C语言函数大全-- w 开头的函数(2)
    C语言函数大全本篇介绍C语言函数大全--w开头的函数1.wcstok1.1函数说明函数声明函数功能wchar_t*wcstok(wchar_t*wcs,constwchar_t*delim,wchar_t**ptr);用于将一个长字符串拆分成几个短字符串(标记),并返回第一个标记的地址wchar_t*wcstok(wchar_t*wcs......
  • Linux常用命令-ftp
    ftp-Internetfiletransferprogram常用命令命令用法描述[email protected]连接到FTP服务器lsls[remote-directory]列出远程目录的内容cdcd[remote-directory]更改远程目录lcdlcd[local-directory]更改本地目录mkdirmkdir[direc......
  • 哈希表——创建,查找结点——C语言描述
    哈希表——创建,查找结点——C语言描述目录哈希表——创建,查找结点——C语言描述0测试用例框架1定义2数据结构2初始化哈希表与查找(1)代码(2)测试用例(3)打印结果0测试用例框架https://blog.csdn.net/m0_59469991/article/details/127137119?csdn_share_tail=%7B%22type%22%3A%22......
  • [AGC001E] BBQ Hard题解
    Problem[AGC001E]BBQHard计算:\[\sum_{i=1}^{n}\sum_{j=i+1}^n\binom{a_i+b_i+a_j+b_j}{a_i+a_j}\]其中\(n\leq2\times10^5\),\(a_i,b_i\leq2000\)Solution以\(a_i\)代\(a_i+b_i\)则等价于求\[\sum_{i=1}^{n}\sum_{j=i+1}^n\binom{a_i+a_j}{b_i+b_j}......