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. 基于模糊聚类和最小割的层次化三维网格分割算法(Hierarchical Mesh Decomposition)

    网格分割算法是三维几何处理算法中的重要算法,具有许多实际应用.[Katz et al. 2003]提出了一种新型的层次化网格分割算法,该算法能够将几何模型沿着凹形区域分割成不同的几何部分,并且可以避免 ...

  2. 【Leetcode】【简单】【17. 整数反转】【JavaScript】

    题目描述 7. 整数反转 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. 示例 1: 输入: 123输出: 321 示例 2: 输入: -123输出: -321示例 3: 输 ...

  3. 自己实现vue瀑布流组件,含详细注释

    我知道vue有瀑布流插件vue-waterfall-easy,但是使用的时候与我的预期有部分别,所以就自己动手写了这个组件 人和动物的根本区别是是否会使用工具,我们不仅要会使用,还要会创造工具,别人提 ...

  4. hdu 3974 Assign the task(线段树)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=3974 题意:给定一棵树,50000个节点,50000个操作,C x表示查询x节点的值,T x y表示更 ...

  5. 爬虫基本知识之C/S交互

    概念 爬虫就是对网页的获取. 一般获取的网页中又有通向其他网页的通路,我们叫做超链接,那么就可以通过这样的通路获取更多其他的网页,就像一只在网路上爬行的蜘蛛,所以俗称爬虫. 爬虫的工作原理和浏览器浏览 ...

  6. XSS漏洞之加载远程js文件

    这次在对一个系统渗透测试过程中,发现一个XSS漏洞,可弹窗,并且没有httponly 但是在尝试加载远程js文件的时候发现,script标签被过滤掉了,准确的说应该是服务器后端在识别到输入内容有< ...

  7. Http和Https相关问题

    Http和Https Http(默认端口号80) 超文本传输协议(Http,HyperText Transfer Protocol)是互联网上使用最为广泛的一种网络协议(应用层).设计Http最初的目 ...

  8. FreeSql (十一)更新数据 Where

    var connstr = "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;" + "Initia ...

  9. Docker下kafka学习三部曲之二:本地环境搭建

    在上一章< Docker下kafka学习,三部曲之一:极速体验kafka>中我们快速体验了kafka的消息分发和订阅功能,但是对环境搭建的印象仅仅是执行了几个命令和脚本,本章我们通过实战来 ...

  10. Can't connect to MySQL server on 'localhost' (10038)

    平台:win7 已经安装好数据库,但是 在连接MySQL数据库时发生问题: 经过一系列的资料查找后,得到结论MySQL没有启动 解决方法: 将MySQL加入到Windows的服务中.切换到MySQL安 ...