Linux系统的基本知识
admin
2023-01-25 04:20:05
0

概述:

Linux是一种自由和开放源码的类UNIX操作系统。它能运行主要的Unix工具软件、应用程序和网络协议,支持32位和64位硬件。该操作系统的内核由林纳斯·托瓦兹于1991年10月5日首次发布。

Linux最初是作为支持英特尔x86架构的个人计算机的一个自由操作系统,现可运行在服务器和其他大型平台之上,如大型计算机和超级计算机。Linux也广泛应用在嵌入式系统上,如手机(Mobile Phone)、平板电脑(Tablet)、路由器(Router)、电视(TV)和电子游戏机等。

Linux中的基本指令:

1.rm指令:rm是删除指令,但是在删除文件夹的时候要加-r(递归删除)选项,-f表示的是强制删除,要慎用。
2.cp和mv指令:我个人喜欢把这两个指令放在一起记忆,cp是拷贝,mv是移动,他们的使用规则都是在指令后+【选项】【源文件】【目标文件】,所以当然也支持文件夹的操作啦,只需要加-r选项就可以啦。
3.压缩和解压:
①tar:
tar有两种方式,分别是gzip(常用)和bzip2
gzip:
压缩: tar -zcvf /tmp/etc.tar.gz /etc-->将etc文件夹下的内容压缩到/tmp/目录下,并命名为etc.tar.gz
解压缩:tar -zxvf etc.tar.gz
②zip和unzip
4.find指令:使用方法:find【路径】 -name(要查找的名字)  注:这里的名字可以使用通配符(*)。

Linux权限:
linux下有两种用户分别是普通用户和超级用户(root)
有两种从普通用户切换到超级用户的方式:su和su -,但是这两个方式是有区别的,使用su指令进入root后的路径依然是home/当前用户,也就是说虽然拥有超级用户的权利但实际上并不是真正的超级用户,而使用su -指令进入超级用户后的路径是/root这个时候就是真正的超级用户了。
1.文件访问者的分类:文件所有者、文件所有者所在的用户组、其他
2.文件类型和访问权限:
d:文件夹
-:普通文件
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件
基本权限:
i.读(4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
ii.写(2):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
iii.执行(1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
通过chmod命令可以修改文件的权限。

文本编辑器vim:

普通模式、插入模式、底行模式
在普通模式下的一些重要命令:(七种类型:移删复替撤更跳)
1.$移动到行尾、^移动到行首、gg移动到文本的开头、G移动到文本的末尾
2.x删除光标位置的字符、dd删除整行
3.yy和p
4.r替换光标所在位置的字符、R替换光标所到之处的字符(sec停止)
5.u撤销、【ctrl+r】撤销的恢复
6.cw更改光标所在处到字尾处(不常用)
7.【ctrl+g】显示行号、【#G】跳到#行

Linux编译器中gcc/g++
首先要知道的是代码生成的四个阶段以及每个阶段所完成的任务:
1.预处理:宏替换和头文件的展开以及去掉注释
gcc -E test.c -o test.i
2.编译:检查语法并生成汇编代码
gcc -S test.i -o test.s
3.汇编:生成机器可识别的代码
gcc -c test.s -o test.o
4.链接:生成可执行文件(test)
gcc test.o -o test
当然,最常用的还是gcc test.c -o test直接将源代码生成可执行文件
注意:系统将大部分库函数的实现都放在libc.so.6的库文件中,在没有特别指明的情况下系统将在路径“user/lib”下查找就会链接到相应的库函数中,这也就是链接的作用,而库函数又分为静态库和动态库,这个我们后面再详细说明。
关于静态链接和动态链接
1.静态链接是指将所依赖的动态库链接到可执行程序中,所以会比较大,但是在不同的平台可以正常执行。
2.动态链接是指将所依赖的动态库中的函数加载到符号表中,在运行程序时动态链接动态库去执行动态库中的代码,所以在不同电脑上使用时必须将所依赖的动态库也给出否则找不到动态库是没法运行的。
3.编译器默认的链接方式是动态链接,如果想使用静态链接的话要在编译选项中加-static选项

关于Makefile:
使用make一键式编译,Makefile文件中的关键是根据依赖目标完成对生成目标的编译,但是写在最前面的依赖文件一旦被生成后面的就没用了(永远只为了生成第一个目标),一般想要通过一个makefile文件编译生成多个文件时就要用伪目标来确定,伪目标后的依赖文件则是要生成的文件,这样就解决了这个问题。
预定义变量:$^:所有的依赖对象
$@:所有的目标对象

相关内容

热门资讯

德国总理:美国正在被伊朗羞辱 德国之声4月27日报道,德国总理默茨在访问一所学校时表示,在当前的持续冲突中,伊朗领导层正试图羞辱美...
理响中国|“长”歌以行,风云激... 光阴如梭,东方潮阔。这里是中国的长三角,世界的长三角。无论过去、现在还是未来,这片土地都因时代而生,...
白宫:特朗普及其国安团队开会讨... 新华社华盛顿4月27日电 美国白宫新闻秘书莱维特27日在记者会上证实,总统特朗普及其国家安全团队当天...
人民日报刊文:日本放开杀伤性武... 日本放开杀伤性武器出口推高地缘冲突风险(国际论坛)常思纯《人民日报》(2026年04月28日 第 0...
医疗保障法草案二审:明确生育保... 满足多样化健康保障需求本报记者 彭 波4月27日,医疗保障法草案二审稿提请十四届全国人大常委会第二十...
天津一景区发生自转旋翼机事故1... 澎湃新闻记者 吕新文中国民用航空华北地区管理局4月22日公布《豪客通航“10•1”天津长芦汉盐旅游区...
卡塔尔埃米尔与美国总统特朗普通... 当地时间24日,卡塔尔埃米尔塔米姆与美国总统特朗普通电话,重点就中东地区局势以及伊朗与美国谈判问题交...
男子30年前被扣押2859克黄... 澎湃新闻记者 王鑫家住辽宁省大连市的潘永嘉近日向澎湃新闻反映称,三十年前,他在大连周水子机场被盖州市...
商务部:取消反制欧盟两家金融机... 中华人民共和国商务部令二〇二六年 第1号鉴于欧盟已取消对中国两家金融机构的制裁措施,现公布《关于取消...
过去24小时共有5艘船只通过霍... 总台记者当地时间24日获悉,过去24小时内,共有5艘船只通过霍尔木兹海峡,其中包括一艘伊朗油轮。(总...