file命令极其用法

 

Windows PE

Linux ELF

 

 

文件系统:

rootfs根文件系统

 

FHS Linux

 

/boot系统启动相关的文件,如内核、 initrd以及grubbootloader

/dev设备文件

设备文件:

块设备:随机访问,数据块 

字符设备:线性访问,按字符为单位

设备号:主设备号(major)和此设备号(minor

/etc配置文件

/home用户的家目录,每一个用户的家目录通常默认为/home/USERNAME/

/root管理员的家目录

/lib库文件

/lib/modules内核模块文件

静态库,.a

动态库,.dll,.so(shared object)

/media挂载点目录,移动设备

/mnt挂载点目录,额外的临时文件

/opt可选目录,第三方程序的安装目录

/proc伪文件系统,内核映射文件

/sys伪文件系统,跟硬件设备相关的属性映射

/tmp临时文件, /var/tmp/

/var可变化的文件

/bin binary可执行文件,用户命令

/sbin管理命令

 

/usr universal shared read-only存放全局的共享的只读文件

/usr/bin

/usr/sbin

/usr/lib

 

/usr/local 

/usr/local/bin

/usr/local/sbin

/usr/local/lib

 

命名规则:

1长度不能超过255个字符;

2不能使用/当文件名;

3严格区分大小写

 

相对路径:

绝对路径:

 

 

 

文件管理

 

 

目录管理

ls

cd

pwd

 

mkdir创建空目录

-p创建不存在的文件夹的父目录

-v verbose

 

/root/x/y/z

 

/mnt/test/x/m,y

mkdir -pv /mnt/test/x/m/mnt/test/y

mkdir -pv/mnt/test/{x/m,y}

 

~USERNAME展开

{}展开

命令行展开:mkdir -pv /mnt/test/{x/m,y}

 

/mnt/test2/

a_b, a_c, d_b, d_c

 

mkdir -pv/mnt/test2/{a,d}_{b,c}

 

tree [/root]查看文件夹结构

 

删除目录: rmdir

-p 

 

文件创建和删除:

# touch

-a

-m

-t

-c

 

# stat FILENAME查看文件时间状态

 

创建文件,可以使用文件编辑器

 

ASCII 

128个字符:

二进制:


ASCII码表:

0000 1001 t

 

标准: 

 

nano

 

删除文件: rm

-i interactive交互删除

-f force强制,不提示

-r -R递归删除

 

rm -rf /

 

创建目录

1)在/mnt下创建bootsysroot

2)在/mnt/boot下创建grub

3)在/mnt/sysroot下创建proc, sys, bin, sbin, lib, usr, var, etc, dev,home, root, tmp

a)在/mnt/sysroot/usr下创建bin, sbin, lib

b)在/mnt/sysroot/lib下创建modules

c)在/mnt/sysroot/var下创建run, log, lock

d)在/mnt/sysroot/etc下创建init.d

 

 

复制和移动文件

cp copy

cp SRC DEST

-r

-i

-f

-p保留之前文件的属性

-a归档复制,常用于备份

 

 


cp file1 file2 file3

一个文件到一个文件

多个文件到一个目录

cp/etc/{passwd,inittab,rc.d/rc.sysinit} /tmp/

 

 

mv move移动文件

mv SRC DEST

 

mv -t DEST SRC使用-t选项

 

install

-d DIRECTORY ...创建目录

SRC DEST

install -t DIRECTORYSRC...

 

Gentoo, LFS(Linux From Scratch)


目录管理:

ls、 cd、 pwd、 mkdir、 rmdir、 tree、 install


文件管理:

touch、 stat、 file、 rm、  cp、 mv、nano、 install


日期时间:

date、 clock、 hwclock、 cal


查看文本:

cat、 tac、 more、 less、 head、 tail


cat: 连接并显示

-n: number

-E: 显示行尾$符


tac: 方向显示

Ctrl+c: 终止信号



分屏显示:

more、 less


more: 支持向后翻屏

less: 和man操作相同,space, b, k, enter操作; 推出q


head:查看前n行

tail: 查看后n行

-n: 指定查看多少行

-f: 查看文件尾部,不退出,等待显示后续追加的新内容


文本处理:

cut、 join、 sed、 awk、


cut:

-d: 指定字段分隔符,默认是空格

-f:field,指定要显示的字段

-f 1,3: 1和3

-f 1-3: 1到3


cut -d: -f 1,7 /etc/passwd

cut -d: -f 1-3 /etc/passwd


sort: 文本排序

-n: 数值排序

-r: 降序排序

-t: 字段分隔符

-k: 以哪个字段开始作为比较对象

-u: 相同的行只显示一次(uniqe)

-f: 忽略字符大小写

uniq: 显示重复行

-c: 显示重复行次数(count)

-d: 只显示重复行

-D: 将重复的行全都显示出来


wc: word count(文本统计),顺序显示出 行数, 单词数, 字节数

-l: line,只显示行数

-w: 只显示单词数

-c: 只显示字节数

-L: 最长的一行包含多少个字节数


字符处理命令: tr, 转换或删除字符

tr [OPTION]... SET1 [SET2]

-d: 删除出现在字符集中的所有字符


tr cd CD < /etc/passwd