[linux]文件系统和基本命令

Linux和Unix系统一样对文件有如下的解释:一切皆为文件;若非文件,则为进程。

Linux将文件和目录视如同物,因为目录只是一个包含了其他文件名的文件而已。程序、服务、文本、图片等等,都是文件。对于系统来说,输入和输出设备,基本上所有的设备,都被当做是文件。

  1. [linux]文件系统和基本命令

    如上图所示,Linux系统的文件系统不像Windows系统有多个盘符组成,所有文件都在同一个文件系统下以树型结构管理,树的"根"是/

    /为根目录,它拥有一下基本文件夹:

    /bin(binary)——存放在但用户模式可用的必要二进制文件,所有用户都可用,如cat、ls、cp等

    /devdevice)——存放必要的设备文件

    /home——用户的主目录,包括保存的文件,个人配置等等

    /lib<架构位数>——备用格式的必要文件库

    /media——可移动的多媒体(如CD-ROMsU盘)的挂载点

    /mnt——临时挂在的文件系统

    /optadd-on application software)——可选的应用程序软件包

    /root——根用户的主目录

    /sys

    /usr——二级层级存储用户的制度数据;包含(多)用户主要的公共文件以及引用程序

    /boot——存放引导加载程序文件,例如kernelsinitrd

    /etc——存放主机特定的系统级配置文件

    /lib——存放系统所需的资源库

    /lost+found——存储的是系统崩溃时产生的损坏文件

    Linux的文件类型

    普通文件("-")linux系统中基本的文件类型。

    目录("d"):由其他文件组成的文件。

    特殊文件:用于输入和输出的途径。大多数特殊文件都存储在/dev中。

    链接文件("l"):让文件或者目录出现在系统文件树结构上多个地方的机制。相当于windows的快捷方式。

    (域)套接字:特殊的文件类型,和TCP/IP协议中的套接字类似,提供进程间的通信机制,并受文件系统的访问控制机制保护。

    命名管道:提供一个进程间的通信机制,而不用网络套接字协议。

    Linux文件命名规则

    1. 除了/之外,所有字符都合法。
    2. 像空格符、制表符、字符@#%()-等字符尽量不要使用。
    3. 避免使用"."作为普通文件名的第一个字符。
    4. Linux对文件名的大小写严格区分。

    Linux的权限种类

    r:可读,用户能打开读取文件内容,权限值为4

    w:可写,用户能对文件中的内容进行添加,修改和删除,权限值为2

  2. x:可执行,用户能执行文件,权限值为1。

    Linux的基本命令格式

    命令格式:命令-选项参数

    ex:ls -la /etc

    说明:1)当有多个选项时,可以写在一起。

    2)两个特殊的目录.和..,分别代表 当前目录和当前目录的父目录

    文件处理命令

    1. ls

      原意:list

      命令路径:/bin/ls

      执行权限:所有用户

      作用:显示目录文件

      语法:ls 选项[-ald] [目录或文件]

      -a显示所有文件,包括隐含文件。

      -l 显示详细信息

      -d 查看目录属性

      例子:

      [userLee@admin ~]$ ls -l

      总用量 84

      -rw-r--r--. 1 root root 246 4月 22 14:48 a.tar.gz

      drwxr-xr-x. 2 userLee userLee 4096 4月 22 14:37 dir1

      drwxr-xr-x. 4 root root 4096 4月 22 14:58 dir2

      -rw-rw-r--. 1 userLee userLee 0 4月 19 03:55 hetc

      -rw-r--r--. 3 root root 47 11月 27 2013 issue.hard

      -rw-r--r--. 3 root root 47 11月 27 2013 issue.soft

      第一个字符表示文件类型(-dl)

      第二到第四个字符表示文件拥有者(owner)(一般指创造者)的权限

      第五到第七个字符表示用户组(group)权限

      第八到第十个字符表示其他组(other)的权限

    2. cd

      原意:change directory

      命令路径:shell 内置命令

      执行权限:所有用户

      功能描述:切换目录

      语法:cd [目录]

      Ex: cd / 切换到根目录

      cd .. 回到上一级目录

    3. pwd

      命令原意:print working directory

      命令路径:/bin/pwd

      执行权限:所有用户

      功能描述:显示当前所在的工作目录

      语法:pwd

      结合cd命令查看和更改目录:

      [userLee@admin ~]$ pwd

      /home/userLee

      [userLee@admin ~]$ cd ./dir1/

      [userLee@admin dir1]$ pwd

      /home/userLee/dir1

    4. touch

      命令路径:/bin/touch

      执行权限:所有用户

      功能描述:创建空文件

      语法:touch [文件名]

      Ex: touch newfile

      在Linux用户目录下创建newtest文件

      [userLee@admin dir1]$ touch newtest

    5. mkdir

      命令原意:make directories

      命令路径:/bin/mkdir

      执行权限:所有用户

      功能描述:创建新目录

      语法:mkdir [目录名]

      Ex: mkdir newdir

      在dir1目录下创建dir2目录并查看

      [userLee@admin dir1]$ mkdir dir2

      [userLee@admin dir1]$ ls

      dir2 file.gz nefile newfile.gz newtest

    6. cp

      命令原意:copy

      命令路径:/bin/cp

      执行权限:所有用户

      功能描述:复制文件或目录

      语法:cp -r [源文件或目录] [目的文件或目录]

      -r 复制目录

      注:可多个文件同时复制。

      [root@admin userLee]# ls dir2/

      dir1 dir_1.tar.gz dir_3

      [root@admin userLee]# cp newfile2 newfile_1 dir2/

      [root@admin userLee]# cp -r newdir/ dir2/

      [root@admin userLee]# ls dir2/

      dir1 dir_1.tar.gz dir_3 newdir newfile_1 newfile2

    1. mv

      命令原意:move

      命令路径:/bin/mv

      执行权限:所有用户

      功能描述:移动文件、更名

      语法:mv [文件或目录名] [目的目录]

      Ex: mv file1 file2

      将当前目录下文件file1更名为file2

      mv file2 dir2

      将file2移动到目录dir2下

      [root@admin dir2]# ls

      dir1 dir_1.tar.gz dir_3 newdir newfile_1 newfile2

      [root@admin dir2]# ls dir1/

      file.gz nefile newfile.gz

      [root@admin dir2]# ls dir1/

      file.gz nefile newfile1 newfile.gz

      注意:如上所示,可以在移动到别的目录时更改名字,如果移动别的目录时目录后不加更改后的文件名,默认与原来重名。

    2. rm

      命令原意:remove

      命令路径:/bin/rm

      执行权限:所有用户

      功能描述:删除文件

      语法:rm -r [文件或目录]

    -d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;

    -f:强制删除文件或目录;

    -i:删除已有文件或目录之前先询问用户;

    -r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;

    --preserve-root:不对根目录进行递归操作;

    -v:显示指令的详细执行过程。

    Ex: rm file2

    删除文件file2

    rm –r dir1

    删除目录dir1

    [root@admin dir2]# ls

    dir1 dir_1.tar.gz dir_3 newdir newfile2

    [root@admin dir2]# rm -r newfile2 newdir/

    rm:是否删除普通文件 "newfile2"?y

    rm:是否删除目录"newdir"? y

    1. cat

      命令原意:concatenate and display files

      命令路径:/bin/cat

      执行权限:所有用户

      功能描述:显示文件内容

      语法:cat [文件名]

      Ex: cat /etc/issue

      cat /etc/services

    2. more

      命令路径:/bin/more

      执行权限:所有用户

      功能描述:分页显示文件内容

      语法:more [文件名]

      (空格)或f 显示下一页

      (enter) 显示下一行

      q或Q 退出

      Ex: more /etc/services

    3. head

      命令路径:/bin/head

      执行权限:所有用户

      功能描述:查看文件的前几行

      语法:head -num [文件名]

      -num 显示文件的前num行

      Ex: head -20 /etc/services

    4. tail

      命令名称:tail

      命令路径:/bin/tail

      执行权限:所有用户

      功能描述:查看文件的后几行

      语法:tail -num [文件名]

      -num 显示文件的后num行

      -f 动态显示文件内容

      Ex: head -20 /etc/services

    5. ln

      命令原意:link

      命令路径:/bin/ln

      执行权限:所有用户

      功能描述:产生连接文件

      语法:ln -s [源文件] [目标文件]

      -s 创建软连接

    源文件:指定连接的源文件。如果使用-s选项创建符号连接,则"源文件"可以是文件或者目录。创建硬连接时,则"源文件"参数只能是文件;

    目标文件:指定源文件的目标连接文件。

    Ex: ln –s /etc/issue /issue.soft

    创建文件/etc/issue的软连接/issue.soft

    ln /etc/issue /issue.hard

    创建文件/etc/issue的硬链接/issue.hard

相关推荐