• Linux 常用命令(一):操作文件命令


    一、命令的基本格式

    1. 命令的提示符

    [root@localhost ~]
    •    []:这是提示符的分隔符号,没有特殊含义。
    •   root:显示的是当前的登录用户,超哥现在使用的是root用户登录  。
    •   @:分隔符号,没有特殊含义。
    •   localhost:当前系统的简写主机名(完整主机名是localhost.localdomain)。
    •   ~:代表用户当前所在的目录,此例中用户当前所在的目录是家目录。
    •   #:命令提示符。超级用户是#,普通用户是$

    2. 命令的基本格式

    [root@localhost ~]# 命令  [选项] [参数] 

      ls是最常见的目录操作命令,主要作用是显示目录下的内容。

    •    命令名称:ls。
    •    英文原意:list。
    •    所在路径:/bin/ls。
    •    执行权限:所有用户。
    •    功能描述:显示目录下的内容。
    [root@localhost ~]#ls [选项] [文件名或目录名] 
    选项:

    -a: 显示所有文件
    --color=when: 支持颜色输出,when的值默认是always(总显示颜色),也可以是never(从不显示颜色)和auto(自动)
    -d:显示目录信息,而不是目录下的文件
    -h:人性化显示,按照我们习惯的单位显示文件大小
    -i:显示文件的i节点号
    -l:长格式显示

     举几个例子:

    [root@localhost ~]# ls -l 
    总用量 44 -rw-------. 1 root root 1207 1月 14 18:18 anaconda-ks.cfg #权限引用计数所有者所属组大小文件修改时间文件名

       我们已经知道“-l”选项用于  显示文件的详细信息,那么“-l”选项  显示的这7列分别 是什么含义?

    •    第一列:权限。具体权限的含义将在4.5节中讲解。
    •    第二列:引用计数。文件的引用计数代表该文件的硬链接个数,而目录的引用计数代表该目录有多少个一级子目录。
    •    第三列:所有者,也就是这个文件属于哪个用户。默认所有者是文件的建立用户
    •    第四列:所属组。默认所属组是文件建立用户的有效组,一般情况下就是建立用户的所在组。
    •    第五列:大小。默认单位是字节。
    •    第六列:文件修改时间。文件状态修改时间或文件数据修改时间都会更改这个时间,注意这个时间不是文件的创建时间。
    •    第七列:文件名。选项:是用于调整命令的功能的。参数:是命令的操作对象,如果省略参数,是因为有默认参数

      注:选项:是用于调整命令的功能的。参数:是命令的操作对象,如果省略参数,是因为有默认参数

    二、目录操作命令

    1.ls命令

    见前一小节的内容。

    2.cd命令

      cd是切换所在目录的命令,这个命令的基本信息如下。

    •    命令名称:cd。
    •    英文原意:change directory。
    •    所在路径:Shell内置命令。
    •    执行权限:所有用户。
    •    功能描述:切换所在目录。

    2.1cd命令的简化用法

    特殊符号    作                用
     ~  代表用户的家目录
     -  代表上次所在目录
     .  代表当前目录
     ..  代表上级目录

    2.2 绝对路径和相对路径

        绝对路径:以跟目录为参照物,从根目录开始,一级一级进入目录

        相对路径:以当前目录作为参照物,进行目录查找

    3.pwd命令

       pwd命令是查询所在目录的命令,基本信息如下:

    •    命令名称:pwd英文原意:print name of current/working directory
    •    所在路径:/bin/pwd执行权限:所有用户。
    •    功能描述:查询所在的工作目录。

    4.mkdir命令

       mkdir是创建目录的命令,其基本信息如下。

    •    命令名称:mkdir。英文原意:make directories。
    •    所在路径:/bin/mkdir。
    •    执行权限:所有用户。
    •    功能描述:创建空目录。

    命令格式

    [root@localhost ~]# mkdir [选项] 目录名
    选项:
    -p:递归建立所需目录

    5.rmdir命令

      既然有建立目录的命令,就一定会有删除目录的命令rmdir,其基本信息如下。

    •    命令名称:rmdir。
    •    英文原意:remove empty directories。
    •    所在路径:/bin/rmdir。
    •    执行权限:所有用户。
    •    功能描述:删除空目录。

    命令格式

    root@localhost ~]# rmdir [选项] 目录名
    选项:
    -p:递归删除目录

       注:rmdir命令的作用十分有限,因为只能删除空目录,所以一旦目录中有内容,就会报错。这个命令比较“笨”,所以我们不太常用。后续我们不论删除的是文件还是目录,都会使用rm命令

    三、文件操作命令

    1.touch命令

      创建空文件或修改文件时间,这个命令的基本信息如下。

    •    命令名称:touch。
    •    英文原意:change file timestamps。
    •    所在路径:/bin/touch。
    •    执行权限:所有用户。
    •    功能描述:修改文件的时间戳。

    2.stat命令

      stat是查看文件详细信息的命令,而且可以看到文件的这三个时间,其基本信息如下。

    •    命令名称:stat。
    •    英文原意:display file or file system status。
    •    所在路径:/usr/bin/stat。
    •    执行权限:所有用户。
    • 功能描述:显示文件或文件系统的详细信息。

    命令格式

    [root@localhost ~]# stat  anaconda-ks.cfg 
       文件:"anaconda-ks.cfg" 
       大小:1453      块:8          IO 块:4096   普通文件
    设备:803h/2051d Inode:33574991    硬链接:1 
    权限:(0600/-rw-------)  Uid:(    0/    root)   Gid:(    0/    root)
    环境:system_u:object_r:admin_home_t:s0 
    最近访问:2018-11-06 23:22:23.409038121 +0800 
    最近更改:2018-10-24 00:53:08.760018638 +0800 #数据修改时间
    最近改动:2018-10-24 00:53:08.760018638 +0800 #状态修改时间
    创建时间:- 

    3.cat命令

      cat命令用来查看文件内容。这个命令的基本信息如下。

    •    命令名称:cat。
    •    英文原意:concatenate files and print on the standard output。
    •    所在路径:/bin/cat。
    •    执行权限:所有用户。
    •   功能描述:合并文件并打印输出到标准输出。

    命令格式

    [root@localhost ~]# cat [选项] 文件名
    选项:   
         -A:相当于-vET选项的整合,用于列出所有隐藏符号   
         -E:列出每行结尾的回车符$    
         -n:显示行号   
         -T:把Tab键用^I显示出来   
         -v:列出特殊字符

    4.more命令

      more是分屏显示文件的命令,其基本信息如下。

    •    命令名称:more。
    •    英文原意:file perusal filter for crt viewin。
    •    所在路径:/bin/more。
    •    执行权限:所有用户。
    •    功能描述:分屏显示文件内容。

      more命令比较简单,一般不用什么选项,命令会打开一个交互界面,可以识别一些交互命令。常用的交互命令如下。

    •    空格键:向下翻页。
    •    b:向上翻页。
    •    回车键:向下滚动一行。
    •    /字符串:搜索指定的字符串。
    •    q:退出  。

    5.less命令

      less命令和more命令类似,只是more是分屏显示命令,而less是分行显示命令,其基本信息如下。

    •    命令名称:less。
    •    英文原意:opposite of more。
    •    所在路径:/usr/bin/less。
    •    执行权限:所有用户。
    • 功能描述:分行显示文件内容

    6.head命令

      head是用来显示文件开头的命令,其基本信息如下。

    •    命令名称:head。
    •    英文原意:output the first part of files。
    •    所在路径:/usr/bin/head。
    •    执行权限:所有用户。
    •    功能描述:显示文件开头的内容。

    命令格式

    [root@localhost ~]# head [选项] 文件名
    选项:   
         -n 行数:从文件头开始,显示指定行数   
         -v:显示文件名

    7.tail命令

      既然有显示文件开头的命令,就会有显示文件结尾的命令。tail命令的基本信息如下。

    •    命令名称:tail。
    •    英文原意:output the last part of files。
    •    所在路径:/usr/bin/tail。执行权限:所有用户。
    •    功能描述:显示文件结尾的内容。

    命令格式

    [root@localhost ~]# tail [选项] 文件名
    选项:   
          -n 行数:从文件结尾开始,显示指定行数   
          -f:监听文件的新增内容

    8.ln命令

      我们来看看ln命令的基本信息。

    •    命令名称:ln。
    •    英文原意:make links between file。
    •    所在路径:/bin/ln。
    •    执行权限:所有用户。
    •    功能描述:在文件之间建立链接。

    命令格式

    [root@localhost ~]# ln [选项] 源文件目标文件
    选项:   
          -s:建立软链接文件。如果不加“-s”选项,则建立硬链接文件   
          -f:强制。如果目标文件已经存在,则删除目标文件后再建立链接文件

    注:链接文件的意思我认为就是文件挂载

    8.1 硬链接

    命令格式

    [root@localhost ~]# touch cangls 
    [root@localhost ~]# ln /root/cangls /tmp/ 
    #建立硬链接文件,目标文件没有写文件名,会和原名一致
    #也就是/root/cangls和/tmp/cangls是硬链接文件

    硬链接特征:

    •    源文件和硬链接文件拥有相同的Inode和Blockl
    •    修改任意一个文件,另一个都改变
    •    删除任意一个文件,另一个都能使用
    •    硬链接标记不清,很难确认硬链接文件位置,不建议使用
    •    硬链接不能链接目录l硬链接不能跨分区

    8.1 软链接

    命令格式

    [root@localhost ~]# touch bols
    [root@localhost ~]# ln -s /root/bols  /tmp/
    #建立软链接文件

    软链接特征:

    •    软链接和源文件拥有不同的Inode和Block
    •    两个文件修改任意一个,另一个都改变
    •    删除软链接,源文件不受影响;删除源文件,软链接不能使用
    •    软链接没有实际数据,只保存源文件的Inode,不论源文件多大,软链接大小不变
    •    软链接的权限是最大权限lrwxrwxrwx.,但是由于没有实际数据,最终访问时需要参考源文件权限
    •    软链接可以链接目录
    •    软链接可以跨分区l软链接特征明显,建议使用软连接

    四、目录和文件都能操作的命令

    1.rm命令

      rm是强大的删除命令,不仅可以删除文件,也可以删除目录。这个命令的基本信息如下。—

       命令名称:rm。—

       英文原意:remove files or directories。—

       所在路径:/bin/rm。—

       执行权限:所有用户。—

       功能描述:删除文件或目录。

    命令格式

    [root@localhost ~]# rm [选项] 文件或目录
    选项:   
          -f:强制删除(force)   
          -i:交互删除,在删除之前会询问用户
    -r:递归删除,可以删除目录(recursive)

    2.cp命令

      cp是用于复制的命令,其基本信息如下:—

       命令名称:cp。—

       英文原意:copy files and directories。—

       所在路径:/bin/cp。—

       执行权限:所有用户。—

       功能描述:复制文件和目录 。

    命令格式

    [root@localhost ~]# cp [选项] 源文件   目标文件   
    选项:   
          -a:相当于-dpr选项的集合,这几个选项我们一一介绍   
          -d:如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接   
          -i:询问,如果目标文件已经存在,则会询问是否覆盖   
          -p:复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间)   
          -r:递归复制,用于复制目录

    3.mv命令

      mv是用来剪切的命令,其基本信息如下。

    •    —命令名称:mv。—
    •    英文原意:move (rename) files。
    •    —所在路径:/bin/mv。
    •    —执行权限:所有用户。—
    •    功能描述:移动文件或改名。

    命令格式

    [root@localhost ~]# mv [选项] 源文件目标文件
    选项:   
          -f:强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖   
          -i:交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项)   
          -v:显示详细信息
  • 相关阅读:
    React 之form表单、select、textarea、checkbox使用
    React 事件对象、键盘事件、表单事件、ref获取dom节点、react实现类似Vue双向数据绑定
    React事件方法、React定义方法的几种方式、获取数据、改变数据、执行方法传值
    react综合案例-todolist、localstorage缓存数据
    【剑指offer15】二进制中1的个数(位运算),C++实现
    【剑指offer】10矩阵覆盖
    【剑指offer】09-3变态跳台阶
    【剑指offer】顺时针打印矩阵,C++实现
    【剑指offer】09-2跳台阶,C++实现
    leetcode1143
  • 原文地址:https://www.cnblogs.com/kongliuyi/p/11282167.html
Copyright © 2020-2023  润新知