• linux文件目录管理



    文件或目录权限:
    ls-l
    rw- -r- r-- 可读r 4 可写w 2 可执行x 1
    所属者 所属组 其他用户
    chmod == change mode 改权限
    chmod 700 2.txt 改2.txt权限
    chmod 改的只是指定目录,子目录和其他目录不变
    chmod -R 连带指定目录下的子目录批量进行更改

    更改所有者和所著组:
    chown == change owner 更改所有者
    cat /etc/passwd 查看所有用户
    chown aming /tmp/yum.log 更改所有者为aming
    chgrp == change group 更改所属组
    chgrp user1 /tmp/yum.log 更改所属组为user1
    chown user1:aming /tmp/yum.log 更改所有者和所属组
    chown -R 连带子目录更改所有者

    umask:
    umask root 的值
    umask 002
    权限: root 022 文件 644 目录755
    root 002 文件 664 目录775
    目录777-002=755 文件 666-002=664
    umask 003 文件 664 目录 774

    隐藏权限lsattr_chattr:
    chattr 设置隐藏权限(文件,目录)
    chattr +i 1.txt
    vi 1.txt wq权限不足
    lsattr 1.txt 查看隐藏权限
    lsattr -R 查看目录下的子文件子目录的权限
    chattr +i 1.txt 加i权限 谁都无法更改文件
    chattr -i 1.txt 减去i权限 可更改
    chattr +a 只能在文件末尾追加
    chattr -a 去掉a权限

    软链接文件:
    ls -l /bin bin就是软连接文件,在usr下
    ln -s /root/123/1.txt /tmp/123/12/1.txt 做软链接
    (源文件) (放置位置,软链接)
    做软连接尽量使用绝对路径
    df -h 查看磁盘分区

    硬链接:
    创建一个文件,这个文件和另一个文件inode号一样,这两个文件相互为硬链接文件
    硬链接只支持对文件,不支持目录!不能跨分区,可删除
    ln 1.txt 1_heard.txt 1.txt的硬链接
    ln -s 1.txt 1_sorft.txt 1.txt的软连接

    find命令:
    which ls
    find /etc/ name "sshd*" 指定范围查找出带sshd文件或目录的路径
    find /etc/ -type d -name "sshd*" 查找带sshd的目录
    find /etc/ -type f -name "sshd*" 查找带sshd的文件
    .......
    start 2.txt 查看文件的具体信息
    find /dev/ -type -mtime -1 查找一天以内改动的文件
    +1 一天以前的

    ctime 信息 mtime 文件内容 atime 访问的时间
    find /etc/ -type f -mtime -1 -name"*.conf" 查找一天以内更改并名为.conf的文件
    find /etc/ -type f -o -mtime -1 -name"*.conf" 查找一天以内更改或者名为.conf的文件
    硬链接的文件不太好找:
    find / -inum 3324234(inode号)
    find /root/ -type f -mmin -60 查找一小时以内更改的文件
    120 两个小时的
    find /root/ -type f -mmin -120 -exec ls -l{} ;
    find的一个选项 {}代表列取出来的文件其中之一
    find /root/ -type f -mmin -120 -exec mv {} {}.bak ;

    find /root/ -type f size -10k -exec ls -lh {} ;
    查找小于10k的文件

    文件名后缀:
    linux下文件名后缀不能代表文件的类型
    linux和windows互传文件:
    只支持xshell
    yum install -y lrzsz
    sz a.txt 放到windows上
    rz 从windows上拿文件


    文件类型:
    find / 查看指定文件
    d 目录 - 普通文件,文件文档,二进制文件
    c 字符串设备 b 光驱光盘 l 软连接文件


    alias命令:
    ls ll 的别名 which ls which ll
    which 查看原命令,查看命令所在路径
    alias 查看哪些命令都有别名
    PATH 环境变量
    ehco $PACH
    定一个命令: alias aming='ls-lha' (定义)
    which aming (查看是否存在)
    unalias aming(删除自定义命令)
    which aming (再查看)

    相对和绝对路径:
    路径:从/开始的一个路径(文件位置)
    绝对路径:从/ 开始的路径
    相对路径:不是从/开始的路径,从当前位置开始的路径
    pwd 显示当前路径
    cd= change directory

    CD命令:

    cd - 进入上一次的目录
    cd 直接回到用户的家目录
    cd~ 同上
    cd..进入上一级目录
    man cd 查看cd的用法

    创建和删除目录:
    mkdir = make directory
    mkdir /tmp/xiong 创建目录
    mkdir -p /tmp/xiong/1/2 同时创建多个目录
    mkdir -p /tmp/xiong/1/2 可视化,能看见创建过程

    rmdir == remove directory
    rmdir 只能删除空目录
    touch 创建空白文件
    rmdir -p 可删除一系列空目录


    rm命令:
    rm /tmp/xiong/1/2/1.txt 删除文件(询问)
    rm /tmp/xiong/1/2/*.txt 通配符,表示目录下的所有文件
    rm -f 强制删除(不询问)
    !tree 使用最近的上一次的tree命令
    history 最近使用的所有命令
    !touch 使用上一次的touch命令
    ! 显示上一次的指定命令
    rm -r 连级的把目录删掉
    rm -rf 。。。。。 不提示的删除连级的目录


    环境变量PATH:
    echo $PATH 下目录的命令无需写绝对命令,which查找的命令都在他的目录下

    把自定义命令改为永久
    cp /usr/bin/ls /tmp/ls2 把ls拷贝到ls2
    vi /etc/profile
    PATH=$PATH:/TMP/
    :WQ
    删除自定义命令:
    vi /etc/profile
    dd (连续的)
    :wq

    cp命令:
    cp=copy
    cp /etc/password /tmp.1.txt 按y覆盖
    cp (源目录源文件) 到 (目标地点) 前后加/
    cp -r 拷贝目录
    !$ 上一个命令的最后一个参数
    cp -i 拷贝时询问 i=安全参数

    mv命令:
    mv=move 挪动位置
    mv xiong12.cfg xiong13.cfg.1 改文件名
    mv 1.txt /root.2.txt 移动分区并改名字
    mv aming1/ aming2 把目录移动到另外一个目录下(aming2存在)
    mv aming1/ aming2 不存在的情况下是改名字

    cat文档查看:
    tac 从末尾往前看
    cat -n显示行号
    more 一屏幕一屏幕的显示 ctrl +b 往前看
    cat /etc/passwd >> anaconda-ks.cfg.1 文件内容追加到文件里面
    less 查看,支持上下键往上下看 q 退出
    可以搜索 / ? 搜索 / cdrom 高亮显示cdrom
    n往后走 shift+n 往前走
    g 行首 shift+g 行尾
    head 查看前十行 tail 看最后十行
    head -n 2 前2行 tail -n 2 尾2行
    tail (动态显示被查看的内容)查看正在更新的文档,如日志之类

  • 相关阅读:
    Sublime Text3快捷键大全
    IntelliJ IDEA常用快捷键(Mac)
    shell脚本执行错误 $' ':command not found
    Shell脚本中"command not found"报错处理
    Shell 数值、字符串比较
    Java线程池的构造以及使用
    Host 'xxx' is not allowed to connect to this MySQL server
    Linux下Mysql安装(tar安装)
    Linux下Mysql安装(RPM安装)
    Mac安装Mysql
  • 原文地址:https://www.cnblogs.com/herosyuan/p/9791927.html
Copyright © 2020-2023  润新知