Linux进行文件管理很重要的一个概念就是目录,下面将介绍几个常见的目录。
———————————————————————————————————————————————
主目录 /
/ 是目录层的分割、表示符, 只有一个/表明是根目录。
/etc/表明是根目录下的etc目录(后面再加上一个/,直接表明etc也是目录;没有末尾的/,那么/etc需要检测一下,进而确定是目录还是文件)
但是一般习惯上/etc绝对是目录。
用户目录 ~
~是一个代位符,标明是个人目录的地址,因为每个用户都有自己的个人目录地址,所以用~作为统一替代不同用户名,来保证兼容问题。
如果是以root账号登陆, ~就是/root;
如果是以用户名usr登陆, ~就是/home/usr;
总之,~就是代表用户的主目录, ~/a.txt 就是代表用户主目录下的a.txt文件。
不同系统之间的区别
对于Mac、Linux系统,一个程序(比如Anaconda)安装好后,实际上就是在主目录下多了个文件夹(~/anaconda)而已,Windows会写入注册表。
———————————————————————————————————————————————
Linux下的普通文件
Linux下不以文件后缀名来判断文件,你可以使用file命令来查看文件真身。
Linux下的可执行文件的后缀名可以有,可以没有,是任意的。这点跟windows要区分!
一般说来,Linux和Windows两个系统上的程序不能互通,但有时候.exe在linux系统上为什么能运行? 原来是因为装了Wine。
Linux下的可执行文件
可执行文件里面除了二进制代码,还有别的东西。它依然是一个文件,例如Linux的ELF格式,而Windows的PE格式。
可执行文件并不是直接放到CPU上去执行的,它需要被操作系统读取,经过一系列的处理之后才能提交到CPU。这里的处理过程,包括根据文件中代码段、地址段的描述,设置内存地址空间,链接动态库,还要检查系统调用权限等等。简而言之, 可执行文件并不是CPU直接执行的二进制代码。