Linux开发起步学习笔记(6)----文件命名和目录结构

文件和目录的命名规则:

斜线用作路径分隔符,字节零用作字符串结尾,不可做文件名,其余均可以。
大小写字母有区别。

系统配置文件目录:/etc,文件格式为文本文件

passwd,hosts文件
*.conf文件,配置文件
ssh远程登录的配置信息
rc*.d系统启动阶段系统初始化和启动各服务的脚本
profile/bash.bashrc系统级bash等shell的偏好设置
rc.local自定义的需要自启动的服务脚本

临时目录:/tmp

临时创建文件,只能删除自己的文件

系统需要改变的文件:/var

可运行程序和设备文件:

/bin系统常用命令
/user/bin:存放其他常用命令
/sbin,/user/sbin系统管理员专用命令
/dev设备文件
/usr/include 头文件
/lib,/usr/lib存放各种库文件(静态链接库.a;动态链接库.so,节省内存,广为使用)

动态连接命令:ldd

编译、动态链接与静态链接:gcc hello.c -o helo(7.2KB)/gcc –static hello.c –o hello(712KB)
动态链接:可随时卸载、加载等,省内存空间,建议使用

gcc选项:

-c

只编译,不链接成为可执行文件。编译器只是由输入的 .c 等源代码文件生成 .o 为后缀的目标文件,通常用于编译不包含主程序的子程序文件。

-o output_filename

确定输出文件的名称为output_filename。同时这个名称不能和源文件同名。如果不给出这个选项,gcc就给出默认的可执行文件 a.out 。

-g

产生符号调试工具(GNU的 gdb)所必要的符号信息。想要对源代码进行调试,就必须加入这个选项。

-O

对程序进行优化编译、链接。采用这个选项,整个源代码会在编译、链接过程中进行优化处理,这样产生的可执行文件的执行效率可以提高,但是编译、链接的速度就相应地要慢一些,而且对执行文件的调试会产生一定的影响,造成一些执行效果与对应源文件代码不一致等一些令人“困惑”的情况。因此,一般在编译输出软件发行版时使用此选项。

-O2

比 -O 更好的优化编译、链接。当然整个编译链接过程会更慢。

-I dirname

将 dirname 所指出的目录加入到程序头文件目录列表中,是在预编译过程中使用的参数。

文件通配符规则:

*匹配任意长度的文件名字符串(包括空字符串)
点字符 . 当它作为文件名或路径名分量的第一个字符时,必须显式匹配。如*file和file和makefile匹配,但不匹配.file
/也要显式匹配
?匹配任何单字符
[]指定一个集合
~(bash特有)当前用户主目录
~jiang jiang用户主目录
.当前目录, . . 表示上级目录
*/*.conf,子目录
*/*/*.conf 子目录的子目录

注意:不同shell的通配符规则不同

文件处理过程:

在这里插入图片描述

文件名通配符处理由shell完成:

  1. 在shell提示符下,由键盘输入命令,被shell接受
  2. shell对收到的内容进行若干加工处理,其中含有对文件通配符的展开工作(文件名生成),生成结果命令
  3. 执行前面生成的结果命令
    举例:
    在这里插入图片描述
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值