百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 优雅编程 > 正文

怎么安装大数据计算核心软件Hadoop?进行分布式计算和存储第一篇

sinye56 2024-09-19 02:24 3 浏览 0 评论

由于安装配置Hadoop牵涉的内容较多,我将Hadoop的安装配置拆成了3篇文章来讲述。

这是第一篇。



前期准备

由于大数据的安装和使用涉及的内容比较多,截止到这篇文章,我写的与大数据安装有关的文章已经超过10篇了,为了能把这个事情说清楚,不得不这么做。

在查看本文之前,一定要安装好CentOS Linux 8 并升级完内核和软件包,学会怎么使用SSH软件,学会怎么配置IP等操作,进行过集群规划和基础配置,安装并配置好时间同步chrony,安装并配置好Java开发工具包jdk,安装并配置好分布式环境的协调Zookeeper,安装并配置好文件分发软件Rsync,为了在测试时不去分心处理权限问题,还需要关闭SELinux并关闭防火墙Firewall(生产环境再打开)。

以上内容可以参考我发布过的以下文章:

1、知道Linux是怎么安装的吗?安装个CentOS Linux 8开始大数据开发

2、盘点两个经典Linux维护软件,详细讲讲SSH是个什么东西以及用法

3、Linux内核怎么升级?升级有什么好处?CentOS8升级内核并开启BBR

4、Linux怎么配置IP?CentOS8怎么重启网卡?配置/修改静态IP的方法

5、大数据开发前要做什么准备?8台Hadoop服务器进行集群规划前配置

6、如何保证大数据开发的服务器时间同步?chrony服务安装与配置

7、怎么在Linux上面安装jdk?大数据开发前必备软件在CentOS8上安装

8、大数据服务器之间是怎么配合的?分布式Zookeeper集群安装与配置

9、怎么把Linux 的文件快速传给10台服务器?文件分发软件的安装配置

10、Linux有防火墙和杀毒软件吗?怎么安装配置Firewall抵御网络攻击


集群规划

上面有篇文章进行了详细的集群规划的编写描述,这里简单叙述以下。

手里有一台Dell R620服务器,共有8块硬盘,通过VMware将虚拟机分布在这8块硬盘上,模拟8台服务器,模拟在一个机架上:

编号:/BJ0/LG0/hadoop221-228

221-222:NameNode,223-228:DataNode

集群规划如下:(服务器为hadoop221-hadoop228)

特别提示:

我们安装Hadoop的以下所有操作都可以先在一台服务器(Hadoop221)上操作,完毕以后再将这个虚拟服务器复制成出来7份,完成最终的部署。

也就是我们先完成Hadoop221的操作系统和软件的安装配置,然后复制出7份来。

下面正式开始。

相关软件的安装及配置

安装配置时间同步软件chrony

参考上述文章,并根据上面的集群规划,我们在221上安装chrony。配置时我们把服务端server配置成192.168.1.222,这样后面复制出来的其它服务器就能直接在222服务器上获取时间了。全部安装完毕,我们直接在hadoop222上面启动Chrony服务即可完成所有的时间配置。

防火墙和SELINUX设置

因为Hadoop需要开启的端口很多,而且牵涉到很多的权限,所以我们在测试时将防火墙和SELINUX都关掉。

在生产环境中,需要针对不同的开放端口做针对性的设置。

参考上述关于防火墙和SELINUX的文章,关闭防火墙且关闭SELinux,大致的内容摘取如下:

systemctl stop firewalld
systemctl disable firewalld
vi /etc/selinux/config

相关参数修改如下:

#SELINUX=enforcing

SELINUX=disabled

重启服务器,然后查看防火墙和SELinux状态:

reboot

查看SELinux的状态

/usr/sbin/sestatus -v

查看防火墙状态

systemctl status firewalld

显示如下内容,则说明SELINUX已经关闭了


hostname相关设置

参考上面的集群规划文章,进行hostname的配置,具体内容摘取如下:

运行下面的命令,修改本机的hostname:

hostnamectl set-hostname hadoop221

222-228服务器上的hostname修改,等服务器安装完毕以后统一操作(本文的底部有相关内容)

hosts相关设置

参考上面的集群规划文章,进行hosts的配置,具体内容摘取如下:

由于一次次的录入IP地址,不利于管理,我们在hosts里面把服务器的hostname跟IP地址对应起来,输入下面的命令开始操作:

vi /etc/hosts

内容设置成如下所示:

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.221 hadoop221
192.168.1.222 hadoop222
192.168.1.223 hadoop223
192.168.1.224 hadoop224
192.168.1.225 hadoop225
192.168.1.226 hadoop226
192.168.1.227 hadoop227
192.168.1.228 hadoop228
192.168.1.229 hadoop229
192.168.1.230 hadoop230


添加Hadoop用户

我们默认登录的是Tristone用户,需要切换到root用户。

su

录入下述命令来添加hadoop用户:

useradd hadoop

录入一遍"jiqun996"回车,再录入一遍"jiqun996"回车后将hadoop用户密码设置为"jiqun996"

passwd hadoop


安装并配置jdk

参考上述jdk的安装配置文章,具体内容摘取如下:

从Oracle上下载jdk,尽量不要使用其他版本的jdk,容易出现一些奇怪的问题,比如:没有jps命令,自己都不知道哪里出问题了。把下载的"jdk-8u231-linux-x64.tar.gz"传到服务器上。进入服务器保存这个文件的目录以后进行如下操作(下面的命令都是以root的权限操作的):

建立java的工作目录(文件夹)

mkdir /usr/java

解压JDK

tar -zxvf jdk-8u231-linux-x64.tar.gz

将JDK移动(剪切)到/usr/java/目录

mv jdk1.8.0_231/ /usr/java/

将JDK所有者设置为root

chown -R root:root /usr/java/jdk1.8.0_231/

设置JDK的软链接

ln -sf /usr/java/jdk1.8.0_231 /usr/local/jdk

修改全局环境变量:

vi /etc/profile

在文件底部添加以下内容:

export JAVA_HOME="/usr/local/jdk"

export PATH=$JAVA_HOME/bin:$PATH

加载新的全局环境变量:

source /etc/profile

运行jps命令,显示类似以下内容,就算安装jdk成功了

jps

安装并配置Zookeeper

参考上述Zookeeper的安装配置文章,具体内容摘取如下:

由于Zookeeper类似于民主选举,每台服务器分别投票共同选举一个作为leader,剩下的都是follower。基于这个原因,官方建议服务器集群设置为奇数台,偶数台的话会有一台的资源浪费。根据咱们的集群规划:226-228为我们的Zookeeper服务器。

因为Zookeeper需要一台一台的单独启动,所以咱们在hadoop221上配置好,到时候只在226-228上面启动即可。

下载Zookeeper(参考我写的相关文章)然后进行下列操作:

tar -zxvf apache-zookeeper-3.5.6-bin.tar.gz
mkdir /home/hadoop/server
mkdir -p /home/hadoop/data/zkdata
mkdir -p /home/hadoop/log/zklog
mv apache-zookeeper-3.5.6-bin/ /home/hadoop/server/
ln -sf /home/hadoop/server/apache-zookeeper-3.5.6-bin/ /home/hadoop/zookeeper
chown -R hadoop:hadoop /home/hadoop/*
vi /etc/profile

文件底部添加以下内容:

export ZOOKEEPER_HOME="/home/hadoop/zookeeper"

export PATH=$ZOOKEEPER_HOME/bin:$PATH

执行下述命令加载全局环境变量,然后切换到hadoop用户开始操作:

source /etc/profile
su hadoop
cd /home/hadoop/zookeeper/conf
cp zoo_sample.cfg zoo.cfg
vi /home/hadoop/zookeeper/conf/zoo.cfg

内容调整如下:

dataDir=/home/hadoop/data/zkdata
dataLogDir=/home/hadoop/log/zklog/
server.226=hadoop226:2888:3888
server.227=hadoop227:2888:3888
server.228=hadoop228:2888:3888

最后不要忘了在每个服务器"/home/hadoop/data/zkdata/"下新建文件"myid"并把当前服务器编号写进去,举例:

echo 221 > /home/hadoop/data/zkdata/myid

启动的事情,这里先不操作,后面到配置226-228的时候再启动。

注意:虽然我们在配置文件中写明了服务器的列表信息,但是,我们还是需要去每一台服务 器去启动,不是一键启动集群模式。


安装并配置Hadoop

先从国内的源服务器上找到hadoop的下载链接,并复制链接地址:

下载Hadoop

先用root权限操作:先用root权限操作:先用root权限操作:

重要的事情说三遍:

cd /home/hadoop/server
wget 粘贴刚才复制的URL地址

软件包有340多M,下载时别着急

tar -zxvf hadoop-3.2.1.tar.gz
ln -sf /home/hadoop/server/hadoop-3.2.1/ /home/hadoop/hadoop
chown -R hadoop:hadoop /home/hadoop/*

配置全局环境变量文件profile

vi /etc/profile

在文件尾部添加以下内容,用root用户操作

export HADOOP_HOME="/home/hadoop/hadoop"

export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

加载全局变量:

source /etc/profile
echo $HADOOP_HOME

下面以hadoop用户操作:下面以hadoop用户操作:下面以hadoop用户操作

重要的事情说三遍:

执行以下命令,建立相关的目录

su hadoop
rm -rf /home/hadoop/hadoop/share/doc #删除文档,很大,又没用
mkdir -p /home/hadoop/data/dfs/data
mkdir /home/hadoop/data/dfs/name
mkdir /home/hadoop/data/dfs/tmp
mkdir /home/hadoop/data/journaldata
cd /home/hadoop/hadoop/etc/hadoop
vi /home/hadoop/hadoop/etc/hadoop/hadoop-env.sh

添加一行内容:

export JAVA_HOME="/usr/local/jdk"

修改配置文件core-site.xml

清空原来全部内容

echo > /home/hadoop/hadoop/etc/hadoop/core-site.xml
vi /home/hadoop/hadoop/etc/hadoop/core-site.xml

内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>

<!-- 指定hdfs的nameservice为myha01 -->

<property>

<name>fs.defaultFS</name>

<value>hdfs://myha01/</value>

</property>

<!-- 指定hadoop临时目录 -->

<property>

<name>hadoop.tmp.dir</name>

<value>/home/hadoop/data/dfs/tmp</value>

</property>

<!-- 指定zookeeper地址 -->

<property>

<name>ha.zookeeper.quorum</name>

<value>hadoop226:2181,hadoop227:2181,hadoop228:2181</value>

</property>

<!-- hadoop链接zookeeper的超时时长设置 -->

<property>

<name>ha.zookeeper.session-timeout.ms</name>

<value>1000</value>

<description>ms</description>

</property>

<!-- 修改core-site.xml中的ipc参数,防止出现连接journalnode服务ConnectException -->

<property>

<name>ipc.client.connect.max.retries</name>

<value>100</value>

<description>Indicates the number of retries a client will make to establish a server connection.</description>

</property>

<property>

<name>ipc.client.connect.retry.interval</name>

<value>10000</value>

<description>Indicates the number of milliseconds a client will wait for before retrying to establish a server connection.</description>

</property>

<property>

<name>topology.script.file.name</name>

<value>10000</value>

<description>Indicates the number of milliseconds a client will wait for before retrying to establish a server connection.</description>

</property>

</configuration>

修改配置文件hdfs-site.xml

echo > /home/hadoop/hadoop/etc/hadoop/hdfs-site.xml #清空原来全部内容
vi /home/hadoop/hadoop/etc/hadoop/hdfs-site.xml

内容如下

<?xml version="1.0" encoding="UTF-8"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>

<!-- 指定副本数 -->

<property>

<name>dfs.replication</name>

<value>3</value>

</property>

<!-- 配置namenode和datanode的工作目录-数据存储目录 -->

<property>

<name>dfs.namenode.name.dir</name>

<value>/home/hadoop/data/dfs/name</value>

</property>

<property>

<name>dfs.datanode.data.dir</name>

<value>/home/hadoop/data/dfs/data</value>

</property>

<!-- 启用webhdfs -->

<property>

<name>dfs.webhdfs.enabled</name>

<value>true</value>

</property>

<!--指定hdfs的nameservice为myha01,需要和core-site.xml中的保持一致

dfs.ha.namenodes.[nameservice id]为在nameservice中的每一个NameNode设置唯一标示符。

配置一个逗号分隔的NameNode ID列表。这将是被DataNode识别为所有的NameNode。

例如,如果使用"myha01"作为nameservice ID,并且使用"nn1"和"nn2"作为NameNodes标示符

-->

<property>

<name>dfs.nameservices</name>

<value>myha01</value>

</property>

<!-- myha01下面有两个NameNode,分别是nn1,nn2 -->

<property>

<name>dfs.ha.namenodes.myha01</name>

<value>nn1,nn2</value>

</property>

<!-- nn1的RPC通信地址 -->

<property>

<name>dfs.namenode.rpc-address.myha01.nn1</name>

<value>hadoop221:9000</value>

</property>

<!-- nn1的web通信地址 -->

<property>

<name>dfs.namenode.http-address.myha01.nn1</name>

<value>hadoop221:50070</value>

</property>

<!-- nn2的RPC通信地址 -->

<property>

<name>dfs.namenode.rpc-address.myha01.nn2</name>

<value>hadoop222:9000</value>

</property>

<!-- nn2的web通信地址 -->

<property>

<name>dfs.namenode.http-address.myha01.nn2</name>

<value>hadoop222:50070</value>

</property>

<!-- 指定NameNode的edits元数据的共享存储位置。也就是JournalNode列表

该url的配置格式:qjournal : / / host1:port1;host2:port2;host3:port3/journalId

journalId推荐使用nameservice,默认端口号是:8485 -->

<property>

<name>dfs.namenode.shared.edits.dir</name>

<value>qjournal://hadoop223:8485;hadoop224:8485;hadoop225:8485/myha01</value>

</property>

<!-- 指定JournalNode在本地磁盘存放数据的位置 -->

<property>

<name>dfs.journalnode.edits.dir</name>

<value>/home/hadoop/data/journaldata</value>

</property>

<!-- 开启NameNode失败自动切换 -->

<property>

<name>dfs.ha.automatic-failover.enabled</name>

<value>true</value>

</property>

<!-- 配置失败自动切换实现方式 -->

<property>

<name>dfs.client.failover.proxy.provider.myha01</name>

<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>

</property>

<!-- 配置隔离机制方法,多个机制用换行分割,即每个机制暂用一行 -->

<property>

<name>dfs.ha.fencing.methods</name>

<value>sshfence

shell(/bin/true)</value>

</property>

<!-- 使用sshfence隔离机制时需要ssh免登陆 -->

<property>

<name>dfs.ha.fencing.ssh.private-key-files</name>

<value>/home/hadoop/.ssh/id_rsa</value>

</property>

<!-- 配置sshfence隔离机制超时时间 -->

<property>

<name>dfs.ha.fencing.ssh.connect-timeout</name>

<value>30000</value>

</property>

<property>

<name>ha.failover-controller.cli-check.rpc-timeout.ms</name>

<value>60000</value>

</property>

</configuration>

修改配置文件mapred-site.xml

echo > /home/hadoop/hadoop/etc/hadoop/mapred-site.xml #清空原来全部内容
vi /home/hadoop/hadoop/etc/hadoop/mapred-site.xml

全部内容如下:

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>

<!-- 指定mr框架为yarn方式 -->

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>


<!-- 指定mapreduce jobhistory地址 -->

<property>

<name>mapreduce.jobhistory.address</name>

<value>hadoop222:10020</value>

</property>


<!-- 任务历史服务器的web地址 -->

<property>

<name>mapreduce.jobhistory.webapp.address</name>

<value>hadoop222:19888</value>

</property>

<property>

<name>mapreduce.application.classpath</name>

<value>/home/hadoop/hadoop/etc/hadoop:/home/hadoop/hadoop/share/hadoop/common/lib/*:/home/hadoop/hadoop/share/hadoop/common/*:/home/hadoop/hadoop/share/hadoop/hdfs:/home/hadoop/hadoop/share/hadoop/hdfs/lib/*:/home/hadoop/hadoop/share/hadoop/hdfs/*:/home/hadoop/hadoop/share/hadoop/mapreduce/lib/*:/home/hadoop/hadoop/share/hadoop/mapreduce/*:/home/hadoop/hadoop/share/hadoop/yarn:/home/hadoop/hadoop/share/hadoop/yarn/lib/*:/home/hadoop/hadoop/share/hadoop/yarn/*</value>

</property>

</configuration>

修改配置文件yarn-site.xml

echo > /home/hadoop/hadoop/etc/hadoop/yarn-site.xml #清空原来全部内容
vi /home/hadoop/hadoop/etc/hadoop/yarn-site.xml

内容如下:

<?xml version="1.0"?>

<configuration>

<!-- 开启RM高可用 -->

<property>

<name>yarn.resourcemanager.ha.enabled</name>

<value>true</value>

</property>


<!-- 指定RM的cluster id -->

<property>

<name>yarn.resourcemanager.cluster-id</name>

<value>yrc</value>

</property>


<!-- 指定RM的名字 -->

<property>

<name>yarn.resourcemanager.ha.rm-ids</name>

<value>rm1,rm2</value>

</property>


<!-- 分别指定RM的地址 -->

<property>

<name>yarn.resourcemanager.hostname.rm1</name>

<value>hadoop226</value>

</property>


<property>

<name>yarn.resourcemanager.hostname.rm2</name>

<value>hadoop227</value>

</property>


<!-- 指定zk集群地址 -->

<property>

<name>yarn.resourcemanager.zk-address</name>

<value>hadoop226:2181,hadoop227:2181,hadoop228:2181</value>

</property>


<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>


<property>

<name>yarn.log-aggregation-enable</name>

<value>true</value>

</property>


<property>

<name>yarn.log-aggregation.retain-seconds</name>

<value>86400</value>

</property>


<!-- 启用自动恢复 -->

<property>

<name>yarn.resourcemanager.recovery.enabled</name>

<value>true</value>

</property>


<!-- 制定resourcemanager的状态信息存储在zookeeper集群上 -->

<property>

<name>yarn.resourcemanager.store.class</name>

<value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>

</property>

<property>

<name>yarn.application.classpath</name>

<value> /home/hadoop/hadoop/etc/hadoop:/home/hadoop/hadoop/share/hadoop/common/lib/*:/home/hadoop/hadoop/share/hadoop/common/*:/home/hadoop/hadoop/share/hadoop/hdfs:/home/hadoop/hadoop/share/hadoop/hdfs/lib/*:/home/hadoop/hadoop/share/hadoop/hdfs/*:/home/hadoop/hadoop/share/hadoop/mapreduce/lib/*:/home/hadoop/hadoop/share/hadoop/mapreduce/*:/home/hadoop/hadoop/share/hadoop/yarn:/home/hadoop/hadoop/share/hadoop/yarn/lib/*:/home/hadoop/hadoop/share/hadoop/yarn/*</value>

</property>

<property>

<!-- 客户端通过该地址向RM提交对应用程序操作 -->

<name>yarn.resourcemanager.address.rm1</name>

<value>hadoop226:8032</value>

</property>

<property>

<!--ResourceManager 对ApplicationMaster暴露的访问地址。ApplicationMaster通过该地址向RM申请资源、释放资源等。 -->

<name>yarn.resourcemanager.scheduler.address.rm1</name>

<value>hadoop226:8030</value>

</property>

<property>

<!-- RM WEB访问地址,查看集群信息-->

<name>yarn.resourcemanager.webapp.address.rm1</name>

<value>hadoop226:8088</value>

</property>

<property>

<!-- NodeManager通过该地址交换信息 -->

<name>yarn.resourcemanager.resource-tracker.address.rm1</name>

<value>hadoop226:8031</value>

</property>

<property>

<!--管理员通过该地址向RM发送管理命令 -->

<name>yarn.resourcemanager.admin.address.rm1</name>

<value>hadoop226:8033</value>

</property>

<property>

<name>yarn.resourcemanager.ha.admin.address.rm1</name>

<value>hadoop226:23142</value>

</property>

<property>

<name>yarn.resourcemanager.address.rm2</name>

<value>hadoop227:8032</value>

</property>

<property>

<name>yarn.resourcemanager.scheduler.address.rm2</name>

<value>hadoop227:8030</value>

</property>

<property>

<name>yarn.resourcemanager.webapp.address.rm2</name>

<value>hadoop227:8088</value>

</property>

<property>

<name>yarn.resourcemanager.resource-tracker.address.rm2</name>

<value>hadoop227:8031</value>

</property>

<property>

<name>yarn.resourcemanager.admin.address.rm2</name>

<value>hadoop227:8033</value>

</property>

<property>

<name>yarn.resourcemanager.ha.admin.address.rm2</name>

<value>hadoop227:23142</value>

</property>

</configuration>

修改配置文件workers

vi /home/hadoop/hadoop/etc/hadoop/workers

这个文件里面填写的是存储/计算节点(HDFS和YARN)的主机名称,内容如下:

hadoop223

hadoop224

hadoop225

hadoop226

hadoop227

hadoop228

至此Hadoop的基础安装配置部分全部完成。后面还有两篇,配置后操作以及第一次启动,日常如何启动,您可以持续关注后续文章。

相关推荐

Linux在线安装JDK1.8

首先在服务器pingwww.baidu.com查看是否可以连网然后就可以在线下载一、下载安装JDK1.81、在下载安装的同时做好一些准备工作...

Linux安装JDK,超详细

1、了解RPMRPM是Red-HatPackageManager(RPM软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux...

Linux安装jdk1.8(超级详细)

前言最近刚购买了一台阿里云的服务器准备要搭建一个网站,正好将网站的一个完整搭建过程分享给大家!#一、下载jdk1.8首先我们需要去下载linux版本的jdk1.8安装包,我们有两种方式去下载安装...

Linux系统安装JDK教程

下载jdk-8u151-linux-x64.tar.gz下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.ht...

干货|JDK下载安装与环境变量配置图文教程「超详细」

1.JDK介绍1.1什么是JDK?SUN公司提供了一套Java开发环境,简称JDK(JavaDevelopmentKit),它是整个Java的核心,其中包括Java编译器、Java运行工具、Jav...

Linux下安装jdk1.8

一、安装环境操作系统:CentOSLinuxrelease7.6.1810(Core)JDK版本:1.8二、安装步骤1.下载安装包...

Linux上安装JDK

以CentOS为例。检查是否已安装过jdk。yumlist--installed|grepjdk或者...

Linux系统的一些常用目录以及介绍

根目录(/):“/”目录也称为根目录,位于Linux文件系统目录结构的顶层。在很多系统中,“/”目录是系统中的唯一分区。如果还有其他分区,必须挂载到“/”目录下某个位置。整个目录结构呈树形结构,因此也...

Linux系统目录结构

一、系统目录结构几乎所有的计算机操作系统都是使用目录结构组织文件。具体来说就是在一个目录中存放子目录和文件,而在子目录中又会进一步存放子目录和文件,以此类推形成一个树状的文件结构,由于其结构很像一棵树...

Linux文件查找

在Linux下通常find不很常用的,因为速度慢(find是直接查找硬盘),通常我们都是先使用whereis或者是locate来检查,如果真的找不到了,才以find来搜寻。为什么...

嵌入式linux基本操作之查找文件

对于很多初学者来说都习惯用windows操作系统,对于这个系统来说查找一个文件简直不在话下。而学习嵌入式开发行业之后,发现所用到的是嵌入式Linux操作系统,本想着跟windows类似,结果在操作的时...

linux系统查看软件安装目录的方法

linux系统下怎么查看软件安装的目录?方法1:whereis软件名以查询nginx为例子...

Linux下如何对目录中的文件进行统计

统计目录中的文件数量...

Linux常见文件目录管理命令

touch用于创建空白文件touch文件名称mkdir用于创建空白目录还可以通过参数-p创建递归的目录...

Linux常用查找文件方法总结

一、前言Linux系统提供了多种查找文件的命令,而且每种查找命令都具有其独特的优势,下面详细总结一下常用的几个Linux查找命令。二、which命令查找类型:二进制文件;...

取消回复欢迎 发表评论: