Linux目录结构及文件基本操作

  Linux目录结构

 Linux与Windows目录结构的区别,一种是体现在目录与存储介质的关系上。以往的Windows一直以存储介质为主,主要以盘符(C盘,D盘)及分区的来实现文件管理,然后之下才是目录,。因此目录则显得不是很重要,除系统文件之外的用户文件放在任何地方任何目录也没多大关系。所以通常Windows在使用一段时间后,磁盘上面的文件目录会显得杂乱无章。然而Unix/Linux恰好相反,Unix是以目录为主的,Linux也继承了这一优良特性。Linux是以树形目录结构的形式来构建整个系统的,可以理解为一个用户可操作系统的骨架。虽然从本质上无论是目录结构还是操作系统内核都是存储在磁盘上的,但从逻辑来说Linux磁盘是"挂在"目录上的,每个目录不仅能使用本地磁盘分区的文件系统,也可以使用网络上的文件系统。

  FHS标准

 Linux的目录结构的复杂在于系统的正常运行是以目录结构为基础的,其中的大部分目录结构格式规定好了的(FHS标准)。

 FHS(Filesystem Hierarchy Standard):文件系统层次结构标准,多数Linux版本采用这种文件组织形式,FHS定义了系统中每个区域的用途,所需要的最小构成的文件和目录同时还给出了例外处理与矛盾处理。

 FHS定义了两层规范,第一层是/下面的各个目录应该要放什么文件数据,如/etc应该放设置文件,/bin与/sbin要放可执行文件等。第二层是针对/usr及/var这两个目录的子目录来定义。如/var/log放置系统登录文件,/urs/share放共享数据等。

 /bin 一般用户可用,启动时会用到的命令,即在文件系统还没被挂载时,也能够使用的命令、

 /boot/grub 开机设置相关文件

 /boot/vmlinuz 内核文件

 /dev 设备文件  

 /etc/rc.d 存放不同运行等级的启动简本的链接文件

 /etc/x11 和/etc/rc.d一同包含系统特油的可编辑配置文件,即用于控制程序运行的本地文件

 /home 用户目录

 /lib 用于存放程序的动态库和模块文件

 /media/cdrom、/media/floppy和/meida/U盘 用于挂在本地磁盘或其他存储设备

 /mnt 用于挂在其他临时文件系统

 /opt 发行版附件的一些软件包

 /root root用户的家  

 /sbin 只有root用户才能执行的命令,一些系统进行更新、备份、还原和开关机用到的命令

 /srv 存放服务进程所需的数据文件爱你

 /temp 存放各种临时文件

 /usr目录结构下用于存储只读用户数据的第二层次,包含绝大多数用户工具和应用程序

 /usr/bin 非必要可执行文件,面向所有用户

 /usr/include 标准包,含头文件

 /usr/lib /urs/bin/和/usr/sbin/中二进制文件的库

 /usr/local 本地数据的第三层次,具体到本台主机

 /usr/share 体系结构无关共享数据

 /usr/sbin 非必要的系统二进制文件

 /usr/src 源代码

 /var目录结构下用于存放变量文件,在正常运行的系统中其内容不断变化的文件,有时是一个单独的分区。

 $ sudo apt-get update;  sudo apt-get install tree

 $ tree   //查看一级目录

 $ tree \    //查看所有目录结构

 FHS会维持更新,FHS依据文件系统使用的频与否以及是否允许用户随意改动,将目录定义为四种交互作用的形态:

  可分享的(shareable) 不可分享的(unshareable)
不可变的(static) /usr (软件放置处)          /opt(第三方软件) /etc(配置文件)     /boot(开机及内核文件)
可变动的(variable) /varmail(用户邮件信箱)      /var/news(新闻组) /var/run(程序相关)    /var/lock(文件锁相关)

  目录路径

 使用cd命令可以切换目录。在Linux里。.表示当前目录,..表示上一级目录。以.开头的文件都是隐藏文件,所以这两个目录也是隐藏的,可以使用ls -a命令查看隐藏文件。-表示上一次所在目录,~表示当前用户的‘home’目录。使用pwd命令可以获取当前所在的绝对路径。

 绝对路径:以根“/”目录为起点的完整路径。如/usr/local/bin

 相对路径:以当前目录.为起点,以所要到达的目录为终点。如usr/local/bin。表示相对路径实际上并没有加上表示当前目录的".",而是直接以目录名开头。因为usr目录为/目录下的子目录,可以省略.;若是当前目录的上一级目录,则需使用..。

 在进行目录切换的过程中,需多使用Tab键自动补全,可以避免输入错误,连续两次Tab可以显示全部候选结果。 

  Linux文件的基本操作

 新建

 新建空白文件:使用touch命令创建空白文件。touch命令主要是来更改已有文件的时间戳,但在其不加任何参数的情况下,只指定一个文件名,则可以创建一个为指定文件名的空白文件。

 $ touch test

 创建目录:使用mkdir(make directories)命令可以创建一个空目录,也可以同时指定创建目录的权限属性。

 $ mkdir mydir

 使用-p参数,同时创建父目录(若该父目录不存在)

  $ mkdir -p father/son/grandson

 

 复制

 复制文件:使用cp(copy)命令复制一个文件或目录到指定目录。

 $ cp test father/son/grandson

 复制目录:在cp后加上-r或-R参数,表示递归复制,即可复制一个目录

 $ cp -r father family  

 删除

 删除文件:使用rm(remove files or directories)命令,删除一个文件或目录。

 $ rm test

 可以使用-f参数强制删除文件(忽略删除只读权限文件时的提示)

 删除目录:在使用rm命令后加上参数-r或-R即可。

 $ rm -r family

 移动文件与文件重命名

 移动文件:使用mv(move or rename files)命令,移动文件(剪切)。  

 $ touch file1

 $ ls file1

 $ mv file1 Documents

 $ cd Documents

 $ ls

 重命名文件:使用mv命令 mv 旧文件名 新文件名

 $ mv file1 myfile

 批量重命名:使用rename命令进行批量重命名。但它需要perl正则表达式作为参数。

 $ touch file{1..5}.txt    //使用通配符批量创建5个文件

 $ rename ‘s/\.txt/\.c/‘ *.txt  //批量将5个后缀为.txt的文本文件重命名为以.c为后缀的文件

 $ rename ‘y/a-z/A-Z/‘ *.c   //批量这5个文件,文件名改为大写

 查看文件

 使用cat、tac、nl命令查看文件。

 cat和tac都是用来打印文件内容到标准输出终端,其中cat为正序显示,tac为倒序显示。

 标准输入输出:当我们执行一个shell命令时通常会自动打开三个标准文件,即标准输入文件(stdin),默认对应终端的键盘;标准输出文件(stdout)和标准错误输出文件(stderr),这两个文件都对应被重定向到终端的屏幕,以便我们能直接看到输出内容。进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。

 $ cp /etc/passwd .

 $ cat -n passwd  //-n参数显示行号

 nl命令添加行号并打印,比cat -n更加专业。

 nl后常用以下参数:

 -b:指定添加行号。主要有两种:-b a:表示无论是否为空行,同样列出行号(cat -n就是这种方式); -b -t:只列出飞空巷的编号并列出(默认)

 -n:设置行号的样式。主要有三种:  -n ln:在行号字段醉左端显示;  -n rn:在行号字段最右边显示,且不加0; -n rz:在行号最右边显示,且加0

 -w:行号字段占用的位数(默认6位)

 $ nl -b a passwd

 $ nl -b t passwd

 $ nl -n ln passwd

 $ nl -n rz passwd

 $ nl -n rn passwd

 $ nl -w 2 -n rz passwd

 使用more和less命令分页查看文件

 more命令只能向一个方向滚动,而less为基于more和vi开发,功能更强大。打开后只显示一屏内容,终端底部显示当前阅读的进度(百分比),可以使用Enter向下滚动一行,使用Space键向下滚动一屏。h显示帮助,q退出。

 $ more passwd

 head和tail命令只查看文件的头10行(默认)和尾10行。tail带参数-f可以实现不停地读取某个文件的内容并显示。这个功能可以让我们动态查看日志起到实时监视的作用。

 $ tail /etc/passwd

 $ tail -n 1 /etc/passwd  //只查看文件的最后一行  

 查看文件类型

 通过file命令可以查看文件的类型

 $ file /bin/ls

 编辑文件:可以使用 $ vimtutor内部命令学习vim的使用。

 

 

时间: 2024-12-16 15:18:26

Linux目录结构及文件基本操作的相关文章

Linux 目录结构及文件基本操作

整理来自 https://www.shiyanlou.com/courses/running/59 在讲 Linux 目录结构之前,你首先要清楚一点东西,那就是 Linux 的目录与 Windows 的目录的区别,或许对于一般操作上的感受来说没有多大不同,但从它们的实现机制来说是完全不同的. 一种不同是体现在目录与存储介质(磁盘,内存,DVD 等)的关系上,以往的 Windows 一直是以存储介质为主的,主要以盘符(C 盘,D 盘...)及分区的来实现文件管理,然后之下才是目录,目录就显得不是那

Linux 基础入门----目录结构及文件基本操作

Linux 目录结构及文件基本操作 介绍 1.Linux 的文件组织目录结构. 2.相对路径和绝对路径. 3.对文件的移动.复制.重命名.编辑等操作. 一.Linux 目录结构 在讲 Linux 目录结构之前,你首先要清楚一点东西,那就是 Linux 的目录与 Windows 的目录的区别,或许对于一般操作上的感受来说没有多大不同,但从它们的实现机制来说是完全不同的. 一种不同是体现在目录与存储介质(磁盘,内存,DVD 等)的关系上,以往的 Windows 一直是以存储介质为主的,主要以盘符(C

目录结构及文件基本操作

目录结构及文件基本操作 Linux 目录结构及文件基本操作 介绍 1.Linux 的文件组织目录结构. 2.相对路径和绝对路径. 3.对文件的移动.复制.重命名.编辑等操作. 一.Linux 目录结构 在讲 Linux 目录结构之前,你首先要清楚一点东西,那就是 Linux 的目录与 Windows 的目录的区别,或许对于一般操作上的感受来说没有多大不同,但从它们的实现机制来说是完全不同的. 一种不同是体现在目录与存储介质(磁盘,内存,DVD 等)的关系上,以往的 Windows 一直是以存储介

Linux开发环境搭建与使用——Linux 目录结构及文件

在 windows 平台下,打开"计算机",我们看到的是一个个的盘符: 在 Linux 下,我们是看不到这些盘符,我们看到的是文件夹(目录): 在早期的 UNIX 系统中,各个厂家各自定义了自己的 UNIX 系统文件目录,比较混乱.Linux 面世不久后,对文件目录进行了标准化,于1994年对根文件目录做了统一的规范,推出 FHS ( Filesystem Hierarchy Standard ) 的 Linux 文件系统层次结构标准.FHS 标准规定了 Linux 根目录各文件夹的名

Linux 目录结构及文件

在 windows 平台下,打开"计算机",我们看到的是一个个的盘符: 在 Linux 下,我们是看不到这些盘符,我们看到的是文件夹(目录): 在早期的 UNIX 系统中,各个厂家各自定义了自己的 UNIX 系统文件目录,比较混乱.Linux 面世不久后,对文件目录进行了标准化,于1994年对根文件目录做了统一的规范,推出 FHS ( Filesystem Hierarchy Standard ) 的 Linux 文件系统层次结构标准.FHS 标准规定了 Linux 根目录各文件夹的名

Linux目录结构与文件权限——(五)

1.目录结构 Cd /   进入根目录 Ls  查看根目录结构 在 Linux 或 Unix 操作系统中,所有的文件和目录都被组织成以一个根节点开始的倒置的树状结构. 文件系统的最顶层是由根目录开始的,系统使用 / 来表示根目录.在根目录之下的既可以是目录,也可以是文件,而每一个目录中又可以包含子目录文件.如此反复就可以构成一个庞大的文件系统. 在Linux文件系统中有两个特殊的目录,一个用户所在的工作目录,也叫当前目录,可以使用一个点 . 来表示:另一个是当前目录的上一级目录,也叫父目录,可以

linux目录结构、文件类型和ls、alias命令介绍

一. 系统目录结构 ls / 查看根目录的文件及目录 /bin./sbin ./usr/sbin./usr/bin: 可执行命令存放目录 /boot: 启动相关,grub的配置文件都放在此目录 /dev: 设备文件 /etc: 系统配置文件 /home: 用户家目录 /root: root用户家目录 /lib.lib64: 系统库文件 /media: 光盘.u盘临时挂载 /mnt: 临时挂载目录 /opt: 可挂载 /proc: 进程相关 /run: 进程PID存储 /srv: 服务产生的文件

linux目录结构和文件处理

1. Linux文件系统的层次结构 1) 了解Linux文件系统的树状结构: 在Linux或UNIX操作系统中,所有的文件和目录都被组织成一个以根节点开始的倒置的树状结构. 2) 掌握目录的定义:目录相当于Windows中的文件夹,目录中存放的既可以是文件,也可以是其他的子目录. 3) 掌握顶层根目录的表示: 使用"/"来表示根目录 4) 了解文件系统中的两个特殊目录: . 表示当前目录,即用户所在的工作目录 .. 表示父目录,即当前目录的上一层目录 2. Linux系统中的一些重要的

linux目录结构及文件权限

安装banner用到的指令: 第一步: sudo apt-get update 第二步: sudo apt-get install sysvbanner 成功了 创建新用户指令: sudo adduser 用户名 切换用户指令: su -l 用户名 一次性创建多个文件指令: 第一步: touch love{1..10}linux.txt 第二步: ls *.txt 查看文件指令: ls -l 在两个用户之间修改文件所有者 FHS标准文档 第一步 sudo apt-get update 第二步 s