Linux目录结构及文件基本操作,Spark学习笔记

目录操作

'cd /home/hadoop' 把/home/hadoop设置为当前目录
'cd ..'
重回上一级目录
'cd ~' 进去到近些日子Linux系统登入客户的主目录(或主文件夹)。在 Linux 系统中,~代表的是顾客的主文件夹,即“/home/客户名”这么些目录,假设当前登陆客户名为hadoop,则~就象征“/home/hadoop/”那一个目录
'mkdir input'
在当前目录下开创input子目录
'mkdir -p src/main/scala' 在当前目录下,创制多级子目录src/main/scala
'mv spark-2.1.0 spark'
把spark-2.1.0目录重新命名称叫spark

1.FHS标准

FHS(土耳其语:Filesystem Hierarchy Standard 中文:文件系统档案的次序结构标准),相当多 Linux 版本选取这种文件社团形式,FHS 定义了系统中每个区域的用处、所急需的纤维构成的公文和目录同时还提交了分裂处理与冲突管理。

FHS 定义了两层规范,第一层是, / 上面包车型大巴顺序目录应该要放什么文件数量,譬喻 /etc 应该放置设置文件,/bin 与 /sbin 则应该放置可实践文件等等。
第二层则是本着 /usr 及 /var 那三个目录的子目录来定义。举个例子 /var/log 放置系统登录文件,/usr/share 放置共享数据等等。

图片 1

logoblackfont.png

Linux常用命令总计——文件管理

先是解压scala,这次采纳版本scala-2.11.1

查看

ls #翻开当前目录中的文件
'ls -l ' 查阅文件和目录的权力音讯
'cat /proc/version'
查看Linux系统内核版本消息
'cat /home/hadoop/word.txt ' 把/home/hadoop/word.txt那个文件全体内容显示到显示屏上
'cat file1 file2 > file3'
把当前目录下的file1和file2七个公文举行联合生成文书file3
'head -5 word.txt' *把当前目录下的word.txt文件中的前5行内容展示到显示屏上

2.索引路线

 

[Hadoop@CentOS software]$ tar -xzvf scala-2.11.1.tgz

复制、删除

'cp /home/hadoop/word.txt /usr/local/ ' 把/home/hadoop/word.txt文件复制到“/usr/local”目录下
'rm ./word.txt'
删除当前目录下的word.txt文件
'rm –r ./test ' 去除当前目录下的test目录及其上面包车型大巴有所文件
'rm –r test
' *删除当面目录下全体以test开头的目录和文书

2.1切换目录命令

cd ..     //步入上一级
cd ~     //进入home目录
pwd     //获取当前路径

Linux中的目录

[hadoop@centos software]$ su -

解压

'tar -zxf ~/下载/spark-2.1.0.tgz -C /usr/local/' *把spark-2.1.0.tgz那么些压缩文件解压到/usr/local目录下

2.2相对路线

以根" / "目录为源点的完整路线,以你所要到的目录为终点。如:/usr/local/bin,表示根目录下的 usr 目录中的local 目录中的 bin目录。

路径:也正是linux中的目录(文件夹)有绝对路线和相对路线

[root@centos ~]# vi /etc/profile

授权

'chown -R hadoop:hadoop ./spark ' hadoop是时下登陆Linux系统的客户名,把当前目录下的spark子目录的具有权限,赋予给顾客hadoop
'ifconfig'
查看本机IP地址消息
'exit ' *剥离并关闭Linux终端

2.3相对路线

相持于您眼下的目录的门路,相对路线是以当前目录。如:usr/local/bin(这里假令你当前目录为根目录)。

上面大家以你的 home目录为起源,分别以相对路线和相对路线的点子步入/usr/local/bin 目录:

相对路径
$ cd /usr/local/bin
相对路线
$ cd ../../usr/local/bin

根目录:/

增进如下内容

3.Linux 文本的基本操作

客户主目录(home directory):位于/home目录下,客户登入时

SCALA_HOME=/home/hadoop/software/scala-2.11.1

3.1新建空白文件

$ cd ~
$ touch test

办事目录(working directory):当前目录

PATH=$SCALA_HOME/bin

3.2新建目录

$ mkdir mydir

成立多级目录 -p

$ mkdir -p father/son/grandson

当前目录查看命令:pwd (print working directory)

EXPORT SCALA_HOME

3.3复制文件

$ cp test father/son/grandson   //将从前创制的“ test ”文件复制到“/home/shiyanlou/father/son/grandson ”目录中

当前目录:./

[root@centos ~]# source /etc/profile

3.4复制目录

复制目录需求增多 -r 可能 -ENVISION 参数,表示递归复制

$ cp -r father family

当前目录的上一级目录:../或..

[root@centos ~]# scala -version

3.5刨除文件

$ rm test  //删除文件
$ rm -f test  //强制删除文件

重临到上一级目录:cd ..

Scala code runner version 2.11.1 -- Copyright 2002-2013, LAMP/EPFL

3.6去除目录

$ rm -r family

步向当前目录下的dirfile目录:cd dirfile

下一场解压spark,本次接纳版本spark-1.0.0-bin-hadoop1.tgz,此番用的是hadoop 1.0.4

3.7运动文件(剪切)与重命名

将文件“ file1 ”移动到 Documents 目录:

mv file1 Documents

cd ~ :步入顾客主目录(账号所在目录)  恐怕直接cd回车

[hadoop@centos software]$ tar -xzvf spark-1.0.0-bin-hadoop1.tgz

3.8重命名文件

将文件“ file1 ”重命名称为“ myfile ”

$ mv file1 myfile

cd - :(回到在此在此以前的目录)

--------------------------------------分割线

CentOS 6.2(陆拾位)下安装斯Parker0.8.0详细记录 http://www.linuxidc.com/Linux/2014-06/102583.htm

斯Parker简要介绍及其在Ubuntu下的装置使用 http://www.linuxidc.com/Linux/2013-08/88606.htm

安装Spark集群(在CentOS上) http://www.linuxidc.com/Linux/2013-08/88599.htm

Hadoop vs 斯Parker品质相比较 http://www.linuxidc.com/Linux/2013-08/88597.htm

斯帕克安装与上学 http://www.linuxidc.com/Linux/2013-08/88596.htm

斯Parker 并行总计模型 http://www.linuxidc.com/Linux/2012-12/76490.htm

3.9批量操作文件

#利用通配符批量成立 5 个公文:

$ touch file{1..5}.txt

#批量将那多少个后缀为.txt的文本文件重命名字为以。c为后缀的文本:

$ rename 's/.txt/.c/'  *.txt

#批量将那5个公文的文书名改为大写:

$ rename 'y/a-z/A-Z/' *.c

创制、删除查看和显示目录

--------------------------------------分割线

进入到spark的conf目录下

[hadoop@centos conf]$ cp spark-env.sh.template spark-env.sh

[hadoop@centos conf]$ vi spark-env.sh

加上如下内容

export SCALA_HOME=/home/hadoop/software/scala-2.11.1

export SPARK_MASTER_IP=centos.host1

export SPARK_WORKER_MEMORY=5G

export JAVA_HOME=/usr/software/jdk

启动

[hadoop@centos spark-1.0.0-bin-hadoop1]$ sbin/start-master.sh

可以通过 看见对应分界面

[hadoop@centos spark-1.0.0-bin-hadoop1]$ sbin/start-slaves.sh park://centos.host1:7077

能够由此 看见对应分界面

下边在spark上运营第多个例证:与Hadoop交互的WordCount

第一将word.txt文件上盛传HDFS上,这里路线是 hdfs://centos.host1:八千/user/hadoop/data/wordcount/001/word.txt

进去相互情势

[hadoop@centos spark-1.0.0-bin-hadoop1]$ master=spark://centos.host1:7077 ./bin/spark-shell

scala>val file=sc.textFile("hdfs://centos.host1:9000/user/hadoop/data/wordcount/001/word.txt")

scala>val count=file.flatMap(line=>line.split(" ")).map(word=>(word,1)).reduceByKey(_ _)

scala>count.collect()

能够观察调整台有如下结果:

res0: Array[(String, Int)] = Array((hive,2), (zookeeper,1), (pig,1), (spark,1), (hadoop,4), (hbase,2))

同时也能够将结果保存到HDFS上

scala>count.saveAsTextFile("hdfs://centos.host1:9000/user/hadoop/data/wordcount/001/result.txt")

接下去再来看下怎样运营Java版本的WordCount

此地须求使用一个jar文件:spark-assembly-1.0.0-hadoop1.0.4.jar

WordCount代码如下

public class WordCount {
 
 private static final Pattern SPACE = Pattern.compile(" ");

 @SuppressWarnings("serial")
 public static void main(String[] args) throws Exception {
  if (args.length < 1) {
   System.err.println("Usage: JavaWordCount <file>");
   System.exit(1);
  }

  SparkConf sparkConf = new SparkConf().setAppName("JavaWordCount");
  JavaSparkContext ctx = new JavaSparkContext(sparkConf);
  JavaRDD<String> lines = ctx.textFile(args[0], 1);

  JavaRDD<String> words = lines.flatMap(new FlatMapFunction<String, String>() {
     @Override
     public Iterable<String> call(String s) {
      return Arrays.asList(SPACE.split(s));
     }
    });

  JavaPairRDD<String, Integer> ones = words.mapToPair(new PairFunction<String, String, Integer>() {
     @Override
     public Tuple2<String, Integer> call(String s) {
      return new Tuple2<String, Integer>(s, 1);
     }
    });

  JavaPairRDD<String, Integer> counts = ones.reduceByKey(new Function2<Integer, Integer, Integer>() {
     @Override
     public Integer call(Integer i1, Integer i2) {
      return i1 i2;
     }
    });

  List<Tuple2<String, Integer>> output = counts.collect();
  for (Tuple2<?, ?> tuple : output) {
   System.out.println(tuple._1() " : " tuple._2());
  }
 
  ctx.stop();
 }
}

越来越多详细的情况见请继续阅读下一页的精粹内容: http://www.linuxidc.com/Linux/2014-06/103210p2.htm

图片 2

3.10 查看文件

1.创立目录

3.10.1 使用 cat,tac 命令查看文件

$ cat file    //查看文件
$cat -n file    //查看文件(突显行号)

格式:mkdir [选项]  目录

3.10.2 使用moreless命令查看分页文件

$ more file    //Enter:向下滚动一行 Space:向下滚动一屏

效果与利益:创造目录

3.10.3 使用headtail翻开文件

$ head  /etc/passwd    //展现passwd文件前十行
$ tail  /etc/passwd    //呈现passwd文件后十行
$ head -n 1 /etc/passwd    //呈现passwd文件前一行

常用选项表达:

3.10 查看文件类型

$ file /bin/ls

 -m  创制目录的还要设置访谈权限

-p  一次性创造多级目录

【例】:在rootfile文件夹下创制test文件夹,并在test文件夹下创立file文件夹。

[cpp] 

[[email protected] rootfile]# mkdir -p test/file  

[[email protected] rootfile]# ls  

test  

[[email protected] rootfile]# cd test  

[[email protected] test]# ls  

file  

[[email protected] test]#  

 

【例】:在rootfile文件夹下创制test2文件夹,并设置test2的权位为766

[cpp] 

[[email protected] rootfile]# mkdir -m 766 test2  

[[email protected] rootfile]# ls  

test  test2  

[[email protected] rootfile]# ls -l  

total 16  

drwxr-xr-x 3 root root 4096 Jul 21 21:27 test  

drwxrw-rw- 2 root root 4096 Jul 21 21:30 test2  

 

讲解:rwxrw-rw-分别对应二种分化顾客的权柄,分别有三们二进制表示,766对应111 110 110

2.剔除目录

格式:rmdir  [选项]  目录

功效:删除目录

常用选项表达:

-p  递归删除目录,当子目录删除后其父目录为空时,也同步删除

【例】:删除test下的file目录(文件夹),同期test也一并删除

[cpp] 

[[email protected] rootfile]# ls  

test  test2  

[[email protected] rootfile]# rmdir -p test/file  

[[email protected] rootfile]# ls  

test2  

 

3.查看当前目录

格式:pwd

功用:pwd (print working directory),查看当前目录.

常用选项表达:

【例】:查看当前目录

[cpp] 

[[email protected] rootfile]# pwd  

/home/rootfile  

 

5.彰显目录内容

格式:ls  [选项]  [文件目录]

功用:呈现钦定目录中的文件和了目录音信,当不钦定目录时,显示当前目录下的文书和子目录音信

常用选项表明:

-a  展现全体文件和子目录,包蕴隐形文件和主目录

-l  呈现文件和子目录的详细新闻,满含文件类型、权限、全数者和所属群组、文件大小、最后修改时间、文件名

-d  即使参数是目录,则只展现目录新闻,而不显得个中所蕴藏的文件音信

-t  定期间各样突显

-LX570 不唯有呈现钦点目录下的文本和子目录音信,并且还递归地突显子目录下的公文和子目录消息

制造和查阅文件

创建文件

格式:touch filename

职能:创设文件

常用选项表达:

【例】:在rootfile下创办理文件件file.txt和test2/file2.txt

[cpp] 

[[email protected] rootfile]# touch file.txt  

[[email protected] rootfile]# touch test2/file2.txt  

[[email protected] rootfile]# ls  

file.txt  test2  

[[email protected] rootfile]# cd tes*  

[[email protected] test2]# ls  

file2.txt  

 

cat命令

格式:cat  [选项]  filename

意义:依次读取filename中的内容

常用选项表明:

【例】:读取rootfile下Test.java和file中的文件内容

[cpp] 

[[email protected] rootfile]# ls  

file.txt  test2  Test.class  Test.java  

[[email protected] rootfile]# vi test2  

[[email protected] rootfile]# vi file*  

[[email protected] rootfile]# cat Test.java  

public class Test {  

        public static void main(String args[]) {  

                System.out.println("Hello Linux!");  

        }  

}  

[[email protected] rootfile]# cat Test.java file.txt  

public class Test {  

        public static void main(String args[]) {  

                System.out.println("Hello Linux!");  

        }  

}  

this is a file test.  

 

【例】:把Test.java和file.txt文件合併到combine.txt文件中

[cpp] 

[[email protected] rootfile]# cat Test.java file.txt > combine.txt  

[[email protected] rootfile]# cat comb*  

public class Test {  

        public static void main(String args[]) {  

                System.out.println("Hello Linux!");  

        }  

}  

this is a file test.  

 

more命令

格式:more  [选项]  filename

功能:依次读取filename中的内容,该命令与cat的两样是足以逐屏往下翻页展现,按q退出。

常用选项表达:

-p  展现下一屏以前先清屏

-s  文件中总是的空白行压缩成叁个空白行展现

【例】:显示file.txt的内容

[cpp] 

[[email protected] rootfile]# more file.txt  

this is a file test.  

 

 

【例】:显示Test.java和file.txt的内容

[cpp] 

[[email protected] rootfile]# more Test.java file.txt  

::::::::::::::  

Test.java  

::::::::::::::  

public class Test {  

        public static void main(String args[]) {  

                System.out.println("Hello Linux!");  

        }  

}  

::::::::::::::  

file.txt  

::::::::::::::  

this is a file test.  

 

 

less命令

格式:less  [选项]  filename

效能:依次读取filename中的内容,该命令与more的例外是不单能够向下翻页,还足以发展翻页,使用上下键、Enter、空格、pageDown、pageUp能够完毕内外翻页,按q退出。

常用选项表明:

【例】:显示Test.java的内容

[cpp] 

[[email protected] rootfile]# less Test.java  

public class Test {  

        public static void main(String args[]) {  

                System.out.println("Hello Linux!");  

        }  

}  

 

head命令

格式:head  [选项]  filename

功效:展现文件的头几行

常用选项表明:

-n  显示文件的前n行,若无n值,默认为10行

【例】:显示Test.java的前3行

[cpp] 

[[email protected] rootfile]# head -3 Test.java  

public class Test {  

        public static void main(String args[]) {  

                System.out.println("Hello Linux!");  

 

tail命令

格式:tail  [选项]  filename

效果与利益:展现文件的终极几行

常用选项表明:

n  从第n行开首显得

-n  显示文件的最终n行,若无n值,默以为尾声10行

【例】:显示Test.java的最后3行

[cpp] 

[[email protected] rootfile]# tail -3 Test.java  

                System.out.println("Hello Linux!");  

        }  

}  

 

文本查找

格式:find  [选项]  filename

意义:从钦命的目录最早,递归地找寻其子目录,查找知足条件的公文并对之选取相关的操作

常用选项表达:

-name ‘字串’  要寻觅的文件名,能够用通配符*、?、[]

-group ‘字串’  文件所属的顾客组名

-user  文件所属的顾客名

find命令提供的查询条件能够是三个用逻辑符and、or、not组成的复合条件

-a  逻辑与

-o  逻辑或

-!  逻辑非

【例】:查找当前目录下文件名含有Test的文书

[[email protected] rootfile]# find -name 'Test*'

./Test.class

./Test.java

【例】:在根目录下查找文件名字为’temp’或是匹配’install*’的具有文件

[java] 

[[email protected] rootfile]# find / -name 'temp' -o -name 'instal*'  

/etc/rhgb/temp  

/etc/yum/pluginconf.d/installonlyn.conf  

/etc/vmware-tools/installer.sh  

/software/tomcat5/webapps/docs/appdev/installation.html  

/software/tomcat5/temp  

/sbin/install-info  

/sbin/installkernel  

/usr/share/aclocal-1.9/install-sh.m4  

/usr/share/icons/Bluecurve/96x96/mimetypes/install.png  

/usr/share/icons/Bluecurve/24x24/mimetypes/install.png  

/usr/share/icons/Bluecurve/16x16/mimetypes/install.png  

/usr/share/icons/Bluecurve/48x48/mimetypes/install.png  

/usr/share/aclocal-1.7/install-sh.m4  

/usr/share/doc/cyrus-sasl-lib-2.1.22/install.html  

/usr/share/doc/sgml-common-0.6.3/html/install-catalog.html  

/usr/share/doc/m2crypto-0.16/demo/Zope27/install_dir  

/usr/share/doc/m2crypto-0.16/demo/ZopeX3/install_dir  

/usr/share/doc/libstdc -devel-4.1.1/html/install.html  

……  

 

【例】:在rootfile下搜索不含Test*的文件

[java] 

[[email protected] rootfile]# find ! -name 'Test*'  

.  

./.Test2.swp  

./1q  

./.Test.java.swp  

./test2  

./test2/file2.txt  

./combine.txt  

./file.txt  

 

文字总括命令

格式:wc  [选项]  filename

功能:总结文件的字节数、字数、行数

常用选项表达:

-c  计算字节数

-l  计算行数

-w  总结字数

【例】:计算Test.java的字节数、行数、字数

[java] 

[[email protected] rootfile]# wc Test.java  

  5  14 105 Test.java  

[[email protected] rootfile]# wc -wcl Test.java  

  5  14 105 Test.java  

 

复制、移动和删除文件或文件夹

cp 命令

格式:cp  [选项]  源目录或文件  指标目录或文件

成效:将交由的文书或目录复制到另三个文件或目录中

常用选项表达:

-b  若存在同名文件,则覆盖前备份原本的公文

-f  强制覆盖同名文件

-r或RAV4  按递归格局,保留原目录结构复制文件

【例】:复制file.txt文件到file2,若file2已经存在,则备份file2.

[java] 

[[email protected] rootfile]# ls  

1q  combine.txt  file.txt  test2  Test.class  Test.java  

[[email protected] rootfile]# cp -b file.txt file2  

[[email protected] rootfile]# ls  

1q  combine.txt  file2  file.txt  test2  Test.class  Test.java  

[[email protected] rootfile]# cp -b file.txt file2  

cp: overwrite `file2'? n  

[[email protected] rootfile]# ls  

1q  combine.txt  file2  file.txt  test2  Test.class  Test.java  

[[email protected] rootfile]# cp -b file.txt file2  

cp: overwrite `file2'? y  

[[email protected] rootfile]# ls  

1q  combine.txt  file2  file2~  file.txt  test2  Test.class  Test.java  

 

【例】:把test2文件复制到test3文件夹

[java] 

[[email protected] rootfile]# ls  

1q  combine.txt  file2  file2~  file.txt  test2  Test.class  Test.java  

[[email protected] rootfile]#  

[[email protected] rootfile]# cp -r test2 test3  

[[email protected] rootfile]# ls  

1q  combine.txt  file2  file2~  file.txt  test2  test3  Test.class  Test.java  

 

mv命令

格式:mv  [选项]  源目录或文件  指标目录或文件

效果与利益:移动或重命名文件或目录

常用选项表明:

-b  若存在同名文件,则覆盖前备份原本的文件

-f  强制覆盖同名文件

【例】:将/home/rootfile下的Test.java移动到/home/rootfile /test2下

[java] 

[[email protected] rootfile]# mv Test.java test2/Test  

[[email protected] rootfile]# ls -R  

.:  

1q  combine.txt  file2  file2~  file.txt  test2  test3  Test.class  

./test2:  

file2.txt  Test  

./test3:  

file2.txt  

 

rm 命令

格式:rm  [选项]  文件夹或目录

意义:删除文件夹或目录

常用选项表达:

-f  强制删除文件,不出现确认提醒

-r或CRUISER  按递归格局删除目录,暗许只删除文件

【例】:删除当前目录下的test3文件夹

[java] 

[[email protected] rootfile]# ls  

1q  combine.txt  file2  file2~  file.txt  test2  test3  Test.class  

[[email protected] rootfile]# ls test3  

file2.txt  

[[email protected] rootfile]# rm -r test3  

rm: descend into directory `test3'? y  

rm: remove regular empty file `test3/file2.txt'? y  

rm: remove directory `test3'? y  

[[email protected] rootfile]# ls  

1q  combine.txt  file2  file2~  file.txt  test2  Test.class  

 

【例】: 强制删除当前目录下的test2文件夹

[java] 

[[email protected] rootfile]# ls  

1q  combine.txt  file2  file2~  file.txt  test2  Test.class  

[[email protected] rootfile]# rm -rf test2  

[[email protected] rootfile]# ls  

1q  combine.txt  file2  file2~  file.txt  Test.class  

 

Linux中的目录 路线:约等于linux中的目录(文件夹)有绝对路线和相对路线 根目录:/ 顾客主目录(home directory):位...

本文由星彩网app下载发布于星彩网app下载,转载请注明出处:Linux目录结构及文件基本操作,Spark学习笔记

TAG标签: 星彩网app下载
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。