服务器 Linux 的文件系统初探

avatar
作者
猴君
阅读量:0

好久没更新文章了,最近心血来潮,重新开始知识的累计,做出知识的沉淀~

万事万物皆文件

  • 文件系统:操作系统如何管理文件,内部定义了一些规则或者定义
  • 所以在 Linux 中所有的东西都是以文件的方式进行操作
  • 在 Linux 中,文件的访问不和 Windows 的一样。Windows 依靠的是通过盘符进行访问
  • Linux 维护着一个树状结构的文件模型:只有一个根节点 ,他的名字叫做 /;一个节点上可以有多个子节点

查找文件的方式相对路径:

相对路径

  1. 以当前路径为基准点,查找其他资源
  2. vi ../etc/sysconfig/network

绝对路径

  1. 以根目录为基准点,查找其他资
  2. vi /etc/sysconfig/network-scripts/ifcfg-ens33

日常使用中,只要找到路径即可,但是如果是一些配置文件,尽量写绝对路径

Linux 二级文件目录

/bin: bin是Binary的缩写, 这个目录存放着最经常使用的命令。 /boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。 /dev : dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同 的。 /etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录。 /home: 用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。 /lib: 这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这 些共享库。 /lost+found: 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。 /media: linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。 /mnt: 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光 驱里的内容了。 /opt: 这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。 /proc: 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。 这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件, 比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器: echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all /root: 该目录为系统管理员,也称作超级权限者的用户主目录。 /sbin: s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。 /selinux: 这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复 杂,这个目录就是存放selinux相关的文件的。 /srv: 该目录存放一些服务启动之后需要提取的数据。 /sys: 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。 sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终 端的devpts文件系统。该文件系统是内核设备树的一个直观反映。 当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。 /tmp: 这个目录是用来存放一些临时文件的。 /usr: 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。 /usr/bin: 系统用户使用的应用程序。 /usr/sbin: 超级用户使用的比较高级的管理程序和系统守护程序。 /usr/src: 内核源代码默认的放置目录。 /var: 这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。 /run: 是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上 有 /var/run 目录,应该让它指向 run。

Linux 的文件操作

Linux 命令在线查询:https://www.linuxcool.com/

cd 改变当前工作目录  ls ll 查询命令,显示出指定目录下所有的文件  mkdir 创建文件目录 mkdir -p a/b/c/d/e/f 会自动创建文件父目录 mkdir -p lucky/{1234}ls 一次可以创建多个子目录  rmdir 删除空文件夹,可以安全的删除文件目录 rmdir: failed to remove ‘a1’: Directory not empty rmdir: failed to remove ‘baidu’: Not a directory  cp 拷贝文件或者文件目录 cp 源文件 目标目录 cp abcd /opt cp /opt/abcd ./ cp -r lucky /opt 拷贝文件夹下所有的内容  mv 移动文件或者文件夹,修改文件名称 mv a1 /opt mv abc /opt mv a abcd  rm 删除文件,删除文件夹 rm install.log rm -f install.log rm -r abcd rm -rf abcd 谨慎使用,从删库到跑路  touch 如果没有就创建一个文件,如果该文件已经存在,修改文件的三个时间,将三个时间改为当前时间 stat 查看文件的状态,Inode 当前文件在文件系统的唯一标识,类似于ID  ln 命令用于给文件创建链接,根据 Linux 系统存储文件的特点,链接的方式分为以下 2 种 软链接:类似于 Windows 系统中给文件创建快捷方式,即产生一个特殊的文件,该文件用来指向另一个文件,此链接,方式同样适用于目录。 硬链接:我们知道,文件的基本信息都存储在 inode 中,而硬链接指的就是给一个文件的 inode 分配多个文件名,通过任何一个文件名,都可以找到此文件的 inode,从而读取该文件的数据信息。 ln [选项] 源文件 目标文件

读取文件信息

cat 将整个文档加载到内存中,并进行一次性显示;除非后面使用管道,传递数据  tac 将整个文档加载到内存中,并进行一次性按行逆序显示  more less 分页查看文档内容  head 从文章开始读取N行;默认如果超过10行读取10行,否则读取现在行数;head -5 profile  tail 从文章末尾读取N行  find 查找指定的文件;find 要查找的范围 -name 名字;find /etc -name profile

VI 和 VIM 编辑器

打开文件

正常打开 vi profile 打开文件,并将光标置于第8行 vi +8 profile 打开最后一行 vi + profile;按n查找下一个,按N查找上一个 打开指定搜索单词的位置 vi +/if profile

三种模式

使用 Vim 编辑文件时,存在 3 种工作模式,分别是命令模式、编辑模式和底行模式,这 3 种工作模式可随意切换, 如下图所示。

  • 命令模式:每一个按键都有其具体的功能。
  • 编辑模式:输入什么就是什么。
  • 底行(命令行)模式:保存文件或对文件中的指定内容执行查找或替换等操作。

命令模式

使用 Vim 编辑器打开文件时,默认处于命令模式。此模式下,可使用方向键(上、下、左、右键)或 k(上)j(下) h(左)l(右)移动光标的位置,还可以对文件内容进行复制、粘贴、替换、删除等操作。

G :跳转至文件末尾。 gg :跳转至文件第一行。 数字gg :跳转到指定行,例如: 2gg ,跳转到第 2 行。 ^ :跳转至行首。 $ :跳转至行末。 w :跳到下个单词处。 数字w :跳转到指定个数的单词处。 yw :复制一个单词。 3yw :复制三个单词。 yy :复制一行。 3yy :复制三行。 p :粘贴复制内容。 6p :粘贴 6 次。 dw :删除一个单词。 3dw :删除三个单词。 dd :删除一行。 3dd :删除三行。 u :回退到上一步的操作。 Ctrl + r :回退 u 执行的操作。 . :重复上一步操作。 x :剪切当前光标处字符。 3x :剪切三个字符。 r :替换,然后输入一个字符替换,例如: r1 ,光标处字符会被替换为 1 。 3r :替换三个字符。 kjhl :方向键,分别对应上下左右。 ZZ :保存并退出。 ZQ :不保存退出。 Ctrl + s :锁屏。 Ctrl + q :解锁。 

编辑模式

这个没什么好说的,就和正常文本输入一样,输入什么就是什么。

底行模式

:set nu :打开行号。 :set nonu :关闭行号。 /要查找的内容 :搜索指定的字符串。 n :查找下一个。 N :查找上一个。 s/要查找的内容/替换为的内容/修饰符 :替换字符串。 /i :忽略大小写。 /g :替换当前行所有,不加 /g 只替换当前行的第一个。 3,8s/abc/lucky/g :替换指定行,不加 /g 只替换指定行的第一个。 %s/要查找的内容/替换为的内容/g :替换全文,不加 % 表示只替换光标所在行。 :w :保存。 :q :退出。 :wq :保存并退出。 :q! :强制退出,不保存。

如果上次异常退出(比如文件正在编辑忽然断电或者直接把 Shell 窗口关闭了)会保留同名隐藏文件。

每次启动会给与提示。如果确定当前文件没问题,请删除隐藏文件。

o :只读模式打开文件。 e :读写模式打开文件。 r :通过 .swp 文件恢复文件内容。 d :删除 .swp 文件。 q :退出文件。 a :终止操作(也会退出文件)。

打开文件

vi 文件名 :正常打开。 vi +8 文件名 :打开文件并跳转至第 8 行。 vi + 文件名 :打开文件并跳转至最后一行。 vi +/要查找的内容 文件名 :打开文件并搜索指定的字符串。 n :查找下一个。 N :查找上一个。 

计算机间的数据传输

Window--Linux

lrzsz 需要手动安装 yum install lrzsz -y

  • rz 将文件从window上传到Linux
  • sz 文件 将文件从Linux传输到Window

xftp 较为通用的文件传输方式

Linux--Linux

  • scp 源数据地址(source) 目标数据地址(target)
  • scp apache-tomcat-7.0.61.tar.gz root@192.168.1.1:/opt
  • scp root@192.168.1.4:/opt/apache-tomcat-7.0.61.tar.gz ./
  • scp -r apache-tomcat-7.0.61 root@192.168.1.4:/opt

文件大小

分区信息 df -h 指定文件目录大小 du -h --max-depth=1 apache-tomcat-7.0.61 swap 一个特殊分区,以硬盘代替内存;当内存使用满的时候,可以将一部分数据写出到swap分区

文件压缩

tar

  • 主要针对的文件是 xxx.tar.gz
  • 解压缩 tar -zx(解压)v(过程)f(文件) xxx.tar.gz
  • 压缩 tar -zc(压缩)f(文件) tomcat.tar.gz(压缩后的名字) apache-tomcat-7.0.61(源文件);

zip和unzip

  • 安装 yum install zip unzip -y
  • 压缩 zip -r tomcat.zip apache-tomcat-7.0.61
  • 解压缩 unzip tomcat.zip

无论生活以怎样的方式向你走来,你都必须接受它,尽可能地享受它。

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!