Linux权限管理、vi vim编辑工具

目录

一:Linux文件类型(字符表示)

二:Linux用户类别

三:/etc/passwd文件

四:/etc/shadow文件

五:文件权限的查看

六:Linux文件权限位

七:Linux文件权限管理

八:chmod命令

九:chmod例子

十:组的创建与用户的创建

十一:删除组与删除用户

十二:目录的权限

十三:特殊的权限

十四:文本编辑工具vi

十五:vi的三种工作方式

十六:编辑方式

十七:插入方式

十八:命令方式

十九: gcc编译程序的过程

二十:gcc编译程序过程示意图

二十一:gcc常用选项

二十二:gcc示例

二十三:头文件与库文件位置

二十四:静态库与共享库

二十五:生成和使用共享库

二十六:运行共享库设置

二十七:gdb用法

二十八: 静态库和动态库的小结


一:Linux文件类型(字符表示)

-:普通文件
d:目录文件
l:链接文件 link
b:块设备文件
c:字符设备文件
p:管道文件

二:Linux用户类别

root:这是系统特权用户类,他们都有访问root登录帐号的权限
owner:这是实际拥有文件的用户
group:这是共享文件的组访问权的用户类的用户组名称
world:这是不属于上面3类的所有其他用户

三:/etc/passwd文件

家目录:用户默认所在home目录

四: /etc/shadow文件

五:文件权限的查看

六:Linux文件权限位

文件权限位的表示:-rwxrwxrwx
第一位表示文件的类型,-表示普通文件,d表示目录文件,l表示符号链接文件;
接下来三位表示 owner用户的读,写,执行权限
紧接着三位表示 group用户的读,写,执行权限
最后三位表示 world用户的读,写,执行权限

七:Linux文件权限管理

规划用户以及用户所属的组
设置文件所属的用户以及所属的组(chown,chgrp
给文件赋予相应的权限位chmod

八:chmod命令

九:chmod例子

给text文件赋予rwxr-xr-x权限

chmod 755 text

给text及其子目录底下所有文件赋予rwxr-xr-x权限

chmod -R 755 text

为文件abc的组拥有者增加rw权限

chmod g+rw abc

为abc文件的用户拥有者去除x权限

chmod u-x abc

指定文件abc的其他用户权限为rw-

chmod o=rw-

为文件abc及其子目录底下的所有文件的全体用户增加x权限

chmod -R a+x abc

十:组的创建与用户的创建

Centos/ubuntu 是反过来的

创建组

groupadd groupname

创建用户并设置默认组

useradd –g/G groupname username

useradd username

向组添加删除用户

gpasswd -a username groupname

给用户设置密码

        passwd username 

十一:删除组与删除用户

删除组

groupdel groupname

删除用户

userdel –r username

向组删除用户

gpasswd -d username groupname

十二:目录的权限

目录的内容认为是文件,如果目录是没有w权限,则不能该目录下进行增删文件操作 

十三:特殊的权限

1.考查/usr/bin/passwd与/etc/shadow的权限,分别为:-r-s--x--x、-r--------
2.我们发现/etc/shadow文件没有写的权限,那么普通用户要修改密码如何做到修改/etc/shadow文件呢?
这是通过s这个特殊权限实现的
当具有s权限的文件运行时,进程的拥有者不是执行程序的用户,而是文件的拥有者
3.同样如果文件组用户执行权限位为s,表示任何用户执行该文件,都拥有该组的权限,就好像自己是组的成员一样

十四:文本编辑工具vi

什么vi :vi是Linux/Unix底下最常用的文本编辑器
vim:vim是vi的升级版本,它不仅兼容vi的所有命令,而且还加入了一些新的特性

十五:vi的三种工作方式

十六:编辑方式

十七:插入方式

十八:命令方式

十九: gcc编译程序的过程

预处理(Pre-Processing)
编译(Compiling)
汇编(Assembling)
链接(Linking)

二十:gcc编译程序过程示意图

二十一:gcc常用选项

-g 在目标文件中嵌入调试信息,以便gdb之类的调试程序调试 

-Wall 使gcc对源文件的代码有问题的地方发出警告

二十二:gcc示例

gcc -E hello.c -o hello.i(预处理cpp)
gcc -S hello.i -o hello.s(编译cc)
gcc -c hello.s -o hello.o(汇编as)
gcc hello.o -o hello(链接ld)
gcc hello.c -o hello(直接编译链接成可执行文件)
gcc -c hello.c或gcc -c hello.c -o hello.o(编译生成目标文件)

二十三:头文件与库文件位置

/usr/include及其子目录底下的include文件夹
/usr/local/include及其子目录底下的include文件夹
/usr/lib    /usr/lib/x86_64-linux-gnu
/usr/local/lib

二十四:静态库与共享库

静态库(.a):
程序在编译链接的时候把库的代码链接到可执行文件中
共享库( .so或.sa ):
程序在运行的时候才去链接共享库的代码,多个程序共享使用库的代码
一个可执行文件使用静态库 的文件更大,还是使用共享库文件大

二十五:生成和使用共享库

生成共享库
编译选项
shared: 表示生成共享库格式
fpic:产生位置无关码(position independent code)
库名规则:lib+xxx+版本号.so
示例:gcc –shared –fpic test.o –o libTest.so
使用共享库
编译选项
l:链接共享库,只要库名即可(去掉lib以及版本号)
L:链接库所在的路径.
示例:gcc –o test –L./  -lTest

二十六:运行共享库设置

1、拷贝.so文件到系统共享库路径下
      一般指/usr/lib
2、ldconfig
      ld.so.conf,将路径写入文件
      ldconfig,生效
      更新ld.so.cache

        3、更改LD_LIBRARY_PATH 

二十七:gdb用法

watch 设置观察点

二十八: 静态库和动态库的小结

1. 静态库生成:

1.1 把要用的接口文件  生成  .o文件

1.2 把所有.o文件打包生成.a静态库

1.3 自己源码与库链接 : -l链接库

2. 计算机的dll文件

dll文件[动态链接库文件]

库[代码封装]

3. linux下的.a和.so文件

.a文件静态库文件   

.so文件动态库文件

4.静态库和动态库的优缺点

4.1 静态库:

缺点:所有库都集合在exe(比较大)并且版本单一

           对于游戏的更新exe使用不了就需要卸载掉重新安装新的

优点:库文件不易丢失

4.2 动态库:

优点:版本更新 更新相关的.so .dll即可  exe体积小,  exe依赖于.so .dll(动态链接库)文件

缺点:库文件缺失,需要自己要补上

5. 静态库和动态库的生成

5.1 生成静态库:

必须先生成.o文件[.o文件打包生成静态库]

gcc -c hello.c

生成静态库[如下示例myhello是静态库库名],生成.a文件(静态库)

ar -crv libmyhello.a hello.o

编译运行生成main可执行程序 

gcc main.c -o main -L../mz -lmyhello

在使用中只需要:

main.c(自己写的)   hello.h(接口文件)  libmyhello.a(源码内容)

就能够生成.exe可执行程序

hello的方法在.a文件中

5.2 生成动态库

必须先生成.o文件

gcc -fpic -c hello.c

跟路径的地址无关

.so文件生成动态库(共享库) 

gcc -shared -o libmyhellotest.so hello.o

编译运行

gcc main.c -L../mzback -lmyhellotest
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chenruhan_QAQ_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值