目录

鸟哥linux


第六章 linux 文件与目录管理

1 PATH

 echo $PATH

1.1 查看文件内容

  1. cat 由第一行开始显示文件内容
  2. tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
  3. nl 显示的时候,顺道输出行号!
  4. more 一页一页的显示文件内容
  5. less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
  6. head 只看头几行
  7. tail 只看尾巴几行
  8. od 以二进制的方式读取文件内容!

1.2 文件预设权限:umask

umask 就是指定 『目前用户在建立文件或目录时候的权限默认值』

umask
umask -S

1.3 文件隐藏属性

lsattr

1.4 文件特殊属性

SUID

SGID

SBIT

4 为 SUID 2 为 SGID 1 为 SBIT

1.5 观察文件类型

file

1.6 脚本文件名的搜寻

指令的完整文件名

which ifconfig

1.7 文件档名的搜寻

whereis ifconfig
列出 locate 查询所使用的数据库文件之文件名与各数据数量
locate -S

找出系统中所有与 passwd 相关的档名,且只列出 5locate -l 5 passwd

updatedb:根据 /etc/updatedb.conf 的设定去搜寻系统硬盘内的文件名,并更新 /var/lib/mlocate 内的数据库 文件; locate:依据 /var/lib/mlocate 内的数据库记载,找出用户输入的关键词文件名。

find

重点:时间参数 -mtime n :n 为数字,意义为在 n 天之前的『一天之内』被更动过内容的文件; -mtime +n :列出在 n 天之前(不含 n 天本身)被更动过内容的文件档名; -mtime -n :列出在 n 天之内(含 n 天本身)被更动过内容的文件档名。 -newer file :file 为一个存在的文件,列出比 file 还要新的文件档名

# 将过去系统上面 24 小时内有更动过内容 (mtime) 的文件列出
find / -mtime 0
# 找出档名为 passwd 这个文件
find / -name passwd
# 找出文件名包含了 passwd 这个关键词的文件
find / -name "*passwd*"
# 找出 /run 目录下,文件类型为 Socket 有哪些?
find /run -type s
# 搜寻文件当中含有 SGID 或 SUID 或 SBIT 的属性
find / -perm /7000

第七章 linux 磁盘与文件系统

2 认识 linux 文件系统

# 查看文件系统
dumpe2fs /dev/vda1

# df:列出文件系统的整体磁盘使用量;
# du:评估文件系统的磁盘使用量(常用在推估目录所占容量)

# 找出系统 /boot 这个挂载点底下的文件系统的 superblock 纪录
df -T /boot

# 检查根目录底下每个目录所占用的容量
du -sm /*

利用 dumpe2fs 可以查询到非常多的信息,不过依内容主要可以区分为上半部是 superblock 内容, 下半部则是每个 block group 的信息

# 实体链接与符号链接
# ln [-sf] 来源文件 目标文件

# 将 /tmp/passwd 制作 hard link 成为 passwd-hd 文件,并观察文件与容量
ln passwd passwd-hd
du -sb ; df -i .

# lsblk (list block device)列出系统上的所有磁盘列表
lsblk

# blkid 列出装置的 UUID 等参数
blkid

# parted 列出磁盘的分区表类型与分区信息
parted /dev/vda print

# gdisk 新增分区槽
gdisk /dev/vda

第八章 文件与文件系统的压缩,打包与备份

在 Linux 的环境中,压缩文件案的扩展名大多是: _.tar, _.tar.gz, _.tgz, _.gz, _.Z, _.bz2, _.xz

3 压缩指令

gzip(zcat/zmore/zless/zgrep)

# gzip [-cdtv] 文件名

bzip2(bzcat/bzmore/bzless/bzgrep)

# bzip2 [-cdkzv] 文件名

xz(xzcat/xzmore/xzless/xzgrep)

# xz [-dtlkc] 文件名

4 打包指令

tar

选项与参数: -c :建立打包文件,可搭配 -v 来察看过程中被打包的档名(filename) -t :察看打包文件的内容含有哪些档名,重点在察看『档名』就是了; -x :解打包或解压缩的功能,可以搭配 -C (大写) 在特定目录解开 特别留意的是, -c, -t, -x 不可同时出现在一串指令列中。 -z :透过 gzip 的支持进行压缩/解压缩:此时档名最好为 _.tar.gz -j :透过 bzip2 的支持进行压缩/解压缩:此时档名最好为 _.tar.bz2 -J :透过 xz 的支持进行压缩/解压缩:此时档名最好为 *.tar.xz <==察看檔名 <==解压缩 特别留意, -z, -j, -J 不可以同时出现在一串指令列中 -v :在压缩/解压缩的过程中,将正在处理的文件名显示出来! -f filename:-f 后面要立刻接要被处理的档名!建议 -f 单独写一个选项啰!(比较不会忘记) -C 目录 :这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。 其他后续练习会使用到的选项介绍: -p(小写) :保留备份数据的原本权限与属性,常用于备份(-c)重要的配置文件 -P(大写) :保留绝对路径,亦即允许备份数据中含有根目录存在之意; –exclude=FILE:在压缩的过程中,不要将 FILE 打包!

其实最简单的使用 tar 就只要记忆底下的方式即可:

压 缩:tar -jcv -f filename.tar.bz2 要被压缩的文件或目录名称
查 询:tar -jtv -f filename.tar.bz2
解压缩:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录

5 备份

xfsdump 备份完整的文件系统

xfsrestore XFS 文件系统还原

# 将完整备份的文件名记录成为 /srv/boot.dump :
xfsdump -l 0 -L boot_all -M boot_all -f /srv/boot.dump /boot

# xfsrestore [-f 备份文件] -i 待复原目录
xfsrestore -f /srv/boot.dump -L boot_all /boot