• 文件系统的几个概念

    ⒈FHS:Filesystem Hierarchy Standard(文件系统目录标准),多数Linux版本采用这种文件组织形式,类似于Windows操作系统中c盘的文件目录,FHS采用树形结构组织文件。

    FHS定义了两层规范,第一层是根目录(/)下面的各个目录应该要放什么文件数据,例如/etc应该要放配置文件等,第二层则是针对/usr和/var这两个目录的子目录的定义,例如/var/log放置系统登录文件、/usr/share放置共享数据等。

    Linux的文件与目录是树形,这种目录被称为目录树。它的特征为:①目录树的起始点为根目录(/,root) ②每个文件在此目录树中的文件名(包含完整路径)是独一无二的 ③每一文件或目录的最大长度为255个字符,完整路径名称及目录的最大长度为4096个字符 ④严格区分大小写 ⑤不能使用/ 当文件名

    ⒉绝对路径:由根目录(/)开始写起的文件名或目录名称,例如/home/dmtsai/.bashrc

    相对路径:相对于当前位置的路径

    ⒊/boot:存放系统启动的相关文件,如内核、initrd以及grub(bootloader)

    /bin(binary 二进制):存放可执行文件,用户命令。该目录下的命令可以被root与一般帐号使用,由于这些命令在挂接其它文件系统之前就可以使用,所以/bin目录必须和根文件系统在同一个分区中。

    /sbin:该目录下存放系统命令,即只有系统管理员(root)能够使用的命令,系统命令还可以存放在/user/sbin/local/sbin(本地用户自己安装的系统命令放在这)目录下,/sbin目录中存放的是最基本的系统命令,它们用于启动系统和恢复系统等,与/bin目录相似,在挂接其它文件系统之前就可以使用,所以/sbin目录必须和根文件系统在同一个分区中。

    /dev:存放的是设备与设备接口的文件,即设备文件,设备文件是Linux中特有的文件类型,在Linux系统中,以文件的方式访问设备,即通过读写某个设备文件操作某个具体硬件。设备可分为块设备(可以随机访问设备,如硬盘)和字符设备(线性访问设备,如键盘)。

    /etc:存放配置文件。一般来说,此目录的各文件属性是可以让普通用户查阅的,但是只有root有权限修改。

    /lib:存放库文件和内核模块文件。动态库的文件格式为.so(shared objct),静态库的文件格式为.a

    /home:用户的家目录,每一个用户的家目录通常默认为/home/USERNAME

    /root:root的家目录

    /usr:全局共享只读文件。此目录的内容可以存放在另一个分区中,里面存放的是共享、只读的程序和数据,目录下的内容可以在多个主机共享。

    /var:存放的是可变的数据。

    /proc:伪文件系统,内核映射文件,用来表示系统的运行状态,也可以操作其中的文件控制系统。

    /sys:伪文件系统,跟硬件设备相关的属性映射文件。

    /media:挂载点目录。用来临时挂载光盘等移动设备。

    /mnt:挂载点目录,额外的临时文件。

    /opt:可选目录,早期是第三方程序的安装目录。

    /tmp:用来存放临时文件。

  • 常见命令

    ⒈pwd-(print name of current/working directory)   pwd[option]....

    ⒉ls-(list directory contents)  ls[option]...[file]...

     -l (use a long listing format)

    -h (--human-readable,with -l,print sizes in human readable format) 

    -R (--recursive ,list subdirectories recursively)

    -d (--directory,list directory entries instead of contents,and do not dereference symbolic link)显示指定目录的属性而不包含目录中的内容。

    wKioL1PyyKSzaiFwAAInULKz6e0988.jpg

    wKioL1PyyWTBfgYaAACqEnCXYs8258.jpg

    wKioL1Pyyc-i1_ipAACXtptYUJw817.jpg

    ⒊cd-(change the working directory) cd[-L|-P][directory]

    cd .  切换到当前目录( . 表示当前目录)

    cd .. 切换到上级目录(.. 表示上级目录)

    cd    切换到当前用户的家目录(=cd ~ ,~是个变量,指的是用户的家目录)

    wKiom1Py0DnypBIVAAJT06Yzx64748.jpg

    ⒋cp-(copy files and directories) copy [option]...SOURCE...DIRECTORY   copy [option]...-[T]...SOURCE DEST  copy[option]...-t DIRECTORY SOURCE...

    如果目的地是一个目录的话,那么源就放在目的目录下,如果不是目录,是一个文件的话,那么源放在目的所在目录下,并重命名为目的,名字有重复,就覆盖。

    -p (same as --preserve=mode,ownership,timestamps)

    -r (-R,--recursive,copy directories recursively,递归复制)cp 默认是无法复制目录的

    -f (--force,强制)

    -a (--archive,归档)

    ⒌mv-(move or rename files)

    如果目的地是一个目录的话,那么源就放在目的目录下,如果不是目录,是一个文件的话,那么源放在目的所在目录下,并重命名为目的,名字有重复,就覆盖。

    源和目的路径相同,那就是重命名的效果

    ⒍rm-(remove files or directories) rm [option]...file...

    -f (--force,强制)

    -r (-R,--recursive,remove directories and their contents recursively,递归删除)

    ⒎mkdir-(make directories) mkdir[option]...directory

    -p (--parents,一次性创建多层次目录)

    ⒏rmdir- (remove empty directories) 删除空目录

    ⒐touch (change fiel timestamps)修改文件时间戳

    touch [option]....file....

    如果目录下没有touch指定的文件,那么就会创建这个文件。有的话,就更改文件的时间戳。