linux文件和目录常用管理命令

文件管理

    文件数据的组成:

        1.数据

        2.元数据:属性信息。

            权限,时间戳,属组,属主,文件的名称,文件的节点号等等。

    linux的文件类型:

        1.普通文件 - f

        2.目录文件 d

        3.链接文件 

            符号链接 l

            硬链接 -

        4.特殊文件 用于作为硬件设备访问入口的文件。

            块设备 b 能够随机的,按照宽的方式进行存取。

            字符设备 c 线性的,按照字符逐个存取的设备。

        5.套接字文件 socket s

            在本机内部用软件模拟的方式让2个进程进行通信的文件。

        6.管道文件 pipe p

    #touch     [OPTION] FILENAME    修改文件的时间戳。但是也能用来创建空文件。

        -c --no-create 不创建任何文件。

        -m 只修改mtime为当前时间。

        -a 只修改atime为当前时间。

        -t 指定时间戳,使用格式为[[CC]YY]MMDDhhmm[.ss]

    时间戳:

        最近一次的访问时间 access

        最近一次的修改时间 modify 文件内容的改变

        最近一次的改变时间 change 文件元数据的改变。

        

    #stat FILENAME    显示文件状态。

    #nano FILENAME    编辑文件。

    

    #rm [OPTION] FILENAME    删除文件。

        -i 交互模式,会有相关提示。

        -f 强制删除。不提示。

        -r 递归。

    #cp [OPTION] SRC... DEST 复制文件。

    #cp [OPTION] FIEL1 FILE2... DEST 多文件到一个目录。单文件到一个文件。

        SRC:文件    DEST:目录    文件复制到目标文件夹下。并保留原来的名称。

        SRC;目录    DEST:目录    默认是会忽略目录复制的。使用-r选项可以递归复制。

        SRC:文件    DEST:文件    若DEST不存在,则复制并重命名。若存在则覆盖,通常有提示。

        SRC:目录    DEST:文件    不能把目录复制成文件。

        -r -R --recursive    递归复制。复制文件夹以及子文件和文件夹。默认情况下cp是会忽略目录复制的。

        -f 强行复制。若目标文件已存在并无法打开,则会删除文件并覆盖。

        -i    在覆盖前提示。

        -p 等同于--preserve=mode,ownership,timestamps

        --preserve=[ATTR LIST] 在复制时保留文件的属性。默认:mode(权限),ownership(属主属组),timestamps(时间戳).

        -a --archive 归档存放。等同于-dR --perserve=all 保留文件上的全部属性。

        -L --dereference 总是跟随符号链接。复制的是链接指向的文件。

        -P --no-dereference 从不跟随符号链接。若文件是链接,则复制链接。

        -d 等同于--no-dereference --perserve=link。复制链接的属性,而不是文件。

        例如:

            #cp a b c d 将a,b,c复制到d。

            #cp /etc/passwd /tmp/abc 

    #mv [OPTION] SRC DEST 移动文件。

        SRC:文件    DEST:目录    文件移动到目标文件夹下。并保留原来的名称。

        SRC;目录    DEST:目录    若目标文件夹不存在。移动并重命名。若目标文件夹存在,则移动到目标文件夹下。

        SRC:文件    DEST:文件    同目录下为重命名,不同目录下是移动并重命名。

        SRC:目录    DEST:文件    不能用目录覆盖文件。

        -f 强制覆盖。

        -t --target-directory=DESTDIR 先指定DEST,在指定SRC。

        -i 覆盖前提示。

    #install [OPTION] 复制文静并指定属性。部分用法类似cp和mv。

        -d DIR...将多个目录指定为目标地址。常用来创建目录。

            例如:

                #install -d /tmp/{a,b}

                #ls

                    /tmp/a

                    /tmp/b

        -m =MODE 指定权限。默认权限为755即rwxr-xr-x。

        -t DEST SRC... 

目录管理

    #ls [OPTION] DIR 列出目录下文件。

        -a 显示目录下的所有文件,显示.和..

            . 表示当前目录

            .. 表示父目录

        -A 显示目录下的所有文件,但是不显示.和..

        -l 以长格式long显示文件的信息属性。

            1.文件类型    

            2.文件权限(ugo)

            3.文件硬链接的个数

            4.文件的属主(owner)

            5.文件的属组(group)

            6.文件的大小

                目录的大小一般是目录名字字符个数的大小,一般值都是4k大小。

            7.时间戳(timestamp)最近一次被修改的时间。

                atime access 文件的访问时间

                ctime change 文件的改变时间 改变文件的属性。

                    文件有两种数据,一种是文件本身的数据,另一种是文件属性的数据。文件的属性数据也叫元数据(metadata)。

                mtime modify 文件的修改时间 改变文件的内容。

            8.文件名

        -h 对显示的结果做单位换算,并不是精确值,只是便于阅读。human-readable。

        -d 显示目录本身

        -r 逆序显示 reverse

        -R 递归 recursive

        -i inode 显示inode号码。

    #echo [OPTION] [STRING] 显示一行文本

        -n 不换行

        -e   启用逃逸字符。(转义字符。)

            \n    换行。

            \\    显示反斜线自身。

            \b    退格,会覆盖前一个字符。

            \t    横向制表符

            \v    纵向制表符

    #cd DIR 切换目录

        #cd ~   USERNAME  切换到指定用户名为USERNAME的家目录,只有root可以。

        #cd - 在上个目录和本目录中来回切换。

                $PWD

                $OLDPWD

            . 相对路径下当前目录

            .. 相对路径下的上层目录

            ./ 可以省略,但是某些环境需要

    #pwd 显示当前目录。print working directory

    #mkdir [OPTION] DIR    创建空目录

        -p 创建目录的同时创建父目录

        -v 显示创建过程

        命令行展开:bash shell在遇到{}会自动展开里边的内容,用逗号来分分隔各个元素。

            例如:

                #mkdir /mnt/test/{x/m,y}

                #ls

                    /mnt/test/x/m

                    /mnt/test/y

                #mkdir /mnt/test2/{a,d}_{b,c}

                #ls

                    /mnt/test2/a_b

                    /mnt/test2/a_c

                    /mnt/test2/d_b

                    /mnt/test2/d_c

    #rmdir [OPTION] DIR    删除空目录

        -p 删除子目录同时删除父目录,但是仅限于空目录,非空目录无法删除

            例如:

                #mkdir /mnt/test/x/y/{z,q}

                #tree

                    /mnt/

                        |--x

                            |--y

                                |--z

                                `--q

                        

                #rmdir -p /mnt/test/x/y/q

                #tree

                    /mnt/

                        |--x

                            |--y

                                `--z

    #tree DIR 查看目录树

文本处理

    #cat [OPTION] FILENAME... 连接多个文件并打印到标准输出。

        -n 显示行号。

        -E --show-ends 显示每行行尾的结束符。linux系统文本文件的行结束符为$,windows的为$后跟回车。

        -T 显示制表符、

        -v 显示其他非打印打印字符,例如回车等。

        -A --show-all 显示所有符号。

        例如:

            #cat /etc/issue

            #cat /etc/fstab

            #cat /etc/issue /etc/fstab

        终端上可以按住shift+pageup/pagedown 查看内容。但是内容有可能超出缓存而显示不完整。

    #tac 从最后一行倒序显示文件。

    #more 和less类似,但是可以手动翻页查看。操作类似于man,但是不支持向前翻页,到文件尾部会自动退出。

    #less man命令就是调用less完成的,操作上和man一样。less到文件尾部不会退出,支持向前翻页。

    #head [OPTION] FILENAME 

        -NUM 查看前NUM行,默认不加次参数NUM的值是10。空白行也是一行。

    #tail [OPTION] FILENAME 查看后NUM行。

        -f 显示完成后不退出,此时如有文件内容被修改,则即时显示追加至文件的内容。

    #cut [OPTION] FILENAME 剪切

        -d SEP(separator) 指定分隔符为SEP。默认是空格。

        -f NUM 指定要显示第NUM个字段。

            -f NUM 显示第NUM个字段。

            -f NUM1,NUM3 显示第NUM1和NUM3个字段。

            -f NUM1-NUM3 显示第NUM1到NUM3个字段。

        例如:

            #cut -d :-f1 /etc/passwd 

                以:作为分隔符,显示第1个字段。

            #cut -f1,7 /etc/passwd

                显示第一个1字段和第7个字段,分隔符为空格。

    #sort [OPTION] FILENAME 按照每个字符自左向右ASCII表中的值升序排列文件。

        -n --numeric-sort 按照数值大小排序。

        -r --reverse 降序排列。

        -t 字段分隔符。

        -k SEP 以某个字段为关键字或以某个字段开始进行排序。

        -u 排序后相同内容只显示1次。仅限于相邻2行内容相同。

        -f 忽略字符大小写。

        例如:

            #sort -t: -k3 /etc/passwd 以冒号为分隔符,从第3个字段开始排序。

    #uniq [OPTION] FILENAME 报告或者略过重复行。

        -d 只显示重复的内容

        -D 显示所有重复的行的内容

        -c 显示重复的次数。

文本统计

    #wc [OPTION] FILENAME word conun 统计文件行数、单词数、字节数(包括空格字符)。

        -l 显示行数

        -w 显示单词数

        -c 显示字节数(byte)

        -m 显示字符数(char)

        -L 最长行包含的字符个数。

        例如:

            #wc /etc/passwd

字符处理

    #tr [OPTION] ... SET1 [SET2] 转换或删除字符。针对字符集中每个字符替换。逐个字符处理

        -d --delete 删除字符集中所有字符。

    例如:

        #tr ab AB 把ab字符集替换为AB。

        #tr ab AB < /etc/passwd 把/etc/passwd中的ab替换为ab

        #tr 'a-z' 'A-Z' < /etc/passwd 小写字母全部替换为大写字母。

        #tr -d 'ab' < /etc/passwd 把/etc/passwd中有a和 b的字符删除。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值