在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在Linux運(yùn)維下如何做到只讀一個(gè)文件的呢?

dyquk4xk2p3d ? 來源:運(yùn)維研習(xí)社 ? 2023-04-10 09:19 ? 次閱讀

Linux運(yùn)維過程中,經(jīng)常會(huì)遇到某個(gè)應(yīng)用的存儲(chǔ)目錄跑滿,提前又沒有做任何規(guī)劃,目錄或磁盤無法擴(kuò)容,這個(gè)時(shí)候,我們常用的解決方法是做軟鏈接,通過ln,將原先存儲(chǔ)的目錄軟鏈接到另外大的磁盤中的目錄下,以此達(dá)到目的。

軟鏈的弊端就是,多層軟鏈之后,會(huì)被繞暈,很容易造成誤操作,今天再介紹一種方法

mount --bind

mount命令運(yùn)維小伙伴應(yīng)該很熟悉,不做過多介紹

先來看下man里面的介紹

c2e9c8d0-d72f-11ed-bfe3-dac502259ad0.png

通過mount --bind可以將文件目錄結(jié)構(gòu)重新掛載,連接兩個(gè)目錄,它是將前一個(gè)目錄掛載到后一個(gè)目錄上,所有對后一個(gè)目錄的訪問其實(shí)都是對前一個(gè)目錄的訪問

例子

通過例子看下,分別創(chuàng)建兩個(gè)不同的目錄,并在兩個(gè)不同的目錄下創(chuàng)建不同的文件

c2f8b26e-d72f-11ed-bfe3-dac502259ad0.png

查看文件的inode

c302c178-d72f-11ed-bfe3-dac502259ad0.png

通過mount --bind將test1掛載到test2上,重新查看inode和目錄下內(nèi)容

c3107fca-d72f-11ed-bfe3-dac502259ad0.png

可以看到,inode號(hào)和文件,都是test1的

然后對test2目錄下的文件訪問修改,實(shí)際上改動(dòng)的就是test1目錄,我們測試下,在test2目錄創(chuàng)建文件

c328b95a-d72f-11ed-bfe3-dac502259ad0.png

然后接觸mount之后,我們再查看下兩個(gè)目錄下的內(nèi)容

c3340b5c-d72f-11ed-bfe3-dac502259ad0.png

可以看到,test1目錄保持修改后的狀態(tài),test2目錄文件仍然存在,且保持原來的不變

原理

以mount --bind test1 test2為例,當(dāng)mount --bind命令執(zhí)行后,Linux將會(huì)把被掛載目錄的目錄項(xiàng)(也就是該目錄文件的block,記錄了下級目錄的信息)屏蔽,即test2的下級路徑被隱藏起來了(注意,只是隱藏不是刪除,數(shù)據(jù)都沒有改變,只是訪問不到了)。同時(shí),內(nèi)核將掛載目錄(test1)的目錄項(xiàng)記錄在內(nèi)存里的一個(gè)s_root對象里,在mount命令執(zhí)行時(shí),VFS會(huì)創(chuàng)建一個(gè)vfsmount對象,這個(gè)對象里包含了整個(gè)文件系統(tǒng)所有的mount信息,其中也會(huì)包括本次mount中的信息,這個(gè)對象是一個(gè)HASH值對應(yīng)表(HASH值通過對路徑字符串的計(jì)算得來),表里就有 /test1 到 /test2 兩個(gè)目錄的HASH值對應(yīng)關(guān)系

命令執(zhí)行完后,當(dāng)訪問 /test2下的文件時(shí),系統(tǒng)會(huì)告知 /test2 的目錄項(xiàng)被屏蔽掉了,自動(dòng)轉(zhuǎn)到內(nèi)存里找VFS,通過vfsmount了解到 /test2 和 /test1 的對應(yīng)關(guān)系,從而讀取到 /test1 的inode,這樣在 /test2 下讀到的全是 /test1 目錄下的文件

注意

兩個(gè)目錄的對應(yīng)關(guān)系是存在于內(nèi)存中的,一旦重啟,掛載關(guān)系就沒有了,所以需要將掛載關(guān)系,寫入/etc/fstab中

高級用法

臨時(shí)配置文件讀取測試 有些應(yīng)用場景下,需要修改配置文件進(jìn)行測試,但是又不能影響正在運(yùn)行中的業(yè)務(wù),在沒有把握的情況下,不愿意直接修改原有配置文件的話,我們可以通過在/tmp等目錄,寫一個(gè)測試的配置文件,通過mount --bind的方式掛載到配置文件讀取目錄,運(yùn)行程序讀取該臨時(shí)配置文件,測試完成后,只需要umount,不影響原來的配置

只讀掛載 在一些場景下,比如需要給開發(fā)人員查看一些配置的權(quán)限,但是又不允許它們修改配置的情況下,可以通過mount --bind,ro 掛載一個(gè)只讀目錄,原目錄可寫,掛載出來的目錄只讀,只需要將只讀目錄權(quán)限給開發(fā)人員即可

以上就是mount --bind的簡單介紹,更多使用方法,各位小伙伴可以自行嘗試。






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • LINUX內(nèi)核
    +關(guān)注

    關(guān)注

    1

    文章

    316

    瀏覽量

    21654
  • Hash算法
    +關(guān)注

    關(guān)注

    0

    文章

    43

    瀏覽量

    7383
  • vfs
    vfs
    +關(guān)注

    關(guān)注

    0

    文章

    14

    瀏覽量

    5262

原文標(biāo)題:Linux下如何做到一個(gè)文件即可讀寫,又只讀?

文章出處:【微信號(hào):良許Linux,微信公眾號(hào):良許Linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    如何做到個(gè)好的照明設(shè)計(jì)

    如何做到個(gè)好的照明設(shè)計(jì),本文中作者從個(gè)較高的角度為讀者詳細(xì)講解了設(shè)計(jì)過程的整個(gè)構(gòu)思。
    發(fā)表于 09-13 13:58 ?1164次閱讀

    Linux中常用的MySQL運(yùn)腳本

    Linux中,使用MySQL進(jìn)行常見的運(yùn)任務(wù)時(shí),可以編寫些腳本來簡化操作。以下是些常用的
    發(fā)表于 09-07 09:49 ?751次閱讀

    老男孩Linux運(yùn)培訓(xùn)教程

    `  繼《跟老男孩學(xué)習(xí)Linux運(yùn):Web集群實(shí)戰(zhàn)》和《跟老男孩學(xué)習(xí)Linux運(yùn):Shell
    發(fā)表于 12-15 15:16

    linux運(yùn)命令大全

    是對Linux高端運(yùn)實(shí)用命令的簡單匯總:1. bash常用任務(wù)管理命令&,Ctrl-Z,Ctrl-C,jobs,fg,bg,kill等2. 基本的文件管理命令ls,ls-l, les
    發(fā)表于 03-15 16:36

    學(xué)習(xí)Linux運(yùn)發(fā)展方向

    發(fā)布等工作需求,如果公司較小的話,可能還會(huì)兼職一下網(wǎng)管、網(wǎng)絡(luò)工程師、數(shù)據(jù)庫管理員、安全工程師、技術(shù)支持等職務(wù)。  那么,涉及到的Linux平臺(tái)上的運(yùn)工具有哪些
    發(fā)表于 07-25 17:15

    Linux運(yùn)都要會(huì)哪些shell技能

    充斥著各種的互聯(lián)網(wǎng)+的數(shù)字時(shí)代,Linux運(yùn)也越來越趨于自動(dòng)化方向發(fā)展,越來越多的運(yùn)工作者
    發(fā)表于 11-30 17:38

    linux運(yùn)怎么排查

    linux運(yùn)排查常用命令(開發(fā)專享)
    發(fā)表于 11-11 06:34

    如何做到個(gè)USB仿真兩個(gè)CPU的?

    請問一下如何做到個(gè)USB仿真兩個(gè)CPU的? 編譯從核的工程, 它的固件怎么就能直接寫入到主核的工程里去的?
    發(fā)表于 05-26 06:10

    利用6 個(gè) Linux 運(yùn)典型問題來分析處理問題的思路

    結(jié)合上面介紹的 Linux 運(yùn)問題的解決思路后,下面我們挑選了6個(gè)比較典型的 Linux 運(yùn)
    的頭像 發(fā)表于 01-13 10:37 ?2950次閱讀

    運(yùn)工程師的四個(gè)階段

    Linux系統(tǒng)目前主要應(yīng)用在企業(yè)服務(wù)器上,學(xué)習(xí)Linux,更多的是向Linux系統(tǒng)/運(yùn)工程師方向進(jìn)軍。比如云計(jì)算系統(tǒng)工程師,大數(shù)據(jù)
    的頭像 發(fā)表于 03-26 16:22 ?5884次閱讀

    如何定義linux運(yùn)工程師

    相信讀者們必定聽說過linux,也聽說過運(yùn)工程師。那么運(yùn)工程師是個(gè)什么概念
    的頭像 發(fā)表于 08-21 15:51 ?3136次閱讀

    Linux運(yùn)工程師的定義

    作爲(wèi)互聯(lián)網(wǎng)的幕后英雄,Linux運(yùn)工程師臨時(shí)藏匿群眾認(rèn)知范圍之外,關(guān)于運(yùn)的討論依舊是
    的頭像 發(fā)表于 08-31 11:34 ?3855次閱讀

    Linux運(yùn)經(jīng)常使用的40個(gè)命令總結(jié)

    本文檔的主要內(nèi)容詳細(xì)介紹的是Linux運(yùn)經(jīng)常使用的40個(gè)命令總結(jié)
    的頭像 發(fā)表于 11-22 11:14 ?2571次閱讀

    使用tree命令Linux終端中顯示文件

    使用 Linux 上的 tree 命令,您可以以分層樹狀表示形式查看整個(gè)文件系統(tǒng)。這是如何做到的。
    的頭像 發(fā)表于 09-13 14:13 ?3179次閱讀

    17個(gè)linux高效運(yùn)操作技巧

    今天浩道跟大家分享17個(gè)linux高效運(yùn)操作技巧 ! 1、查找當(dāng)前目錄下所有以.tar結(jié)尾的文件然后移動(dòng)到指定目錄: ? find?.?-
    的頭像 發(fā)表于 11-01 09:40 ?1252次閱讀
    主站蜘蛛池模板: 成人国产亚洲欧美成人综合网| 4438x成人免费| 日韩一级片免费| 一级毛片成人免费看a| 欧美色爱综合| 九九热在线免费视频| 中日韩精品视频在线观看| 一级特级aaa毛片| 亚洲一区二区中文字5566| 午夜寂寞影视| 又色又爽又黄视频| 上一篇26p国模| 欧美精品 在线播放| 狠狠色狠狠色综合日日小蛇| 二级黄色大片| 国产图片区| 最色网在线观看| 日本久操视频| 大杳蕉伊人狼人久久一本线| yy6080三级理论韩国日本| 欧美三j片| 五月情网| 婷婷丁香社区| 欧美性淫爽www视频播放| 色综合成人网| 久久久久久99| 亚洲免费mv| yy8090韩国日本三理论免费| 亚洲国产欧美在线人成aaa| 亚洲综合激情网| 欧美在线视频一区二区三区| 国产精品三级视频| 国产成人亚洲综合a∨婷婷| 亚洲精品久久片久久| 国产成人福利夜色影视| 免费观看黄网站| 日本中文字幕在线播放| 国产精品青草久久| 奇米影视7777| 亚洲欧美视频网站| 色五月天天|