Linux 文件/目录操作详解
目录
Linux 文件/目录操作详解
初识Linux
知道Linux的人都知道,它的命令行十分的丰富,很多人不学他的原因也就是命令行的不友好,需要背诵命令行,比起Windows的图形界面枯燥很多,但其实如果真正想学到底层的东西,还是学习一Linux比较好,就像学习C语言不接触指针一样。
命令行还是很有意思的东西,而且玩git也是需要Linux的基础,玩服务器也需要Linux服务器。大家不要说Windows有Windows Services 2016 R2服务器,其实一些大公司的服务器维护全部是Linux。比起Windows来说,Linux服务器占用的空间要小很多,消耗的资源以及成本都会很低,而且更新也比较慢,所以Linux还是很值得学习的,以后找工作也方面也会很多。大家不要因为难而不去学习,因为难,所以人少,因为人少,所以这就是机会。以后我就和大家一起来学习Linux。
Linux的安装后期会给大家补上,这一篇我主要讲解Linux入门的一些文件基本命令。
一、文件/目录显示命令 ls
命令格式:ls [- 选项][参数]
选项包含下面的的内容以及含义
选项 含义 -a all 显示所有文件,包括隐藏文件(以.开头的文件) -l long 长格式显示 可以后附h选项便是人性化显示 -d directory 查看目录属性
实例:
- ls
显示当前目录下的文件(不包括隐藏文件)

- ls -a (有空格)
显示所有文件,包括隐藏文件,文件以.开头

ls -l

长格式显示时包含了文件的所有属性,主要包括文件权限、所有者权限、所属组权限、所占空间、修改时间以及文件名。其中权限主要包含3个类别,所有者、所属组以及其他。其中每个类别对应的权限为r(可读)、w(可写)、x(可执行)。
例如: -rw-r--r-- 拆分为3类文件类型 所有者 所属组 其他 -(文件类型) rw-(可读写不可执行) r--(只读) r--(只读) 所占空间以字节为单位,如果想以KB显示使用-lh即可。
ls -i
显示文件的节点,类似于C语言的地址一样,一个文件对应一个自己的属性节点。
二、目录创建命令 mkdir
命令格式: mkdir [-p] 目录名
- mkdir /tmp/liyang
在绝对路径/tmp下创建liyang的文件夹 - mkdir -p /tmp/test/liyang
递归创建,因为我/tmp下没有test文件,所以使用-p就可以直接递归创建。 - mkdir /tmp/liyang /tmp/cangjing
可以一次创建多个目录。
三、目录转移命令 cd
cd转移命令可以转移绝对路径和相对路径
- cd /tmp/liyang
转移到tmp/liyang文件夹下

- cd liyang
转移到当前目录下liyang的文件夹下 - cd ..
返回上一级目录
四、当前目录显示命令 pwd
显示当前所在目录
无选项与参数

五、文件处理命令 rmdir
此命令只能删除空白目录
命令格式: rmdir 目录的路径
rmdir /tmp/liyang
六、文件/目录复制命令 cp
命令格式: cp -rp [源文件] [目标文件]
-r 复制目录
-p 保留文件属性(时间属性等等)
- cp /root/a1.php /etc
复制grup.conf文件到/etc目录下
注意: /etc/grup.conf的文件属性已经变化,例如时间属性已经变为当前时间,也就是创建时间。

- cp -r /root/liyang /etc
复制liyang的文件夹到/etc目录下。 - cp -r /root/liyang /etc/cangjing
复制liyang的文件夹并且重命名为cangjing到/etc目录下。
==有一坑:== 有一些同学可能好奇为啥不是创建cangjing文件夹然后再把liyang文件复制进去。这里提醒大家的是之所这样实现是因为etc目录下没有cangjing这个目录,所以系统自动重命名,如果etc文件夹有着一个目录,就是复制到cangjing目录下。 - cp /root/a1.php /root/a2.php /etc/liyang
复制多个文件到一个目录下。
七、文件/目录的移动剪切命令 mv
命令格式: mv [旧文件名] [新文件名]
- mv /root/liyang/a1.php /tmp/liyang
移动a1.php到liyang文件夹下。

- 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 显示行号
- cat /root/a1.php

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

十一、文件查看优化命令 more和less
命令格式: more/less 文件名
这两个命令适用于查看大文件内容,因为使用cat命令是一只刷新这个屏幕直至显示完全,所以采用more和less命令可以分页显示。
- 空格/f: 向下翻页
- 回车: 换行
- q或者Q: 推出
但是more命令只能向下翻页,不能向上翻页,所以less命令可以向下或者向上翻页。
less除了包含上面的使用方法还包含:
- PagOn: 向上翻页
- 上箭头: 向上换行
十二、固定查看文件内容命令 head和tail
命令格式: head/tail -n [数字] 文件路径
如果未指定数字则默认显示10行。
含义: head:固定查看文件的前几行数据;tail:固定查看文件后几行数据。

Linux 文件/目录操作详解的更多相关文章
- Linux文件传输FTP详解
ftp命令用来设置文件系统相关功能.ftp服务器在网上较为常见,Linux ftp命令的功能是用命令的方式来控制在本地机和远程机之间传送文件,这里详细介绍Linux ftp命令的一些经常使用的命令,相 ...
- Linux 文件特殊权限详解[suid/sgid/t]
setuid(suid): 针对命令和二进制程序的,当普通用户执行某个(passwd)命令的时候,可以拥有这个命令对应用户的权限, 即让普通用户可以以root用户的角色执行程序或命令. setgid( ...
- linux文件系統详解
什么是文件系统 文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构,即在存储设备(磁盘)上组织文件的方法.操作系统中负责管理和存储文件信息的软件结构称为文件管理系统,简称文件系统. 从系统角 ...
- Linux文件系统目录结构详解
在我们初学嵌入式Linux时,首先学习的就是Linux的最小根文件系统:下面我将为初学者们详细的阐述一下Linux的最小根文件系统. 根目录在Linux中即为“/”,要进入根目录,命令“cd /”即 ...
- Linux常用命令操作详解
https://mp.weixin.qq.com/s/IR4yy7Q0mOA_XV16R21CdQ 一:Linux下tomcat服务的启动.关闭与错误跟踪 使用PuTTy远程连接到服务器以后,通常通过 ...
- Linux 文件查找命令详解
find命令 Linux find命令用来在指定目录下查找文件.任何位于参数之前的字符串都将被视为欲查找的目录名.如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件.并且将 ...
- Linux 文件描述符详解
Overview 了解Linux怎样处理输入和输出是非常重要的.一旦我们了解其原理以后,我们就可以正确熟练地使用脚本把内容输出到正确的位置.同样我们也可以更好地理解输入重定向和输出重定向. Linux ...
- linux 文件记录锁详解
一: linux记录锁更恰当的称呼应该是范围锁,它是对文件某个范围的锁定. 关于记录锁的功能就是fcntl提供的第五个功能,具体使用如下: int fcntl(int fd, int cmd, str ...
- Python3之文件读写操作详解
文件操作的步骤: 打开文件 -> 操作文件 -> 关闭文件 切记:最后要关闭文件(否则可能会有意想不到的结果) 打开文件 文件句柄 = open('文件路径', '模式') 指定文件编码 ...
随机推荐
- Python多进程的Join和daemon(守护)的用法
join和daemon 下面仅以多进程为例: 知识点一: 当一个进程启动之后,会默认产生一个主线程,因为线程是程序执行流的最小单元,当设置多线程时,主线程会创建多个子线程,在python中,默认情况下 ...
- 关于post和get的区别
首先,get和post并没有本质上的区别,都只是 HTTP 协议中两种请求方式,用的都是同一个传输层协议,在传输上并没有什么不同. 1.get和post报文上的区别 GET 和 POST 只是 ...
- JSP学习笔记(3)——JSTL 标签库
JSP Standard Tag Lib,名为JSP标准标签库,设计的目的主要用来方便我们将数据输出,而不是使用JSP中的语法<% %> <%= %> <%! %> ...
- Linux shell 内部命令与外部命令有什么区别以及怎么辨别
内部命令实际上是shell程序的一部分,其中包含的是一些比较简单的linux系统命令,这些命令由shell程序识别并在shell程序内部完成运行,通常在linux系统加载运行时shell就被加载并驻留 ...
- JDBC工具类连接数据库,模仿登录
## 使用JDBC工具类的原因在使用JDBC连接数据库的时候,加载驱动.获取连接.释放资源等代码是重复的,所有为了提高代码的复用性,我们可以写一个工具类,将数据库驱动加载.获取连接.资源释放的代码封装 ...
- 洛谷 P1135 【奇怪的电梯】
题库 :洛谷 题号 :1135 题目 :奇怪的电梯 link :https://www.luogu.org/problemnew/show/P1135 一. 动态规划 : 思路 :这道题用动规来解决其 ...
- c#搭建jenkins自动构建环境
这边我使用的是参数化构建过程,文笔比较差劲,就直接上干货了 1.定义构造参数 2.设置jenkins工作空间目录,在此定义了版本号和工作目录构建参数 3.配置svn 4.构建触发器,用于轮询查看svn ...
- LuoGu-P2863牛的舞会The Cow Prom[tarjan 缩点模板]
传送门:https://www.luogu.org/problemnew/show/P2863 思路:tarjan模板题,之前会的tarjan,一直想学缩点到底是什么操作,发现就是把同组的放在一个数组 ...
- 背包形动态规划 fjutoj2347 采药
采药 TimeLimit:1000MS MemoryLimit:128MB 64-bit integer IO format:%lld Problem Description 辰辰是个天资聪颖的 ...
- CF - 1108 E 枚举上界+线段树维护
题目传送门 枚举每个点作为最大值的那个点.然后既然是作为最大值出现的话,那么这个点就是不需要被减去的,因为如果最小值也在这个区间内的话,2者都减去1,对答案没有影响,如果是最小值不出现在这个区间内的话 ...