首页 > 代码库 > hadoop之linux常用命令

hadoop之linux常用命令

Linux的命令后面会有命令选项,有的选项还有选项值。选项的前面有短横线“-”,命令、选项、选项值之间使用空格隔开。有的命令没有选项,会有参数。选项是命令内置的功能,参数是用户提供的符合命令格式的内容。

1.1.1.           命令提示符

在桌面上点击鼠标右键,在弹出菜单中选择“Open in Terminal”,

系统会打开终端,类似于Windows下的命令行。Windows的命令行是dos环境,Linux下的命令行是shell环境。我们的所有命令都是在shell下运行的,后面所有章节的命令也是在shell下执行的。

用户刚打开终端时,显示如下的提示符,我们要注意的是中括号里面的内容。

提示符通过符号“@”分为两部分,前面的“root”是当前登录用户。如果你使用itcast登录,那么这里会显示“[itcast@localhost Desktop]”。后面的“localhost Desktop”,被空格分为两部分,前面的“localhost”表示主机名称,是本机的唯一标识;如果我们修改了主机名称,那么该值就会变化;后面的“Desktop”表示shell显示的当前路径。中括号后面的“#”是提示shell类型,我们只关注黑色的光标在哪里就行了。

1.1.2.           路径操作

*  路径描述符

在Linux中,路径是通过斜线“/”划分的。在一个使用“/”划分的长路径中,开头的如果是“/”,这个斜线是特殊的,称作根路径。根路径使用“/”表示,在路径的开始位置,类似于Windows的“我的电脑”;点号“.”表示当前路径,无论你在哪个位置,点号都表示当前所在的路径;两个点“..”表示上级路径;波浪形“~”表示用户主目录,如果使用root用户登录,那么“~”表示/root;如果使用用户itcast登录,那么“~”表示/home/itcast。

*  路径跳转命令cd

格式:cd  目标路径

执行“cd  ..”是从当前路径跳到上级路径。

执行“cd  /usr/local”是跳转到根路径下的usr路径下的local路径。

1.1.3.           目录和文件操作

目录就是我们看到的文件夹,常见操作包括创建、删除、移动、复制、重命名、查找、查看、修改权限等。

*  查看命令ls

格式:ls  路径

命令“cd  ~”表示跳转到root用户主目录。

通过“pwd”查看路径位置。

执行命令“ls”显示当前用户主目录下有哪些文件和文件夹。在RHEL中,蓝色字体显示的是文件夹,黑色字体显示的是文件,一共有11个文件(夹)。

执行命令“ls  -a”显示的内容比前面的命令显示了更多,包括“.”开头的各种文件夹。在Linux中,“.”开头的文件(夹)表示隐藏文件,仅使用命令“ls”是看不到的,选项“-a”的作用是显示所有文件(夹),包含隐藏的。

选项“-l”表示以列表形式显示。

执行命令“ls  -al”,显示的文件(夹)数量与前面的命令相同,只是排列方式不一样,每一个文件(夹)显示的内容更加全面。这里“-al”是参数“-a”和“-l”的简写。

注意:命令与选项之间使用空格区分,几个空格无所谓,只要有使用空格区分即可。

*  创建目录命令mkdir

格式:mkdir  目录名称

使用命令“mkdir  –p”可以递归创建父目录,也就是说父目录不存在,会先创建父目录,再创建自身目录。在当前环境下,请读者分别执行“mkdir d1/d2/d3/d4”和“mkdir  d1/d2/d3/d4”。

*  删除目录命令rmdir

格式:rmdir  待删除的目录

紧接着上面的步骤,执行以下命令

可以看到test目录被删除了。

注意:命令rmdir只能删除目录,并且是空目录。如果目录中含有文件(夹),该命令执行会失败,应该使用rm命令了。

*  最强大的删除命令rm

格式:rm  待删除的目录或文件

rm不仅可以删除文件,也可以删除目录,即使目录不空。

使用命令“rm  -r”删除test,会出现各种提示,只要不断的输入“y”,按回车。最后成功删除了。可见命令rm可以递归删除目录。如果要避免繁琐的提示信息,使用命令“rm  -rf”,请读者自己测试。

注意:命令“rm  -rf”在递归删除的时候没有任何提示,所以一定要小心误删文件。

*  创建空白文件命令touch

格式:touch  文件名

该命令请读者自行测试,不再演示。

*  编辑文件vi

vi命令非常复杂,会占用太多篇幅,此处略过,请读者自行查询相关资料。

*  移动文件(夹)命令mv

格式:mv  源文件(夹)  目标路径

移动文件(夹)时,命令后面需要跟两个参数,第一个是源文件(夹)路径,第二个是目标路径。文件(夹)会从原路径移动到新的路径,原路径下不再存在了。

该命令与移动命令相同,如果第二个参数是目录,就是移动操作;如果第二个参数是文件,就是重命名操作。

*  复制文件(夹)命令cp

格式:cp  源文件(夹)  目标路径

复制文件(夹)时也跟两个参数,第一个是源,第二个表示目的地。

命令“cp  -r”可以递归复制,也就是把源文件夹里面的所有内容一起复制到目的地。如果目的地存在相同名称的文件(夹),会提示覆盖。

注意:当复制文件并且目的地文件不存在的时候,复制操作有创建文件的作用了。

*  查看文件内容命令cat

格式:cat  文件名

该命令请读者自行测试,不再演示。

*  查看文件内容命令more

格式:more  文件名

请读者自行测试该命令,不再演示。与cat的区别是,当文件内容很多,一屏幕显示不下时,cat会滚屏到文件最后,more显示一屏后停止,用户按空格键,继续滚到下一屏。简单点说,more是分屏显示内容。

 

*  命令的百科全书man

格式:man  命令名称

命令man是Linux的帮助系统,对于任何命令都可以在man中查到。用法是“man  某个命令”。如果显示帮助内容太多了,会分屏,如果你想退出,请按“q”键。

*  修改权限命令chmod

当我们执行命令“ls  -l”时,会看到以下输出

现在讲述每一行输出的前10位字符含义。

第一位字符表示文件类型,如果是“d”,表明是文件夹,如果是“-”,表示是普通文件。可以看到“file1”是文件,“test1”是文件夹。

后面的九位字符,表示文件(夹)的权限。把九位字符按照三个一组,划分为三个组。其中,第一组表示文件的用户,用u表示(可以理解为文件的所有人,英文是user)的权限,第二组表示文件的所有者所在组,用g表示(英文是group)的权限,第三组表示除此之外的其他人,用o表示(英文是other)的权限。

每一组都包括三位字符。其中,第一位字符表示读权限,用r表示(英文是read),第二位字符表示写权限,用w表示(英文是write),第三位字符表示执行权限,用x表示(英文是execute)。如果拥有该权限,对应位置的字符就使用该字符,如果没有改权限,就使用“-”表示。

命令格式是“chmod  [权限模式]        文件”,表示对某文件执行权限模式。

以下举例说明

解释一下:

命令“chmod  u+x  file1”表示对用户增加执行权限;

命令“chmod  o+wx  file1”表示:对其他人增加写、执行权限;

命令“chmod  a-r  file1”表示:对所有人去掉读权限。

另外,每组的三位权限符号也可以使用数字表示,“r、w、x”对应的数字分别是“4、2、1”。如果一个用户对应的权限位是“rw-”,用数字表示就是6(即6=4+2),看以下示例:

使用数字表达权限更加简洁,以后我们经常会说某个文件有755、644权限,读者应该明白用户、组、其他人分别是什么权限。

1.1.4.           网络相关

*  主机名命令hostname

格式:hostname

该命令可以查看主机名。

如果使用命令“hostname  新主机名”,意味着修改主机名,但只对本次会话有效,重启机器后失效。

*  查看ip命令ifconfig

格式:ifconfig

可以查看所有网卡的配置信息。命令“ifconfig  eth0”只查看指定网卡的配置信息;

l  服务管理命令service

命令“service”用户管理Linux的各种服务,操作包括四种类型start、stop、restart、status。前三种含义非常清晰,第四种表示查看服务当前运行状态。

如命令“service  network  restart”表示重启网卡设置。

1.1.5.           系统相关

*  修改密码passwd

格式:passwd  用户名

该命令的作用是修改密码。

l  别名命令alias

格式:alias  别名=“新的命令定义”

该命令的作用是给一个长命令起一个短名字,方便记忆和使用。例如:

*  解压缩命令tar

命令tar可以压缩也可以解压缩。我们关注解压缩。

我们常见的压缩格式是“*.tar”,指的是使用tar工具打包。更常见的是“*.tar.gz”,指的是使用tar工具打包并且压缩成“gz”格式。

常见的操作命令是“tar  -xzvf  [文件.tar.gz]”。现在解释一下这几个参数:

参数x表示解压操作;

参数z表示使用gzip解压文件;

参数v表示解压过程中显示文件详情;

参数f表示指定文件名,空格之后是一个文件名;

*  查看文件大小命令du

格式:du  文件(夹)

该命令是查看文件大小。常用方式“du  -hs  [文件(夹)]”

*  查看磁盘容量命令df

格式:df

查看磁盘容量,常用命令“df  -h”

*  查看进程命令ps

格式:ps

查看进程使用命令“ps”,加上参数“-ef”,查看当前活动的进程。

在显示内容中,我们关系PID和CMD两项,前者表示进程号,后者表示进程名称。

*  结束进程命令kill

格式:kill  进程号

kill命令用来结束进程,我们一般都是强制结束某个进程,命令格式“kill  -9  进程号”。这里的进程号,就是命令ps看到的PID。

读者可以结束CMD是“bash”的进程,试试结果如何。

*  管道

管道用符号“|”,左右两边都是命令。表示左边命令的输出作为右边命令的输入。如下命令:

解释一下:

命令“cat  /etc/sysconfig/network”表示查看文件内容;

命令“wc  -l”表示统计文件行数;

这两个命令使用管道连接到一起,表示命令“cat”的输出作为命令“wc”的输入,显示2行。

*  重定向

shell的命令默认输入信息是来自于命令行的,默认输出信息也是到命令行的。如果输入不是来自命令行、输出不是到命令行,那就需要重定向。

重定向使用“>>”或者“>”表示。前者表示追加,后者表示覆盖。

使用命令“cat  file1 >> file2”可以把file1的文件内容追加到file2的内容后面。注意命令中“>>”的使用,如果改为“>”,则是覆盖操作,并且没有任何提示。

注意:Linux的命令,还有很多,上面的命令只是最常用命令中的一部分。即使上面讲到的命令的用法,也是很少一部分,这些命令和功能是学习本书必备的,更多命令和功能请问百度或者使用强大命令“man”。