文件系统:
rootfs: 根文件系统
FHS: Linux
/boot: 系统启动相关文件,如内核、initrd,以及grub(bootloader)
/dev: 设备文件
设备文件:
块设备: 随机访问,数据块
字符设备: 线性访问,按字符为单位
设备号: 主设备号(major)和次设备号(minor)
/etc: 配置文件
/home: 用户的家目录,每一个用户的家目录通常默认为/home/USERNAME
/root: 管理员的家目录
/lib: 库文件
静态库, .a
动态库, .dll,.so(shared object)
/lib/modules: 内核模块文件
/media: 挂载点目录,通常挂载移动设备
/mnt: 挂载额外的临时文件系统
/opt: 可选目录,早期用于安装第三方软件
/proc: 伪文件系统,内核映射文件
/sys: 伪文件系统,跟硬件设备相关的属性映射文件
/tmp: 临时文件, /var/tmp
/var: 可变化的文件
/bin: 可执行文件,用户命令
/sbin: 管理命令
/usr: 全局的共享只读文件
/usr/bin
/usr/sbin
/usr/lib
/usr/local:
/usr/local/bin
/usr/local/sbin
/usr/local/lib
文件命名规则:
1、长度不能超过255个字符
2、不能使用 "/" 作为文件名
3、严格区分大小写
目录管理:
ls
cd
pwd
tree: 查看目录树
mkdir: 创建空目录
-p: 递归创建
-v: 显示详细信息
rmdir: 删除空目录
-p: 递归删除空目录,单分支
-v:
list:ls
列出,列表 列出指定路径下的文件
-l: 长格式显示完整信息
文件类型:
-: 普通文件(f)
d: 目录文件
b: 块设备文件(block)
c: 字符设备文件(character)
l: 符号链接文件(symbolic link file)
p: 命令管道文件(pipe)
s: 套接字文件(socket)
文件权限: 9位,每3位一组,每一组: rwx(读,写,执行),r--
文件硬链接的次数
文件的属主(owner)
文件的属组(group)
文件大小(size),默认单位是字节
时间戳(timestamp): 最近一次被修改的时间
访问:access
修改:modify,文件内容发生了改变
改变:change,metadata,元数据
-h: 单位转换
-a: 显示以.开头的隐藏文件
. 表示当前目录
.. 表示上级目录
-A:
-d: 显示目录自身属性
-i: index node,inode (索引节点)
-r: desc 排序
-R: 递归(recursive)显示
cd: change directory
cd ~username : 进入用户的家目录
cd - : 在当前目录和前一次所在目录之间来回切换
文件管理:
file: 显示文件类型
stat: 查看文件的详细状态
touch: 创建空文件
-a: 只改变访问时间
-m: 只改变修改文件
-t: 指定时间戳 [[CC]YY]MMDDhhmm[.ss]
-c: 文件不存在时,不创建新文件
使用文件编辑器创建文件
nano
vi
vim
删除文件:
rm:
-r: 递归删除
-f: 不提示直接删除
-i: 交互式删除,提示
复制文件:(cp,install)
cp: copy ,复制一个文件到一个文件,复制多个文件到一个目录
cp source_file destination_file
-r: 递归复制,用于复制目录及目录下的文件
-f: 强行复制,覆盖,不提示
-i: 交互式
-p: 保留源文件的权限,属主,时间戳
-a: 归档,常用于备份
-L: 如果源文件是链接文件,则复制链接的源文件
-P: 复制的是链接文件,而不是链接的源文件
mv: move 移动文件
mv source_file destination_file
install -d directory ... : 创建目录
文件名的查找:
whereis [-bmsu] filename
-b: 只查找二进制文件
-m: 只在说明文件路径 manual 查找
-s: 只查找 source 源文件
-u: 查找不在上述三个选项当中的其他特殊文件
使用find 查找文件:
find [PATH] [option] [action]
find / -mtime 0 : 查找当前时间到24小时之内的文件
+4: 查找大于等于5天前的文件
-4: 查找小于等于4天内的文件
4 : 查找4~5天之间的文件
find /home -user root --查找root用户在/home目录下的所有文件
-nouser
-name filename --查找文件名为 filename 的文件
-size [+-]SIZE --查找比SIZE还要大或者小的文件(-size +50k)
-type TYPE --查找文件类型为 type 的文件
-perm mode --查找等于mode的文件
-perm +mode --查找必须包含全部mode的文件,大于mode
-perm -mode --查找包含任一 mode 的文件
文本管理:
查看文本:
cat:
-n: 显示行号
-E: 显示行尾符
tac: cat逆序
more: 向后翻
less:
/字符串 向下查询字符串
?字符串 向上查询字符串,less可用
space 向下翻页
b 向上翻页
head:
head -n 20 filename 查看文件头部20行
head -n -100 filename 不显示最后100行
tail:
tail -n 20 filename 查看文件尾部20行
tail -n +100 filename 不显示头部100行
-f: 查看文件尾部,不退出,等待显示后续追加至此文件的新内容
文本处理:
cut:
-d: 指定分隔符,默认为空格
-f: 指定要显示的字段
-f1,3 :显示第1,第2两个字段
-f1-3 :显示第1至第3 三个字段
文本排序:
sort: 默认asc排序
-n: 按照数值排序
-r: desc
-t: 指定分隔符
-k: 以哪个字段为排序标准
-u: 去除重复项目,只显示一次
-f: 忽略大小写
[[email protected] ~]# sort -t: -k3 -nr /etc/passwd
uniq:
-c: 显示文件中行重复的次数
-d: 只显示重复的行
文本统计:
wc: word count
-l: 只显示行数
-w: 只显示单词数
-c: 只显示字节数
-m: 只显示字符数
-L: 最长的一行包含多少字符
字符处理:
tr: 用于转换或删除字符
tr [OPTION]... SET1 [SET2]
[[email protected] ~]# echo "aaaahsdf"|tr ‘a-z‘ ‘A-Z‘
AAAAHSDF
-d: 删除字符
[[email protected] ~]# echo "aaaahsdf"|tr ‘a‘ -d
----hsdf