微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

DAY4:CentOS6.8及7的文件系统2

7月27号,马哥学习第四天,继续学习了linux的文件系统。

  • centos7的目录结构如下图所示

wKiom1eaEGzymuVWAAEjtQ8sOp8925.jpg-wh_50


wKiom1ebTWHhy_C4AACVrA9FwmU804.jpg

  • stat 查看文件状态(包括元数据)

  • echo $[$RANDOM%80] 随机显示一个80以内的数

  • rm /root/-h -f绝对路径的方式删除-h文件

  • echo "- - -" > /sys/class/scsi_host2/scan 发现新添加的硬盘

  • /dev/sdb 块设备

  • 文件中写入数据:

    dd if=读取路径 of=输出路径 bs=1M count=块数

  • hexdump -C f3.txt 读取二进制代码

    -v 全显示包括空格的代码

    -c 转换过后的代码(如换行符显示为\n)

    (windows的回车键比linux多一个控制符od)

  • hexedit f3.txt 编辑二进制代码

    安装hexedit:

    rpm -i /run/media/root/CentOS\ 7\ x86_64/Packages/hexedit-1.2.13-5.el7.x86_64.rpm

  • 相对路径不一定是相对于当前路径

    绝对路径(以/开始) 比如 /etc/sysconfig/network

    相对路径(不以/开始) 比如 sysconfig]# ./network 和sysconfig]# network

    . 表示当前路径 ..表示当前路径的上一级路径

    sysconfig]# ../issue

  • cd 绝对路径或相对路径

    cd - 到以前的工作目录

    cd=cd~ 切到主目录

    cd ..到上一级目录

    cd~wang 切换到wang的工作目录

  • 提高远程连接的速度:

    vim /etc/ssh/sshd_config

    将UsednS yes改为no

  • 列出当前目录的内容或指定目录 :ls [options] [files_or_dirs]
    ls -a 包含隐藏文件
    ls -l 显示额外的信息
    ls -R 目录递归通过
    ls -ld 目录和符号链接信息
    ls -1 文件分行显示
    ls �S 按从大到小排序
    ls �u 配合-t选项,显示并按atime从新到旧排序
    ls -r 逆序显示

    ls �U 不排序按目录存放顺序显示
    ll f[a-c]* 显示a到c之间的字母开头的文件,顺序为aAbBc

    ll f[[:lower]]* 显示所有小写字母开头的文件

    ll --block-size=MB 功能同 ll -h (文件大小按照MB显示

  • 文件通配

    * 匹配零个或多个字符

    ? 匹配任何单个字符
    ~ 当前用户家目录

    ~username 用户家目录

    ~+ 当前工作目录

    ~- 前一个工作目录

    [0-9] 匹配一个数字范围

    [a-z]:大写和小写字母

    [wxc] 匹配列表中的任何的一个字符
    [^wxc] 匹配列表中的所有字符以外的字符
    [:digit:]:任意数字,相当于0-9

    [:lower:]:任意小写字母

    [:upper:]: 任意大写字母

    [:alpha:]: 任意大小写字母

    [:alnum:]:任意数字或字母

    [:space:]:空格

    [:punct:]:标点符号

  • touch可以生成文件,也可以刷新时间

    -c: 如果文件不存在,则不予创建

    -a: 仅改变 atime

    -m: 仅改变 mtime

    -t:STAMP: -a: 仅改变 atime -m: 仅改变 mtime -t:STAMP:

  • 三个时间戳(可用stat查看)

    atime 读取文件内容(cat)时 atime变化(centos6和7中得满足如下一种条件才改变:1距离上次改变已经一天以上,2atime比mtime早)

    mtime 修改文件内容(数据)时 mtime改变

    ctime 修改文件元数据(文件名等)时 ctime改变

  • 复制文件和目录cp

    cp [OPTION]... [-T] SOURCE DEST

    cp [OPTION]... SOURCE... DIRECTORY

    -r,-R: 递归复制目录及内部的所有内容

    -a: 归档,相当于-dR --preserv=all

    -p: 等同--preserv=mode,ownership,timestamp

    -v: --verbose

    -f: --force

wKioL1ebVRSiClBCAAM54_esSlI997.jpg

  • 移动和重命名文件

    mv [OPTION]... [-T] SOURCE DEST

    mv [OPTION]... SOURCE... DIRECTORY
    -f 强制

  • 删除

    rm [OPTION]... FILE...

    -f: 强制删除

    -r: 递归

    --no-preserve-root

  • 目录操作

    tree 显示目录

    -d: 只显示目录

    -L level:指定显示的层级数目

    -P pattern: 只显示由指定pattern匹配到的路径

    mkdir 创建目录

    -p: 存在于不报错,且可自动创建所需的各目录;

    -v: 显示详细信息

    -m MODE: 创建目录时直接指定权限;
    rmdir 删除空目录

练习题

1、只显示指定目录的隐藏目录和文件

ls .[^.]*


2、只显示指定目录下的目录(不显示文件

ls -d /etc/*/

ls -d ./*/

tree -d


3、显示/var目录下所有以l开头,以一个小写字母结尾,且中 间出现至少一位数字的文件或目录

ls /var/l*[0-9]*[[:lower:]]


4、显示/etc目录下以任意一位数字开头,且以非数字结尾的 文件或目录

ls /etc/[0-9]*[^0-9]

5、显示/etc/目录下以非字母开头,后面跟了一个字母及其 它任意长度任意字符的文件或目录

ls /etc/[^[:alpha:]][[:alpha:]]*


6、显示/etc目录下所有以m开头以非数字结尾的文件或目录
ls -d /etc/m*[^0-9]


7、显示/etc目录下,所有以.d结尾的文件或目录
ls -d /etc/*.d


8、显示/etc目录下,所有.conf结尾,且以m,n,r,p开头的文 件或目录

ls -d /etc/[mnrp]*.conf


9、使用别名命令,每日将/etc/目录下所有文件, 备份到/testdir/下独立的新目录下,并要求新目录 格式为 backupYYYY-mm-dd ,备份过程可见

alias cp1='cp -rpv /etc/ /testdir/backup`date +%F`'

cp1回车


10、先创建/testdir/rootdir目录,再复制/root所有 下文件到该目录内,并要求保留原有权限

cp -rp /root/ /testdir/rootdir/


11、如何创建/testdir/dir1/x,/testdir/dir1/y,/testdir/dir1/x/a,/testdir/dir1/x/b,/testdir/dir1/y/a,/testdir/dir1/y/b

mkdir /testdir/dir1/{x,y}{/a,/b}


12、如何创建/testdir/dir2/x,/testdir/dir2/y,/testdir/dir2/x/a,/testdir/dir2/x/b

mkdir -pv /testdir/dir2/{x/{a,b},y}


13如何创建/testdir/dir3,/testdir/dir4,/testdir/dir5,/testdir/dir5/dir3,/testdir/dir5/dir4

mkdir -pv /testdir/dir{3,4,5/dir{3,4}}

shipping version 提交版本

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。