精华内容
下载资源
问答
  • Linux里面的文件目录类指令

    万次阅读 2019-01-14 23:11:55
    Linux里面的文件目录类指令

    引用:尚硅谷韩老师的《尚硅谷-Linux-经典升级 日常总结

    pwd 指令 (显示当前工作目录的绝对路径

    基本语法      

     pwd    (功能描述:显示当前工作目录的绝对路径) 


    ls指令 (显示文件目录)

    基本语法        

    ls     [选项]     [目录或是文件] 

    可选项

    -a :显示当前目录所有的文件和目录,包括隐藏的 (文件名以.开头就是隐藏)。        
    
    -l  :以列表的方式显示信息      
    
    -h  : 显示文件大小时,以 k , m, G单位显示 应用实例     

    案例:查看当前目录的所有内容信息

     案例:递归查找根目录下所有的文件  -ls -R /


    du命令(查看目录、文件所占用磁盘空间的大小)

     常用的选项:

    -h                :以人类可读的方式显示
    -a                :显示目录占用的磁盘空间大小,还要显示其下目录和文件占用磁盘空间的大小
    -s                :显示目录占用的磁盘空间大小,不要显示其下子目录和文件占用的磁盘空间大小
    -c                :显示几个目录或文件占用的磁盘空间大小,还要统计它们的总和
    --apparent-size   :显示目录或文件自身的大小
    -l                :统计硬链接占用磁盘空间的大小
    -L                :统计符号链接所指向的文件占用的磁盘空间大小  

    案例: 

    • du -sh : 查看当前目录总共占的容量。而不单独列出各子项占用的容量 
    • du -lh --max-depth=1 : 查看当前目录下一级子文件和子目录占用的磁盘容量。
    • du -sh * | sort -n 统计当前文件夹(目录)大小,并按文件大小排序
    • du -sk filename 查看指定文件大小

    tree命令(树状显示文件)

    tree命令是可以把指定文件夹的所以文件用树状罗列出来,呈现目录形式的一个命令,没有安装之前,tree命令默认不能直接使用。 

    安装tree

    yum install tree
    

     

     

    $ tree --help
      -a 列出所有文件。
      -d 仅列出目录。
      -l 遵循目录等符号链接。
      -f 打印每个文件的完整路径前缀。
      -x 仅保留在当前文件系统上。
      -L 级下降深层级目录。
      -R 达到最高等级时重新运行树。
      -P 模式仅列出与给定模式相匹配的文件。
      -I 模式不要列出与给定模式匹配的文件。
      --ignore-case 模式匹配时忽略大小写。
      --matchdirs在-P 模式匹配中包含目录名称。
      --noreport 关闭树列表末尾的文件/目录计数。
      --charset X 使用字符集X作为终端/ HTML和缩进行输出。
      --filelimit# 不要下载超过#个文件的dirs。
      --timefmt <f> 根据格式<f>打印和格式化时间。
      -o 文件名输出到文件而不是标准输出。
    
      ---------------文件选项---------------
      -q 将不可打印的字符打印为'?'。
      -N 按原样打印不可打印的字符。
      -Q 用双引号引用文件名。
      -p 打印每个文件的保护。
      -u 显示文件所有者或UID号码。
      -g 显示文件组所有者或GID号码。
      -s 打印每个文件的字节大小。
      -h 以更易读的方式打印尺寸。
      --si像-h,但在国际单位制中使用(幂数为1000)。
      -D 打印上次修改日期或(-c)状态更改。
      -F 附加'/','=','*','@','|'或'>'按照ls -F。
      --inodes 打印每个文件的inode编号。
      - 设备打印每个文件所属的设备ID号。
    
      ---------------排序选项---------------
      -v 按文本字母数字排序文件。
      -t 按上次修改时间对文件进行排序。
      -c 按上次状态更改时间对文件进行排序。
      -U 保留文件未排序。
      -r 反转排序的顺序。
      --dirsfirst 列出文件之前的目录(-U禁用)。
      - 排序X选择排序:名称,版本,大小,mtime,ctime。
    
      ---------------图形选项---------------
      -i 不要打印缩进线。
      -A 打印ANSI线图形缩进线。
      -S 使用CP437(控制台)图形缩进线打印。
      -n 始终关闭着色(-C覆盖)。
      -C 总是打开彩色。
    
      --------------- XML / HTML / JSON选项---------------
      -X 打印树的XML表示。
      -J 打印出树的JSON表示。
      -H baseHREF以baseHREF作为顶层目录打印HTML格式。
      -T 字符串用字符串替换默认的HTML标题和H1标题。
      --nolinks 关闭HTML输出中的超链接。
    
      ---------------其他选项---------------
      --version 打印版本并退出.
      --help 打印使用情况和此帮助信息并退出。
      --  选项处理终止符

    直接输入tree命令,就会自动给以树形的形式列出当前目录的文件和文件夹,不加任何参数,它会自动列表当前目录下面所有深度级别的文件和目录。

    案例1:显示各层级目录的拥有者

    $ tree -u
    
    ├── [root    ]  kingsoft
    │   └── [root    ]  wps-office
    │       └── [root    ]  office6
    │           ├── [root    ]  addons
    │           │   └── [root    ]  homepage
    │           │       ├── [root    ]  1033_et.html
    │           │       ├── [root    ]  1033_wait.html
    │           │       ├── [root    ]  1033_wpp.html
    │           │       ├── [root    ]  1033_wps.html
    │           │       ├── [root    ]  1041_et.html
    │           │       ├── [root    ]  1041_wait.html
    │           │       ├── [root    ]  1041_wpp.html
    │           │       ├── [root    ]  1041_wps.html
    │           │       ├── [root    ]  2052_et.html
    

     案例2:查看不同级别子目录和文件使用"tree -L 1 "这个命令,只查看当前第一级的目录。和文件使用"tree -L 2 "这个命令,只查看当前第二级的目录和文件使用"tree -L N "这个命令,只查看当前第N级的目录和文件。

    $ tree -L 1
    ├── android-studio
    ├── google
    ├── java
    ├── kingsoft
    └── teamviewer
    
    //查看当前第二级的目录和文件
    $ tree -L 2
    ├── android-studio
    │   ├── bin
    │   ├── build.txt
    │   ├── gradle
    │   ├── Install-Linux-tar.txt
    │   ├── jre
    │   ├── lib
    │   ├── license
    │   ├── LICENSE.txt
    │   ├── NOTICE.txt
    │   └── plugins
    ├── google
    │   └── chrome
    ├── java
    │   └── eclipse
    ├── kingsoft
    │   └── wps-office
    └── teamviewer
        ├── config -> /etc/teamviewer
        ├── doc
        ├── logfiles -> /var/log/teamviewer12
        └── tv_bin

     案例3:把目录结构信息保存到文本中

    $ tree -L 2 > /home/root/log/tree.txt

     案例4:默认情况下,tree命令无法显示中文文件或文件夹名,会是一串转义字符,这时可以用选项-N来显示中文文

     


     cd 指令(切换目录)

    基本语法        

    cd  [参数]    (功能描述:切换到指定目录) 

    常用参数        

    cd ~  或者cd :回到自己的家目录        
    
    cd ..  回到当前目录的上一级目录
    
    cd -   快速的切换到上一个工作目录
    -P 以物理路径进入

     绝对路径【从 / 开始定位】

    相对路径【从当前位置开始定位】  

    案例1:使用绝对路径切换到root目录  [cd /root]      

    案例2:  使用相对路径到/root 目录 [  cd ../root]      

    案例3:表示回到当前目录的上一级目录 [ cd ..]      

    案例4:回到家目录  [ cd ~ ]

    案例5:我现在在usr里面的lib文件里面,我需切换到root目录(使用相对路径)。[cd ../../root]

    案例6:快速的切换到以前的工作目录(类似于撤销)

     [atguigu@hadoop102 hadoop]$ pwd
    /opt/module/hadoop-2.7.2/etc/hadoop
    [atguigu@hadoop102 hadoop]$ cd ~
    [atguigu@hadoop102 hadoop-2.7.2]$ pwd
    /opt/module/hadoop-2.7.2
    [atguigu@hadoop102 hadoop-2.7.2]$ cd -
    /opt/module/hadoop-2.7.2/etc/hadoop
    [atguigu@hadoop102 hadoop]$ pwd
    /opt/module/hadoop-2.7.2/etc/hadoop

    注意,如果$HOME环境变量被设置为您的主目录路径,那么仅仅运行cd命令(没有任何参数)也会将带您到您的主目录。 

    [atguigu@hadoop102 hadoop-2.7.2]$ pwd
    /opt/module/hadoop-2.7.2
    [atguigu@hadoop102 hadoop-2.7.2]$ cd 
    [atguigu@hadoop102 ~]$ pwd
    /home/atguigu


    修改$HOME环境变量为/opt/module/hadoop-2.7.2/

    [atguigu@hadoop102 ~]$ pwd
    /opt
    [atguigu@hadoop102 ~]$ HOME=/opt/module/hadoop-2.7.2/
    [atguigu@hadoop102 opt]$ cd 
    [atguigu@hadoop102 hadoop-2.7.2]$ pwd
    /opt/module/hadoop-2.7.2
    [atguigu@hadoop102 hadoop-2.7.2]$ 
     

     -P 选项:(不切换到软链接目录)

    默认情况下,这cd命令会切换到软链接的目录,而不是真正的物理目录

    [atguigu@hadoop102 home]$ ll
    总用量 12
    lrwxrwxrwx   1 root    root      29 3月   2 06:54 etc -> /opt/module/hadoop-2.7.2/etc/
    [atguigu@hadoop102 home]$ cd /etc/
    [atguigu@hadoop102 etc]$ pwd
    /etc
    [atguigu@hadoop102 etc]$ cd /home/
    [atguigu@hadoop102 home]$ ll
    总用量 12
    lrwxrwxrwx   1 root    root      29 3月   2 06:54 etc -> /opt/module/hadoop-2.7.2/etc/
    [atguigu@hadoop102 home]$ cd -P etc/
    [atguigu@hadoop102 etc]$ pwd
    /opt/module/hadoop-2.7.2/etc

    加上-P 选项后,我们切换到了真正的物理目录

     https://baijiahao.baidu.com/s?id=1613359705269696917&wfr=spider&for=pc

     


    mkdir指令 [make directory] (创建目录

    说明      

    mkdir指令用于创建目录

    基本语法      

    mkdir  [选项]  要创建的目录 

    常用选项      

    -p :创建多级目录 应用实例       

    案例1:创建一个目录 /home/dog       mkdir  /home/dog      

    案例2:创建多级目录 /home/animal/tiger      mkdir  -p  /home/animal/tiger

     


    rmdir指令 [remove directory](删除目录)

    说明      

    该命令从一个目录中删除一个或多个子目录项(注意,rm -r dir 命令可以代替rmdir,但是很危险,万一它突然就不是空的咧?),另外删除某目录时必须具有对父目录的写权限。

    基本语法      

    rmdir  [选项]  要删除的空目录

    常用选项      

    - p 删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除;
    
    -v, --verbose  显示指令执行过程 

    -p 递归删除目录dirname, 当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应的信息。

    应用实例      

    案例1:删除一个目录 /home/dog       rmdir  /home/dog  [要求 /home/dog 空目录]

    案例2: rmdir 不能删除非空目录   rmdir  notempty(非空目录)

    这样会提示:not empty目录非空,你删不掉的。

    案例3: rmdir  -p   当子目录被删除后使它也称为空目录的话,则顺便一并删除   rmdir  -p  watch/avi  

    删掉avi目录,watch目录就空掉了,那还看什么?所以干脆把watch目录一起删掉,眼不见为不净嘛。

    使用细节      

    rmdir 删除的是空目录,如果目录下有内容时无法删除的。      

    提示:如果需要删除非空目录,需要使用  rm -rf 要删除的目录

     


    touch指令(创建空文件

    说明      

    touch指令创建空文件, 还可以更新文件的修改时间

    基本语法

    touch 文件名称 

    应用实例      

    案例1: 创建一个空文件 hello.txt       touch  hello.txt      

    案例2: 一次性创建多个文件              touch a.txt b.txt

    说明:如果文件存在,则表示刷新该文件的修改时间.(文件内容还在)

     


    cp指令[copy] (拷贝)

    说明      

    cp 指令拷贝文件到指定目录 ,路径使用相对路径和绝对路径都可以。

    注意:这个指令,当发现目标目录下有相同的文件,会提示你是否覆盖,有多少相同的文件就要输入多少个y来确定。

    基本语法        

    cp [选项] source(源) dest(目的文件) 

    常用选项      

    -r :递归复制整个文件夹 (recursion 递归)

    应用实例        

    案例1: 将 /home/aaa.txt 拷贝到  /home/bbb 目录下 (拷贝单个文件)       cp   /home/aaa.txt  /home/bbb

    案例2: 递归复制整个文件夹

    举例, 将 /home 整个目录拷贝 /opt 使用细节        

     

    使用细节:

    如果我们再次拷贝,会提示你要不要覆盖。强制覆盖不提示的方法:\cp

    注意:使用相对路径时一定要注意你当前的目录位置,然后准确的定位,源目标和目标目录。

     


    rm指令(移除文件或目录)

    说明

    rm 指令移除文件或目录

    基本语法      

     rm  [选项]  要删除的文件或目录 

    常用选项      

    -r :递归删除整个文件夹      
    
    -f : 强制删除不提示

    应用实例

    案例1: 删除文件,将 /home/aaa.txt 删除       rm  /home/aaa.txt    

       

    案例2: 删除目录,删除文件夹 /home/bbb(空)       rm –r  /home/bbb

    使用细节        

    如果文件夹里面还有文件或者目录,需要反复确定是否删除,很麻烦。

    比如我桌面有目录aaa,aaa里面有bbb目录。

     

     强制删除不提示的方法:带上 -f 参数即可       rm –rf  aaa

    比如我桌面有文件aaa,aaa里面有bbb目录,和文件a.txt,我需要删除aaa目录。

     


    mv指令 (移动文件与目录或重命名 )

    说明

    mv命令是move的缩写,可以用来移动文件目录或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。

    命令功能

    视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。

    基本语法      

    mv [选项] 源文件或目录 目标文件或目录
    
    mv  oldNameFile newNameFile     (功能描述:重命名)        
    mv /temp/movefile /targetFolder (功能描述:移动文件或目录) 

    命令参数

    -b :若需覆盖文件,则覆盖前先行备份。 
    -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
    -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
    -u :若目标文件已经存在,且 source 比较新,才会更新(update)
    -t  : --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。

    应用实例        

    案例1: 将 /home/aaa.txt 文件 命名为 pig.txt      mv aaa.txt  pig.txt    (产生的是重命名的效果,移动到当前目录,应为当前目录已经有aaa.txt了,它就认为你是想重命名,它就把aaa.txt 该成pig.txt了)

    案例2: 将 /home/pig.txt  文件 移动到 /root 目录下 mv /home/pig.txt /root/

    案例3: 将 /home/pig.txt  文件 移动 pig.txt 并且重命名为 big.txt 到 /root 目录下 mv /home/pig.txt  /root/big.txt

    案例4: mv log1.txt log2.txt log3.txt test3 命令将log1.txt ,log2.txt, log3.txt 三个文件移到 test3目录中去。

    案例5: mv -t /opt/soft/test/test4/ log1.txt log2.txt log3.txt 命令又将三个文件移动到test4目录中去。

    案例6:  将文件 log1.txt 改名为 log2.txt ,如果 log2.txt 已经存在,则询问是否覆盖 。  mv -i  log1.txt  log2.txt 

    案例7:  将文件 log1.txt 改名为 log2.txt ,即使 log2.txt 存在,也是直接覆盖掉,  mv -f log1.txt log2.txt ,log2.txt的内容直接覆盖了log1.txt内容,-f 这是个危险的选项,使用的时候一定要保持头脑清晰,一般情况下最好不用加上它。

    案例8: 目录的移动  mv dir1 dir2  如果目录dir2不存在,将目录dir1改名为dir2;否则,将dir1移动到dir2中 。

    案例9: 移动当前文件夹下的所有文件到上一级目录。 mv  *  ../

    案例10:  把当前目录的一个子目录里的文件移动到另一个子目录里。  mv test3/*.txt  test5

    案例11: 文件被覆盖前做简单备份,前面加参数-b。 mv a.txt -b b.txt

    说明:
    -b 不接受参数,mv会去读取环境变量VERSION_CONTROL来作为备份策略。
    --backup该选项指定如果目标文件存在时的动作,共有四种备份策略:
    1.CONTROL=none或off : 不备份。
    2.CONTROL=numbered或t:数字编号的备份
    3.CONTROL=existing或nil:如果存在以数字编号的备份,则继续编号备份m+1...n:
    执行mv操作前已存在以数字编号的文件log2.txt.~1~,那么再次执行将产生log2.txt~2~,以次类推。如果之前没有以数字编号的文件,则使用下面讲到的简单备份。
    4.CONTROL=simple或never:使用简单备份:在被覆盖前进行了简单备份,简单备份只能有一份,再次被覆盖时,简单备份也会被覆盖。

    案例12:  有文件 /home/aaa/bbb/ccc/a.txt 

    重命名需要这样写

    注意:只有在同一个目录中才会产生重命名效果。

     



     

    查看文件类容

    cat指令(查看文件内容只读

    说明

    cat 查看文件内容 ,是以只读的方式打开。

    基本语法        

    cat  [选项] 要查看的文件 

    常用选项      

    -n :显示行号 

    应用实例        

    案例1:   /ect/profile  文件内容,并显示行号  cat -n  /ect/profile(-n显示行号)

    使用细节        

    cat 只能浏览文件,而不能修改文件(直接到文件末尾),为了浏览方便,一般会带上 管道命令 | more (一页一页的看)

    cat  xxx.txt | more  (把cat xxx.txt 输出结果交给 more 处理)

     

     


    more指令(分屏查看文件类容)

    more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more指令中内置了若干快捷键。

    快捷键

    空白键(space)        向下翻页
    b,ctrl+b              向上翻页 
    ctrl+f                向下翻页 
    Enter                向下滚动 1 行
    =                   显示当前行号
    v                  用vi编辑器打开当前内容
    :f                   显示当前文档文件名与当前行号
    d,ctrl+D              向下翻 K 行,默认k=11
    q,Q                   退出more
    ctrl+L                 类似于清屏
    h                      显示快捷键帮助

    基本语法        

    more 要查看的文件

    应用实例      

    案例: 采用more查看文件      more  /etc/profile      

     


    less指令(分屏查看文件类容)

    less指令用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。

    基本语法        

    less 要查看的文件 

    快捷键

    f : 查看下一页(f为forward的意思)
    b : 查看上一页(b为back的意思)
    
    PageDown : 查看下一页
    PageUp   : 查看上一页
    
    d : 查看下半页
    u : 查看上半页
    
    空格键 : 向下滚动一页
    回车键 : 向下滚动一行
    
    h : 显示帮助界面
    q : 退出less命令 
    
    /字串  向下搜寻【字串的功能】  n:想下查找    N:想上查找
    ?字串  向上搜寻【字串的功能】  n:想上查找    N:想下查找
    

    应用实例      

    案例: 采用less查看一个       大文件文件      

     



    echo指令 (输出内容到控制台)

    说明

    echo输出内容到控制台。

    基本语法        

    echo  [选项]  [输出内容]

    案例:

    使用echo 指令输出$PATH环境变量。echo $PATH

    使用echo 指令输出hello,world!

     

    head指令 (显示文件的开头部分)

    说明

    head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容

    基本语法      
     

    head 文件    (功能描述:查看文件头10行内容)        
    
    head -n n 文件      (功能描述:查看文件头n行内容)    

    案例: 查看/etc/profile 的前面5行代码 head -n 5 /etc/profile

     

     

    tail指令 (显示文件尾部内容、实时监控文件)

    说明

     tail用于输出文件中尾部的内容,默认情况下tail指令显示文件的后10行内容。

    基本语法        
     

    1) tail  文件     (功能描述:查看文件头10行内容)        
    
    2) tail  -n 5 文件     (功能描述:查看文件头5行内容,5可以是任意行数)        
    
    3) tail  -f  文件    (功能描述:实时追踪该文档的所有更新) 

    应用实例      

    案例1: 查看/etc/profile 最后5行的代码       tail -n 5 /etc/profile

    案例2: 实时监控date.log , 当我向这个文件添加内容就可以实时监控文件的变化。tail -f 文件名

    我虚拟机在目录home里面创建一个文件date.log

     然后我用Xshell向date.log添加内容

    我就可以实时监控date.log有没有变化,如果有变化就会看到。

     


    > 指令 和 >> 指令(重定向和追加)

    说明

    > 输出重定向(会覆盖掉原来文件的内容) 和  >> 追加 

    基本语法      

    1) ls -l >文件        (功能描述:列表的内容写入文件a.txt中(覆盖写))      
    
    2) ls -al >>文件        (功能描述:列表的内容追加到文件aa.txt的末尾)      
    
    3) cat 文件1 > 文件2    (功能描述:将文件1的内容覆盖到文件2)      
    
    4) echo "内容">> 文件 

    应用实例      

    案例1: 将 /home 目录下的文件列表覆盖写入到 /home/info.txt 中      ls –l  /home/   >  /home/info.txt  [如果文件不存在,则会自动创建]      

    案例2: 将 /home 目录下的文件列表追加到 /home/info.txt 中      ls –l  /home/   >>  /home/info.txt  [如果文件不存在,则会自动创建]      

    案例3: 将当前日历信息 追加到  /home/mycal 文件中      date  >> /home/mycal [如果文件不存在,则会自动创建]      

    案例4: 将文件1的内容覆盖到文件2     cat 文件1 > 文件2 [如果文件不存在,则会自动创建]    

    案例5: 把""里面写的内容覆盖写入到文件里面    echo "内容" > 文件 [如果文件不存在,则会自动创建]    

    案例6: 把""里面写的内容追加到文件里面    echo "内容" >> 文件 [如果文件不存在,则会自动创建]    

     


    ln 指令 [link] (软链接)

    说明

    软链接也成为符号链接,类似于windows里的快捷方式,主要存放了链接其他文件的路径 。

    基本语法      

    ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接(快捷方式)) 

    应用实例      

    案例1: 在/home 目录下创建一个软连接 linkToRoot,连接到 /root 目录       ln  -s  /root/  linkToRoot      

     虽然我到了root目录,但是我用pwd来查看的话,我仍然还在linkToRoot下面。(好比我双击桌面图标打开一个软件,我进入了软件里面那个文件夹,但是我仍然在桌面)

    案例2: 删除软连接 linkToRoot       rm –rf  linkToRoot  不要带斜杠,带斜杠他认为你是把链接里面的文件删掉,而不是删除这个链接)

    细节说明 当我们使用pwd指令查看目录时,仍然看到的是软链接所在目录

     


     history指令  (查看历史命令)

    说明

    查看已经执行过历史命令,也可以执行历史指令 。

    基本语法      

    history    (功能描述:查看已经执行过历史命令) 

    应用实例      

    案例1: 显示所有的历史命令  history

                       

    案例2: 显示最近使用过的10个指令。       history  10

    案例3: 执行历史编号为n的指令    !n

    展开全文
  • 文件管理 文件也属于系统资源,其就是一组有意义的信息、数据集合。 计算机中存放了各种各样的文件: 一个文件具有哪些属性? 文件内部的数据应该被怎样组织起来? 文件之间又应该怎么组织起来? 从下往上看...
    • 文件管理

    文件也属于系统资源,其就是一组有意义的信息、数据集合。

    计算机中存放了各种各样的文件:

    1. 一个文件具有哪些属性?
    2. 文件内部的数据应该被怎样组织起来?
    3. 文件之间又应该怎么组织起来?
    4. 从下往上看Operation System应该提供哪些功能才能方便用户、应用程序使用文件?
    5. 从上往下看,文件数据应该怎么存放在外存(磁盘)上?

    1一个文件具有哪些属性?

    1. 文件名:由创建文件的用户决定文件名,主要是为了方便用户找到文件,同一目录下不允许有重名文件
    2. 标识符:文件名并不唯一,因为在不同文件夹中可以使用相同文件名。一个系统的各文件标识符唯一,对用户来说毫无可读性,因此标识符只是操作系统用于区分各个文件的一种内部名称
    3. 类型:指明文件的类型。操作系统可以根据文件的类型设定一个默认的打开的应用程序
    4. 位置:文件的存放路径(让用户使用)、在外存中的地址(操作系统使用,对用户不可见)
    5. 大小
    6. 创建时间
    7. 上次修改时间
    8. 文件所有者信息
    9. 文件的保护信息:对文件进行保护的访问控制信息。同一个文件对于不同的用户可能有不同的权限

    2文件内部的数据应该被怎样组织起来?

    • 无结构文件(例如文本文件):由一些二进制或者字符流组成,又称“流式文件”
    • 有结构文件(例如数据库表):有一组相似的记录组成,又称为“记录式文件”,记录是一组相关数据项的集合,数据项是文件系统中最基本的数据单位

    具体如何组织起来,是文件的逻辑结构要讨论的问题

    3文件之间又应该怎么组织起来?

    树状结构,根目录下有很多目录,也有一些普通文件,而这些目录下,还可以创建更深一层的目录,以及存放一些普通文件...所谓目录,就是熟悉的文件夹。普通用户自己可以创建一层一层的目录,各层目录中存放相应的文件。系统中的各个文件就通过一层一层的目录合理有序地组织起来了。目录其实也是一种特殊的结构文件,由记录组成。

    4Operation System应该向上提供哪些功能?

    以创建一个txt文件并向其写数据、读数据为例

    1. 可以创建文件,点击新建之后,GUI进程在背后调用了“create系统调用”
    2. 可以读文件,将文件数据读入内存,才能让CPU处理。双击文件后,记事本应用程序通过操作系统提供的读文件功能,即“read系统调用”,将文件数据从外存读入内存,并显示在屏幕上。
    3. 可以写文件,将更改过的文件数据写回外存。在记事本应用程序中编辑文件内容,点击保存后,记事本应用程序将通过操作系统提供的写文件功能,即“write系统调用”将文件数据从内存写回外存

    向上提供的几个最基本功能:

    1. 创建文件:create系统调用
    2. 删除文件:delete系统调用
    3. 读文件:read系统调用
    4. 写文件:write系统调用
    5. 打开文件:open系统调用
    6. 关闭文件:close系统调用

    在读写文件之前,需要打开文件。这里的打开关闭文件不是常规的那种打开关闭有一点赋予相应权限的含义

    很多操作可以使用这些基本操作组合完成

    5从上往下看,文件应该怎么存放在外存中?

    和内存一样,外存也是由一个个存储单元组成的,每个存储单元可以存储一定量的数据。每个存储单元对应一个物理地址。

    类似于内存分为一个个“内存块”,外存会分为一个个“块/磁盘块/物理块”,每个磁盘的大小是相等的,每块一般包含2的整数幂个地址,同样类似的是,文件的逻辑地址也可以分为(逻辑块号,块内地址),操作系统同样需要将逻辑地址转换为外存的物理地址(物理块号,块内地址)的形式。块内地址的位数取决于磁盘块大小。

    操作系统以“块”为单位为文件分配存储空间,因此即使一个文件大小只有10B,但他依然需要占用1KB的磁盘块。外存中的数据读入内存时同样以块为单位。

    这里类比进程的调度,只不过此时对象是文件。

    6其他需要有操作系统实现的文件管理功能

    • 文件共享:使多个用户可以共享使用同一个文件
    • 文件保护:如何保证不同的用户对文件有不同的操作权限

     

    • 文件的逻辑结构

    所谓逻辑结构,指的是在用户看来,文件内部的数据应该是如何组织起来的。而物理结构指的是在操作系统看来,文件的数据是如何存放在外存中的。

    类似于数据结构中的逻辑结构和物理结构。例如线性表就是一种逻辑结构,在用户角度看来,线性表就是一组有先后关系的元素序列。

    线性表这种逻辑结构可以用不同的物理结构实现,如顺序表/链表,顺序表的各个元素在逻辑上相邻,在物理上也相邻;而链表的各个元素在物理上可以是不相邻的。因此顺序表可以实现“随机访问”,而链表无法实现“随机访问”

    可见,算法的具体实现与逻辑结构、物理结构都有关。文件也一样,文件的操作的具体实现与文件的逻辑结构、物理结构都有关。

    按文件是否有结构进行分类,可以分为无结构文件、有结构文件两种

    无结构文件

    文件内部的数据就是一系列二进制流或字符流组成,又称“流式文件”。例如windows系统中的.txt文件。文件内部的数据实际就是一系列的字符流,没有明显的结构特性,因此也不需要讨论无结构文件的逻辑结构问题

    有结构文件

    有一组相似的记录组成,又称“记录式文件”。每条记录由若干个数据项组成。例如数据库表文件。一般来说,每条记录都有一个数据项可以作为关键字,作为识别不同记录的ID。根据各条记录的长度(占用的存储空间)是否相等,又可分为定长记录和可变长记录两种。可变长记录更为灵活,能更好地利用内存空间。

    有结构文件的逻辑结构

    • 顺序文件
    • 索引文件
    • 索引顺序文件

    顺序文件

    文件中的记录一个接一个地顺序排列(逻辑上),记录是定长或可变长的。各个记录在物理上可以顺序存储或链式存储。

    在物理上采用顺序存储额基础上,根据记录是否按照关键字顺序排列可分为串结构和顺序结构

    • 串结构:记录之间的顺序和关键字无关
    • 顺序结构:记录之间的顺序按照关键字顺序排列

    索引文件

    对于可变长记录文件,要查找第i个记录,必须先顺序地查找前i-1个记录,这个时间复杂度为O(n)。而可变长记录文件却是在很多场景中都有应用,所以应当想办法去解决这个问题,让可变长文件中的记录也能被随机访问。由此引入了索引表

    通过建立一张索引表来加快文件检索速度。每条记录对应一个索引项。包括索引号、记录的长度、指向逻辑文件中记录的指针。

    索引表本身是定长记录的顺序文件。因此可以快速地找到第i个记录对应的索引项。

    可将关键字作为索引号内容,若按照关键字顺序排列,对应的索引表还可以支持按照关键字折半查找。

    每当需要增加/删除一个记录时,需要对索引表进行修改。由于索引文件有很快的检索速度,所以主要用于对信息处理的及时性要求比较高的场合。索引表检索方便,修改复杂。

    另外,可以用不同数据项作为关键字建立多个索引表。

    索引顺序文件

    因为如果一个记录就对应一个索引表项的话,那很可能索引表项需要的存储空间会比文件所需要的存储空间还大,这就带来了资源的浪费。所以由此引出了索引顺序文件。

    索引顺序文件是索引文件和顺序文件思想的结合。索引顺序文件中,同样会为文件建立一张索引表,但不同的是,并不是每一个记录都对应一个索引表项,而是一组记录对应一个索引表项。也就是先将文件中的各个记录按照关键字进行分组,然后让索引表的表项对应一组记录,注意一个索引表项对应的是一组记录,不再是一个记录,这就大大地节省了存储空间。同时,每一个分组内的记录不需要按照关键字排序,所以一个分组就相当于是一个串结构的顺序文件。

    可知这种策略可以让索引表瘦身,同时这种方式也是具有很高的检索效率的。

    为了进一步提高检索效率,可以为顺序文件建立多级索引表。

     

    • 文件目录

    使用文件目录使得文件之间的组织结构清晰,易于查找;编程时也可以很方便地使用文件路径找到一个文件,用户可以很轻松地实现按名存取

    文件控制块

    文件控制块是用于实现文件目录的关键数据结构。

    目录本身就是一种有结构文件,由一条条记录组成。每条记录对应一个放在该目录下的文件。每条记录包括了文件名、类型(txt、目录…)、存取权限(只读、只写、读/写…)、物理位置(外存x号块)等数据项。

    当我们打开某一个文件夹(目录)时,操作系统会在当前所在的目录表中找到该文件夹名称的关键字对应的目录项,也就是记录。然后从外存中将该目录的信息读入内存,于是打开的目录中的内容就可以显示出来了。

    一个文件目录项,也就是文件目录表中的一条记录,就是一个FCB,一个文件对应一个FCB(这个说法没问题,因为目录本身也是一个文件)。FCB的有序集合称为文件目录。FCB中包含了文件的基本信息(文件名、物理地址、逻辑地址、物理结构等等),存取控制信息(是否可读/可写,禁止访问的用户名单等等),使用信息(文件的建立时间、修改时间等等)

    最重要的、最基本的是文件名、文件存放的物理地址。因为FCB实际上实现了文件名和文件之间的映射,使用户(用户程序)可以实现按名存取

    操作系统需要对目录进行那些操作

    • 搜索:当一个用户要使用一个文件时,系统要根据文件名搜索目录,找到该文件对应的目录项
    • 创建文件:创建一个新文件时,需要在其所属的目录中增加一个目录项
    • 删除文件:但删除一个文件时,需要在目录中删除相应的目录项
    • 显示目录:用户可以请求显示目录的内容,如显示该目录中的所有文件以及相应的属性
    • 修改目录:某些文件属性保存在目录中,因此这些属性变化时需要修改相应的目录项,例如文件重命名

    目录结构

    单级目录结构

    整个系统只有一张目录表,每个文件占一个目录项。文件名也为目录项的一个属性。单级目录实现了按名存取,但是不允许文件重名。

    在创建一个文件时,需要先检查目录表中有没有重名文件,确定不重名后才能运行建立文件,并将新文件对应的目录插入目录表中

    显然,单级目录结构不适用于多用户操作系统

    两级目录结构

    早期的多用户操作系统,采用两级目录结构,分为主文件目录MFD,Master File Directory 和用户文件目录UFD,User File Directory

    主文件目录记录用户名及相应用户文件目录的存放位置,用户文件目录则是有FCB组成。

    两级目录结构允许不同用户的文件重名,也可以通过检查此时登陆的用户名是否匹配得以在目录上实现访问限制,但是两级目录结构依然缺乏灵活性,用户不能对自己的文件进行分类

    多级目录结构

    又称为树形目录结构,不同目录下的文件可以重命名

    用户或用户进程要访问某个文件时要用文件路径名标识文件,文件路径名是一个字符串。各级目录之间用“/”隔开。从根目录出发的路径称为绝对路径。

    例如:Me.jpeg的绝对路径是/Photos/2019/Me.jpeg

    系统根据绝对路径一层一层地找到下一级目录。刚开始从外存读入根目录的目录表;找到“Photos”目录的存放位置后,从外存读入对应的目录表;再找到“2019”目录的存放位置,再从外存读入对应的目录表;最后找到文件“Me.jpeg”的存放位置。

    注意,目录本身就是一个有结构文件,所以其也是存放在外存中,需要的时候获取进入内存。

    很多时候,用户会连续访问同一目录内的多个文件。显然,如果每次都从根目录开始查找,是很低效的,所以可以设置一个当前目录。例如,此时已经打开了“Photos”的目录文件,也就是说,这张目录表已经调入内存,那么就可以把它设置为当前目录。当用户想要访问某个文件时,可以使用从当前目录出发的相对路径。

    树形目录结构可以很方便地对文件进行分类,层次结构清晰,也能够有效地进行文件的管理和保护。但是,树形结构不便于实现文件的共享。

    由此提出了无环图目录结构

    无环图目录结构

    无环图目录结构实际上就是在树形目录结构的基础上多了指向同一个文件的有向边。树本身就是特殊的图。因为指向了同一个文件,所以就能实现文件的共享了。这种结构在删除文件时会有所不同,不一定是直接删除相应的文件本身,因为它可能还被其他目录所指向,所以借助每个文件的计数器存储指向该文件的目录数,来帮助删除文件操作的实现。

    注意共享文件和复制文件是不同的,共享文件中,不同目录指向的是同一个文件,而复制文件则是不同目录指向各自不同的文件。虽然它们内容相同

    索引结点

    索引结点是在FCB的基础上进行改进,可以视为进一步地瘦身。因为是记载查找各级目录的过程中只需要用到文件名这个属性,只有文件名匹配的时候,才需要读出文件的其他信息。所以可以考虑对目录表精简后得到索引结点表来提升效率。

    正是因为对目录表精简得到索引结点表,所以相应的用于检索的索引表所占用的内存空间减小了,一个磁盘内能包含的目录项增加了,也就是说对于目录项固定的情况,所需要的磁盘数减少了,那么在检索的过程中启动磁盘的次数也就减少了。因为IO操作是十分耗时的,所以启动磁盘的次数越少,就越能够提高效率。

    只有当找到文件名对应的目录项时,才需要将索引结点调入内存,索引结点中记录了文件的各种信息,包括文件在外存中的存放位置,根据这个位置能够找到文件。

    存放在外存中的索引结点称为磁盘索引结点,当索引结点放入内存后称为内存索引结点。

    相比之下内存索引结点中需要增加一些信息,比如:文件是否被修改、此时有几个进程正在访问该文件等。

     

    展开全文
  • 资源主要是结合博客文章:http://blog.csdn.net/eastmount/article/details/19453107主要讲述使用C# winForm实现类似于资源管理器的界面,通过TreeView控件显示"我的电脑"所有磁盘文件树状目录,包括"我的文档",所有...
  • 打开整个文件目录 直接打开电脑的各个文件目录。显示出c盘,d盘等。。如下图所示。 代码如下: import sys from PyQt5.QtWidgets import * from PyQt5.QtGui import * if __name__=='__main__': app = ...

    打开整个文件目录

    直接打开电脑的各个文件目录。显示出c盘,d盘等。。如下图所示。

    代码如下:

    import sys
    from PyQt5.QtWidgets import *
    from PyQt5.QtGui import *
    
    if __name__=='__main__':
    	app = QApplication(sys.argv)
    	#window系统提供的模式
    	model = QDirModel()
    	#创建一个QTreeView()控件
    	tree = QTreeView()
         #为控件添加模式。
    	tree.setModel(model)
    	tree.setWindowTitle("QTreeView例子")
    	tree.resize(640,480)
    	tree.show()
    	sys.exit(app.exec_())

    直接打开目标文件夹

    直接打开你要打开的目标文件夹,我打开的是  ’D://教育数据包’  这个文件夹。如下图所示:

    代码如下:

    import sys
    from PyQt5.QtWidgets import *
    from PyQt5.QtGui import *
    
    
    
    class TreeViewDemo(QTreeView):
        def __init__(self, parent=None):
            super(TreeViewDemo, self).__init__(parent)
        
            #window系统提供的模式
            path = 'D://教育数据包'
            self.model = QFileSystemModel()
            self.model.setRootPath(path)
            
            #为控件添加模式。
            self.setModel(self.model)
            self.setRootIndex(self.model.index(path)) #只显示设置的那个文件路径。
            self.doubleClicked.connect(self.file_name) #双击文件打开
            self.setWindowTitle("QTreeView例子")
            self.resize(640,480)
        
        def file_name(self,Qmodelidx):
            print(self.model.filePath(Qmodelidx))  #输出文件的地址。
            print(self.model.fileName(Qmodelidx))  #输出文件名
        
    
    if __name__=='__main__':
        app = QApplication(sys.argv)
        tree = TreeViewDemo()
        tree.show()
        sys.exit(app.exec_())
                

    双击文件后显示文件目录。

    展开全文
  • 3、文件目录思维导图文件控制块FCB目录操作目录结构单级目录结构两级目录结构多级目录结构(树形目录结构)无环图目录结构索引结点(FCB的改进) 思维导图 文件控制块FCB 1、什么是文件目录:一种特殊的文件,是有...

    思维导图

    在这里插入图片描述

    文件控制块FCB

    在这里插入图片描述

    1、什么是文件目录:一种特殊的文件,是有结构的文件,如上图的表格,用于记录各个文件的属性;最主要的属性是:文件名和物理地址的映射,从而实现按名存取
    2、什么是FCB:当你建立一个目录或者文件时,会在文件目录中新增一条记录(记录文件的属性),这样的一条记录就称做一个FCB。
    3、FCB中最重要的就是文件名和物理地址的映射,从而实现按名存取

    目录操作

    在这里插入图片描述

    目录结构

    单级目录结构

    在这里插入图片描述

    问题:不适用于多用户操作系统

    两级目录结构

    在这里插入图片描述

    问题:用户对自己的文件不能进行分类

    多级目录结构(树形目录结构)

    在这里插入图片描述

    1、多级目录结构:现在大部分操作系统使用的目录结构。
    2、绝对路径:由于目录结构分层,所以需要用一个路径来确定文件存放位置,从根开始的路径称为绝对路径
    3、相对路径:由于对每一层目录而言,需要将其调入内存后才可以对下一层目录进行读取;但是外存与内存之间的访问效率很低,所以,提出了相对路径,即从当前目录进行下级目录的查询(不需要在从根开始访问了),因为减少了I/O读写次数,所以文件访问速率就提升了。
    4、问题:树形目录结构可以很方便地对文件进行分类,层次结构清晰,也能够更有效地进行文件的管理和保护。但是,树形结构不便于实现文件的共享。为此,提出了“无环图目录结构”。

    无环图目录结构

    在这里插入图片描述

    1、无环图目录:可以用不同文件名指向同一个文件。
    2、由于一个文件有多个指向,所以,当删除文件时不能直接将文件本身删除。为此,设置了一个共享计数器,某个用户删除文件时,共享计数器减一,删除该用户的FCB,而不会对文件本身操作。

    索引结点(FCB的改进)

    在这里插入图片描述

    j本质上就是将目录文件压缩,用更少的磁盘块存储更多的文件目录项;由于内存调入磁盘块非常耗时,因此提高了文件检索速率,如上图示例。

    展开全文
  • Docker文件目录和容器内部操作

    千次阅读 2020-12-19 14:16:57
    Docker默认的文件目录位于Linux server的/var/lib/docker 下面。目录结构如下|-----containers:用于存储容器信息|-----image:用来存储镜像中间件及本身信息,大小,依赖信息|-----network|-----swarm|-----tmp:...
  • 文件目录结构:单级、两级、多级(树形)和无环图目录结构 与文件管理系统和文件集合相关联的是文件目录,它包含有关文件的信息,包括属性、 位置和所有权等,这些信息主要是由操作系统进行管理。首先我们来看目录...
  • vue 选择本地文件目录

    万次阅读 热门讨论 2020-10-15 15:12:09
    vue 选择本地文件目录先看效果原码片断 通过的vue结合原生的input 进行本地文件系统目录的选择 先看效果 传统的文件处理会有一些文件上传相关的插件,但有时候会有一些需求是不能简单选择一个文件上传就能解决的...
  • Chrome浏览文件方法 file:///D:/Python/ 像记事本.txt等类型的文件直接可以进行查看。 其它类型的文件点击会变成下载。
  • Ubuntu文件目录结构详解

    万次阅读 多人点赞 2017-11-23 17:06:00
    1、对于每一个Linux Ubuntu系统学习者来说,了解Linux文件系统的目录结构是学好Linux的至关重要的一步.,深入了解linux文件目录结构的标准和每个目录的详细功能,对于我们用好linux系统只管重要,下面我们就开始了解...
  • nginx 静态文件目录配置

    万次阅读 2019-02-12 20:58:31
    1. css,js,img等文件的静态文件目录配置 我们通常会需要配置(有可能是cdn回源,也有可能是直接访问),访问域名m.static以.css/gif/ico...等文件结尾的静态文件时,直接去服务器上/data/static 目录下面寻找。 ...
  • 有时候我们整理文件的时候需要列出文件夹里面所有的文件名或者文件夹名,生成一个文件目录,一个个重命名然后复制到word或者记事本的方法显示有点太繁琐了。 网上有一些自动生成文件目录的程序,比如我之前一直在用...
  • eclipse点击文件,左侧显示文件目录

    万次阅读 2018-04-16 13:05:59
    Packet Explorer –&gt; Link with edit
  • linux文件目录和文件链接

    千次阅读 2018-05-17 10:13:05
    linux的文件目录管理 / /home /root /dev /usr /etc /boot /lib /var /tmp /proc /bin /sbin / 通常称为根分区。所有的文件和目录的起始点。只有root用户对此目录拥有写权限。 /etc 配置文件 包含所有应用程序的...
  • Source Insight4.0 不显示文件列表/工程文件目录

    万次阅读 多人点赞 2019-01-18 13:06:23
    软件设置里面勾选上Project File List就行了。  
  • Maven项目编译后文件目录结构

    千次阅读 2018-11-09 13:29:23
    去找编译后文件目录,先去编译后项目存储地址 workspace对应的盘:\workspace的位置\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\项目名   META-INF:相当于一个信息包,目录中的文件和...
  • [技巧]如何生成文件目录结构的脑图

    千次阅读 2019-08-11 19:34:40
    最近为了分析一个开源工程的源码,费劲了心思,源代码的文件数量较多,很难理清关系,所以想着如果能生成文件目录结构就好了。 使用tree指令 如果不是浏览结构,不需要备注和修改,linux下有个很好用的工具‘tree’...
  • python里文件的读写和文件目录以及文件夹的操作

    万次阅读 多人点赞 2018-04-01 20:49:05
    给要打开的文件对象指定一个名字,这样可在完成操作之后迅速关闭文件,防止一些无用的文件对象占用内存12345file_object = open('thefile.txt') try: all_the_text = file_object.read( ) finally: file_object....
  • Android的/system目录是安卓的系统目录,里面存放的都是系统文件,主要有以下文件夹: 更加具体的文件结构,有兴趣的读者可以安装一个RE文件管理器去查看,在这里我们只关注/system目录文件的操作问题。  /...
  • 如何改变iTunes默认备份文件目录

    万次阅读 2019-04-17 18:04:52
    iTunes和iCloud这两个东西,相信苹果用户都很熟悉,在...还有一个问题就是:iTunes默认的备份文件目录是我们电脑上的C盘。众所周知,电脑C盘是比较重要的系统分区,如果iTunes备份文件过大会占据较多的C盘空间,导...
  • Linux之tree命令生成文件目录结构

    千次阅读 2018-11-01 11:04:16
    在写博客的过程中,看到别人有添加目录结构的好习惯,觉得效果很好,如图所...最简单的使用办法是直接输入tree命令,就会自动给我们以树形的形式列出当前目录文件和文件夹,不加任何参数,它会自动列表当前目录下...
  • win10 host文件目录

    万次阅读 2018-05-28 10:17:34
    C:\Windows\System32\drivers\etc
  • Window10 WSL2 Linux子系统文件目录路径

    千次阅读 2020-11-20 17:51:52
    我在将WSL1更新到WSL2之后发现以前可以从Window文件系统中直接访问的Linux文件的方式不能用了 C:\Users\LongtaoGao\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\...
  • nodejs 拷贝目录下所有文件 目录

    万次阅读 2018-12-20 16:57:26
    var fs=require('fs'); var copy=function(src,dst){ let paths = fs.readdirSync(src); //同步读取当前目录 paths.forEach(function(path){ var _src=src+'/'+path; var _dst=dst+'/'+path; ...
  • node读取文件夹,文件目录

    千次阅读 2019-03-09 15:22:28
    var fs = require('fs') fs.readdir('D:/Movie/www', function (err, files) { if (err) { return console.log('目录不存在') } console.log(files) }) 以上为异步读取 同步读取使用 fs.readdirSync() ...
  • 使用tree指令生成文件目录

    千次阅读 2019-01-02 14:53:18
    直接在命令行输入: ...-C 在文件目录清单加上色彩,便于区分各种类型。 -d 显示目录名称而非内容。 -D 列出文件目录的更改时间。 -f 在每个文件目录之前,显示完整的相对路径名称。 -F 在执行文件...
  • Vim打开文件目录

    万次阅读 2018-09-16 00:12:58
    一、 正在编辑的模式下 #vim命令模式下 :Explore #当前窗口下打开 :Vexplore #竖直分割窗口打开 ...i 切换文件视图 二、直接打开目录 vim命令后直接跟文件夹,例如 root@localhost# vim /etc...
  • 那么怎么让他判断下,要是文件目录不存在了,就新建目录,然后再继续,就可以正确执行了。 下面示范如何操作。有姿势不对的地方,还请各位指出来,我好修正,以免误人子弟。 先看bug图: 这个是在,所操作的目录不...
  • linux通过进程号查看运行文件目录

    万次阅读 2019-03-10 13:56:33
    通过ps命令查询正在运行程序的进程号 ...通过 ll /proc/{进程号}/cwd查看运行目录 ll /proc/10995/cwd 查询结果: lrwxrwxrwx 1 root root 0 1月 12 00:05 /proc/10995/cwd - > /home/blog
  • 一、文件目录树1、Linux文件目录分配的依据FHSFilesystem Hierarchy Standard (FHS)Filesystem Hierarchy Standard(文件系统目录标准)的缩写,多数Linux版本采用这种文件组织形式,类似于Windows操作系统中c盘的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,903,417
精华内容 2,361,366
关键字:

文件目录

友情链接: Bc31.zip