美文网首页
linux文件和目录管理

linux文件和目录管理

作者: 半只笔芯 | 来源:发表于2018-10-06 08:38 被阅读0次

    文件管理主要命令
    cd 切换目录
    pwd 显示当前目录
    mkdir 新建目录
    rmdir 删除空目录

    . 代表当层目录
    .. 代表上一层目录

    • 代表前一个工作目录
      ~ 代表用户身份所在的主文件夹
      ~account 代表account这个用户的主文件夹

    文件管理类的命令

    ls [-aAdfFhilnrRst] 目录名称
    ls [--color={never,auto,always}] 目录名称
    ls [--full-time] 目录名称
    -a 全部文件,隐藏文件也一起列出
    -A 全部文件,隐藏文件也列出,不包括. 和..两个目录
    -d 列出目录本身,文件数据不列出
    -f 直接列出结果,不排序
    -F 根据文件,目录等给予附加的目录结构,比如 *:代表可执行文件,/: 代表目录 ,=:代表socket文件 ,|:代表FIFO文件
    -h 文件容量已人类易读的方式列出来
    -i 列出inode号码
    -l 列出场数据传,包含文件和权限,比较蝉蛹
    -n 列出UID和GID,非用户与用户组的名称
    -r 排序结果反响输出
    -R 目录的子目录也显示出来
    -S 文件容量大小排序,不是文件名排序
    -t 时间排序,不是文件名
    --color=never 必要根据文件特性给予颜色显示
    --color=always 显示颜色
    --color=auto 让系统自行根据设置判断是否给予颜色
    --full-time 用完整的时间模式输出
    --time 输出访问时间或者改变权限属性时间,不是内容更改时间

    cp 复制文件或者目录
    基本格式

    1. cp [-adfilprsu] 源文件(source) 目标文件(destination)
      2.cp [options] source1 source2 ... directory

    -a 相当于pdr的意思
    -d 如果源文件为连接文件属性(link file) 复制连接文件属性,非本身
    -f 强制,如果目标文件已经存在,并且无法开启,那么删除目标文件在尝试一次
    -i 如果目标文件已经存在,覆盖的时候会先询问操作的先行,比较常用
    -l 进行硬连接(hard link)的创建,而非复制文件本身
    -p 连同文件属性一起复制过去,而非使用默认属性
    -r 递归持续复制,用于目录的复制行为
    -s 复制成为括号的链接文件
    -u 若destination比source旧才更新,否则不更新

    cp不加任何参数,复制的是源文件,而非连接文件
    复制文件注意一下几点
    1.是否需要保证来源文件信息
    2.源文件是否为软连接文件
    3.源文件是否为特殊文件
    4.源文件是否为目录

    rm(移除文件或者目录)

    基本格式
    rm [-fir] 文件或者目录

    -f force的意思,忽略不存在的文件,不会出现警告
    -i 互动模式,删除之前会询问用户是否操作
    -r 递归删除,相当危险,最常用的目录删除

    mv (移动文件与目录,或更名)

    -f 强制的意思,如果目标文件存在,不会询问直接覆盖
    -i 目标文件存在,会询问是否覆盖
    -u 如果目标文件存在,source比较新,会更新目标文件

    文件内容查阅

    cat 从第一行显示文件内容
    tac 从最后一行开始显示文件内容,tac是cat的倒写
    nl 显示的时候,顺便输出行号
    more 一页一页显示文件内容
    less 相对more的又是,可以往前翻页
    head 只看投机航
    tail 只看结尾几行
    od 用二进制的方式读取文件内容

    1.cat命令
    格式 cat [-AbEnTv]
    -A : 相当-vET的整合参数,可列出特殊字符,而不是空白
    -b:列出行号,仅针对非空白做行号显示,空白行不标记行号
    -E:将结尾的断行字符$显示出来
    -n:打印出行号,空白也会有行号
    -T:将tab按键用^I 显示出来
    -v:列出一些看不出来的特殊字符

    2.nl 命令
    格式:nl [-bnw] 文件
    -b:指定行号的指定方式
    -b a :表示无论是否为空行,也同样列出行号,类似cat -n
    -b t :如果有空行,空的哪一行不要列出行号
    -n:列出行号的表示方法
    -n ln:行号在屏幕的最左边演示
    -n rn:行号在屏幕的最右边显示
    -n rz:行号在最左边,加0显示

    ex:nl -b a -n rz filename

    3.more命令

    格式 :more filename

    空格:向下翻一页
    enter:下滚动一行
    /字符串:显示内容中,向下查询字符串这个关键字
    :f :立刻显示文件名和目前显示的行数
    q :立即离开,不再显示文件内容
    b:往回翻页,只对文件有用,对管道无用

    4.less命令
    格式:less filename
    pagedown:向下翻一页
    pageup:向上翻一页
    enter:下滚动一行
    /字符串:显示内容中,向下查询字符串这个关键字
    ?字符串:显示内容中,向上查询字符串这个关键字
    n:重复前一个查询
    N:反响重复前一个查询
    :f :立刻显示文件名和目前显示的行数
    q :立即离开,不再显示文件内容

    5.数据选取,head命令
    格式:head [-n number] 文件
    -n:后面接数字,代表显示几行的意思

    6.数据选取, tail命令(常用)
    -n :代表显示几行
    -f:表示持续检测后面所接的文件名,要等到按下ctrl-c才会结束tail的检测

    exp:如果不知道文件有几行,但是执行列出1000行以后的数据
    tail -n +1000 filename

    7.od [-t type] 文件
    -t : 后面可以接很多类型为type的输出
    a:使用默认的字符来输出
    c:使用ascii字符来输出
    d:使用十进制来输出数据,每个证书占用size bytes
    f:使用浮点数来输出数据,
    o:使用八进制输出数据
    x:使用十六进制来输出数据

    od -t oCc filename表示将内容和ascll中的内容进行比较

    8.touch命令
    格式: touch [-acdmt] 文件
    -a :仅修改访问时间
    -c :仅修改文件时间,如果文件不存在则不创建新文件
    -d:后面可以接与修改的日期而不用目前的日期,也可以使用--date=“日期或者时间”
    -m:仅修改mtime
    -t:后面接与修改的时间而不用目前的时间

    范例一:新建一个空的文件并且查看时间

    9.umask
    表示的是修改默认创建文件的权限接口
    直接输入表示查看默认创建文件的给予权限
    ex 022 表示在group和other被拿掉w权限

    要改变权限只需要
    umask 002
    表示拿掉other的w权限

    每个选项总和为6

    10.文件隐藏属性 chattr(设置文件的隐藏属性,理解为changeattribute)
    格式:chattr [+-= ] [ASacdistu] 文件或目录名称
    +:增加某一个特殊参数,其他原本存在的参数不动
    -:减少某一个特殊参数,其他原本存在的参数不动
    =:仅有后面接的参数

    A:当设置了A这个属性的时候,如果你访问这个目录或者文件时,他的访问时间atime将不会被修改,可避免i/o慢的机器过渡访问磁盘,对速度慢的计算机有帮助
    S:一般文件是异步写入磁盘,如果加上这个属性,进行任何文件的修改,这个改动会同步写入磁盘中
    a:设置a之后,这个文件只能增加数据,不能删除也修改数据,只有root才能设置这个属性
    c:这个属性设置之后,将会自动将这个文件压缩,读取的时候会自动解压,存储的时候,将会进行先压缩再存储
    d:dump程序被执行的时候,设置d属性可以将该文件不会被dump备份
    i:最无敌的参数,可以让一个文件,不能被删除,改名,设置连接也无法写入,添加数据,对系统安全帮助特别大,只有root可以设置这个属性
    s:文件中设置了s属性,如果这个文件被删除,将会完全从这个磁盘空间中删除
    u:和s相反,当使用u配置文件,如果文件被删除了,数据的内容其实还在磁盘中,可以使用来找回文件

    exp:chattr +i filename
    让这个文件不能被删除

    10.lsattr(理解为listattribute)显示文件隐藏属性
    格式:lsattr [-adR] 文件或者目录
    -a :将隐藏文件的属性也展示出来
    -d:如果连接的是目录,仅仅列出目录本身的属性
    -R:子目录的属性也展示出来

    文件特殊权限SUID,SGID,SBIT

    1.SUID
    1.1 这个权限仅仅对二进制程序有效
    1.2 执行者对改程序要有x的执行权限
    1.3.本权限只在执行过程中有效
    1.4执行者需要有程序所有者的权限

    2.SGID
    可以针对文件或者目录设置
    2.1 对二进制程序有用
    2.2 程序执行者对该程序来说,需要有x权限
    2.3 执行者执行过程中会获得程序用户组支持

    3.StickyBit
    针对目录有效,对文件已经没有效果
    当用户对这个目录有wx权限
    用户在该目录下创建文件或者目录仅有自己和root可以删除该文件

    设置使用chmod,修改权限来设置,exp:chmod 4755 filename
    4为 SUID
    2为 SGID
    1为 SBIT

    文件相关

    一.查看文件类型 file

    exp : file filename 必须为当前路径下文件,或者为全路径

    二.命令和文件的查询

    1.脚本文件名的查询 which
    寻找执行文件
    which [-a] command
    -a:将所有由path目录中可以找到的命令均列出,而不止第一个被找到的命令名称

    2.文件名的查找 whereis [-bmsu] filename
    -b:只找二进制格式的文件
    -m:只找在说明文件路径下的文件
    -s:只找source源文件
    -u:查找不在上述三个选项的特殊文件

    以后也会有find这个查询文件的命令,但是find使用的时间会相对多很多,因为find是直接查找硬盘,如果你的硬盘老旧,那就要等很久,whereis可以加入参数查找相关的数据,如果你要找可执行的文件,那么加上-b就可以了,不加参数会展示所有数据

    2.1 同样是查找文件的命令
    locate [-ir] keyword
    -i 忽略大小写的差异
    -r 后面可以接正则表达式的显示方程式

    locate寻找的数据是由已经创建的数据库/var/lib/mlocate/里面的数据库里面找到了,所以不用查询硬盘,这个数据库每天更新一次
    如果要手动更新,那么输入,updatedb就可以了

    2.2 find 查找文件
    find [path] [option] [action]
    参数:

    1. 与时间有关的参数,有 -atime,-ctime,-mtime
      -mtime n :n位数字,意义为在n天之前的“一天之内”被更改过的文件名
      -mtime +n :列出在n天之前,不含本身,被更改过的文件名
      -mtime -n 列出在n天之内,含本身,被更改过的文件名
      -newer file : file为一个存在的文件,列出比这个文件更新的文件名

    exp: find / -mtime 0
    find /etc -newer /etc/passwd

    比如+4代表,大于等于五天之前的文件名
    -4代表小于等于4天内的文件名
    4表示4-5天的哪一天的名字

    2.和用户和组名有关的参数
    -uid n:n为数字,数字是用户的账号id,即uid

    -gid n:n为数字,这个数字是用户组名的ID,即GID,这个GID记录在 /etc/group中

    -user name: name为用户账号名称
    -group name:name为用户组名,例如users

    -nouser :找寻文件所有者不存在的人
    -no group :找寻用户组不存在的文件

    1. 和文件名有关的操作

    -name filename:查找文件名为filename的文件
    -size [+-] SIZE :查找比size还要大 + 或者小 - 的文件,这个size的规格有:
    c:代表byte,k:代表1024yes,所以要找比50k还大的文件就是,-size +50k
    -type TYPE: 查找文件的类型为type的,类型主要有,一般正规文件 f,设备文件 b,c
    目录 d,连接文件l,socket s,以及fifo p等属性

    -perm -mode:查找文件权限,刚好等于mode 的文件,这个mode为类似chmod 的属性值,举例来说 -rwsr-xr-x的属性为4755

    -perm+mode:查找文件权限,包含任一mode的权限的文件,举例来说,我们查找 -rwxr-xr-x,即-perm +755时,但一个文件属性为 -rw-------也会被列出来,因为有-rw属性存在

    相关文章

      网友评论

          本文标题:linux文件和目录管理

          本文链接:https://www.haomeiwen.com/subject/eciqaftx.html