兄弟连Linux教学——第四讲 常用命令—文件处理命令

4.1.1 命令格式与目录格式命令ls

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

          选项是调整命令功能的,参数是命令操作的对象,可能是一个用户、进程、文件、目录

例如:ls -la /etc

说明: 个别命令使用不遵此格式;当有多个选项时,可以写在一起;简化选项与完整选项:-a等于--all(完整选项一般用两个连接符来调用)

 

1)目录处理命令:ls(list)

命令所在路径:/bin/ls

执行权限:所有用户

功能描述:显示目录文件

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

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

-l 详细信息显示

-d 查看目录属性(显示当前目录本身的信息,而不显示目录下的文件信息)

当只写命令,没有选项没有参数时,表示命令处理的是操作当前所在目录。

ls当前目录的三个文件,是三个安装日志文件。

加了-a,多了一些文件。是以“.”开头的文件,是隐藏文件。

隐藏文件有什么目的?

——>初衷是系统告诉用户,当没有什么事或者除非你确定要动它的时候,就不要操作它。

每个文件把用户分为三类:

  • 所有者user(文件的创建者,所有者一般情况下是一个用户,可以改变)
  • 所属组group(指的是用户的集合,也是只能有一个)
  • 其他人other(剩下的人,不能碰)

第二部分是文件技术:1

第三部分是文件的所有者:root

第四部分是文件的所属组:root

第五部分是文件的大小:默认单位是字节,人性化显示加一个-h选项(human),不仅ls支持-h选项,多数统计文件大小的都支持。

第六个部分是:文件最后一次被修改的时间,Linux没有文件的创建时间。

第七个部分是:文件名

 

再来看第一个最复杂的部分,告诉了我们文件的哪些信息?

-rw-r--r--

  • - 文件类型(- 二进制文件,d 目录,l 软链接)最常用的三件文件。
  • rw- r-- r--

       u    g    o 

u所有者,g所属组,o其他人

r读  w写  x执行(权限够用就好,x执行权限一般没有必要)

 

id号:每个文件和目录都有自己的id号,系统靠这个id号来进行索引。使用ls -i的命令来查询。每个文件的唯一确定信息。

 

4.1.2目录处理命令

 

 

2)目录处理命令:mkdir(make directories)

命令所在路径:/bin/mkdir

执行权限:所有用户

功能描述:创建目录

语法:mkdir 选项[-p] [目录名]

-p 递归创建

例子:$mkdir -p/tmp/Japan/Kyoto ; $mkdir /tmp/Japan/Osaka /tmp/Japan/Tokyo

mkdir可以同时创建多个目录

注意

一定要做好目录结构的规划!不要在根目录下轻易创建新的目录或者文件!目录的名称和命令要有一定的规律,便于查找!

 

 

3)目录处理命令:cd(change directory)

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

执行权限:所有用户

功能描述:切换目录

语法:cd [目录】

例子:$cd /tmp/Japan/Tokyo 切换到指定目录

          $cd . 表示当前目录

          $cd .. 回到上一级目录

          $cd ~回到根目录

 

 

3)目录处理命令:pwd(print working directory)

命令所在路径:/bin/pwd

执行权限:所有用户

功能描述:显示当前目录的绝对路径

语法:pwd

例子:见上一个命令

 

4)目录处理命令:rmdir(remove empty directories)

命令所在路径:/bin/rmdir

执行权限:所有用户

功能描述:删除空目录

语法:mkdir  [目录名]

例子:$rmdir /tmp/Japan/Kyoto 

 

 

4)目录处理命令:cp(copy)

命令所在路径:/bin/cp

执行权限:所有用户

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

语法:cp 复制文件

          cp -rp [原文件或目录] [目标目录】

               -r 复制目录

               -p 保留文件属性(可以使得文件的最后修改时间不变)

例子:$rmdir /tmp/Japan/Kyoto 

在cp复制文件时,是不需要加-r选项的;但是在复制目录时,需要加-r选项。

cp可以同时复制多个文件或者目录;

复制的同时,还可以改名字。

 

 

5)目录处理命令:mv(move)

命令所在路径:/bin/mv

执行权限:所有用户

功能描述:剪切文件、改名(可以一次剪切多个文件目录)

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

将当前目录下的文件改名字:

 

 

 

6)目录处理命令:rm(remove)

命令所在路径:/bin/rm

执行权限:所有用户

功能描述:删除文件、目录

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

                -r 删除目录

                -f 强制执行

做练习时,不要随意剪切删除,最好用自己建立的文件或者拷贝的文件做实验。

在Linux中,没有回收站机制。

建议:

1. 日常文件做好备份,在删除任何文件之前,都要做好备份。

2. 一旦发现误删除的情况,在确定是误删后,尽量不要对硬盘进行读写操作,根据经验,你进行的读写操作越多,未来恢复数据的可能性就越小。

 

 

4.1.3 文件处理命令

 

7)文件处理命令:touch

命令所在路径:/bin/touch

执行权限:所有用户

功能描述:创建空文件

语法:touch [文件名]

例子: $touch LoveStory.list

注意:

在Linux中,如果命令的参数没有指定绝对路径,就表示是在当前路径下进行操作。如果要加路径,就要加绝对路径。

在Linux中,后缀名和Windows是不一样的,.list是随便取的后缀名。而且,在Linux中很多特殊符号,除了表示根目录的斜杠不能用以外,几乎所有的特殊符号,在Linux的文件命名里,都是合法的文件名。不过,不推荐。带有空格的文件名,也不推荐在Linux中使用。

touch可以同时创建多个文件,如果直接用空格隔开,就会表示成想创建两个文件名。如果想要创建一个带空格的文件名,需要用双引号,如下:

 

 

8)文件处理命令:cat

命令所在路径:/bin/cat

执行权限:所有用户

功能描述:显示文件内容

语法:cat [文件名]

         -n 显示行号

例子: $cat /etc/issue

           $cat -n /etc/services

cat不适合浏览比较长的文件。

 

 

 

9)文件处理命令:tac

命令所在路径:/usr/bin/tac

执行权限:所有用户

功能描述:显示文件内容(反向列示)

语法:cat [文件名]

例子:$tac /etc/isuue

 

 

10) 文件处理命令:more

命令所在路径:/bin/more

执行权限:所有用户

功能描述:分页显示文件内容

语法:cat [文件名]

         (空格)或f  翻页

          (Enter)        换行

          q或Q          退出

例子:$more /etc/services

more命令的的具体操作,如何浏览,需要掌握。(翻页、换行、退出)

往回翻,怎么办?

 

 

11) 文件处理命令:less

命令所在路径:/bin/less

执行权限:所有用户

功能描述:分页显示文件内容(可向上翻页)

语法:less [文件名】

例子:$less /etc/services

比more命令多一个功能就是,可以按pageup按键往上翻。(一页一页往上翻)。

还可以进行搜索。使用斜杠/,加上搜索的关键词,回车。用n表示next,表示继续往下找。

 

 

全文很长,我只想看前几行的时候或者后几行的时候,怎么来做?

 

12) 文件处理命令:head

命令所在路径:/usr/bin/head

执行权限:所有用户

功能描述:显示文件前几行

语法:head [文件名]

          -n 指定行数

例子:$head -n 20 etc/services

当head后没有加-n时,默认显示前十行。

 

12) 文件处理命令:tail

命令所在路径:/usr/bin/tail

执行权限:所有用户

功能描述:显示文件后几行

语法:tail [文件名]

          -n 指定行数

          -f  动态显示文件末尾内容(用于监控日志等)

例子:$tail -n 18 /etc/services

 

 

 

4.1.3 链接命令

 

13)文件处理命令:ln(link)

命令所在路径:/bin/ln

执行权限:所有用户

功能描述:生成链接文件

语法:ls -s [原文件][目标文件]

              -s   创建软链接

硬链接的特征:(与$cp -p的不同)

1. 在cp -p的基础上,硬链接的文件还可以同步更新。(源文件和硬链接文件可以同时更新)

软链接只是一个符号链接,所以在打开软连接时会找到源文件,打开源文件的内容。

当删除源文件时,软链接就找不到了,但是硬链接依然还在。

那, 怎么判断文件的硬链接呢?

通过 i 结点来识别,在linux中,每一个文件一定有一个 i 结点,每一个进程都有一个id号, 但是一个 i 结点并不是对应一个文件,硬链接就是一个特殊的例子。

当你对一个文件进行操作时,在内核的层面就是对一个 i 结点进行操作,但因为这个 i 结点 映射到了两个文件,所以硬链接文件和源文件会同步更新。

硬链接在Linux中用的很少,只是希望大家了解一下。相当于一个备份,而且还可以同步更新。

而且,硬链接不能跨分区。(在Windows中,不能把C盘的分区当到D盘中),但是软链接可以跨分区。

硬链接不能针对目录使用,而软链接可以。

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值