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

上半节课

mkdir
rm
touch
误删文件用extundelete

cp
mv
cat
more
less 分页器
head
tail

下半节课

文件类型
9位权限
一个inode对应一个文件,小文件多inode占用多
目录硬链接数:ls -la |grep "^d" |wc -l
chown
chmod
umask

mkdir   -p

创建多个目录
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

cp

拷文件 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最后一行

pageup

pagedown

/ 搜索

n 搜索中下翻

shift+n 搜索中上翻

q 退出

head

head -n

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

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


文件类型

- 普通文件
d 目录文件
b 块设备文件  随机分配  无顺序的 随机读写
c 字符设备文件  有顺序的  顺序读写
s 套接字文件
l 软链接文件
p 管道文件

硬链接文件没有符号表示

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

权限

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

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

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

目录存文件名

inode存
文件大小
文件时间
属性

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

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

统计一个目录的硬链接数

ls -la |grep "^d" |wc -l
cd /
ll -d /root/

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

chown

改属主 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 .txt  ==chmod a+x .txt

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权限本来就没有


统计文件夹下文件的个数
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 第四节课的更多相关文章

  1. centos MySQL主从配置 ntsysv chkconfig setup命令 配置MySQL 主从 子shell MySQL备份 kill命令 pid文件 discuz!论坛数据库读写分离 双主搭建 mysql.history 第二十九节课

    centos  MySQL主从配置 ntsysv   chkconfig  setup命令  配置MySQL 主从 子shell  MySQL备份  kill命令  pid文件  discuz!论坛数 ...

  2. centos Linux系统日常管理1 cpuinfo cpu核数 命令 w, vmstat, uptime ,top ,kill ,ps ,free,netstat ,sar, ulimit ,lsof ,pidof 第十四节课

    centos Linux系统日常管理1  cpuinfo cpu核数   命令 w, vmstat, uptime ,top ,kill ,ps ,free,netstat ,sar, ulimit ...

  3. 风炫安全web安全学习第三十四节课 文件包含漏洞防御

    风炫安全web安全学习第三十四节课 文件包含漏洞防御 文件包含防御 在功能设计上不要把文件包含的对应文件放到前台去操作 过滤各种../,https://, http:// 配置php.ini文件 al ...

  4. Ubuntu中恢复rm命令误删文件(转)

    计算机系统:Ubuntu 16.04 1 背景 在做项目的时候,本来想使用rm命令删除以14开头的文件,结果写成如下形式: rm 14 * 注意,本来14和*之间不应该有空格的,但是误写了一个空格,结 ...

  5. Ubuntu 16.04使用rm -rf误删文件恢复方法收集

    说明:不一定有效,需要不断尝试 一.lsof 文件刚刚被删除,想要恢复,先尝试lsof. lsof |grep data.file1 cp /proc/xxx/xxx/xx /dir/data.fil ...

  6. ubuntu中恢复rm命令误删文件

    步骤: 1.对于文件系统为ext3文件系统 使用命令:sudo apt-get install ext3grep. 对于文件系统为ext4文件系统 使用sudo apt-get install ext ...

  7. ubuntu恢复rm -rf误删文件

    使用extundelete工具 sudo apt-get install extundelete 恢复操作命令 首先需要umount或者read only 分区  umount /dev/partit ...

  8. 文件系统、mkdir、touch、nano、cp笔记

    文件系统:rootfs: 根文件系统 FHS:Linux发行版目录层级遵循协议 /boot: 系统启动相关的文件,如内核.initrd,以及grub(bootloader)引导加载器/dev: 设备文 ...

  9. linux基本命令之文件浏览(cat,more,less,tail,head),文件操作命令(cp,mv,rm,find)

    linux文件浏览,文件操作命令 文件管理之文件浏览命令 1.cat命令:显示文本文件所有内容 格式:cat 文件名 适用场景:适合只有少量数据的文件,例如只有几行内容的可以使用此命令. 2.more ...

随机推荐

  1. 【ML】概率图模型

    http://wenku.baidu.com/link?url=-Fa32JAnvwS8fyWgdPjYLNGvmor42lWCT6N7TehNQAnx4ZVmJtC0L0SgnaLtEFMB9Gzw ...

  2. Java类的设计----多态性及其应用

    多态性及其应用 多态性 多态—在Java中,子类的对象可以替代父类的对象使用一个变量只能有一种确定的数据类型一个引用类型变量可能指向(引用)多种不同类型的对象 Person p = new Stude ...

  3. 2014年王道论坛研究生机试练习赛(一) set 1 GrassLand密码

    题目 根据手机按键上的对应关系将字母转成数字, 简单模拟题 总结 1. scanf("%s", input); 不需要加上 & 2. 字符串的终结符是 '\0' 3. sc ...

  4. Mac普通用户修改了/etc/sudoers文件的解决办法

    1.开启 Root 账户 打开“系统偏好设置”,进入“用户与群组”面板,记得把面板左下角的小锁打开,然后选择面板里的“登录选项”.在面板右边你会看到“网络账户服务 器”,点击它旁边的“加入…”按钮,再 ...

  5. docker images 详解

    docker images 用于查看本地已下载的镜像 [root@localhost ~]$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE ce ...

  6. 64位ubuntu下用code::blocks IDE配置opengl开发环境

    http://jingyan.baidu.com/article/c74d60007d104f0f6b595d6d.html 样例程序: #include <GL/glut.h> #inc ...

  7. xdebug和最重要的php调试技巧

    好几年没有写PHP代码了,最近写了一些.我比较厌烦php,主要是调试麻烦,要按无数次F5,经常刷出空白. 以前调试总是依赖于在代码中加入下面两行 error_reporting(E_ALL ^ E_N ...

  8. Android之ListView分页数据加载

    1.效果如下: 实例如下:  上图的添加数据按钮可以换成一个进度条  因为没有数据所以我加了一个按钮添加到数据库用于测试:一般在服务器拉去数据需要一定的时间,所以可以弄个进度条来提示用户: 点击加载按 ...

  9. LeetCode——Intersection of Two Linked Lists

    Description: Write a program to find the node at which the intersection of two singly linked lists b ...

  10. ubuntu android studio kvm

    Android studio 启动模拟器失败: Cannot launch AVD in emulator.Output:emulator: ERROR: x86 emulation currentl ...