/
/boot
/bin
/sbin
/lib.modules
/lib64
/etc/redhat-release
/etc/centos-release
/home/zczx
/mnt
/media
/misc
/proc/meminfo
/proc/cpuinfo
/proc/partition
/sya
/opt
/tmp
/usr/local/
/usr/share/man
/usr/share/doc
/usr/share/dict
/var/log/
/var/www
/var/ftp
/var
/dev/
sda,sda1
/dev/null
/dve/zero
/dve/random
/dve/tty
/srv
/root
文件通配符
* 匹配零个或多个字符
? 匹配任何单个字符
~ 当前用户家目录
~+ 当前工作目录
~- 前一个工作目录
[:digit:]任意数字,相当于0-9
[:lower:]任意小写字母
[:upper:]任意大写字母
[:alpha:]任意大小写字母
[:alnum:]任意数字或字母
[:space:]空格
[:punct:]标点符号
ls /var/l*[[:digit:]]*[[:lower:]]
ls -d /etc/[0-9]*[^0-9]
ls -da /etc/*.d
ls -da [nmrp]*.conf
touch命令
-a 改变atime
-m 改变mtime
-c 如果文件存在就刷新时间,如果没有也不创造
-t
touch -d yesterday f2 f2文件昨天的时间,Ctime不改变
cp指令
单一文件,源文件复制在一个没有的目录,就会在生成一个以不存在目录为名字的复制文件。
复制目录有同一样名字的文件,root用户提示你是否覆盖,普通用户不提示,因为root 使用的是别名 cp -i
cp -n 如果有相同的文件则不覆盖
多个源文件cp必须到真实存在的目录
目录要使用-r选项
-i: 交互式
-r,-R:递归复制目录及内部的所有内容
-a:归档,-dR--preserv=all
-d:不复制原文件,只复制连接名
--preserv
mode: 权限
ownership:属主属组
timestamp:时间
all:所有保留
links
xattr
context
all
-p:等同--preserv=mode,ownership,timestamp
-V:备份过程可见
cp --preserv=mode -R
alias
更改之后永久有效要放在配置文件中
仅对当前用户:~/.bashrc
对所有用户都有效:~/etc/bashrc
移动和重名名文件
mv core.3106 /testdir/
-i:询问你是否移动
-f:强制移动
rm
-f:强制删除
-r:递归(一个一个删除)
root 用户删除会询问你是否删除
普通用户只会直接删除
#rm -rf / 7版本之后是会提示你操作危险
7版本之后要使用 rm -rf /*
tree 目录树
-d: 只显示目录
-L level: 指定显示的层级数目
-p pattern: 只显示指定pattern匹配到的路径
mkdir 创建目录
-p:存在于不报错,且可以制动创建所需的各目录;
rmdir 删除空目录
ls -i
inode 号
在一个分区中节点号是唯一的,在不同的分区中可以节点号相同。
df -i 可以查看各分区的inode 号的多少
df 看各分区的容量
ln 链接
ln aa bb 硬链接aa到bb ,inode号相同,文件内容大小相同,修改也相同。
如果删除其中一个,另外一个还存在。如果都删去,则数据块数据还能存在,但如果有新的数据写入,就会删除旧的数据,加入一个新的链接可以还原出旧的数据。
数据分为:元数据 (放在inode table),数据内容(放在block 数据快)
inode (index node)不表中包含文件系统所有文件列表
一个节点是在一个表项,包含有关文件的信息(元数据),包括:
文件类型,权限,UID,GID
连接数目(指向这个文件名路径名称个数)
该文件的大小和不同的时间戳
指向磁盘上文件的数据块指针
有关文件的其他数据
每一个分区都有一个 inode table
inode entrv 条目 每一条记录里面都记录了元数据的数据块的指针共有12个直接指针,最后指针指向数据,一共12X4K=48K
block 大小为4K 每一条指针都指向一个文件块
双重指针 :在第13个直接指针中指向一个文件块,每一个文件块里面有1024个指针,最后指针指向数据,一个指针4K。
一重指针:1024X4K= 4M
三重指针:在第13个直接指针所指向的文件块中,1024个文件块指针在分别再指向1024个文件块,最后指针指向数据,里面的指针还是4K。
二重指针: 1024X1024X4K= 4G
三重指针: 1024X1024X1024X4K= 4T
隔离多少层到数据就是多少层指针,都叫间接指针。
硬链接不能跨分区,硬链接不能连目录,但是文件目录可以增加链接数目,每个子目录下都有一个.. 和本身目下有一个.
-s 进行软链结(symbolic link)
ln -s f1 f2
ll f1 f2
f2软链接到f1
软连接跨分区要写明软连接的路径
原始文件相对路径:相对于软连接文件的路径,而不是相对于当前工作目录的路径
ln -sv /root/f1 testdir/f111
原始文件的路径 软链接
file 检查文件类型,确定文件内容
file -b Desktop/ 列出文件辨识结果,不显示文件名称
-c 详细显示指令执行过程,便于排错或分析
-f 列出文件中文件名的文件类型
-F使用指定分隔符号替换输出文件名后默认的“:”分隔符号
-i 输出mime类型的字符串
-L 查看对应软链接对应文件类型
-z 尝试去解读压缩文件的内容
--help 显示命令在线帮助
标准I/O和管道
程序:命令+数据
读入数据:Input
输出数据:Output
打开的文件都有一个fd
Linux给程序提供三种I/O设备
标准输入 -0 默认来自键盘的输入
标准输出 -1 默认输出到终端窗口
标准错误 -2 默认输出到终端窗口、
重定向:
ls > /dve/pts/2 将显示输出到pts2的终端中
ls > ls.log 将显示的输出保存到ls.log文件中
>> f 追加不覆盖
ls . /xxx > /testdir/fi 2> /testdir/f1
对的指令输出到fi 错的输出到f1
>>
set -C 禁止将内容覆盖已有文件,可以追加强制覆盖
set +C 允许覆盖
ll /dve/null
ls xx /testdir/ &> /tmp/all.log
ls xx /testdir/ 2>&1 / > /tmp/all.log
&>>
cat f1 ls.log >f3
将f1 和ls.log合拼放在f3
tr命令
tr-转换或删除字符
mail -s +用户名字 S表示标
. 用来mail的结束
本文出自 “zczx_展鸿” 博客,请务必保留此出处http://swzczx.blog.51cto.com/11767585/1831612
原文地址:http://swzczx.blog.51cto.com/11767585/1831612