大数据之脚踏实地学03--Linux的常用文件级命令

2023-12-17 14:59

本文主要是介绍大数据之脚踏实地学03--Linux的常用文件级命令,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  • 前言


众所周知,大数据应用工具(如Hadoop、Storm、Hive、Spark等)都是运行于Linux系统中。所以,第一步要做的就是认识并操作Linux系统(正如你对Windows系统中的了解),而这一步又显得尤为基础和重要。对于Linux系统的操作,与图形化的Windows系统完全不同,它都是基于命令完成的。故从本期开始,将陆续介绍Linux的常用命令,包括文件处理命令、权限命令、搜索命令以及压缩解压命令等。灵活掌握和使用这些常用命令,都可以为后期大数据工具的学习打下基础。

  • 预备知识


命名规则

  • 除正斜杠“/”之外,几乎所有的字符都可以用作命名,但不推荐使用空格符、制表符、美元符$、@、#、()、*等特殊符号;

  • 对字母的大小写敏感,即a和A代表两个不同的对象;

  • 避免使用英文状态的句号点"."开头,因为在Linux中,"."开头的文件为隐藏文件;

  • 见名知意,即尽可能使名称具有含义,如gender就代表与性别相关;

命令格式

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

 例如:ls -la /etc

在命令中,需要使用多个选项时,可以将它们写在一起(别忘了选项前面有一个减号哦);命令中的参数可以是目录、文件、用户、组或执行文件等;

两个特殊目录

一个英文状态的句号点(.),代表当前目录,即用户所在的当前路径;

两个英文状态的句号点(..),代表当前目录的父目录,即用户所在当前路径的上一级目录;

  • 文件处理命令


命令名称:ls

英文含义:list

功能描述:列出某个指定目录下的所有文件或子目录

语法:ls [-aldh] [文件或目录]

选项:

  无选项:表示罗列出目录内的所有文件名称

          -a:(all),显示所有文件,包括隐藏文件

          -l:(long),以长序列的形式显示详细信息

          -d:(director),查看目录属性

          -h:(human-readable)以Kb、Mb或GB的方式显示文件的大小(更加人性化)

示例:

如上命令ls使用了-l选项,罗列出了根目录/下所有文件和子目录的内容,并且以长序列的形式呈现文件内容。在上图中,圈出了6个红框,它们各代表不同的含义:

dr-xr-xr-x:该部分包含两类信息,一个是首字符,代表不同的文件类型,这里的d表示目录类型,还有其他常用字符,如l表示软链接类型、-表示二进制文件;另一个是所有者、所属组和其他用户的权限,每一类用户的权限占三个字符的位置,位置所对应的值分别是rwx,r代表可读权限、w代表可写权限、x代表可执行权限,没有对应权限时用横杆-表示;

5:代表文件所包含的硬链接数,关于硬链接的介绍会在后文中提到;

root root:分别代表文件的所有者和所属组是谁,这里的root既是所有者又是所属组;

12288:代表文件的大小,单位为字节数,例如1024字节为1K;

9月 23 2011:代表文件的创建或修改时间;

Learn:代表文件的名称

 

命令名称:cd

英文含义:change directory

功能描述:切换目录,借助于cd命令,可以切换至任意的有效目录

语法:cd 目的地目录

特殊的cd用法:cd或者cd ~ ,可以回到当前用户的主目录,如root用户回到/root目录,其他普通用户则回到各自的家目录,如snake用户,将回到/home/snake目录下;

示例:

 

命令名称:pwd

英文含义:print working directory

功能描述:打印当前工作目录

语法:pwd

 

命令名称:touch

英文含义:touch

功能描述:创建新的空文件,类似于Windows系统中新建文件(如新建txt文件、Word文件、Excel文件等)

语法:touch 文件名称

示例:

 

命令名称:mkdir

英文含义:make director

功能描述:创建新目录(类似于在Windows系统中新建文件夹)

语法:mkdir 目录名称

示例:

 

命令名称:cp

英文含义:copy

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

语法:cp -R [源目录或文件] [目的地目录]

选项:

          -R:(recursive) 表示递归复制目录(即目录内的子目录也一同复制)

          -f:(force) 提示是否强制覆盖(如果目的地目录中有相同名称的文件,通过-f选项进行覆盖前的提示)

          -n:(no overwite)不覆盖目的地目录中的同名称文件

示例:

如上图所示,第一个框为两个目录内的test1文件(注意文件对于的创建时间哦);第二个框为复制命令;第三个框为复制并强制覆盖后的状态(被覆盖的文件时间发生了变化)。

 

命令名称:mv

英文含义:move

功能描述:移动或重命名目录与文件

语法:mv [源目录或文件] [目的地目录]

 示例:

移动

重命名

 

命令名称:rm

英文含义:remove

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

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

选项:

      -r(recursive)递归删除(如果需要删除非空目录,需要借助于-r选项,否则无法删除)

      -f(force) 强制删除(即不需要提示是否删除的消息,直接强制删除)

示例:

删除文件,并发出提示信息

删除非空目录

 

命令名称:cat

英文含义:concatenate and display files

功能描述:一次性查看文件的所有内容,对于小文件可以使用该命令,但大文件推荐使用more命令或less命令

语法:cat –[nb] 文件名称

选项:

      -n(number)呈现行号(对于空号也会显示对应行号)

       -b(blank)呈现行号(对于空号不会显示对应的行号)

示例:

 

命令名称:more

英文含义:more

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

语法:more [-num]文件名称

选项:

       -num:显示每屏的行数,如-20,表示每屏呈现20行数据

示例:

进入查看状态,利用键盘操作文件内容 :

       空格 显示下一屏

       b 回滚上一屏

       Enter 显示下一行

       q     退出查看状态

 

命令名称:less

英文含义:less

功能描述:分页显示文件内容,该命令的功能比more更强大,既支持上下翻屏,还支持搜索功能

语法: less[-mN] 文件名称

选项:

       -m:显示已呈现内容的百分比(类似于more)

       -N:显示行号

 示例:

进入查看状态,利用键盘操作文件内容: 

空格 显示下一屏

b 回滚上一屏

Enter 显示下一行

y 显示上一行

d 向下翻半屏

u 向上翻半屏

/目标字符串:向下搜索目标子串

?目标字符串:向上搜索目标子串

q     退出查看状态

示例:

向下搜索iPhone,使用/iPhone方法

 

命令名称:ln

英文含义:link

功能描述:产生软链接文件(类似于Windows系统中的快捷键)或硬链接文件

语法:ln [-s] [源文件] [目标文件]

选项:

       -s:创建软连接

无选项:表示创建硬链接

示例:

通过ln也可以创建硬链接(不需要写-s选项),硬链接相当于是源文件的拷贝,所不同的是,硬链接相比于拷贝来说,还具有同步更新的功能。这样就可以起到备份的效果,但是硬链接不能跨文件系统(文件系统指的就是分区,如之前安装Linux系统时,我们分了根分区/、引导分区/boot和SWAP分区)。

示例:

从上图可知,在原始文件中修改内容,就会影响到硬链接的内容,所以它具有实时备份的功能。

 

  • 结语


OK,关于文件级的常用命令就分享到这里,如果你有任何问题,欢迎在公众号“数据分析1480”的留言区表达你的疑问。同时,也欢迎各位朋友继续转发与分享文中的内容,让更多的人学习和进步。

这篇关于大数据之脚踏实地学03--Linux的常用文件级命令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

Linux samba共享慢的原因及解决方案

《Linuxsamba共享慢的原因及解决方案》:本文主要介绍Linuxsamba共享慢的原因及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux samba共享慢原因及解决问题表现原因解决办法总结Linandroidux samba共享慢原因及解决

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

MySQL大表数据的分区与分库分表的实现

《MySQL大表数据的分区与分库分表的实现》数据库的分区和分库分表是两种常用的技术方案,本文主要介绍了MySQL大表数据的分区与分库分表的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. mysql大表数据的分区1.1 什么是分区?1.2 分区的类型1.3 分区的优点1.4 分

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc