Linux 文件/目录操作详解

初识Linux

  知道Linux的人都知道,它的命令行十分的丰富,很多人不学他的原因也就是命令行的不友好,需要背诵命令行,比起Windows的图形界面枯燥很多,但其实如果真正想学到底层的东西,还是学习一Linux比较好,就像学习C语言不接触指针一样。
  命令行还是很有意思的东西,而且玩git也是需要Linux的基础,玩服务器也需要Linux服务器。大家不要说Windows有Windows Services 2016 R2服务器,其实一些大公司的服务器维护全部是Linux。比起Windows来说,Linux服务器占用的空间要小很多,消耗的资源以及成本都会很低,而且更新也比较慢,所以Linux还是很值得学习的,以后找工作也方面也会很多。大家不要因为难而不去学习,因为难,所以人少,因为人少,所以这就是机会。以后我就和大家一起来学习Linux。
  Linux的安装后期会给大家补上,这一篇我主要讲解Linux入门的一些文件基本命令。

一、文件/目录显示命令 ls

  命令格式:ls [- 选项][参数]
  选项包含下面的的内容以及含义

  1. 选项 含义
    -a all 显示所有文件,包括隐藏文件(以.开头的文件)
    -l long 长格式显示 可以后附h选项便是人性化显示
    -d directory 查看目录属性

实例:

  1. ls
    显示当前目录下的文件(不包括隐藏文件)
  2. ls -a    (有空格)
    显示所有文件,包括隐藏文件,文件以.开头
  3. ls -l

      长格式显示时包含了文件的所有属性,主要包括文件权限、所有者权限、所属组权限、所占空间、修改时间以及文件名。其中权限主要包含3个类别,所有者、所属组以及其他。其中每个类别对应的权限为r(可读)、w(可写)、x(可执行)。
    例如: -rw-r--r-- 拆分为3类

    文件类型 所有者 所属组 其他
    -(文件类型) rw-(可读写不可执行) r--(只读) r--(只读)

    所占空间以字节为单位,如果想以KB显示使用-lh即可。

  4. ls -i
    显示文件的节点,类似于C语言的地址一样,一个文件对应一个自己的属性节点。

二、目录创建命令 mkdir

命令格式: mkdir [-p] 目录名

  1. mkdir /tmp/liyang
    在绝对路径/tmp下创建liyang的文件夹
  2. mkdir -p /tmp/test/liyang
    递归创建,因为我/tmp下没有test文件,所以使用-p就可以直接递归创建。
  3. mkdir /tmp/liyang /tmp/cangjing
    可以一次创建多个目录。

三、目录转移命令 cd

​ cd转移命令可以转移绝对路径相对路径

  1. cd /tmp/liyang
    转移到tmp/liyang文件夹下
  2. cd liyang
    转移到当前目录下liyang的文件夹下
  3. cd ..
    返回上一级目录

四、当前目录显示命令 pwd

​ 显示当前所在目录
  无选项与参数
  

五、文件处理命令 rmdir

  此命令只能删除空白目录
  命令格式: rmdir 目录的路径
  rmdir /tmp/liyang

六、文件/目录复制命令 cp

  命令格式: cp -rp [源文件] [目标文件]

   -r 复制目录
   -p 保留文件属性(时间属性等等)

  1. cp /root/a1.php /etc
    复制grup.conf文件到/etc目录下
    注意: /etc/grup.conf的文件属性已经变化,例如时间属性已经变为当前时间,也就是创建时间。
  2. cp -r /root/liyang /etc
    复制liyang的文件夹到/etc目录下。
  3. cp -r /root/liyang /etc/cangjing
    复制liyang的文件夹并且重命名为cangjing到/etc目录下。
    ==有一坑:== 有一些同学可能好奇为啥不是创建cangjing文件夹然后再把liyang文件复制进去。这里提醒大家的是之所这样实现是因为etc目录下没有cangjing这个目录,所以系统自动重命名,如果etc文件夹有着一个目录,就是复制到cangjing目录下。
  4. cp /root/a1.php /root/a2.php /etc/liyang
    复制多个文件到一个目录下。

七、文件/目录的移动剪切命令 mv

  命令格式: mv [旧文件名] [新文件名]

  1. mv /root/liyang/a1.php /tmp/liyang
    移动a1.php到liyang文件夹下。
  2. mv /root/liyang/a1.php /root/liyang/a3.php
    重命名 : a1.php -->a2.php

八、文件/目录的删除命令 rm

  命令格式: rm [-rf ] 文件/目录

  • -r: 删除目录
  • -f: 强制执行
    一般情况都是-rf 一起使用,否则每删一个目录系统都要提问是否删除。
    rm -r liyang
    删除liyang的文件夹

    每删除一个文件系统都会提示你是否删除,所以一般使用 -f 直接强制删除。

九、新建文件命令 touch

  命令格式: touch 文件名
  touch a1.php
  创建a1.php在当前目录

十、文件查看命令 cat

  命令格式: cat [-n] 文件名

  • -n 显示行号
  1. cat /root/a1.php
  2. cat -n /root/a1.php     显示行号

十一、文件查看优化命令 moreless

  命令格式: more/less 文件名
  这两个命令适用于查看大文件内容,因为使用cat命令是一只刷新这个屏幕直至显示完全,所以采用more和less命令可以分页显示。

  • 空格/f: 向下翻页
  • 回车: 换行
  • q或者Q: 推出

  但是more命令只能向下翻页,不能向上翻页,所以less命令可以向下或者向上翻页。
less除了包含上面的使用方法还包含:

  • PagOn: 向上翻页
  • 上箭头: 向上换行

十二、固定查看文件内容命令 headtail

  命令格式: head/tail -n [数字] 文件路径
  如果未指定数字则默认显示10行。
  含义: head:固定查看文件的前几行数据;tail:固定查看文件后几行数据。

Linux 文件/目录操作详解的更多相关文章

  1. Linux文件传输FTP详解

    ftp命令用来设置文件系统相关功能.ftp服务器在网上较为常见,Linux ftp命令的功能是用命令的方式来控制在本地机和远程机之间传送文件,这里详细介绍Linux ftp命令的一些经常使用的命令,相 ...

  2. Linux 文件特殊权限详解[suid/sgid/t]

    setuid(suid): 针对命令和二进制程序的,当普通用户执行某个(passwd)命令的时候,可以拥有这个命令对应用户的权限, 即让普通用户可以以root用户的角色执行程序或命令. setgid( ...

  3. linux文件系統详解

    什么是文件系统 文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构,即在存储设备(磁盘)上组织文件的方法.操作系统中负责管理和存储文件信息的软件结构称为文件管理系统,简称文件系统. 从系统角 ...

  4. Linux文件系统目录结构详解

    在我们初学嵌入式Linux时,首先学习的就是Linux的最小根文件系统:下面我将为初学者们详细的阐述一下Linux的最小根文件系统. 根目录在Linux中即为“/”,要进入根目录,命令“cd  /”即 ...

  5. Linux常用命令操作详解

    https://mp.weixin.qq.com/s/IR4yy7Q0mOA_XV16R21CdQ 一:Linux下tomcat服务的启动.关闭与错误跟踪 使用PuTTy远程连接到服务器以后,通常通过 ...

  6. Linux 文件查找命令详解

    find命令 Linux find命令用来在指定目录下查找文件.任何位于参数之前的字符串都将被视为欲查找的目录名.如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件.并且将 ...

  7. Linux 文件描述符详解

    Overview 了解Linux怎样处理输入和输出是非常重要的.一旦我们了解其原理以后,我们就可以正确熟练地使用脚本把内容输出到正确的位置.同样我们也可以更好地理解输入重定向和输出重定向. Linux ...

  8. linux 文件记录锁详解

    一: linux记录锁更恰当的称呼应该是范围锁,它是对文件某个范围的锁定. 关于记录锁的功能就是fcntl提供的第五个功能,具体使用如下: int fcntl(int fd, int cmd, str ...

  9. Python3之文件读写操作详解

    文件操作的步骤: 打开文件 -> 操作文件 -> 关闭文件 切记:最后要关闭文件(否则可能会有意想不到的结果) 打开文件 文件句柄 = open('文件路径', '模式') 指定文件编码 ...

随机推荐

  1. 【MySql】linux下,设置mysql表名忽略大小写

    [障碍再现] 状况描述01:     在LINUX下调一个程序经常报出找不到表,但是我明明是建了表的,     测试的时候,遇到一些问题,从Windows平台访问虚拟机中的Web应用,经常报出找不到表 ...

  2. Java 从入门到进阶之路(三)

    之前的文章我们介绍了 Java 中的变量和基本数据类型,本章我们来看一下 Java 的运算符和表达式. 计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操 ...

  3. iOS 视图渲染数据转CVPixelBuffer

    近两年一直从事视频行业的开发, 加班也比较严重, 好久没有写文章了, 最近稍微有些时间, 前来写点文章, 记录一些开发中遇到的问题, 和解决方法! 做视频会议项目, 当然是离不开音视频啦, 也常常和W ...

  4. Python之变量的创建过程

    Python之变量的创建过程 一.变量创建过程 首先,当我们定义了一个变量name = 'Kwan'的时候,在内存中其实是做了这样一件事: 程序开辟了一块内存空间,将'Kwan'存储进去,再让变量名n ...

  5. Spring 核心技术(7)

    接上篇:Spring 核心技术(6) version 5.1.8.RELEASE 1.6 定制 Bean 的特性 Spring Framework 提供了许多可用于自定义 bean 特性的接口.本节将 ...

  6. xcode删除一个项目

    退出xcode. 在Finder中删除项目文件夹.

  7. URAL-1982-Electrification Plan最小生成树或并查集

    Electrification Plan 题意:在一个无向图中,给你几个源点,找出把所有点连接到源点后最小的消费: 可以利用并查集: 先用结构体把每个边存起来,再按照消费大小排序.之后从消费小的到大的 ...

  8. codeforces 233 C. Cycles(贪心+思维)

    题目链接:http://codeforces.com/contest/233/problem/C 题意:在一个无相图中有N个长度为3 的回路,输出符合条件的图.注意此图的节点数不得超过100 题解:贪 ...

  9. 百度之星资格赛 调查问卷 bitset模板(直接将字符串转化成二进制数组并可以计算出十进制值)

    Problem Description 度度熊为了完成毕业论文,需要收集一些数据来支撑他的论据,于是设计了一份包含 mm 个问题的调查问卷,每个问题只有 'A' 和 'B' 两种选项. 将问卷散发出去 ...

  10. css 元素实际宽高

    首先定义一个div. 然后稍微装修一下 下面开始区分 一.clientWidth和clientHeigh . clientTop和clientLeft 1,clientWidth的实际宽度 clien ...