zoukankan      html  css  js  c++  java
  • centos 6.5 文件目录管理

    Linux不存在像Windows那样分盘符的概念,Linux在安装之后就以文件目录的形式来进行管理,存储。即当我们安装完系统之后,我们就会看到有一堆的目录出现在根目录下。同时Linux使用正斜杠“/”,而不是反斜杠“”来标识目录。

    先来个例子:

    用户间文件共享:

    共享文件对一个团队来说很重要,团队成员通常需要在一台服务器上共同完成一项任务。下面介绍如何实现用户间共享文件,假设这个团队的成员在服务器上的用户名为lucy,liwei,tian,他们属于workgroup工作组。可以用一下命令来模拟这个场景:

    ## 新建一个用户名为workgroup的用户组
    $ sudo groupadd workgroup
    ## 新建用户并归入workgroup 用户组
    $ sudo useradd  -G workgroup  lucy
    $ sudo passwd lucy
    
    $ sudo useradd  -G workgroup  liwei
    $ sudo passwd liwei
    
    $ sudo useradd  -G workgroup  tian
    $ sudo passwd tian

    首先在/home目录下新建一个work目录,作为这个小组的工作目录,注意这个需要root权限的哦。

    $ cd home/
    $ sudo mkdir work    ##  建立一个名为work的目录

    现在任何人都可以访问这个新建的目录,而只有root用户具有该目录的写权限。现在我们希望前面我们创建的workgroup具有读写权限,并禁止其他无关的用户查看这个目录。

    $ sudo chgrp workgroup work/    ## 将work目录的所有权交给workgroup组
    $ sudo chmod g+rwx work/    ## 增加workgroup组对work目录的读,写,执行权限
    $ sudo chmod 0-rwx work/  ## 撤销其他用户对work目录的读,写,执行权限

    接下来把这个目录交给一个组长liwei

    $ sudo chown liwei work/    ##  将work目录的所有者更改为liwei用户

    现在所有属于这个组的成员都可以访问并修改这个目录中的内容了,而其他未经过授权的用户,除了root外都无法开导里面的内容。举例来说,liwei在work目录下新建了一个名为test的文件,那么同属于一个组的tian如果认为这个文件没什么必要,可以有权限删除它。

    $ su liwei    ## 切换到用户liwei
    $ cd /home/work
    $ touch test    ##  建立一个空文件test
    $ su tian     ##切换到用户tian
    $ cd /home/work/
    $ rm test       ##   删除test文件

     建立文件与目录

    建立目录:mkdir

    mkdir命令可以一次创建一个或者是多个目录,下面的命令在用户主目录下建立两个目录:document,picture

    $ cd ~     ##   进入用户主目录
    $ mkdir document picture        ##  新建两个目录

    用户也可以使用绝对路径来新建文件

    $ mkdir ~/picture/temp        ##    在主目录下新建temp的目录

    由于主目录先picture 这个目录已经存在,所以这条命令是合法的,但当用户试图运行下面的命令,mkdir将提示有错

    $ mkdir ~tempx/job 
    mkdir:无法创建目录

    但是可以使用-p选项,来完整地创建一个子目录结构

    $ mkdir -p  ~tempx/job 

    建立一个空文件:touch

    touch使用非常简单,只需在后面跟上一个文件名作为参数。下面这个命令在当前目录下新建一个名为hello的文件

    $ touch hello    

    touch命令的另一个用途是更新一个文件的建立日期与时间。

    移动,复制与删除

    1、移动与重命名:mv

    mv这个命令用来移动文件,下面这个命令将hello文件移动到bin目录下

    $ mv hello bin/

    当然也可以用来移动目录,下面这条命令把photos目录移动到【桌面】这个目录下

    $ mv photos/  桌面/

    mv再把一个文件或者是目录移动到目标目录中的时候,如果出现了同名的文件的时候会是什么样子呢?

    如果出现同名的文件将会覆盖掉目标文件中的同名文件。别担心Linux提供了一个-i的选项用来提示用户石是否要覆盖这个文件,如下:

    $ mv -i  hello  test/                    ##test目录下有一个hello文件
    mv:是否覆盖“test/hello”?

    回到y表示覆盖,回答n表示跳过这个文件。

    另一个有一用的选项是-b,这个选项也可以解决上述问题。在移动文件前,首先在目标目录的同名文件的文件名后加一个“~”,从而避免了这个文件被覆盖。

    $ mv -b hello test/
    $ cd  test/
    $ ls
    hello    hello~

    在Linux中没有重命名这个命令,重命名无非就是同一个文件在同一个目录下移动,这个mv就可以解决了,

    $ mv hello~ hello_bak
    $ ls
    hello hello_back

    mv可以在移动文件和目录的同时实现重命名。

    复制文件与目录:cp

    cp命令用来复制文件与目录,下面这个条命令将test.js复制到test目录下

    $ cp test.js test/

    和mv命令一样,cp默认情况下会覆盖目标目录下的同名文件,像上面一样可以使用-i命令对这种情况进行提示。也可使用-b选项对同名文件改名后在复制。

    $ cp -b test.js test/
    $ cd test/
    $ ls
    test.js       test.js~

    cp命令在执行复制任务的时候会自动的跳过目录。

    $ cp test/ 桌面/
    cp:略过目录"test/"

    可以使用-r选项来解决这个问题,这个选项将子目录连同其中的文件一起复制到另一个子目录下:

    $ cp -r test/ 桌面/

    删除目录和文件:rmdir和rm

  • 相关阅读:
    OBS直播和相关操作
    计算机信息安全易错题目整理3
    计算机信息安全易错题目整理1
    LeetCode SQL题目(第一弹)
    操作系统及安全复习笔记
    网络安全web部分
    《算法分析与设计基础》考前复习提纲
    兼容新旧浏览器的flex写法
    特效背景粒子插件particles.js
    前端工程师必备的几个实用网站
  • 原文地址:https://www.cnblogs.com/duhuo/p/4216032.html
Copyright © 2011-2022 走看看