linux整体复习_文件权限与常用工具

linux有两种用户状态,分为管理员用户(root)与普通用户!

su命令用于对用户进行切换

文件的权限:

文件对操作用户的分类分为三种:文件所有者u  文件所属组g  其他用户o

用户对文件进行的操作分类:r可读(read)  w可写(write)  x可执行  

rwx rwx r-x    所有者 所属组 其他用户

二进制表示(在操作系统中进行存储):111 111 101       三个八进制数字进行表示     7   7  5

举个栗子:所有者可读可写可执行   所属组可读可写   其他可执行        rwxrw---x        

umask命令

设置文件的默认权限  显示文件权限    显示出来的默认权限是一组掩码

777&~032     终端命令行下给定的权限都是777   所以在给定默认权限是777的情况下  可以用  777-032,但是当我们自己使用函数进行创建时默认权限不一定还是777了,所以使用 777 &~032计算比较保险!

chmod命令

修改文件的权限  chmod 777 filename  第一种利用八进制修改文件的权限

chmod g-w filename       chmod o+w fielname    第二种修改权限的方法

chown命令  修改文件所有者   chown username filename

chgrp命令    修改文件所属组   chgrp username filename     

粘滞位:常用于设置目录权限,设置了粘滞位权限的目录,其他用户在目录下可以创建文件,但是只能删除自己的文件,不能删除别人的

chmod +t

linux下常用的6个工具:

软件包管理工具:yum

基本程序开发工具:

     编辑器:vim

     编译器:gcc/g++

     调试器:gdb

项目的管理工具:

     项目的自动化构建工具:make/makefile

     项目的版本管理工具:git

yum:
yum list

yum installl package_name

yum remove package_name

vim一共有12中工作模式   大部分模式并不常用,常用的只有三种:插入模式(向文本中插入数据)  普通模式(对文本内容的指令操作)  底行模式(保存文件内容以及退出编辑)

vim模式间的切换   普通->>插入:i       插入->>普通模式ESC      普通->>底行:冒号

vim底行模式下的操作:

w/保存      q/退出     wq/保存并退出       q!/强制退出(不保存)

vim普通模式下操作:yy复制   nyy从光标所在行向下复制n行     p/P向光标所在行下方/上方粘贴新行     dd剪切   ndd从光标所在开始向下剪切n行数据.x删除光标所在字符,dw删除光标所有单词,D删除当前行以后的数据      撤销命令u     ctrl+r撤销的上一步(反向撤销)

vim基本操作也就折磨多了,其他用到比较少!

编译器:gcc/g++

通常我们所写的c语言程序,是一种高级语言程序,这些程序cpu无法直接识别,需要编译器将我们所写的代码解释成为机器语言指令,层能够被识别!

编译过程:

预处理:头文件展开,去掉注释,替换宏!    gcc  -E 进行到预处理阶段 -O写入到指定文件

 编译:进行语法检测,将c语言代码转换成为汇编语言代码       -S 进行到编译阶段就退出

 汇编:将汇编代码转换成为二进制机器指令     -c进行到汇编阶段就退出

 链接:链接动静态库,生成一个可执行程序!

动态链接:在链接时在可执行程序中记录库中函数符号信息表, 并没有将具体函数的实现 写入到代码

静态链接:执行程序中,在执行这个程序是,需要将函数库也加载到内存中,但是在内存中多个程序可以使用同一个库(节省资源),代码中已经有了函数的具体实现,缺点就是 体积大,

gcc中默认的连接方式就是动态是链接;

调试器:调试程序   gdb工具:

程序调试前提:生成一个debug版本的程序,程序中添加了调试符号信息.linux下的gcc编译器,默认生成的是release 版本,无法调试.

因此在编译程序的时候 需要增加gcc-g选项,表示生成debug版本程序.

开始调试命令:

run:程序直接开始运行

start: 开始逐步调试

调试的流程控制命令:

list:查看指定文件指定行附近的代码   list filename:line

step:下一步 若当前调试位置是一个函数,则会进入函数

next:下一步 直接运行这一行的函数

until:直接运行到指定文件的指定行   until filename:line

断点的相关指令:

break    break filename:line   直接给函数打断点 break function_name

info break:查看断点信息

delete:删除断点

watch:变量监控,当变量内容发生变化则停下来   watch barible_name 

continue:从当前位置继续运行

其他命令:

backtrace 查看程序运行信息中的函数调用栈,快速定位程序崩溃原因.

quit:退出调试

项目的自动构建工具:make/Makefile

gMakefile:是一个普通的文本文件,在这个文件中可以编写对整个项目的编译流程规则

make:是一个Makefile解释程序,当前命令行下输入make,这个时候解释程序会到当前路径下寻找名字叫做Makefile的文件,对其内部内容进行解释执行.

目标文件:依赖对象

       要执行的指令(前方是一个tab键)

$@目标对象

$^所有的依赖对象

$<第一个依赖对象

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值