Linux基础知识

本文概述了Linux的发展历程,介绍了如何在Linux中操作终端,包括打开、常用命令如whoami、pwd、ls、cd、mkdir、rm等,以及Vi编辑器的命令行、插入和底行模式。还涉及了gcc编译器的工作原理和基本用法。

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

1.linux发展历史
	unix之父   肯 汤姆森    1973年
	GNU计划    斯托曼      1984年
	linux之父   莱纳斯     1991年
	GNU=GNU Is Not   Unix     是一个开源组织
	GPL=General Public License   是一个开源产品协议   在我开源产品的基础上进行二次开发必须公开源代码

2.如何打开一个终端:
	打开一个新终端:ctrl+alt+t
	左右分屏打开同路径终端:ctrl+shift+t
	打开一个同路径的新终端:ctrl+shift+n
	放大字体:ctrl+shift+"+"('='这个键上边的'+'键)
	缩小字体:ctrl+"-"(0这个键后边的那个键)

3.linux命令
3.1.whoami命令  	
	    whoami    ---->  查看当前用户
3.2.pwd命令
	      pwd     ---->  查看当前用户所在的绝对路径
3.3.ls命令
    ls       路径名            ---->  列出指定路径下的所有文件
    ls -l(小写的L)  路径名     ---->  列出指定路径下的所有文件,包含详细信息
	ls -a    路径名            ---->  列出指定路径下的所有文件,包含隐藏文件
	ls -lh(小写的L) 路径名     ---->  列出指定路径下的所有文件,包含详细信息并且文件大小以KB、MB、GB、TB显示
3.4.cd命令
    cd 路径名     ---->  进入指定路径
    cd /          ---->  进入根目录
	cd ~          ---->  进入用户的家目录(或者cd直接回车)
	cd -          ---->  进入上一次所在的路径	
	cd ./         ---->  进入当前所在的路径
	cd ../        ---->  进入上一级所在的路径
3.5.mkdir命令
    mkdir dir1    ---->  在当前路径下创建一个目录名为dir1的目录文件
	mkdir dir1 dir2 dir3   ---->  在当前路径下同级创建三个目录名分别为dir1、dir2、dir3的目录文件
	mkdir -p dir1/dir2/dir3   ---->  在当前路径下嵌套创建三个目录名分别为dir1/dir2/dir3的目录文件
3.6.rmdir命令
    rmdir dir    ---->   只能删除空目录(缺点)
3.7.touch命令
	touch file1    ---->  如果file1不存在,则在当前路径下创建一个文件名为file1的普通文件
	                      如果file1存在,则会更新file1文件的时间戳
3.8.rm命令
	rm  file1    ----> 删除名为file1的普通文件
	rm -r dir1   ----> 删除名为dir1的目录文件
	rm -rf dir1  ----> 忽略提示信息,强制删除名为dir1的目录文件
3.9.cp命令
	cp file1 file2   ---->  如果file2不存在,则将file1复制一份并重命名为file2的普通文件
	                      如果file2存在,则将file1复制一份命名file2为覆盖原来的file2文件
	cp file1 dir1    ---->  表示将文件file1复制一份放到dir1目录里边
    cp -r dir1 dir2  ---->  如果dir2不存在,则将dir1复制一份并重命名为dir2的目录文件
	                      如果dir2存在,则将dir1复制一份放到dir2目录
3.10.mv命令
	mv file1 file2   ---->  如果file2不存在,则将file1重命名为file2的普通文件
	                      如果file2存在,则将file1重命名为file2并且覆盖原来的file2文件
	mv file1 dir1    ---->  表示将文件file1移动到dir1目录里边
    mv  dir1 dir2    ---->  如果dir2不存在,则将目录文件dir1重命名目录文件dir2
	                      如果dir2存在,则将目录文件dir1放到dir2目录文件里边
3.11.cat命令
	cat  文件名    ----> 查看文件内容
    cat -n 文件名  ----> 带行号查看文件内容
3.12.su命令
	su  用户名     ----> 切换用户
3.13.exit命令   eg:最开始用户为linux 执行su  root   --->   此时用户为root
	exit           ----> 退出root当前用户,到达最初用户linux时,再按一次就退出终端
	exit           ----> 退出终端
3.14.clear命令
	等价于    ctrl+l(小写的L)   ----> 清屏命令
3.15.tab键补齐
    tab键补齐规则是直到补到唯一的一个字符开始在按一下就补全了
4.Vi编辑器的三种模式   vi 文件名  进来就是命令行模式(文件名必须是.c结尾,因为gcc编译器只能识别.c文件)
	命令行模式:  用来复制粘贴的
		yy         复制一行
		nyy        复制n行
		dd         剪切一行
		ndd        剪切n行
		p          粘贴到光标所在行的下一行
		P          粘贴到光标所在行的上一行
		gg         跳到首行
		G          跳到尾行
		shift+zz   保存并退出
		u          撤销
		ctrl+r     反撤销
	
	插入模式:
		六种进入插入模式的方法:
			a: 在光标所在行的右侧插入
			i: 在光标所在行的左侧插入
			o: 在光标所在行的下一行插入
			A: 在光标所在行的行尾插入
			I: 在光标所在行的行首插入
			O: 在光标所在行的上一行插入
	底行模式:(命令行模式下按':'进入到底行模式)
	:wq <---->:x      保存并退出
	:w     保存
	:q     退出
	:q!     强制退出
	:%s/aaa/hqyj/g        全文将aaa替换为hqyj
	:%s/aaa/hqyj/gc       全文将aaa替换为hqyj,每替换一处都会询问一次是否替换
	:m,ns/aaa/hqyj/g      m,n行的aaa替换为hqyj
	:m,ns/aaa/hqyj/gc     m,n行的aaa替换为hqyj,每替换一处都会询问一次是否替换
	:set noh             不显示高量
	:set nu              显示行号
	:set nonumber        不显示行号
	:vsp  文件名.c       同时打开多个编辑文件
	:wqa                 全部保存并退出
注意:不能直接从插入模式进入到底行模式,需要先返回到命令行模式

5.gcc编译器
	将一种语言(高级语言)编译成另一种语言(低级语言)的过程。
5.1编程语言包括编译型语言和解释型语言。
	编译型语言:程序执行前都会有一个专门的编译过程,将我们人类能识别的编程语言编译成机器能识别的二进制语言
	优点:执行前已经编译成功,无需重复编译,执行效率相对较高
	缺点:因为编译器可能有所差异,比较依赖编译器,跨平台性较差
	解释型语言:在程序执行之前没有一个专门的编译过程,而是在程序执行的过程中,由解释器来逐条的进行翻译
	优点:因为是逐行执行和编译的,不依赖编译器,跨平台性较好
	缺点:逐行进行编译,每次执行都需要重新编译,执行效率相对较差

5.2编译方法:
1.简化方式       (生成一个可执行文件a.out)
	gcc xxx.c
2.自定义方式     (生成一个可执行文件hqyj)
	gcc xxx.c -o hqyj
3.根据编译步骤,分步编译
	1.预处理    (执行头文件的展开、宏定义的替换、注释的删除)
		gcc    -E   xxx.c  -o   xxx.i
	2.编译      (用来查错误的,词法分析、语法分析,生成一个汇编文件)
		gcc    -S   xxx.i  -o   xxx.s
	3.汇编      (将汇编文件编译成机器能识别的二进制文件)
		gcc    -c   xxx.i  -o   xxx.o
	4.链接      (链接所需的库函数,生成一个可执行文件)
		gcc     xxx.o  -o   a.out

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值