zoukankan      html  css  js  c++  java
  • linux文件与目录管理笔记

    ### Linux文件与目录管理  
    
    ----------
    
    绝对路径: /  
    相对路径:不以/开头的    
    当前目录 .  
    上一个工作目录 -   
    用户主目录 ~ root账户的主目录是/root  其他用户是/home/账户名   
    cd ~leyi  切换到leyi账户的主目录,即/home/leyi    
    
    pwd 显示当前目录  
    mkdir -p 111/222 创建多级目录  -p 参数   
    rmdir -p 111/222 当删除了222后111是空目录则222也会被删除  
    rmdir 仅能删除空目录   
     
    **ls 常用命令   **
    -a 全部   -d 目录   -l 长数据串输出(包含权限和属性)    
    ls -l  的别名(alias)  ll    
    蓝色是目录 白色是一般文件 
    
    **cp 复制文件或目录  **
    -i 覆盖时询问(y/n)  -r  递归复制  -p 复制文件连权限 用户 时间 一起复制 (备份时常用)    
    -a 相当于 -d -p -r   -d如果源文件是链接文件复制链接文件而非文件本身    
    -s 创建软了链接(或者叫符号链接)  -l hard link(硬链接或者叫实体链接)
    
    **硬链接文件和源文件一样,软链接相当于一个快捷方式 **  
    echo '1234'>1.txt   
    cp 1.txt ./s_link -s //软连接   
    cp 1.txt ./h_link -l //硬链接  
    
    **rm 删除文件或目录   **
    -i 默认会提示  -r 递归删除  -f 强制删除  
    rm h* -rf  删除h开头的的文件  *为任意多个字符   
    
    
    **mv 移动文件和目录或者更改名字 ** 
    mv 1.txt 2.txt  改名  
    mv 1.txt d  将1.txt移动到d目录   
    mv 1.txt 2.txt d 如果有多个来源文件或目录 则最后一个为目标目录    
    
    
    **basename(文件名) 和 dirname(目录名)**   
    mkdir 11/22/33/44.txt -p     
    basename 11/22/33/44.txt  返回 44.txt    
    dirname 11/22/33/44.txt  返回 11/22/33   
    
    
    **文件内容查看 **  
    cat 从文件第一行开始显示内容   
    tac 从最后一行开始显示内容,反着显示 (cat反着写)    
    more 一页一页的显示  more /etc/sudo.conf   
    less more的功能+可以翻页   less /etc/sudo.conf  
    enter或者space 翻页   
    q  退出查看     
    :f 查看当前行号和文件大小    
    /向下搜索的内容  可以搜索关键字    ?向上搜索关键字     
    pageDown pageUp Home End   
       
    head 只看头几行  -n 自定义查看前多少行  
    head /etc/sudo.conf -n 5 查看前5行的数据   
    head /etc/sudo.conf -n -5 查看除了末尾5行的前面的所有数据   
    tail 只看尾几行   
    tail /etc/sudo.conf -n 5 查看后5行   
    通过管道符取5到10行   
    head /etc/sudo.conf -n 10 | tail -n 5    
    od -t a(ASCALL码输出) 非文本文件查看   
    od -t a /usr/bin/passwd    
    
    **修改文件时间和创建文件   **
    
    date 查看当前时间   
    
    mtime (modify time) 文件内容变更后的时间  ll默认显示这个时间      
    ll --time=mtime ??? 报错  ll 11.txt 就是显示的mtime     
    ctime (change time)  权限等更新后的时间  
    ll --time=ctime   
    atime (access time ) 文件被读取后的时间 (最后访问时间)   
    ll --time=atime  
    
    修改文件的内容后 mtime更新  ctime也改变了   mtime不更新   
    ll 
    echo '123'>11.txt   
    ll   
    
    
    修改权限后 ctime更新 mtime atime 不更新    
    ll --time=ctime 11.txt     
    chmod 777 11.txt   
    ll --time=ctime 11.txt   
    
    读取后 atime更新 ctime mtime 不更新     
    11 --time=atime 11.txt   
    cat 11.txt  
    11 --time=atime 11.txt       
    
        
    **; 分号可以分割指令,一次写多个指令执行   **
    ll;touch 1.txt;ll  
    
     
    **touch 修改文件时间(只能修改mtime atime,不能修改ctime)或创建新文件 **     
    touch 11.txt 更新文件的所有时间 (mtime ctime atime)   
    touch -d '20180615' 11.txt   
    ll //mtime   
    ll --time=atime 11.txt  //atime   
    ll --time=ctime 11.txt  //ctime  
    
    -c 修改 ctime  -m 修改 mtime   
    -t -d 都是修改日期或者时间   
    touch -t 201806151430 11.txt    
    
    **root账户把自己主目录的11.txt复制到leyi的主目录,除了leyi其他用户不能写**   
    cp ~/11.txt ~leyi      
    chown leyi.leyi ~leyi/11.txt   
    chmod go-x ~leyi/11.txt 或者 chmod 755 ~leyi/11.txt    
    ll ~leyi  
    
    **文件和目录的默认权限  umask   0022 4位数 只看后三位**   
    数字代表被拿掉的权限 比如0022 代表被g拿掉了w o拿掉了w   
    umask -S 可以看到  u=rwx,g=rx,o=rx   
    
    **文件的特殊属性(隐藏属性)  **   
    chattr 只能在传统的ext2-4文件系统上使用
    chattr [-+=] 减少 增加 设置 某个属性   
    chattr +i 11.txt 设置不能被改名删除修改文件,不能动的意思 (只有root账户可用)   
    chattr +a  dir11  只能新增文件,不能删除修改文件 (只有root账户可用) 
    lsattr 显示特殊属性   -a 隐藏文件的也显示  -d 显示目录  -R 包含目录里的文件  
     
    
    **查看文件类型**   
    file 11.txt  ASCLL 文本   
    
    **可执行程序文件名搜索**    
    两次tab 可以查看有多少命令可以用(全部的可执行程序)     
    which 需要查找的可执行程序名字 
    根据PATH定义的路径去寻找可执行文件    
    which ls;which cd;   
    which -a ls -a //查找全部   
    
    **文件文件名搜索 **    
    whereis   特定目录中寻找文件文件名   
    -l 指定搜索的目录   
    -b 找binary二进制格式文件   
    whereis 11.txt   
     
    
    **find 硬盘搜索(比较慢) **   
    +n -n n 这里有点绕...
    find . -mtime 0 从现在时间开始到24小时之前
    -mtime n天之前的一天之内的被改动过的文件名(0 今天 1 昨天)   
    -mtime +n n天不含n之前被改动的内容(大于n天之前的,+0 昨天,+1前天)   
    -mtime -n n天之内包含n天在内的被改动的文件名(-1 几天的)
    -user  用户名 查找某个用户的  
    find ~leyi -user leyi   
    -group 查找某个群组的  
    find ~leyi -group leyi   
    -nouser  没有用户的文件 
    -nogroup 没有群组存在的文件  
    -name xx 查找文件名为xx的文件
    find ~leyi . -name *leyi* 查找文件名包含 leyi的文件  
    -size [+-] c:byte k:1kb  查找符合指定文件大小的文件  
    find . -size +10k 查找大于10k的文件    
    

      

  • 相关阅读:
    2016.7.22.noip2012D2
    2016.7.21.noip2014D2
    LIS最长上升子序列O(n^2)与O(nlogn)的算法
    vijos1910解方程
    vijos1909寻找道路
    viojs1908无线网路发射器选址
    P1907飞扬的小鸟
    P1906联合权值
    P1905生活大爆炸版 石头剪刀布
    poj1274(匈牙利算法)
  • 原文地址:https://www.cnblogs.com/leyi/p/9184980.html
Copyright © 2011-2022 走看看