• Linux 文件、文件夹管理相关命令


    十年河东,十年河西,莫欺少年穷

    学无止境,精益求精

    大学毕业后,一直做C#开发,从NetFrm2.0做起,至今快十年了,受微软影响,很少接触Linux。

    自netCore推出后,微软也进入了开源、跨平台的行列,且随着docker容器技术及K8S的发展流行,因此学习Linux势在必行了。

    俗话说,工欲善其事必先利其器,前段时间,在自己的Win10电脑上,通过VmWare装了二台Linux、Centos7操作系统,一个网页服务器版,一个桌面版。

    有了Linux操作系统,就需学会操作该系统,鉴于之前自己是小白一枚,因此只能通过自学来改善薄弱的Linux知识了。

    本篇博客记录linux文件管理相关命令,大牛可直接跳过。

    linux 命令格式为:命令+【选项】+【参数】  例如:ls -a /   列出根目录下所有文件包含隐藏文件 ,【】里面内容为可选项。

    1、ls 命令

     ls 列出当前目录下文件、文件夹

     ls -a  列出当前目录下文件、文件夹,以.开头的隐藏文件也会被列出

     ls -l  列出当前目录下文件/文件夹详情信息

     - 开头的为 文件

    l  开头的为连接,软链接,硬链接,软链接类似于windows操作系统下的快捷方式,硬链接相当于源文件的复制版,但修改源文件时,硬链接内容也会修改

    d  开头的为文件夹

    第一个 rwx 代表拥有者可读 、可写 、可执行 ,第二个 rwx 代表与拥有者同组人员可读、可写、可执行,第三个 rwx 代表其他人 可读 可写 可执行

    第一个 root 为拥有者/创建者  第二个 root代表与root同组人员,80770 代表文件/文件夹大小,单位字节,时间为修改时间,liunx中没有创建时间,如果文件从创建到现在,一直未被修改,则修改时间为创建时间  最后为文件名/文件夹名称

    上述文件大小用字节来表示,看着贼不爽,可采用如下命令来人性化展示

    ls -lh

    ls .

    ls . 类似于 ls ,列举当前目录文件/文件夹

    ls ..

    ls ..  两个点,代表当前目录的上层目录,用于列举当前目录上层目录的文件/文件夹

    ls -i

    ls -i 列举当前文件/文件夹对应的系统ID

    ls -ltr t*

    列举当前目录下 以t开头的文件/文件夹

     其他诸如 ls 命令,可自行参考其他资料

    2、cd pwd cp mv  mkdir rmdir rm rf 相关

     cd 用于切换目录

    pwd 显示当前所在目录

    cp 使用复制

    mv 用于剪切 或 重命名 

    剪切:

    mv text.txt ../text.txt

    将 text.txt 剪切至当前目录的上级目录

     上级目录 desk 中也有一个text.txt

    重命名

    mv text.txt chenwolong.txt

      mkdir :创建目录

    rmdir :删除空目录,这里需要强调的是删除的只能是空目录

    如果删除的文件夹不为空,则删除失败

    rm -r wenjianjia

    询问模式,是否删除文件夹:wenjianjia

     输入 y 则删除,输入 n 则不删除

    rm -rf wenjianjia

    强制删除文件夹 wenjianjia

    在这里说一个删库跑路的方法

    # 删除根目录下所有文件,杀伤力极大,请谨慎使用
    # 此命令一出,Linux根目录下很多文件,可以能彻底从这个星球上彻底消失了
    rm -rf /*

    执行后,linux操作系统完蛋,系统数据几乎全部删除,跑路是不可能的,进监狱的可能性挺大,哈哈。

    3、cat tac more touch  less  n q  head   tail   tail -f 

    touch 代表创建一个文件

    touch aaa.txt

    cat 代表查看一个文件 tac 和cat一样,只不过是倒着看

    more 和 less 是分页查看, less 功能强大一些, 可以设置查看的条数,看大文件时使用。 例如有上万条数据时,可使用more 、 less

    less -5 aaa.txt

    head  代表看前几行数据

    head -6 aaa.txt

     tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。

    其他指令可参考其他资料

    4、linux 软链接 和 硬链接

    软链接 硬链接 均使用 ln 指令

    ln -s aaa.txt aaa.exe

    以上指令是将aaa.txt 生成 软链接 aaa.exe ,上述说过,软链接类似window系统中的桌面快捷方式。

     

     硬链接

    ln aaa.txt bbb.txt

     硬链接相当于源文件的复制版,但当源文件改变时,硬链接内容也会相应改变。且源文件删除后,硬链接依然可以使用。但是,相对软链接来说:源文件删除后,软链接就不可用了。

    关于软硬连接内容,大家可参考其他资料。

    5、vim 相关

    vim 文件名,代表新建一个文件,并进入编辑模式

    vim long.txt

    输入 i 进入编辑模式

    按esc键后:输入 :wq! 为保存并退出,输入:q! 代表不保存,强制退出,输入:q  代表UI退出

    关于VIM的强大功能,大家可参考其他资料

    6、文件搜索命令-find      -name  区分大小写   -iname不区分大小写      -size 通过文件大写来查找   -user 根据所有者进行查找     -group 根据所属组进行查找      

    find /home/chenwolong/桌面/net -name a.txt

    搜索net 目录及其子目录下 名称为 a.txt 的文件,这种属于名称全匹配。

    怎么模糊匹配呢?使用 * 号进行模糊匹配

    find /home/chenwolong -name *aa*

    例如

    [root@localhost net2]# find /home/chenwolong -name *aa*
    /home/chenwolong/桌面/net/net2/aa.txt

    使用 ? 进行单字符匹配

    find /home/chenwolong -name a?.txt

    以上指令可以查出 aa.txt ab.txt  ac.txt 等

    使用 -iname 不区分大小写查找文件  

    find /home/chenwolong -iname aa.txt

    可以查出 aa.txt 和 AA.txt 或 Aa.txt

    -size +代表大于多少字节的文件  -代表小于多少字节的问题  如果查询一个 等于1024字节的文件,不需要加修饰符

    例如:

    find /home -size -1  --查询小于 1字节的文件
    find /home/chenwolong -size 1024  --查询等于1024字节的文件

    -user 根据所有者进行查询

    find /home/ -user root

    -group 根据所属组进行查询

    find /home/ -group root

    还有其他用法,如:locate   locate是系统维护的一个文件资料库,用于查找系统文件比较快,如果你新建的一个文件暂时没有被linux收录到文件资料库,那么使用locate是暂时找不到的

    locate a.txt

    针对linux命令进行所搜常用的有swich 查找命令,whereis 查找命令,

    例如:

    [root@localhost /]# whereis ls
    ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

    grep 文件搜索命令 ,例如查找文件中是否存在某字符

    例如:

    grep long a.txt

    grep -i Mao a.txt --不区分大小写

      grep -v Mao a.txt  --排除指定字符串

    关于 grep 的详细用法 ,不多说了

    Vim 操作小技巧

    vim nginx01.conf

    进入编辑器后,输入 :set nu 后,按下enter键,显示行号

    : set nu

     输入 :数字1,数字2  d 删除指定行数范围内的内容,按下enter键 即可删除

    :87,112  d

     

    @天才卧龙的博客

    grep long a.txt

  • 相关阅读:
    IntelliJ IDEA 2019.3 激活码
    TortoiseGit创建分支合并
    Lombok常用注解
    springboot项目打包发布流程
    liunx下部署jar包
    TortoiseGit配置SSH
    springboot单元测试 Failed to load ApplicationContext
    IDEA SpringBoot项目 Maven Reading Maven projects
    Spring的xml配置文件标签导入问题
    CentOS7 root用户、普通用户 vim与vi的切换
  • 原文地址:https://www.cnblogs.com/chenwolong/p/15896582.html
Copyright © 2020-2023  润新知