7.大数据之_linux基本知识_2_文件目录操作命令_1

上一篇 6.大数据之_linux基本知识_2_文件目录操作命令_0

1.6.2 rm(移除档案或目录)

用法:rm [-fir] 档案或目录

选项参数:

-f:忽略不存在的档案,不会出现警告,f(force)

-i:互动模式,再删除前会询问使用者是否进行删除动作

-r:递归删除,常用在目录的删除,(这是非常危险的选项),删除了就找不回来了

举例:

目录参考上图

<1>rm -i /tmp/test1/fff.txt

说明:使用-i命令删除档案(文件),系统发出交互信息。

<2>rm -i /tmp/test1/tt*

说明:通配符删除文件,*代表的是0~任意多个字符

<3>rmdir /tmp/test2/test3/

说明:由于目录下面有文件,所以删除时,系统会提示消息(提示消息的原因是root

用户所以预设加入了-i选项,这是一种保护机制,防止误删)。

这时使用:

rm -r /tmp/test2/test3/

/rm -r /tmp/test2/test3/    (去掉系统删除提示)

-r代表递归删除,也就是将目录下面的文件删除然后将test3目录删除,注意不会删除test2目录,这是递归向下。

<4>rm ./-aasd

说明:删除开头是-的档案(文件),一定要使用./指定在当前目录下面,因为-在linux系统中表示后面接的是选项,因此,单纯的使用『rm - aasd 』系统的指令就会误判。所以,只能避过首位字符是 "-"的方法,就是加上本目录『./ 』。还有另一种方式rm -- -aasd

1.6.3 mv移动档案与目录或更名

用法:mv [-fiu] 要移动的文件 目的位置

mv要移动的文件1要移动的文件2要移动的文件3 … 移动的目的位置

选项参数:

-f:如果目标文件已经存在,系统不会询问直接覆盖

-i:目标文件已存,系统发起询问是否覆盖(root用户系统会预设添加-i选项)

-u:若目标文件已经存在,且要移动的文件比较新,这时才会更新

举例:

<1>mv aaa.txt test1

说明:将aaa.txt文件移动到test1文件夹下面

<2>mv -i aaa.txt test1(-i root用户会进行预设加入)

说明:移动时,目标文件夹有同名的文件,系统发起询问是否覆盖

<3>mv -u aaa.txt test1

说明:-u选项系统发起询问,是否覆盖原文件。

1.6.4取得路径的文件名和目录名

<1>basename

用法:basename路径

举例:basename /etc/sysconfig/networw

说明:上面命令会显示文件名

<2>dirname

用法:dirname路径

举例:dirname /etc/sysconfig/network

说明:上面命令显示路径

1.6.4 文件内容查看

就像windows的记事本浏览文件一样,linux下,文件内容查看有很多常用的指令。

cat:由第一行显示文件内容

tac:从最后一行显示文件内容

nl:显示文件,同时输出行号

more:一页一页显示内容

less:一页一页显示内容,可以往前翻页

head:只看头几行

tail:只看尾巴几行

od:以二进制的方式读取档案内容

<1>cat

举例:cat [-AbEnTv] 文件(可以是文件路径)

选项:

-A:列出特殊字符

-b:列出行号仅仅针对非空白行显示行号,空白航不显示行号

-E:将结尾的断行字符$显示出来

-n:打印行号,空白行也显示行号

-T:将tab键以^显示出来

-v:列出一些看不出来的特殊字符

举例1:cat -n /etc/issue

说明:查看issue文件,-n表示同时显示行号

举例2: cat -nv /etc/xinetd.d/rsync

说明: -nv选项组合使用,显示行号,同时显示特殊字符。

<2>tac

用法:tac文件(也可以是文件的据对路径)

举例:tac /etc/issue

说明:从文件最后一行开始显示文件内容,就是倒序显示文件内容

<3>nl

用法:nl [选项参数] 文件

选项:

-b a:显示行号,空行也显示行号

-b t:显示行号,空行不显示行号

-n:列出行号的表示方法

-n ln:行号在屏幕的最左方显示

-n rn:行号在自己字段的最左方显示,且不加0

-n rz:行号在自己字段的最左方显示,且加0

-w:行号字段的占用位数

举例如下:

<4>more

用法:more文件(或者文件的绝对路径)

举例:more /etc/man.config

说明:将文件一页一页显示

操作键:

空格键:代表向下翻一页

Enter:代表向下翻一行

:f:立即显示文件名以及目前显示的行数

q:代表立刻离开more,不在显示该文档内容

b(或者ctrl b):代表往回翻页,这个动作只对文件有用,对管道没用

/字符串:代表在这个显示的内容当中,向下搜寻这个【字符串】

<5>.less 文档查看

用法:less 选项参数 文件

参数:

空格键:向下翻页

pagedown:向下翻页

pageup:向上翻页

/字符串:向下搜寻【字符串】的功能

?字符串:向上搜寻【字符串】的功能

n:重复前一个搜寻(与/或?有关)

N:反向重复前一个搜寻(与/或?有关)

q:退出less命令

举例:less /etc/man.config

说明:查看man.config文件

<6>head/tail 取出前几行/取出后几行

用法:head [-n number] 文件

参数:-n number:表示取出的行数,默认显示前10行(包含空行)

举例:

head /etc/man.config 取出前10行

head -n 21 /etc/man.config 取出前21行

注:tail和head用法一样,只是取出后几行

<7>.od 查看非纯文本文件

用法:od [-t type] 文件

type:

a:利用默认字符输出

c:使用ASCII字符输出

d[size]:利用十进制输出数据,每个整数占size bytes

f[size]:利用浮点数输出数据,每个数占size bytes

o[size]:利用八进制输出数据,每个整数占size bytes

x[size]:利用十六进制输出数据,每整个数占size bytes

举例:

od -t c /usr/bin/passwd 使用ASCII字符数出文件

od -t oCc /use/passwd 使用八进制和ASCII对照输出

od -t xCc /use/passwd 使用十六进制和ASCII对照输出

<8>.touch 修改文档时间或者创建新文档

介绍:每个文档在linux下会记录很多的时间参数,其中有三个主要的时间参数

modification time (mtime):

当文档的内容变动时,就会更新这个时间,文档内容不包含文档的权限和属性

status time (ctime):

当文档的状态改变时,就会更新这个时间,比如权限与属性的变更

access time (atime):

当文档的内容被读取时,就会变动这个时间,比如使用cat读取文档

用法:touch [-acdmt] 文件

选项参数:

-a:仅修订 access time

-c:仅修改文件的时间,若该档案不存在则不建立新文件

-d:可以接欲修订的日期而不用目前的日期,也可以用 --date="日期或时间"

-m:仅修改 mtime

-t:后面可以接欲修订的时间而不用目前的时间,格式为[YYMMDDhhmm]

举例:

a.[root@XXXxxx tmp]# touch ttt

[root@XXXxxx tmp]# ls -l ttt

-rw-r--r--. 1 root root 0 Feb 12 18:25 ttt

说明:在tmp文件夹下面创建文件ttt,touch 文件不存在就会创建。

[root@xxxx tmp]# ll ttt; ll --time=atime ttt; ll --time=ctime ttt;

上面这个命令是查看三个时间

-rw-r--r--. 1 root root 0 Feb 12 18:25 ttt 这是mtime

-rw-r--r--. 1 root root 0 Feb 12 18:25 ttt 这是atime

-rw-r--r--. 1 root root 0 Feb 12 18:25 ttt 这是ctime

ll===ls -l ,';'表示连续指令,也就是输入多重指令,这些指令可以依顺序执行

b.[root@xxxx tmp]# touch -d "2 days ago" ttt 修改时间为2天前

[root@xxxxx tmp]# ll ttt; ll --time=atime ttt; ll --time=ctime ttt;

-rw-r--r--. 1 root root 176 Feb 10 18:46 ttt 这是mtime

-rw-r--r--. 1 root root 176 Feb 10 18:46 ttt 这是atime

-rw-r--r--. 1 root root 176 Feb 12 18:46 ttt 这是ctime

c.[root@o-o tmp]# touch -t 0809061325 ttt  修改时间为2008年9月6号13点25分

[root@o-o tmp]# ll ttt; ll --time=atime ttt; ll --time=ctime ttt;

-rw-r--r--. 1 root root 176 Sep  6  2008 ttt 这是mtime

-rw-r--r--. 1 root root 176 Sep  6  2008 ttt 这是atime

-rw-r--r--. 1 root root 176 Feb 12 18:50 ttt 这是ctime

1.6.5 文件预设权限

当建立一个默认的文件时,系统会设定默认的权限,这个默认权限就与umask(当前用户建立文件或者目录的时候的默认权限值)有关

0022是系统umask的数字形态的权限值,后三组022表示的是创建文件时,系统需要处理的文件权限值,第一个0暂时不用理会。

创建文件时,一般默认,文件是不可以执行的,一般文件是为了保存数据使用的。所以系统文件的最大权限是666也就是,预设权限是 –rw-rw-rw-

创建目录时,要进入此目录,就需要x权限,因此,默认权限全部开放,最大权限值是777,预设权限是drwxrwxrwx

umask确定的是,在创建目录或者权限时需要除去的权限值,因此系统默认权限值是:

创建文件:(-rw-rw-rw-) – (------w--w) ==> (-rw-r--r--) 也就是666 – 022 ==> 644(非数学减法)

创建目录:(drwxrwxrwx) – (d-----w--w)=>(drwxr-xr-x)也就是777-022=>755(非数学减法)

验证:

创建的文件

创建的目录

 

猜你喜欢

转载自blog.csdn.net/u010952056/article/details/87160514
今日推荐