本文主要是介绍大数据之脚踏实地学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的常用文件级命令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!