Linux系列教程(四)——Linux常⽤命令之⽂件和⽬录处理命令
这个系列教程的前⾯我们讲解了如何安装Linux系统,以及学习Linux系统的⼀些⽅法。那么从这篇博客开始,我们就正式进⼊Linux命令的学习。学习命令,⾸先要跟⼤家纠正的⼀点就是,我们不需要记住每⼀条命令的详细语法格式,学完之后我们只需要知道某个命令能⼲什么。这样我们在实际应⽤中,遇到需要实现某个功能,我们脑海只要能想起来适⽤于某个命令就⾏,⾄于详细格式我们可以通过查资料。当我们使⽤的多了,会不知不觉的记住这些命令,这才是正确的学习⽅法。Linux命令有很多,如果初学者就想全部记住这些命令的详细格式,会对我们产⽣很⼤的学习挫败性,还没记完这些命令,或许你已经丧失了学习Linux的热情了。所以接下来的⼏篇博客,我会详细讲解Linux常⽤命令的语法格式以及⽤法,⼤家记住⼤概的⽤法就⾏了,到时候不会可以回过头来查询。
本篇博客我们学习Linux最常⽤的⽂件处理命令。
1、Linux命令的普遍语法格式
命令格式:命令【-选项】【参数】
例⼦: ls -la /etc
说明:①、个别命令使⽤不遵循此格式,【】这种符号表⽰可以省略
②、当有多个选项时,可以写在⼀起
③、简化选项(⼀般⽤⼀个-)与完整选项(⼀般⽤两个--)
⽐如 ls -a 等于 ls --all
上⾯的便是Linux系统中的⼀般命令格式,基本上所有命令都是遵循这种语法格式(个别命令除外)。
2、⽬录处理命令
⼀、显⽰⽬录⽂件命令:ls
①、命令名称:ls
②、英⽂原意:list
③、命令所在路径:/bin/ls
④、执⾏权限:所有⽤户
⑤、功能描述:显⽰⽬录⽂件
⑥、语法: ls 选项【-ald】【⽂件或⽬录】
-a 显⽰所有⽂件,包括隐藏⽂件
-l 详细信息显⽰
-d 仅显⽰⽬录名,⽽不显⽰⽬录下的内容列表
-h ⼈性化显⽰(hommization)
-i 查看任意⼀个⽂件的i节点(类似于⾝份证唯⼀信息)
-t ⽤⽂件和⽬录的更改时间排序;可以⽤第⼀个显⽰的⽂件判断最近修改的⽂件
注意:. 开头的⽂件除⾮是⽬录,否则就是隐藏⽂件
上⾯我们分别列出了ls的各种命令组合显⽰效果。我们以 -rw-------. 1 root root 1.3k Mar 11 08:05 anaconda-ks.cfg 为例解析每个字段:
①、-rw------- 第⼀位表⽰⽂件类型,- 表⽰是⼆进制⽂件,d 表⽰⽬录, l 表⽰软连接⽂件。后⾯的每三个为⼀组:
rw- --- ---
u g o
u(user)所有者 g(group)所属组 o(other)其他⼈
r 读 w写 x执⾏ -⽆权限
②、1 引⽤计数,表⽰⽂件被引⽤过多少次
③、root 这第⼀个root表⽰所有者,⼀般创建⼀个⽂件,所有者默认是创建者。
④、root 这第⼆个root表⽰所属组。
⑤、1.3K 表⽰⽂件字节⼤⼩,不带单位表⽰字节
⑥、ar 11 08:05 表⽰⽂件的最后修改时间。注意:Linux没有明确的创建时间,只有最后⼀次访问时间、⽂件的状态修改时间、⽂件的数据修改时间
⑦、anaconda-ks.cfg 表⽰⽂件名
⼆、创建⽬录命令:mkdir
①、命令名称:mkdir
②、英⽂原意:make directories
③、命令所在路径:/bin/mkdir
④、执⾏权限:所有⽤户
⑤、功能描述:创建新⽬录
⑥、语法: mkdir 【-p】【⽬录名】
-p 递归创建
例⼦:创建单个⽬录:mkdir /
创建多个⽬录:mkdir / /
注意:1、创建的⽬录已经存在, 那么 Linux 会提⽰我们 Linux ⽆法创建它。
2、不带任何参数运⾏ mkdir 命令会在当前⽬录下创建⽬录。
3、不带上-p,如果新建的⽂件上级⽬录不存在则不会执⾏成功这种说法是错误的。加或者不加上 -p 前⾯的⽬录没有得都会依次创建。
4、创建⽬录的⾸要条件是,在想要创建⽬录的⽬标路径下你必须具有访问权限。
三、切换⽬录命令:cd
①、命令名称:cd
②、英⽂原意:change directory
③、命令所在路径:shell 内置命令
④、执⾏权限:所有⽤户
⑤、功能描述:切换⽬录
⑥、语法: cd【⽬录名】
例⼦:切换到指定⽬录:cd /tmp/vae
回到上⼀级⽬录:cd ..
还是在当前⽬录:cd .
返回上两级⽬录:cd ../..
返回进⼊此⽬录之前所在的⽬录:cd -
四、shell内置命令和外部命令的区别
⼤家可以看到前⾯的三个命令,ls命令和mkdir命令都有命令的所在路径,⽽cd命令我们说是shell内置命令。这两者便是Linux内置命令和外部命令。
内部命令实际上是shell程序的⼀部分,其中包含的是⼀些⽐较简单的linux系统命令,这些命令由shel
l程序识别并在shell程序内部完成运⾏,通常在linux系统加载运⾏时shell就被加载并驻留在系统内存中。内部命令是写在bashy源码⾥⾯的,其执⾏速度⽐外部命令快,因为解析内部命令shell不需要创建⼦进程。⽐如:exit,history,cd,echo等。
外部命令是linux系统中的实⽤程序部分,因为实⽤程序的功能通常都⽐较强⼤,所以其包含的程序量也会很⼤,在系统加载时并不随系统⼀起被加载到内存中,⽽是在需要时才将其调⽤内存。通常外部命令的实体并不包含在shell中,但是其命令执⾏过程是由shell程序控制的。shell程序管理外部命令执⾏的路径查、加载存放,并控制命令的执⾏。外部命令是在bash之外额外安装的,通常放在/bin,/usr/bin,/sbin,/等等。可通过“echo $PATH”命令查看外部命令的存储路径,⽐如:ls、vi等。
⽤type命令可以分辨内部命令与外部命令:
内部命令和外部命令最⼤的区别之处就是性能。内部命令由于构建在shell中⽽不必创建多余的进程,
要⽐外部命令执⾏快得多。因此和执⾏更⼤的脚本道理⼀样,执⾏包含很多外部命令的脚本会损害脚本的性能。
五、显⽰当前⽬录命令:pwd
①、命令名称:pwd
②、英⽂原意:print working directory
③、命令所在路径:/bin/pwd
④、执⾏权限:所有⽤户
⑤、功能描述:显⽰当前⽬录
⑥、语法: pwd
例⼦:显⽰当前⽬录:pwd
六、删除空⽬录命令:rmdir
①、命令名称:rmdir
②、英⽂原意:remove empty directories
③、命令所在路径:/bin/rmdir
④、执⾏权限:所有⽤户
⑤、功能描述:删除空⽬录(如果⽬录下存在⽂件则不能删除)
⑥、语法: rmdir 【空⽬录名】
例⼦:删除指定空⽬录:rmdir /tmp/alinux查看当前路径命令
注意:由于此命令只能删除空⽬录,在实际操作中应⽤的不多,后⾯我们讲解 rm 命令可以替代。
七、复制⽂件或⽬录命令:cp
①、命令名称:cp
②、英⽂原意:copy
③、命令所在路径:/bin/cp
④、执⾏权限:所有⽤户
⑤、功能描述:复制⽂件或⽬录
⑥、语法: cp -rp 【原⽂件或⽬录】【⽬标⽬录】
-r 复制⽬录
-p 保留⽂件属性
例⼦:⽐如我们将 root ⽬录下的install.log ⽂件复制到 tmp ⽬录下
可以⽤于复制后⽂件改名,⽐如我们将 root ⽬录下的 install.log ⽂件复制到 tmp的copyinstall.log ⽂件
还可同时复制多个⽂件,注意复制⽬录的时候要加 -r选项。加-p属性之后会将原⽂件的⼀些属性⽐如修改时间等也原封不动的复制过去。如果不加-p属性,那么复制后的⽂件修改时间为当前系统时间。
⼋、剪切⽂件或⽬录命令:mv
①、命令名称:mv
②、英⽂原意:move
③、命令所在路径:/bin/mv
④、执⾏权限:所有⽤户
⑤、功能描述:剪切⽂件、改名
⑥、语法: mv【原⽂件或⽬录】【⽬标⽬录】
例⼦:在 tmp ⽬录下创建⽬录 tmp1 ,然后在 tmp1 ⽬录下创建⽬录 tmp1_1,然后命令 mv /tmp/tmp1/tmp1_1 /tmp 将 tmp1⽬录下的 tmp1_1 剪切到 tmp ⽬录下。
九、删除⽂件或⽬录命令:rm
①、命令名称:rm
②、英⽂原意:remove
③、命令所在路径:/bin/rm
④、执⾏权限:所有⽤户
⑤、功能描述:剪切⽂件、改名
⑥、语法: rm -rf 【⽂件或⽬录】
-r 删除⽬录
-f 强制执⾏
例⼦:在 tmp ⽬录下有两个⽬录 tmp1 和 tmp1_1,rm -r tmp1_1 是删除这个⽬录,但是需要输⼊ y 来确认
rm -rf tmp1 是强制删除 tmp1 ⽬录,不需要输⼊ y 来确认,这种做法很简单,但是容易误删⽂件,没有反悔的机会 rm -rf tmp1 tmp2 同时删除两个⽂件
3、⽂件处理命令
⼀、创建空⽂件命令:touch
①、命令名称:touch
②、英⽂原意:
③、命令所在路径:/bin/touch
④、执⾏权限:所有⽤户
⑤、功能描述:创建空⽂件
⑥、语法: touch 【⽂件名】
例⼦:在 tmp ⽬录下创建 tmp.log ⽂件
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论