命令格式:命令 [-选项] [参数]
例: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