當前位置:係統粉 >  係統教程 > 電腦軟件教程 >  Linux係統文件、目錄與磁盤格式 學習筆記

Linux係統文件、目錄與磁盤格式 學習筆記

時間:2015-12-20 來源:互聯網 瀏覽量:

  有趣的是,因為托瓦茨放置內核的那個FTP網站的目錄為Linux,從此,大家便稱這個內核為Linux了

  對目錄有執行權限(x)才能切換到目錄內。

  向上翻頁: shift+PgUp 向下翻頁:shift+PgDn

  若你的執行文件放置在本目錄並且本目錄並非正規的執行文件目錄(/bin、/usr/bin 等為正規)

  ,此時要執行命令就得要嚴格指定該執行文件。(./)

  特殊目錄:

  .代表次層目錄

  .. 代表上一層目錄

  - 代表前一個工作目錄

  ~ 代表“目前用戶身份”所在的主文件夾

  ~account 代表 account 這個用戶的主文件夾(account是個賬號名稱)

  cp -s 符號連接 (symbolic link)

  cp -l 硬鏈接 (hard link)

  查看文件的命令:

  純文本文件:

  cat

  tac

  nl

  more

  less

  head

  tail

  非純文本文件:

  od

  十進製,八進製和十六進製互化應以二進製作為橋梁

  用戶創建文件的默認權限為:- rw- rw- rw-

  用戶創建目錄的默認權限為:d rwx rwx rwx

  又因為

  root: umask: 0022 (--- -w- -w-) (不同用戶有不同的umask)

  一般用戶: umask: 0002 (--- --- -w-)

  所以

  新建一個文件的權限為: root: (rw- rw- rw-) - (--- -w- -w-) = (rw- r-- r--)

  一般用戶: (rw- rw- rw-) - (--- --- -w-) = (rw- rw- r--)

  新建一個目錄的權限為:root: (rwx rwx rwx) - (--- -w- -w-) = (rwx r-x r-x)

  一般用戶: (rwx rwx rwx) - (--- --- -w-) = (rwx rwx r-x)

  文件隱藏屬性: chattr lsattr

  文件特殊權限:SUID、 SGID、 SBIT

  SUID不能用在目錄上、SBIT不能用在文件上

  尋找命令文件:which (在用戶自己的PATH變量中尋找)

  type (在bash內置命令中尋找)

  尋找普通文件:whereis (在文件數據庫中查找)

  locate (在文件數據庫中查找 updatedb根據/etc/updatedb.conf的設置

  去查找係統硬盤內的文件名,並更新/var/lib/mlocate內的數據庫文件)

  find (在硬盤中查找,本身可以查找子目錄)

  “;”在bash中是有特殊意義的,所以利用反斜杠來轉義

  一個block中可以有 單個block大小/128byte 個inode

  df 調出目前掛載的設備

  dumpe2fs 查詢每個區段與superblock的信息

  查看linux支持的文件係統:ls -l /lib/modules/$ (uname -r) (distruction版本信息)/kernel/fs

  查看係統目前已加載到內存中支持的文件係統:cat /proc/filesystems

  df:列出文件係統的整體磁盤使用量;

  du:評估文件係統的磁盤使用量(常用於評估目錄所占容量)

  創建實際連接:ln 源文件

  創建符號連接: ln -s 目標文件

  當我們新建一個新的目錄時,新的目錄的連接數為2,而上層目錄的連接數則會增加1

  磁盤分區:

  fdisk 硬盤文件名稱 隻有root可以操作

  partprobe 強製讓內核重新找一次分區表

  磁盤格式化:

  mkfs (按兩下[Tab]可以看到Linux支持的文件係統格式化軟件)

  沒有特殊需求就使用:mkfs -t ext3 ...

  Ext2/Ext3的公用程序:mke2fs

  磁盤檢驗:

  fsck 隻有root在單用戶模式下操作,且被檢查的分區務必要處於卸載狀態

  (按兩下[Tab]可以看到Linux支持的文件係統檢驗軟件)

  badblocks 可用mke2fs -c 設備文件名替代

  磁盤掛載:

  mount 設備文件名 掛載點

  重新掛載根目錄:mount -o remount,rw,auto/

  掛載不特定目錄:mount -bind /home /mnt/home

  使用 Label name 進行掛載:mount -L "xxxx" /mnt/hdc6

  卸載:unmount 設備文件名或掛載點

  /etc/filesystems: 係統指定的測試掛載文件係統類型;

  /proc/filesystems: Linux係統已經加載的文件係統類型;

  /lib/modules/$ (unmae-r) /kernel/fs/: Linux支持的文件係統的驅動程序

  硬盤參數修改:

  修改設備文件:

  mknod 設備文件名 [bcp] [Major] [Minor]

  主設備代碼(Major)

  此設備代碼(Minor)

  修改卷標:

  e2label 設備文件名 新的Label名稱

  將Ext2的文件係統轉換為Ext3的文件係統:

  tune2fs [-jlL] 設備文件名

  設置硬盤參數:(隻對IDE接口的硬盤有效)

  hdparm [-icdmXTt] 硬盤文件名稱

  開機掛載:

  /etc/fstab -> /etc/mtab, /proc/mounts

  如果修改/etc/fatab錯誤,可用如下命令解決:

  mount -n -o remount,rw /

  不刻錄就讀取/修改鏡像文件的內容:

  mount -o loop 鏡像文件名 掛載點

  新建大文件以製作loop設備文件:

  dd if=/dev/zero of=/home/loopdev bs=1M count=512

  ll -h /home/loopdev

  mkfs -t ext3 /home/loopdev

  mount -o loop /home/loopdev /media/cdroom

  df

  內存交換空間的構建:

  使用物理分區構建swap:

  fdisk /dev/sda

  partprobe

  mkswap /dev/sda6

  free

  swapon /dev/sda6

  free

  swapon -s

  使用文件構建swap:

  dd if=/dev/zero of=/tmp/swap bs=1M count=128

  ll -h /tmp/swap

  mkswap /tmp/swap

  free

  swapon /tmp/swap

  free

  swapon -s

  swapoff /tmp/swap

  swapoff /dev/sda6

  free

  查看文件內容占用空間:

  du -sb /etc

  查看文件實際占用空間:

  du -sm /etc

  如果有大於2TB以上的磁盤,就用parted命令進行分區

  在Linux環境中,壓縮文件的擴展名大多是

  *.Z compress程序壓縮的文件

  *.gz gzip程序壓縮的文件

  *.bz2 bzip2程序壓縮的文件

  *.tar tar程序打包的數據,並沒有壓縮過

  *.tar.gz tar程序打包的文件,其中經過gzip的壓縮

  *.tar.bz2 tar程序打包的文件,其中經過bzip2的壓縮

  壓縮命令:

  壓縮:ncompress [-rcv] 文件名或目錄

  解壓縮:uncompress *.Z

  壓縮:gzip [-cdtv#] 文件名(如果是目錄,則指的是將目錄內的所有文件“分別”進行壓縮)

  解壓縮:gzip -d 文件

  zcat可以讀取純文本被compress與gzip壓縮後的壓縮文件。

  使用gzip壓縮的文件在Windows係統中,可以被WinRAR解壓縮

  壓縮:bzip2 [-cdtv#] 文件名(如果是目錄,則指的是將目錄內的所有文件“分別”進行壓縮)

  解壓縮:bzip2 -d 文件 / bunzip2 文件,可以解壓的壓縮文件後綴為:.bz .bz2 tbz tbz2

  bzcat可以讀取被bzip2壓縮後的壓縮文件

  打包命令:

  由於tar的使用太廣泛,目前Windows的WinRAR也支持.tar.gz的解壓縮

  tar:

  打包:

  tar -zpcv -f /root/etc.tar.gz /etc

  tar -jpcv -f /root/etc.tar.bz2 /etc (推薦,壓縮比更高)

  查看:

  tar -jtv -f /root/etc.tar.bz2

  解打包:

  tar -jxv -f /root/etc.tar.bz2 -C /tmp

  解開打包文件內的其中一個文件:

  tar -jtv -f /root/etc.tar.bz2 | grep 'shadow'

  (grep為選取關鍵字)

  tar -jxv -f 打包文件.tar.bz2 待解開文件名

  tar -jxv -f /root/etc.tar.bz2 etc/shadow

  打包某目錄,但不含該目錄下的某些文件的做法:

  tar -jcv -f /root/system.tar.bz2 --exclude=/root/etc* --exclude=/root/system.tar.bz2 /etc /root

  僅備份比某個時刻還要新的文件:

  find /etc -newer /etc/passwd

  ll /etc/passwd

  tar -jcv -f /root/etc.newer.than.passwd/tar.bz2 --newer-mtime="2008/08/05" /etc/*

  tarfile:僅是打包

  tarball:打包又壓縮

  備份到磁帶機:

  tar -cv -f /dev/st0 /home /root /etc

  將 /etc 整個目錄一邊打包一邊在 /tmp 中解開

  cd /tmp

  tar -cvf - /etc | tar -xcf -

  用dump備份完整的文件係統:

  df -h

  先測試一下如果需要備份此文件係統需要多少容量:

  dump -S /dev/sda1

  將完整備份的文件名記錄成為/root/boot.dump,同時更新記錄文件:

  dump -0u -f /root/boot.dump /boot

  ll /root/boot.dump /etc/dumpdates

  cat /etc/dumpdates

  新建 level1 的備份:

  看一下有沒有任何文件係統被 dump 過的數據

  dump -W

  dd if=/dev/zero of=/boot/testing.img bs=1M count=10

  使用 level1 備份:

  dump -1u -f /root/boot.dump.1 /boot

  ll /root/boot*

  dump -W

  用dump備份非文件係統,即單一目錄的方法:

  dump -0j -f /root/etc.dump.bz2 /etc

  用restore查看dump後的備份數據內容:

  restore -t -f /root/boot.dump

  restore -t -f /root/etc.dump

  比較差異並且還原整個文件係統:

  cd /boot

  mv config-2.6.18-128.el5 config-2.6.18-128.el5-back

  restore -C -f /root/boot.dump

  mv config-2.6.18-128.el5-back config-2.6.18-128.el5

  cd /root

  fdisk /dev/hdc

  n

  p

  w

  partprobe

  mkfs -t ext3 /dev/hdc8

  mount /dev/hdc8 /mnt

  cd /mnt

  restore -r -f /root/boot.dump

  僅還原部分文件的restore互動模式

  cd /mnt

  restore -i -f /root/etc.dump

  help

  ls

  cd etc

  pwd

  1s passwd shadow group

  add passwd shadow group

  delete group

  ls passwd shadow group (又要被解壓縮的,文件名之前會出現*)

  extract

  quit

  ll -d etc

  ll etc

  光盤寫入工具:

  新建鏡像文件: mkisofs

  不使用-graft-point:

  mkisofs -r -v -o /tmp/system.img /root /home /etc

  ll -h /tmp/system.img

  mount -o loop /tmp/system.img /mnt

  df -h

  ls /mnt

  umount /mnt

  使用-graft-point:

  mkisofs -r -v 'linux_file' -o /tmp/system.img -m /home/lost+found -graft-point /root=/root /home=/home /etc=/etc

  ll -h /tmp/system.img

  mount -o loop /tmp/system.img mnt

  ll /mnt

  umount /mnt

  刻錄光盤:cdrecord

  檢測刻錄機所在位置:

  cdrecord -scanbus dev=ATA

  進行CD的刻錄操作:

  先抹除光盤的原始內容:(非可重複讀寫則可略過此步驟)

  cdrecord -v DEV=ATA:1,1,0 blank=fast

  開始刻錄:

  cdrecord -v dev=ATA:1,1,0 fs=8m -dumy -data /tmp/system.img

  刻錄完畢後,測試掛載:

  mount -t iso9660 /dev/cdrom /mnt

  df -h /mnt

  ll /mnt

  umount /mnt

  進行DVD-RW的刻錄操作:

  先抹除原本內容:

  cdrecord -v dev=ATA:1,1,0 blank=fast

  開始寫入DVD,請注意,有些參數與CD不同:

  cdrecord -v dev=ATA:1,1,0 fs=8m -data -sao driveropts=burnfree /tmp/system.img

  掛載測試:

  mount /dev/cdrom /mnt

  df -h /mnt

  umount /mnt

  其他常用的壓縮與備份工具:

  dd:

  將/etc/passwd 備份到 /tmp/passwd.back當中:

  dd if=/etc/passwd of=/tmp/passwd.back

  ll /etc/passwd /tmp/passwd.back

  將磁盤第一個扇區備份下來:

  dd if=/dev/hdc if=/tmp/mbr.back bs=512 count=1

  找出最小的分區,並備份:

  df -h

  dd if=/dev/hdcl of=/tmp/boot.whole.disk

  ll -h /tmp/boot.whole.disk

  cpio:

  將/boot下的文件備份到/tmp/boot.cpio:

  find /boot -print

  find /boot | cpio -ocvB > /tmp/boot.cpio

  ll -h /tmp/boot.cpio

  將剛才的文件在/root/目錄下解開:

  cd /root

  cpio -idvc < /tmp/boot.cpio

  ll -h /root/boot.cpio

我要分享:
版權信息

Copyright @ 2011 係統粉 版權聲明 最新發布內容 網站導航