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

2024-05-26 01:18

本文主要是介绍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(非数学减法)

验证:

创建的文件

创建的目录

 

这篇关于7.大数据之_linux基本知识_2_文件目录操作命令_1的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1003148

相关文章

Linux join命令的使用及说明

《Linuxjoin命令的使用及说明》`join`命令用于在Linux中按字段将两个文件进行连接,类似于SQL的JOIN,它需要两个文件按用于匹配的字段排序,并且第一个文件的换行符必须是LF,`jo... 目录一. 基本语法二. 数据准备三. 指定文件的连接key四.-a输出指定文件的所有行五.-o指定输出

Linux jq命令的使用解读

《Linuxjq命令的使用解读》jq是一个强大的命令行工具,用于处理JSON数据,它可以用来查看、过滤、修改、格式化JSON数据,通过使用各种选项和过滤器,可以实现复杂的JSON处理任务... 目录一. 简介二. 选项2.1.2.2-c2.3-r2.4-R三. 字段提取3.1 普通字段3.2 数组字段四.

Linux kill正在执行的后台任务 kill进程组使用详解

《Linuxkill正在执行的后台任务kill进程组使用详解》文章介绍了两个脚本的功能和区别,以及执行这些脚本时遇到的进程管理问题,通过查看进程树、使用`kill`命令和`lsof`命令,分析了子... 目录零. 用到的命令一. 待执行的脚本二. 执行含子进程的脚本,并kill2.1 进程查看2.2 遇到的

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

Linux挂载linux/Windows共享目录实现方式

《Linux挂载linux/Windows共享目录实现方式》:本文主要介绍Linux挂载linux/Windows共享目录实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录文件共享协议linux环境作为服务端(NFS)在服务器端安装 NFS创建要共享的目录修改 NFS 配

linux系统中java的cacerts的优先级详解

《linux系统中java的cacerts的优先级详解》文章讲解了Java信任库(cacerts)的优先级与管理方式,指出JDK自带的cacerts默认优先级更高,系统级cacerts需手动同步或显式... 目录Java 默认使用哪个?如何检查当前使用的信任库?简要了解Java的信任库总结了解 Java 信

Linux命令rm如何删除名字以“-”开头的文件

《Linux命令rm如何删除名字以“-”开头的文件》Linux中,命令的解析机制非常灵活,它会根据命令的开头字符来判断是否需要执行命令选项,对于文件操作命令(如rm、ls等),系统默认会将命令开头的某... 目录先搞懂:为啥“-”开头的文件删不掉?两种超简单的删除方法(小白也能学会)方法1:用“--”分隔命

C#使用iText获取PDF的trailer数据的代码示例

《C#使用iText获取PDF的trailer数据的代码示例》开发程序debug的时候,看到了PDF有个trailer数据,挺有意思,于是考虑用代码把它读出来,那么就用到我们常用的iText框架了,所... 目录引言iText 核心概念C# 代码示例步骤 1: 确保已安装 iText步骤 2: C# 代码程