当前位置首页 > CentOS知识

centos目录文件管理mkdir,rm,touch,误删文件extundelete,cp,mv,cat,more,less,h

阅读次数:347 次  来源:admin  发布时间:

centos 目录文件管理 mkdir,rm,touch,误删文件extundelete,cp,mv,cat,more,less ,head,tail,chown,chmod ,umask  第四节课

上半节课

mkdir

rm

touch

误删文件用extundelete

c

mv

cat

more

less 分页器

head

tail

下半节课

文件类型

9位权限

一个inode对应一个文件,小文件多inode占用多

目录硬链接数:ls -la |grep "^d" |wc -l

chow

chmod

umask

mkdir   -

创建多个目录

mkdir  12  34  56

mkdir   -m  文件权限set file mode (as in chmod),例如700

mkdir -m 700 -p pg_xact

创建多个目录 mkdir  12  34  56

/bin/rm :直接跳过alias,直接执行rm,不提示

touch :若文件存在,更改文件的三个time

rm -rf   删除文件,目录,非空目录  r针对目录  f强制删除

误删文件用extundelete,不要再写,inode和文件名还在

1、安装依赖包 yum install -y e2fsprogs*

2、下载并安装extundelete

c

拷文件 cp 12.log /tmp/1.txt 拷目录,加斜线/tmp/ cp -r 12 /tmp/

会不会覆盖,其实可以把目录当成一个文件 目标目录存在覆盖目录下的文件

-p 等于--preserve=模式,所有权,时间戳

-r --recursive 复制目录及目录内的所有项目

# touch 12/2.txt

# cp -r 12 /tmp/ cp:是否覆盖"/tmp/12/1.txt"? y

# ls /tmp 12

# ls /tmp/12 12 1.txt 2.txt

#/bin/cp -rp .*    /tmp/c/      //当前目录下的文件拷贝到/tmp/c/下

mv

改名 不用rename

mv 1.txt  2.txt

mv  2.txt  /tmp/

目标目录存在不能剪切,不能覆盖

[root@steven ~]# mv 12 /tmp/

mv:是否覆盖"/tmp/12"? y

mv: 无法将"12" 移动至"/tmp/12": 目录非空

需要将目标目录改名才能使用目标目录的目录名

mv bigdesk  bigdeskold

mv _si   bigdesk

cat -A  显示隐藏字符

less 分页器 几个快捷键:

j下翻

k上翻

g第一行

G最后一行

ageu

agedow

/ 搜索

搜索中下翻

hift+n 搜索中上翻

q 退出

head

head -

head -c  :显示文件前n个字节  head -c 20 log2014.log

tail

tail  -f  自动滚动要查看的文件

文件类型

- 普通文件

d 目录文件

块设备文件  随机分配  无顺序的 随机读写

c 字符设备文件  有顺序的  顺序读写

套接字文件

l 软链接文件

管道文件

硬链接文件没有符号表示

套接字文件 socket:运行两个进程进行通信,例如mysql,php,客户端和服务器端通信

centos目录文件管理mkdir,rm,touch,误删文件extundelete,cp,mv,cat,more,less,head,tail,chown,chmod,umask第四节课

权限

9位权限后面是+或.跟selinux和acl有关系

centos目录文件管理mkdir,rm,touch,误删文件extundelete,cp,mv,cat,more,less,head,tail,chown,chmod,umask第四节课

这个大小只是目录本身的大小,Linux不会自动帮你du -sh,需要你自己去du -sh统计整个目录以及子文件和子文件夹的大小

centos目录文件管理mkdir,rm,touch,误删文件extundelete,cp,mv,cat,more,less,head,tail,chown,chmod,umask第四节课

一个inode对应一个文件,ext4=inode+block

目录存文件名

inode存

文件大小

文件时间

属性

所以硬链接可以多个文件用同一个inode,文件名不一样,inode一样

目录不能做硬链接,因为目录包含了子目录和父目录

统计一个目录的硬链接数

ls -la |grep "^d" |wc -l

cd /

ll -d /root/

文件最后更改时间,当然你碰一下touch他,他的更改时间就会改变

centos目录文件管理mkdir,rm,touch,误删文件extundelete,cp,mv,cat,more,less,head,tail,chown,chmod,umask第四节课

chow

改属主 chown hua 2.txt

改属组 chown :hua 2.txt

属主属组一起改 chown hua:hua  test

递归修改目录和目录下的文件 chown -R hua:hua  test/

chmod

7=rwx

r=4

w=2

x=1

chomd 420  2.txt

chomd u+r g+r o+r 2.txt

chmod -R 777 study/

chmod a=all u=user  g=group o=other

chmod all+r

chmod +x 2.txt  ==chmod a+x 2.txt

umask

umask命令指定在建立文件时预设的权限掩码。

umask可用来设定[权限掩码]。[权限掩码]是由3个八进制的数字所组成,将现有的存取权限减掉权限掩码后,即可产生建立文件时预设的权限。

语法

umask [-S][权限掩码]
参数说明:
-S  以文字的方式来表示权限掩码语法

umask 0022   777-022  755       目录必须有x权限来打开目录  最大777

umask 0022   666-022  644       普通文件最大666

root  uid<199 umask 0022

非root uid>199 umask 0002

改umask

umask 001

666-001=666  因为x权限本来就没有

要永久设定umask,要在系统配置文件里写死umask代码

https://blog.csdn.net/qq_33571752/article/details/83826758

vim /etc/profile    ##系统

vim /etc/bashrc        ##shell

统计文件夹下文件的个数

ls -l | grep "^-" | wc -l

统计文件夹下目录的个数

ls -l | grep "^d" | wc -l

统计文件夹下文件个数,包括子文件

ls -lR | grep "^-" | wc -l

统计文件夹下目录个数,包括子目录

ls -lR | grep "^d" | wc -l

f

centos目录文件管理mkdir,rm,touch,误删文件extundelete,cp,mv,cat,more,less,head,tail,chown,chmod,umask第四节课

上一篇:Windows远程桌面Debian配置
下一篇:fedora下安装wine的方法