• linux _文件目录与权限


    1. 目录相关

    . 代表次层目录

    .. 代表上一层目录

    - 代表前一个工作目录

    ~ 代表目前使用者身份所在home目录

    ~account 代表account这个使用者的home目录

    cd 切换目录(change directory)

    pwd 显示当前工作目录(print work directory)

    mkdir 新建一个新目录(make directory)  mkdir -p test1/test2/test3/test4(-p递归创建)  mkdir -m 711 test1(-m设置权限)

    rmdir 删除一个空目录

    2.理解PATH,理解linux中所有内容皆以文件形式存在

      echo $PATH  输出打印环境变量PATH

      mv /bin/ls /root  以root身份移动ls文件,从bin目录中移出

      ls  可以看到无法使用ls命令  no such file or directory

      /root/ls  ./ls  可以使用这两个命令执行你移动后的ls命令(前一个是绝对路径,后一个是当你的pwd是/root时的相对路径)

      PATH="${PATH}:/root"  亦可以添加/root目录到你的环境变量PATH中,这样就可以继续执行ls命令

      echo $PATH  此时再次输出打印环境变量PATH,可以看到会多出一个/root

      mv /root/ls /bin  操作完成记得恢复你的ls文件到bin目录下  这时若还报错注销并重新登录即可,这时由于指向参数被缓存的原因.

    3.文件操作

    cp  -p 同时复制文件属性(适合备份)  -r 递归复制

        注意点:源文件信息 源文件是否为符号链接文件 为目录 为特殊文件(FIFO)

    rm  -r 递归删除(WARNNING!!!)  -i 交互询问避免删错

    mv  重命名 mv test test1 用移动的方式重命名

    4.文件查看

    cat  (concatenate串联)(从第一行开始显示文件内容)  -n 打印出行号  配合more与less使用(space翻页)

    tac  (由最后一行显示文件内容,是cat反着写)

    nl  显示内容,同时输出行号

    head 与 tail   小众 略

    od  二进制读取文件(一般是执行文件)

    将 zzh is shuiB 输出为 ASCⅡ code, echo值不由屏幕输出而交给od去处理

    touch  建立一个空文件

    5.文件权限

    umask  默认减去的权限   文件666 目录777

    chattr  配置文件隐藏属性  -a 该文件只能增加数据  -i 该文件无法被删除被改名被设置链接被写入或新增数据(对系统安全性有助益)

      touch attrtest  chattr +i attrtest  rm attrtest  提示无法remove  chattr -i attrtest  (ROOT操作)(且加入i属性的文件root也删除不了)

      lsattr  可以查看隐藏属性  对于日志log可以设置为-a使它只能增加而不能修改与删除旧数据

    一些特殊权限:SUID SGID SBIT   与二进制和系统进程管理有关

    file  观察文件类型

    6.查找

    which  查找执行文件  -a 列出所有PATH中找到的命令而非第一个找到的命令

      which ls  >>>/bin/ls    

      which which  >>>/usr/bin/which    

      which -a which  >>>/usr/bin/which /n /bin/which

    whereis  由一些特定目录中查找文件

    locate  依据数据库记录,找出用户输入关键词的文件名

    find  太多太大 硬盘查找  参数多需学习

    7.小例子

  • 相关阅读:
    设计模式一 Simple Factory, Factory Method, Abstract Factory以及Builder模式简述
    SQL Server中对XML操作
    开发常用小工具介绍
    强制休息程序 EyeGuardian 眼睛守护者 Beta测试版
    定时计划任务方案比较以及通过脚本创建计划任务(SchTasks命令)
    在Myeclipse中配置Maven
    Jena的环境配置
    0x01_go代码简单示例
    0x00_go语言安装
    信息收集工具
  • 原文地址:https://www.cnblogs.com/zzhhzf/p/12049706.html
Copyright © 2020-2023  润新知