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. 分享:个人APP(非企业资质)的微信登录方案

    目前微信开放平台个人主体类APP不支持开通微信登录,那么个人开发者如何解决微信登录的问题呢?目前有一种替代方案是用微信小程序作为媒介来达到微信登录的目的. 微信小程序的登录无需企业资质,同时登录后返回 ...

  2. 900E关于导航站

    --------------------------以下更新于20190826------------------------- 作用: 导航站为方便网址收藏之用,收录一些常用的网站,目前主要以本科常 ...

  3. (四十九)c#Winform自定义控件-下拉框(表格)

    前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kwwwvagaa/NetWinformControl 码云:ht ...

  4. python 09 函数

    目录 函数初识 1. 函数定义: 2. 函数调用: 3. 函数的返回值: 4. () 4.1 位置传参: 4.2 关键字传参: 4.3 混合传参: 函数初识 1. 函数定义: def 函数名(): 函 ...

  5. Kubernetes 弹性伸缩全场景解读(五) - 定时伸缩组件发布与开源

    作者| 阿里云容器技术专家刘中巍(莫源) 导读:Kubernetes弹性伸缩系列文章为读者一一解析了各个弹性伸缩组件的相关原理和用法.本篇文章中,阿里云容器技术专家莫源将为你带来定时伸缩组件  kub ...

  6. egret之moveclip 序列帧动画

    废话不多说,直接上代码: private addEffect(name, x: number, y: number, act?: string) { let data = RES.getRes(nam ...

  7. CentOS7安装mysql8.0.12

    一.配置yum源 下载mysql源安装包 在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo/yum/ 复制下载链接:https://d ...

  8. git@github.com: Permission denied (publickey)

    1.  检查SSH key是否已经存在,如存在走第3步 :      ls ~/.ssh/ 2.  如果第1步中的SSH key不存在,生成一个新的SSH key:      ssh-keygen - ...

  9. ccpc网赛 hdu6705 path(队列模拟 贪心

    http://acm.hdu.edu.cn/showproblem.php?pid=6705 这是比赛前8题过的人数第二少的题,于是就来补了,但感觉并不难啊..(怕不是签到难度 题意:给个图,给几条路 ...

  10. hdu 5534 Partial Tree(完全背包)

    题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5534 题解:这题一看有点像树形dp但是树形dp显然没什么思路.然后由于这里的约束几乎没有就 ...