linux简明教程(3)——文件
一.linux文件
-
unix有一个哲学:
一切皆文件
,unix会把一切都看成文件,比如驱动设备抽象成/dev目录下的文件,文件目录本身也是文件等,并且linxu下文件的后缀名只是起标识作用,不决定文件类型
-
linux下一共有7种文件:
普通文件,目录,符号链接,套接字,块设备,字符设备,管道
。一般比较常用的文件类型只有普通文件,目录和符号链接 -
linux下有
软链接
和硬链接
的说法:一个软连接就是文件的快捷方式,软链接的文件内容实际上就是要链接的文件名字;一个文件的硬链接其实是文件的别名,两个文件都是指向文件系统同一个内容,所以对于文件系统来说一个文件和它的硬链接没有区别
二.ls命令
-
ls命令是最常用的命令之一,有两个参数比较常用,
-a和-l
,参数a的作用是显示隐藏文件,linux下第一个字母是点号的文件为隐藏文件
,参数l的作用是显示文件的详细信息。简单看目录下的文件时,可以使用ls -a
,详细看目录下的文件时,可以使用ls -al
$ ls -al dr-xr-x--- 33 root root 4096 May 10 21:28 . dr-xr-xr-x 21 root root 4096 May 10 21:28 .. drwx------ 10 root root 4096 Mar 20 16:02 work -rw-r--r-- 1 root root 197 Feb 4 11:04 .bashrc
-
上述信息有9列,第一列是文件的权限,第二列是文件的硬链接数,第三列是文件所属的用户,第四列是文件所属的用户组,第五列是文件的大小,第六七八列是文件最近修改的时间,第八列是文件名,
这9列非常重要,需要牢记在心
-
第一列文件权限一共有10位
-
第1位代表文件类型,
-
代表是普通文件,d
代表是目录,l
代表是符号链接,记住这三个就够用了 -
第2 3 4位代表文件所有者的权限,第5 6 7位代表文件用户组内成员的权限,第8 9 10位代表其他人的权限
-
note:权限问题需要好好理解,完整的权限会显示为
rwx
,分别表示三个功能,读、写和执行。对于普通文件来说,读权限表示可以查看文件里的内容,写权限表示可以修改文件的内容,执行权限代表可以执行这个文件
。对于目录来说,读权限表示可以知道目录名字以及目录下有哪些文件,写权限表示可以在目录下新建文件和删除文件,执行权限代表可以进入这个目录
。对于权限的理解是非常重要的。
-
-
第二列为文件的硬链接数,即该文件还有几个别名文件
- note:对于目录来说,有一个细节,linux每个目录下都必然有两个文件夹,名字为
.和..
,分别代表当前文件夹和上级文件夹,所以如果一个目录下有三个目录,这个目录的硬链接数是多少?答案是5,因为该目录本身算一个,目录下的.
目录算一个,子目录下的..
有3个,一共是5个。懂了这个例子,对于硬链接的理解就提高了一层。
- note:对于目录来说,有一个细节,linux每个目录下都必然有两个文件夹,名字为
-
第五列是文件大小,这里的单位是byte,有其他的参数可以改变显示的单位
- note:有一个细节,对于linux的目录来说,这里显示的大小一般为4096,即4k大小,这个大小不代表目录下所有文件加起来的大小,而是目录本身的大小。4096这个数字和文件系统相关,如果感兴趣可以自行了解。
三.cd命令
-
cd命令是shell的内建命令,作用是切换当前的目录,十分常用
-
cd命令的使用非常简单,语法为
cd <你要切换的文件路径>
-
note:cd有几个快捷用法如下
-
cd ..
,作用是切换到上级目录 -
cd
,作用是直接切换到家目录(还记得上一章的HOME环境变量吗) -
cd -
,作用是切换到上一个到过的文件目录
-
四.linux根文件系统
-
linux下最顶级的目录是
/
,所有的文件都在/
目录下,该目录下的文件夹是按照一定的规范组织的$ cd / $ ls bin data etc lib lost+found mnt proc root sbin sys usr www boot dev home lib64 media opt qcloud_init run srv tmp var
-
新手只需要记住的目录如下
-
bin和sbin,下面是一些命令
-
etc,基本上系统所有的配置文件都在这里
-
root,root用户的家目录
-
home,普通用户的家目录在home下面,例如用户zs,那么在home下面就会存在一个zs的文件夹,这个文件夹就是zs的家目录
-
usr,这个不是用户(user)的意思,而是
unix system resources
的缩写,基本上所有安装的软件都会在这下面
-