hbsygfz 阅读(7) 评论(0)

数据挖掘工程师并不是一直都在图形化界面中工作,并且随着大数据开源技术的发展,会有更多的任务需要在命令行环境下完成,比如在hadoop环境下进行数据文件的导入导出,在ubuntu环境下进行python库的安装与配置,因此就需要掌握一些基本的、常用的Linux命令。本文针对这一话题进行了总结梳理。

1.目录操作

(1)绝对路径与相对路径

绝对路径:路径的写法一定由根目录”/”写起,比如:/usr/local/lib
相对路径:路径的写法不是由根目录”/”写起,比如:local/lib。这是,这个目录相当于是将当前目录为根目录,如果当前目录变化了,那么这个相对路径就要需要修改。

(2)打印当前目录:pwd

命令格式: pwd

返回当前目录的绝对路径。

(3)切换目录:cd

命令格式: cd 目录名

cd 绝对路径
cd 相对路径
cd .         --切换到当前目录
cd ..        --切换到上一层目录
cd /         --切换到根目录
cd ~         --切换到home目录

(4)创建目录:mkdir

命令格式: mkdir 新目录名(既可以是绝对路径,也可以是相对路径)

-p参数:

mkdir -p 新目录名

-p的作用是,不使用-p参数时,如果要创建的目录所在的上层目录不存在时,就会报错;而使用了-p参数后,就会直接一次性连上层目录都创建了。如下:创建tmp3中的tmp4,其中tmp3之前是不存在的。未使用-p时,提示了tmp3不存在;使用-p时,不提示错了,tmp3、tmp4都会一次性创建。

(5)查看目录内容:ls

命令格式: ls <目录>

直接使用ls命令,查看当前目录下的内容。

使用ls命令+路径,查看指定目录下的内容。

不同的颜色,表示的含义不一样:
白色:普通文件
蓝色:目录
绿色:可执行文件
红色:压缩文件
浅蓝色:链接文件
黄色:设备文件
灰色:其他文件

(6)复制目录:cp -r

cp命令既可用于拷贝文件,又可用于拷贝目录,但是拷贝目录时必须使用-r参数

命令格式: cp -r 源目录 目标目录

将tmp1下的tmp2目录拷贝到tmp3目录下:

这里,首先将/usr下的6.csv文件复制一份到/usr/tmp1/tmp2中,然后尝试将tmp2目录复制到tmp3中,未加-r参数时,报错,无法拷贝。增加-r参数后,拷贝成功。并且检查到,发现是连目录中的文件一起拷贝的。

(7)移动目录:mv

命令格式: mv 源目录 目标目录

移动目录时,会将目录中的文件一起移动。
当目标目录不存在时,就会在移动目录的同时进行重命名操作。

这里,/usr/tmp9是不存在的,所以将tmp4移动过去后,就会同时改名。
当源目录和目标目录在同一父目录下,其实就是对原目录进行了重命名操作。

(8)删除目录:rmdir、rm

命令格式: rmdir 目录名

在/usr中创建一个新目录tmp5,可以使用rmdir直接删除它。

rmdir -p 目录名

在/usr中递归创建一个新目录tmp6/tmp7,使用rmdir删除tmp7时,只会将tmp7删除,保留了其父目录tmp6;如果使用了-p参数,就会将其父目录tmp6一并删除,如例中删除tmp8时。

但是当要删除了目录非空时,比如tmp2中有6.csv文件时,再使用rmdir删除它时就会报错。这时候就需要使用rm命令了。

rm命令既可以用于删除文件,也可以用于删除目录,但是此时必须增加-r参数。
rmdir命令只能用于删除目录。


2.文件操作

(1)复制文件:cp

命令格式: cp 文件名 目录</文件名>

通过cp命令,将一个文件复制到指定位置,可以在指定位置目录后设定文件名称,相当于复制后对该文件进行了重命名操作。

(2)移动文件:mv

命令格式: mv 文件名 目录</文件名>

(3)删除文件:rm

命令格式:rm 文件名

(4)读取并打印文件内容:cat

命令格式: cat 文件名

(5)查看更多文件内容:more、less

当文件内容太多,一屏不能显示完,如果用cat就只能显示最后面的部分,这时候就需要用more或者less了。
more看完一屏后,就可以通过空格(打印下一屏)、或者回车键(打印下一行),可以随时通过q结束浏览模式。

命令格式: more 文件名

less和more的作用一样:分屏浏览长文本内容,但是less比more更方便,可以“回头”打印,即往前看。可以通过上下方向键,向前向后看,空格和回车键和more命令作用一样,使用q随时退出浏览模式。

命令格式: less 文件名

(6)读取前n条:head

命令格式: head <-n> 文件名

默认打印前十条。

使用参数n=3,只打印前三条。

(7)读取后n条:tail

命令格式: tail <-n> 文件名

默认打印后十条。

使用参数n=3,只打印后三条。

(8)搜索文件:find

命令格式: find -name filename  --按文件名搜索

可以使用命令或者类型的模糊匹配搜索。
使用-iname参数而不是-name,可以忽略大小写。

可以使用-o参数连接多个搜索条件,条件之间是“或”关系。

也可以设定搜索目录,在指定目录下完成搜索。


3.文件属性

(1)简介

使用ls -l命令查看指定目录下的文件的属性信息。这里的文件是广义上的文件,包括文件、目录、设备、分区等等。

命令格式: ls -l <目录>

含义解释:
total:该目录下所有文件的大小(单位为KB),是列表中文件属性第五列,文件大小之和,这里的单位是B。
第一列:文件类型和文件权限,共10位。
其中:
第1位:文件类型(d:目录,-:普通文件……)
后9位,每3位为一组,均为rwx三个参数的组合。r——可读,w——可写,x——可执行。
第一个三位,代表文件所属主(user)的权限,第二个三位,代表文件所属组(group)的权限,第三个三位代表其他非所属组用户(others)的权限。

(2)更改所属组:chgrp

命令格式: chgrp 组名 文件名

首先使用groupadd命令增加一个组testgrp,接着使用chgrp将文件5.txt的所属组更改为这个组。

(3)更改所属主:chown

命令格式: chown <-R> 用户名 文件名

首先使用useradd命令增加一个用户testusr,接着使用chown将文件5.txt的所属主更改为这个用户。
当修改目录时,需要注意,使用-R参数,实现级联更改,即不仅修改该目录,还修改这个目录下面的所有子目录或者文件。-R只对修改目录有效。

(4)更改用户操作权限:chmod

命令格式: chmod <-R> 权限值 文件名

为方便权限的修改,将权限用数字表示,r:4,w:2,x:1,-:0,三个权限组的值拼接在一起,比如:上面的rw-r--r--,第一个权限组:rw-等于4+2+=6,第二个权限组:r--等于4+0+0=4,第三个权限组:r--等于4+0+0=4,所以其权限值为644。
同样,使用-R参数,实现级联更改
在linux系统中,默认一个目录的权限为 755,而一个文件的默认权限为644。
-rwxrwx---用数字表示就是770,下面我们通过chmod命令将5.txt文件进行权限修改。


4.快捷键

(1)终止当前命令:CTRL+C

用于终止当前命令。

(2)自动补全:TAB

帮你自动补全命令或者目录,如果没有反应,说明系统还无法判断,需要输入更多信息。

(3)退出当前终端:CTRL+D、exit

退出当前终端,关闭窗口。

(4)暂停当前进程:CTRL+Z

暂停当前的进程,使用fg恢复。

(5)清屏:CTRL+L


5.其他命令

(1)查看命令帮助信息:man

命令格式: man 命令名称

用来看一个命令的帮助文档。

(2)文件的打包与压缩:

在linux下最常见的压缩文件通常都是以.tar.gz为结尾的,除此之外还有.tar,.gz, .bz2,.zip等等。
.gz : gzip压缩工具压缩的文件
.bz2: bzip2 压缩工具压缩的文件
.tar : tar打包程序打包的文件(tar并没有压缩功能,只是把一个目录合并成一个文件)
.tar.gz : 可以理解为先用tar打包,然后再gzip压缩
.tar.bz2 : 同上,先用tar打包,然后再bzip2压缩

压缩:      gzip 文件名
解压缩:    gzip -d 压缩包.gz

注意:gzip不可以压缩目录。

压缩:      bzip2 文件名
解压缩:    bzip2 -d 压缩包.bz2

打包:      tar -cvf 文件名.tar 文件名
解包tar:   tar -xvf 压缩包.tar

打包后gzip压缩:    tar -czf 文件名.tar.gz 文件名
解压缩tar.gz:      tar -xzvf 压缩包.tar.gz

打包后bzip2压缩:   tar -cjf 文件名.tar.bz2 文件名
解压缩tar.bz2:     tar -xjvf 压缩包.tar.bz2 

(3)系统关机与重启:

halt                立刻关机
poweroff            立刻关机
shutdown -h now     立刻关机(root用户使用)
shutdown -h 10      10分钟后自动关机
reboot              立刻重启
shutdown -r now     立刻重启(root用户使用) 
shutdown -r 10      过10分钟自动重启(root用户使用)