欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

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

程序员文章站 2022-04-01 09:22:09
Linux和Unix系统一样对文件有如下的解释:一切皆为文件;若非文件,则为进程。 Linux将文件和目录视如同物,因为目录只是一个包含了其他文件名的文件而已。程序、服务、文本、图片等等,都是文件。对于系统来说,输入和输出设备,基本上所有的设备,都被当做是文件。 如上图所示,Linux系统的文件系统... ......

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

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

[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

  1. 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 创建软连接

       

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

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

      ln /etc/issue /issue.hard

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