linux文件目录操作的相关命令

linux文件目录操作的相关命令



mkdir rmdir tree touch stat cp mv rm

mkdir

功能说明:建立空目录

语 法:mkdir [-p][--help][--v][-m <目录属性>][目录名称]

补充说明:mkdir可建立目录并同时设置目录的权限。

选项:

  • -m<目录属性> 建立目录时同时设置目录的权限。

    [[email protected]_18_121_centos ~]# mkdir -m 775 qin
    [[email protected]_18_121_centos ~]# ll
    drwxrwxr-x  2 root root 4096 Jul 29 10:45 qin
  • -p或--parents 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录
    [[email protected]_18_121_centos ~]# mkdir -p ./1/12/15/258
    [email protected]_18_121_centos ~]# tree 1/
    1/
    `-- 12
        `-- 15
            `-- 258
    
    3 directories, 0 files

一般用法
mkdir 文件名


rmdir (remove directory)

功能说明:删除目录。

语  法:rmdir [-p][--help][目录...]

补充说明:当有空目录要删除时,可使用rmdir指令。

选 项:

  • -p 删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除。

    [email protected]_18_121_centos ~]# tree 1/
    1/
    `-- 12
        `-- 15
            `-- 258
    [[email protected]_18_121_centos ~]# rmdir -p 1/12/15/258/
    [[email protected]_18_121_centos ~]# tree 1
    1 [error opening dir]
    
    0 directories, 0 files

    注意:只能删除空目录


tree

功能说明:以树状图列出目录的内容。

语  法:tree [-aACdDfFgilnNpqstux][-I <范本样式>][-P <范本样式>][目录...]

补充说明:执行tree指令,它会列出指定目录下的所有文件,包括子目录里的文件。

选 项:

  • -L level:指定显示的层级:例如-L 2 显示两层层级
  • -C 在文件和目录清单加上色彩,便于区分各种类型。
  • -d 只显示目录名称而非内容。
    • -f 在每个文件或目录之前,显示完整的相对路径名称。
    • -D 列出文件或目录的更改时间。
    • -p 列出权限标示。
    • -s 列出文件或目录大小。
    • -t 用文件和目录的更改时间排序。
          [[email protected]_18_121_centos /]#  tree -CdL 1
          .
          |-bin -> usr/bin
          |-boot
          |-data
          |-dev
          |-etc
          |-home
          |-lib -> usr/lib
          [[email protected]_18_121_centos /]# ll
          total 68
          lrwxrwxrwx.  1 root root     7 Apr 21 15:00 bin -> usr/bin
          dr-xr-xr-x.  4 root root  4096 Jul 27 11:34 boot
          drwxr-xr-x   2 root root  4096 Apr 21 22:18 data
          drwxr-xr-x  18 root root  2860 Jul 27 11:33 dev
          -rw-r--r--   1 root root    39 Jul 27 11:41 qiu

stat

功能说明:显示inode内容。

语  法:stat [文件或目录]

补充说明:stat以文字的格式来显示inode的内容。(显示文件源数据)

    [[email protected] ~]# stat acd 
      文件:"acd"
      大小:12         块:8          IO 块:4096   普通文件
    设备:803h/2051d   Inode:141620596   硬链接:1
    权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
    环境:unconfined_u:object_r:admin_home_t:s0
    最近访问:2016-07-28 14:18:22.969424559 +0800
    最近更改:2016-07-28 14:18:00.772595552 +0800
    最近改动:2016-07-28 14:18:00.772595552 +0800
    创建时间:-

更改是指文件内数据的改变,改动是指文件元数据的改变


touch

功能说明:新建文件,改变文件或目录时间戳。

语  法:touch [-acfm][-d <日期时间>][-r <参考文件或目录>][-t <日期时间>][--help]   [--version][文件或目录...] 或 touch [-acfm][--help][--version][日期时间][文件或目录...]

补充说明:使用touch指令可更改文件或目录的日期时间,包括存取时间和更改时间。

选 项:

  • -a或--time=atime或--time=access或--time=use  只更改存取时间。
  • -c或--no-create  指定的文件路径不存在时不建立任何文件。
  • -d <时间日期>  使用指定的日期时间,而非现在的时间。
  •  -m或--time=mtime或--time=modify  只更改变动时间。
  • -r<参考文件或目录>  把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同。
  • -t<日期时间>  使用指定的日期时间,而非现在的时间。格式 [[CC]YY]MMDDhhmm[.ss]

    第一种用法:直接创建指定文件

        [[email protected] ~]# touch aaa
        [[email protected] ~]# ll aaa
        -rw-r--r--. 1 root root 0 7月  29 12:35 aaa

    第二种用法:如果文件存在则不改变文件内容,只改变文件的所有时间戳为当前时间

        [[email protected] ~]# stat acd
          文件:"acd"
          大小:8          块:8          IO 块:4096   普通文件
        设备:803h/2051d   Inode:141620596   硬链接:1
        权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
        环境:unconfined_u:object_r:admin_home_t:s0
        最近访问:2016-07-29 12:29:07.347575849 +0800
        最近更改:2016-07-29 12:29:07.347575849 +0800
        最近改动:2016-07-29 12:29:07.347575849 +0800
        创建时间:-
        [[email protected] ~]# touch acd 
        [[email protected] ~]# stat acd
          文件:"acd"
          大小:8          块:8          IO 块:4096   普通文件
        设备:803h/2051d   Inode:141620596   硬链接:1
        权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
        环境:unconfined_u:object_r:admin_home_t:s0
        最近访问:2016-07-29 12:30:20.045015827 +0800
        最近更改:2016-07-29 12:30:20.045015827 +0800
        最近改动:2016-07-29 12:30:20.045015827 +0800
        创建时间:-
        [[email protected] ~]# cat acd 
        sdasdsa
  1. 不带任何参数

2.修改指定的时间戳为当前时间 -a和-m

    [[email protected] ~]# touch -m acd 
    [[email protected] ~]# stat acd
      文件:"acd"
      大小:8          块:8          IO 块:4096   普通文件
    设备:803h/2051d   Inode:141620596   硬链接:1
    权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
    环境:unconfined_u:object_r:admin_home_t:s0
    最近访问:2016-07-29 12:46:03.353749084 +0800
    最近更改:2016-07-29 12:46:55.286349022 +0800
    最近改动:2016-07-29 12:46:55.286349022 +0800
    创建时间:-
    [[email protected] ~]# touch -a acd
    [[email protected] ~]# stat acd 
      文件:"acd"
      大小:8          块:8          IO 块:4096   普通文件
    设备:803h/2051d   Inode:141620596   硬链接:1
    权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
    环境:unconfined_u:object_r:admin_home_t:s0
    最近访问:2016-07-29 12:49:23.479207425 +0800
    最近更改:2016-07-29 12:46:55.286349022 +0800
    最近改动:2016-07-29 12:49:23.479207425 +0800
    创建时间:-

3.修改文件的时间戳为指定时间 -t(可以和-a -m结合使用)

-t 选项语法组成 : [[CC]YY]MMDDhhmm [.SS] CC - 年份的前两位 YY - 年份的后两位 MM - 月份 [01-12] DD - 日期 [01-31] hh - 时 [00-23] mm - 分 [00-59] SS - 秒 [00-61]

    [[email protected] ~]# touch -at 100001120958.27 acd 
    [[email protected] ~]# stat acd 
      文件:"acd"
      大小:8          块:8          IO 块:4096   普通文件
    设备:803h/2051d   Inode:141620596   硬链接:1
    权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
    环境:unconfined_u:object_r:admin_home_t:s0
    最近访问:1000-01-12 09:58:27.000000000 +0800
    最近更改:2016-07-29 12:46:55.286349022 +0800
    最近改动:2016-07-29 12:51:40.923148630 +0800
    创建时间:-

4.以某个文件为参考文件或目录修改另一个文件 -r

    [[email protected] ~]# stat aaa
      文件:"aaa"
      大小:0          块:0          IO 块:4096   普通空文件
    设备:803h/2051d   Inode:141620555   硬链接:1
    权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
    环境:unconfined_u:object_r:admin_home_t:s0
    最近访问:2016-07-29 12:35:52.925451496 +0800
    最近更改:2016-07-29 12:35:52.925451496 +0800
    最近改动:2016-07-29 12:35:52.925451496 +0800
    创建时间:-
    [[email protected] ~]# stat aaa
      文件:"aaa"
      大小:0          块:0          IO 块:4096   普通空文件
    设备:803h/2051d   Inode:141620555   硬链接:1
    权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
    环境:unconfined_u:object_r:admin_home_t:s0
    最近访问:1000-01-12 09:58:27.000000000 +0800
    最近更改:2016-07-29 12:46:55.286349022 +0800
    最近改动:2016-07-29 13:03:42.748588076 +0800
    创建时间:-

特殊

touch支持通配符?如果原本有aaa acd asd三个文件若用touch a??则 不会创建名a??的文件,而是把aaa acd asd 这三个文件的时间戳刷新,但如果用touch a????则会因为匹配不到文件而创建一个a????的文件

    -rw-r--r--. 1 root root    0 7月  29 12:35 aaa
    -rw-r--r--. 1 root root    8 7月  29 12:46 acd
    -rw-r--r--. 1 root root    0 7月  28 14:16 asd
    [[email protected] ~]# touch a??
    [[email protected] ~]# ll
    总用量 20
    -rw-r--r--. 1 root root    0 7月  29 13:06 aaa
    -rw-r--r--. 1 root root    8 7月  29 13:06 acd
    -rw-r--r--. 1 root root    0 7月  29 13:06 asd
    [[email protected] ~]# touch a????
    [[email protected] ~]# ll
    总用量 20
    -rw-r--r--. 1 root root    0 7月  29 12:16 12345678
    -rw-r--r--. 1 root root    0 7月  29 12:15 1234567890
    -rw-r--r--. 1 root root    0 7月  29 12:44 201401120958.27
    -rw-r--r--. 1 root root    0 7月  29 13:10 a????
    -rw-r--r--. 1 root root    0 7月  29 13:06 aaa
    -rw-r--r--. 1 root root    8 7月  29 13:06 acd
    -rw-------. 1 root root 1521 7月  20 00:53 anaconda-ks.cfg
    -rw-r--r--. 1 root root    0 7月  29 13:06 asd

cp (copy)

cp也可以改名

文件复制的原理,首先在目标地址创建一个空文件,然后把要复制的文件内容以数据流的方式流入这个空文件,使这个文件越来越大最后一样。复制的只是文件里面的数据,元数据不发生改变。

功能说明:复制文件或目录。

语  法:cp [-abdfilpPrRsuvx][-S <备份字尾字符串>][-V <备份方式>[源文件或目录][目标文件或目录] [目的目录]

补充说明:cp指令用在复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到该目录中。若同时指定多个文件或目录,而最后的目的地并非是一个已存在的目录,则会出现错误信息

选 项:

  • -d或--no-dereference  当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录
  • -f或--force  强行复制文件或目录,不论目标文件或目录是否已存在。
  • -i或--interactive  覆盖既有文件之前先询问用户。
  • -p或--preserve  保留源文件或目录的属性。
  • -v或--verbose  显示指令执行过程。
  • -r 或-R 递归处理,将指定目录下的文件与子目录一并处理。
  • -a或--archive  此参数的效果和同时指定"-dpR"参数相同。

1.无参数复制

直接复制:只能复制文件到指定目录
    [[email protected] etc]# cp /etc/issue /testdir/
    [[email protected] etc]# ll /testdir/
    总用量 8
    -rw-r--r--. 1 root root 23 7月  29 13:33 issue
    -rw-r--r--. 1 root root 44 7月  29 13:27 system-release

复制软连接,会把直接复制软连接所指向的文件,并且改名为软连接的名字
    [[email protected] etc]# cp system-release /testdir/
    [[email protected] etc]# ll /testdir/
    总用量 4
    -rw-r--r--. 1 root root 44 7月  29 13:27 system-release
    [[email protected] etc]# ll /etc/system-release
    lrwxrwxrwx. 1 root root 14 7月  20 00:09 /etc/system-release -> centos-release
    [[email protected] etc]# ll /etc/centos-release
    -rw-r--r--. 1 root root 44 7月  26 09:46 /etc/centos-release

2.复制目录 -r

    [[email protected] etc]# cp -r /etc/yum /testdir/
    [[email protected] etc]# ll /testdir/
    总用量 12
    -rw-r--r--. 1 root root   23 7月  29 13:33 issue
    -rw-r--r--. 1 root root   44 7月  29 13:27 system-release
    drwxr-xr-x. 6 root root 4096 7月  29 13:39 yum

3.-d或--no-dereference  当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录

    [[email protected] etc]# cp -d /etc/system-release /testdir/
    [[email protected] etc]# ll /testdir/
    总用量 0
    lrwxrwxrwx. 1 root root 14 7月  29 13:43 system-release -> centos-release  //只复制了软连接文件

4.其他


mv (move)

功能说明:移动或更名现有的文件或目录。

语  法:mv [-bfiuv][源文件或目录][目标文件或目录]

补充说明:mv可移动文件或目录,或是更改文件或目录的名称。

选 项:

  • -b或--backup  若需覆盖文件,则覆盖前先行备份。
  • f 或--force  若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文 件或目录。
  • i 或--interactive  覆盖前先行询问用户。
  • -v或--verbose  执行时显示详细的信息。

用法:1.移动某文件至指定目录

    [[email protected] etc]# cp /etc/issue /testdir/
    [[email protected] etc]# ll /testdir/
    总用量 4
    -rw-r--r--. 1 root root 23 7月  29 13:56 issue

2.移动文件或目录并改名

    [[email protected] etc]# ls /root/
    201401120958.27  acd    file1            issue                 视频  下载
    [[email protected] etc]# mv /root/issue  /root/qzx123
    [[email protected] etc]# ls /root/
    201401120958.27  acd    file1            qzx123                视频  下载

3.覆盖前的备份 -b

    [[email protected] etc]# mv -bi /testdir/issue /root/
    mv:是否覆盖"/root/issue"? y
    [[email protected] etc]# ls /root/
     issue~ issue

rm (remove)

功能说明:删除文件或目录。

语  法:rm [-dfirv][--help][--version][文件或目录...]

补充说明:执行rm指令可删除文件或目录,如欲删除目录必须加上参数"-r",否则预设仅会删除文件。

选 项:

  • -d或--directory  直接把欲删除的目录的硬连接数据删成0,删除该目录。
  • -f或--force  强制删除文件或目录。
  • -i或--interactive  删除既有文件或目录之前先询问用户。
  • -r或-R或--recursive  递归处理,将指定目录下的所有文件及子目录一并处理。
  • -v或--verbose  显示指令执行过程。

一般执行方式: rm -rf /PATH/TO/DIR (危险操作,请完全确认再后执行)

    [[email protected] ~]# ls /testdir/
    issue  yum
    [[email protected] ~]# rm -r /testdir/*
    rm:是否删除普通文件 "/testdir/issue"?
    rm:是否进入目录"/testdir/yum"? 
    [[email protected] ~]# ls /testdir/
    issue  yum
    [[email protected] ~]# rm -rf /testdir/*
    [[email protected] ~]# ls /testdir/
    [[email protected] ~]#

默认

[[email protected] ~]# alias rm
alias rm=‘rm -i‘

且默认回车为否不删除 不进入 ”n“

注意:所有不用的文件建议不要直接删除,而是移动至某个专用目录:(模拟回收站)

时间: 2024-10-19 13:11:17

linux文件目录操作的相关命令的相关文章

linux下查找进程及终止进程操作的相关命令

使用linux操作系统,难免遇到一些软件"卡壳"的问题,这时就需要使用linux下强大的kill命令来结束相关进程.这在linux系统下是极其容易的事情,你只需要kill xxx即可,这里xxx代表与此软件运行相关的进程PID号.首先,我们需要使用linux下另外一个命令ps查找与进程相关的PID号:ps aux | grep program_filter_word1)ps a 显示现行终端机下的所有程序,包括其他用户的程序.2)ps -A 显示所有程序.3)ps c 列出程序时,显示

你一定要知道的关于Linux文件目录操作的12个常用命令

写在前面: 1,<你一定要知道的关于Linux文件目录操作的12个常用命令>是楼主收集的关于Linux文件目录操作最常用的命令,包括文件或目录的新建.拷贝.移动.删除.查看等,是开发人员操作Linux系统的常用命令,所以你一定要知道. 2,<你一定要知道的关于Linux文件目录操作的12个常用命令>适合初学者,对于Linux大神的请绕过,不过欢迎一起讨论学习! 3,此次收集,多谢来自http://www.cnblogs.com/peida/archive/2012/10/23/27

Linux基础--进程管理相关命令介绍(2)

本文主要介绍了Linux中进程管理的相关命令,涉及到的主要命令有top,vmstat等. (1)top ①功能:用来查看CPU,内存以及进程的状态. ②用例: ③相关注释: load average表示负载,三个数值分别表示第1分钟,第5分钟,第10分钟 Cpu中us表示用户空间程序占用百分比,sy表示内核模式占用百分比,ni表示调整NICE值所占用的    CPU百分比,id表示CPU的空闲比例,wa表示等待磁盘IO完成所占用的时间比例,hi表示硬件中断占     据的百分比,si表示软中断所

linux 目录结构及其相关命令

目录也是一个文件,它的唯一功能是用来保存文件及其相关信息.所有的文件,包括普通文件.设备文件和目录文件,都会被保存到目录中. 主目录 登录后,你所在的位置就是你的主目录(或登录目录),如果是root用户则到达/root目录,其他用户则到达/home/用户名,接下来你主要是在这个目录下进行操作,如创建文件.删除文件等. 使用下面的命令可以随时进入主目录: $cd ~ $ 或者 cd 这里 ~ 就表示主目录.如果你希望进入其他用户的主目录,可以使用下面的命令: $cd ~username $ 返回进

linux 系统性能调优 相关命令汇总

linux 系统性能调优 相关命令汇总: 1. ps:查看系统中当前有哪些进程在运行 常用命令有ps aux  | grep  -i  mysql http://www.cnblogs.com/peida/archive/2012/12/19/2824418.html 2. top:动态显示各个程序对cpu,内存的占用,以及负载的情况 http://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316399.html 3. io的总体负载,进程的io

Linux网络属性配置相关命令

Linux网络属性配置相关命令: 前言: Linux属性配置可以分为两类.一类通过命令配置,另一类通过修改配置文件配置. Linux属性配置的相关命令可以分为三大类: 一.ifcfg命令家族:①ifconfig,②route,③netstat,④hostname ①ifconfig命令:主要负责接口及地址查看和管理 ifconfig [INTERFACE] #ifconfig -a:显示所有接口,包括inactive状态的接口.(包括激活和未激活的接口): 如图所示,-a选项将会显示所有接口,包

Linux基础--进程管理相关命令介绍(1)

本文主要介绍了Linux中进程管理的相关命令,涉及到的主要命令有pstree,ps. (1)pstree ①功能:用来查看进程树 ②用例: (2)ps ①功能:用来显示系统当前进程状态的命令 ②用例: ③相关用法: ps a:显示所有跟终端相关的进程 ps x:显示所有跟终端无关的进程 相关注释: STAT各代码含义: S:可中断的睡眠态 D:不可中断的睡眠态 R:运行或可运行 T:停止 Z:僵死 s:session leader l:多线程进程 +:前台进程 N:低优先级进程 <:高优先级进程

linux账号管理及相关命令和操作

用户和组 用户: 1:用户和UID对应 2:用户需要有权限才能读.写.执行其他用户的文件 组: 1:组和GID对应 2:用户需要加到组中 3:每个用户都有自己的默认组,可以附加到其他的组 4:同组的用户可以根据组的权限,共享文件,协同合作 UID(User id ):linux系统对用户账号的识别,因为系统不会识别你的账号名,而是通过对账号分配数字ID,便于识别,账号名只是易于用户记忆,便于人类操作 UID范围 root:0 系统账号:小于500 一般账号:大于500 对应的账号信息在 /etc

linux用户管理及相关命令

Linux用户:UserName/password UID:0-65535 管理员:0 普通用户:1-60000 系统用户: CentOS6: 1-499 CentOS7:1-999 登录用户: CentOS6: 500+ CentOS7: 1000+ Linux组:GroupName/GID 管理员组:0 普通组: 1-499, 1-999 500+, 1000+ 用户的基本组: 用户的私有组: 用户的附加组: Linux用户和组的相关的配置文件: /etc/passwd:用户名.UID.基本