Linux总结(1)

本文概述了Linux系统的关键目录功能,介绍了15个常用命令及其用途,区分了不同类型文件的标识符,解读了文件权限和编译流程。此外,涵盖了makefile的使用和调试工具GDB的应用,以及静态库与动态库的区别。
摘要由CSDN通过智能技术生成

1、简述如下目录的功能

/root:管理员的家目录(sudo su)进入管理员模式

/etc:配置文件

/home:所有普通用户的家目录

/boot:存放系统内核及与系统启动相关的文件

/lib:系统的库文件

/bin:命令(二进制可执行程序)

2、写出15个熟悉的命令,并说明其功能

文件操作:cp/rm/mv/cat/more/head/tail/vi/vim/touch/rmdir/mkdir/grep/find/awk/sed/sort

进程:kill/ps/jobs/&/top/strace/lstrace(跟踪系统调用)

网络:ifconfig/ping/tcpdump/netstat -natp/lsof -p +id号/nc

编程:gcc/g++/gdb/make

3、linux系统有哪些类型的文件,每种文件分别用什么标识符?

普通文件:-目录文件:d连接文件:l管道文件:p设备文件:c/b套接字文件:s

4、文件的权限都有哪些,分别用什么数字表示?

可读:100(4)可写:010(2)可执行:001(1)-占位:0

chmod xxx 文件名 (chmod (u/g/o)+-(r/w/x))文件名  (文件设定法,数字设定法)

5、将main.c生成对应的可执行文件,中间一个经过几个步骤?

四个步骤:预编译:gcc -E main.c -o main.i->.i文件(引头文件,去注释,展开宏)

编译:gcc -S main.i -o main.s->.s文件(检查语法)

汇编:gcc -c main.s -o main.o->文件(生成机器代码)

链接:gcc -o main main.o(生成可执行文件)

一步编译:gcc -o main main.c

6、多文件编译流程

gcc -o main main.c  文件1.c   文件2.c·······

7、makefile文件

make   makefile文件

all: main//可执行文件

main:main.o  add.o  max.o//依赖文件

    gcc -o main main.o add.o max.o
main.o:main.c
    gcc -c main.c
add.o:add.c
    gcc -c add.c
max.o:max.c
    gcc -c max.c

clean:
    rm -r *.o main//删除多余文件


make执行生成main可执行文件

8、调试用什么工具,常用的命令有什么?

GDB.生成可执行程序时,-g     例: gcc  -o  main  main.c  -g

l显示代码,b+行号(下断点) info  break/b(查看断点) delete +断点号(删除断点) r启动程序

n 单步执行 p 打印变量  c 执行下一个断点/退出程序  q退出程序 s进入函数  f跳出函数

set  follow-fork-mode  child跟踪子进程  info threads显示调试的线程  thread id 切换线程

9、什么是库?简述静态库与动态库的区别,如何生成动态库

库文件:预先编译好的方法的集合。

静态库:会将用到的方法直接链接到可执行程序中 

动态库(共享库):没有包含,在需要用到的时候去动态链接

ldd  程序名  查看使用到的库文件(动态库)

//静态库
gcc -c add.c
gcc -c max.c

ar crv libfoo.a add.o max.o
//使用时
gcc -o main main.c -lfoo(库名) -L.(指定路径)
//动态库
gcc -shared -fPIC -o libfoo.so  add.o  max.o//生成共享库(动态)
sudo su  cp  /libfoo.so  /usr/lib//移动到合适的位置
//使用时
gcc -o main main.c -L.  -lfoo

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值