Linux——目录、文件处理命令(上)

命令格式:命令 [-选项] [参数]

例:ls -la /etc

说明:当有多个选项的时候,可以写在一起;简化选项前面一般用-,而完整选项前面一般用--,例如-a等于—all;用中括号括起来,表示可选

l 目录处理命令:ls

命令名称:ls

命令英文原意:list

命令所在路径:/bin/ls

执行权限:所有用户

功能描述:显示目录文件

语法:ls 选项[-ald] [文件或目录]

-a:显示所有文件,包括隐藏文件

-l:详细信息显示

-d:查看目录属性

下面我们试着在Linux中输入ls,我们会看到显示了一些文件,这些文件是根目录下的日志文件,因为你没有在ls后面输入任何参数,所以他默认显示的就是根目录下的文件

图1

我们再输入ls -a,会看到多了一些文件,而且都是以“.”开头的,在Linux中,以“.”开头的文件,表明他是一个隐藏文件,隐藏文件是为了告诉用户,这是个系统文件,没有必要,不要动它

图2

如果要显示文件的详细信息,就要输入ls -l,这个l在官方的说明当中是long,所以我们可以认为是输出长信息

图3

针对上图,我们还要仔细研究一下每个字符代表什么意思,我们先看数字1,数字1其实代表的是文件计数,表示你这个文件使用过几次;第一个root是所有者,一般来说,谁创建的这个文件,谁就是这个文件的所有者,谁才能够使用这个文件;第二个root是用户组,用户组是个集合,表明该组内的所有用户都可以对文件进行操作,只要将用户添加到该用户组即可;后面的一串数字表示字节大小,比方说1287就是1287k;Apr加上后面的时间就是文件的最后修改时间,如果没有修改过,那么就等于创建时间,但是,Linux没有创建时间这个概念;后面的一串就是文件名

这里针对字节大小有个技巧,如果想要Linux直接显示字节大小(带上单位),可以输入

ls -lh

图4

然后我们再说一下前面的-rw……是什么意思,开头的-表示这是一个二进制文件,当然还有别的类型,比方说开头是d表示这是一个目录;l表示这是一个软链接

剩下的部分三个字符为一组拆开表示如下含义

rw-

r--

r--

文件所有者(u)

文件所属组(g)

其他人(o)

r读

w写

x执行

以第二个文件举例,他就表明,文件所有者可以进行读写;文件所属组的用户可以进行读操作;其他人也只能进行读操作

说完了文件信息,再说说目录的属性,如果我想查看某个目录的一些属性,就需要输入

Ls -ld [目录参数]

比方说我们查看/etc目录的属性

图5

l 目录创建命令:mkdir

命令名称:mkdir

命令英文原意:make directories

命令所在路径:/bin/mkdir

执行权限:所有用户

语法:mkdir [-p] <目录名>

功能描述:创建新目录;-p 递归创建

下面以例子来说明,在创建目录之前,我们得注意规划,不能到处创建目录,所以我演示是在tmp目录下进行创建,因为这个目录存放的是临时文件

首先我们用mkdir在tmp下创建一个名字叫1的目录,然后查看是否创建成功,代码如下:

mkdir /tmp/1
ls -l /tmp

图6

那么接下来我想在tmp目录下创建一个2目录,然后在2目录下创建22目录,这个其实也不难

mkdir /tmp/2
mkdir /tmp/2/22

但是这个方法其实还是有点复杂的,能不能直接连续创建呢

图7

提示不能创建目录,其实这种方法是不行的,因为3目录根本就不存在,所以不能直接在不存在的目录下再创建目录,正确代码如下:

mkdir -p /tmp/3/33

图8

当我们要递归创建新的目录时,就需要用到-p,-p还能在已存在的目录基础上继续递归创建目录

    Linux还支持同时创建多个目录,输入目录完整路径,以空格隔开

mkdir /tmp/4 /tmp/5

图9

l 目录处理命令:cd

命令名称:cd

命令英文原意:change directory

命令所在路径:shell内置命令

执行权限:所有用户

语法:cd <目录>

功能描述:切换目录

示例:

cd /tmp/1/11切换到指定目录

cd ..回到上一级目录

比方说我现在要切换到etc目录

图10

还有一个简单的目录处理命令pwd,用于显示当前所在目录的绝对路径

图11

l 目录删除命令:rmdir

命令名称:rmdir

命令英文原意:remove empty directory

命令所在路径:/bin/rmdir

执行权限:所有用户

语法:rmdir <目录名字>

功能描述:删除空目录

示例:

rmdir /tmp/1/11

针对rmdir命令有一点要注意,rmdir只能删除空目录,如果这个目录下还有目录或者还有文件,那么无法用rmdir删除,只能把要删除的目录里的所有文件和目录都删除掉,才能删除该目录

l 目录(文件)复制命令:cp

命令名称:cp

命令英文原意:copy

命令所在路径:/bin/cp

执行权限:所有用户

功能描述:复制文件或目录

语法:cp [选项(-rp)] <原文件或目录> <目标目录>

-r复制目录

-p保留文件属性

下面我们做个操作,将根目录(root)下的install.log文件复制到tmp目录下,代码:

cp /root/install.log /tmp

我们再试着将一个目录复制到另一个目录

cp -r /root/1 /tmp

复制的文件或者目录,详细信息里显示的是最后修改的时间,如果想要时间和原目录或文件一样那就要用到-p

cp -p /root/install.log /tmp

    Linux也支持同时复制多个文件(目录),示例:

cp [目录1(文件1)] [目录2(文件2)] …… [目标目录]

用命令行进行操作还有一个好处,可以在复制目录(文件)的同时,进行更名,比方说将tmp目录下的1目录复制到root目录下,同时更名为11

cp -r /tmp/1 /root/11

l 目录(文件)剪切、改名命令:mv

命令名称:mv

命令英文原意:move

命令所在路径:/bin/mv

执行权限:所有用户

语法:mv [原文件或目录] [目标目录]

功能描述:剪切文件、改名

    mv操作其实跟cp大同小异,举几个例子说明,比方说我要把tmp目录下的1目录剪切到root目录下

mv /tmp/1 /root

跟cp一样,mv也可以在剪切的过程中改名

mv /tmp/1 /root/2

用mv改名其实不就相当于把当前目录下的某个目录(文件)剪切到当前目录下,剪切的同时进行改名吗

mv /tmp/1 /tmp2

图12

l 目录(文件)删除命令:rm

命令名称:rm

命令英文原意:remove

命令所在路径:/bin/rm

执行权限:所有用户

语法:rm -rf [文件或目录]

-r删除目录

-f强制删除

删除和剪切,在Linux中其实是非常危险的操作,所以操作的时候要小心,举个例子说明rm的用法,我先从root目录复制个文件到tmp,然后删除tmp目录下的这个文件

cp /root/install.log /tmp
rm /tmp/install.log

在输入完删除命令的时候,系统会提示你是否真的要删除这个文件,如果是就输入y,否则输入n,这里我们输入y

图13

    Linux系统中是没有类似于windows回收站的概念的,在Linux中删除就没了

有时候我们要删除很多文件,那就会一直提示你是否真的要删除,这种方式很麻烦,所以我们可以在目录前面加上-f,强制删除,就不会弹出提示了

rm -f /tmp/install.log

图14

如果要删除一个目录,需要在目录前面加上-r,一般情况下都是rf连用,因为如果一个目录底下有很多文件、目录,那么每一个都需要确认是否真的要删除,很麻烦,所以删除目录的时候一般都强制删除

rm -rf /tmp/1

图15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏蓝天

Shell关于Wget命令的使用技巧

wget 是一个命令行的下载工具。对于我们这些 Linux 用户来说,几乎每天都在使用它。下面为大家介绍几个有用的 wget 小技巧,可以让你更加高效而灵活的使...

682
来自专栏技术博文

关于inodes占用100%的问题及解决方法

系统:Centos;一般的Linux系统也可以用这种方法。 情况描述:今天session文件写入时,写入不了,而且连接到服务器上开启服务都开不了,起始以为磁盘空...

3139
来自专栏刺客博客

nohup自动断开原因及处理办法

2362
来自专栏梦魇小栈

crontab 踩坑之绝对路径

由于放假后网络原因不方便使用电脑,需要创建一个 crontab 定时任务,用来在每天固定时间执行一个 Shell 脚本

1823
来自专栏移动端周边技术扩展

解释型语言与编译型语言

计算机不能直接理解的高级语言,只能直接理解机器语言,所以必须把高级语言防疫成机器语言,计算机才能执行高级语言的编写的程序,翻译的方式两种:

1083
来自专栏云计算教程系列

如何在CentOS 7上安装和配置scponly

scponly是匿名FTP的安全替代品。它使管理员能够设置具有受限远程文件访问权限且无法访问交互式shell的安全用户帐户。

1140
来自专栏Laoqi's Linux运维专列

Php-fpm相关配置

3255
来自专栏达摩兵的技术空间

gulp常用插件 一

如果你已经在项目中引入了gulp,那么不妨尝试用一些gulp集成好的插件来做一些任务。下面假定前端项目中根目录有src以及dist两个,分别用于开发和生产。 *...

972
来自专栏零基础使用Django2.0.1打造在线教育网站

零基础使用Django2.0.1打造在线教育网站(十一):登录页面实现

努力与运动兼备~~~有任何问题可以加我好友或者关注微信公众号,欢迎交流,我们一起进步!

3821
来自专栏云计算教程系列

如何在CVM上设置SSH仅作文件传输

SFTP代表SSH File Transfer Protocol。顾名思义,这是一种使用加密SSH连接将文件传输到服务器的安全方式。尽管名称如此,但它与FTP(...

2005

扫码关注云+社区