目录
一、 文件命名
Linux系统下文件名长度一般允许为1-255个字符,有的Unix系统只允许1-14长度的字符
命名的合法字符:
除了斜线/和字节0外,所有字符都是合法字符(包含不可打印字符)。
斜线/是作为路径名分隔符,字节0是结束符。
大小写有区别
二、 目录结构
1. /etc
系统维护管理用的命令和配置文件
文件格式为文本文件
功能类似Windows的注册表信息
2. /tmp
存放临时文件,每个用户都可以在这里创建文件,但是只有创建文件的用户才能删除该文件,其他用户没有操作权。
终端重启创建的文件会被清除。
3. /var
存放系统运行时要改变的数据
系统日志syslog等
4. /bin
存放系统常用命令,如ls、ln、cp、cat等
5. /usr/bin
存放一些常用命令,如ssh、ftp、make、gcc、git等
6. /sbin和/usr/sbin
系统管理员专用命令
7. /dev
设备文件,如终端设备、打印机等
8. /usr/include
usr=Unix System Resource
C语言头文件存放目录
9. /lib和/usr/lib
1.存放各种库文件,例如C语言的链接库文件,以及terminfo终端库等
2.静态链接库文件后缀.a archive
3.动态链接库文件后缀.so shared objects:共享的目标代码,多个.o文件的集成
4.Linux广泛使用动态链接库
gcc hello.c -o hello
gcc -static hello.c -o hello
使用动态链接库和静态链接库生成的可执行文件在大小上会有很大的差异
三、文件通配符
文件通配符适用所有命令,处理由shell完成
1. 星号 *
可匹配任意长度的字符串(包括空字符串)
2. 点字符 .
当.
作为文件名或路径名分量的第一个字符时,必须显示匹配,也就是说里面必须有匹配的文件名中必须包含.
3. 斜杠/
/
也要显示匹配
比如*file可以匹配file和makefile,但是不会匹配.profile
4. 问号?
匹配任一单字符
5. 方括号[]
匹配[]内任一字符,也可用减号-
指定一个范围,例如[a-z]
6. 波浪线~
~
当前用户的主目录home
7. 点.
代表当前目录
把.
文件解释为当前目录不是由通配符处理程序完成的,来源于目录的存储结构
8. 点点…
代表上级目录