大数据开发之linux平台基础2

作业:
========================================
/boot 启动Linux的核心文件
/proc 系统内存的映射 process
/run 系统运行时临时数据
/mnt 挂载目录
/usr 存放用户的应用程序和文件
以上目录含义


在centos用户下创建用户centos2, sudo useradd centos2
在centos2家目录创建文件1.txt和文件夹aaa, sudo touch /home/centos2/1.txt
sudo mkdir /home/centos2/aaa
修改文件和文件夹拥有者为centos用户和centos组
sudo chown centos:centos /home/centos2/1.txt /home/centos2/aaa


使用yum命令在centos端安装mysql,可以查阅资料(百度)


将静态ip配置成功


help xxx
xxx --help

ll

touch 1.txt
rm 1.txt
echo helloworld > 1.txt
cat 1.txt

mkdir -p aaa/bbb
rm -r aaa
ll


-rwxrwxrwx

u g o

chmod 777 1.txt
chmod ugo+rwx 1.txt


root //超级用户 ~ == /root
centos //普通用户 ~ == /home/centos

chown
chgrp


使用yum命令在centos端安装mysql,可以查阅资料(百度)
==============================================================
1、由于centos自带的下载仓库中没有mysql的下载地址,所以需要通过安装yum仓库方式将下载地址获取到
sudo rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

2、直接网络安装mysql即可
sudo yum -y install mysql-server


mysql本地安装
=========================================
1、安装winscp

2、使用winscp将mysql文件夹发送到Centos上

3、进入mysql文件夹
cd mysql

4、本地安装
sudo yum -y localinstall *.rpm

启动mysql服务
==========================================
systemctl start mysqld

将mysql设置成开机启动
systemctl enable mysqld

网络服务要求:
=============================
1、ip地址
2、子网掩码
NETMASK=255.255.255.0
PREFIX=24
3、网关
4、DNS

ping www.baidu.com ==DNS==> ip地址

如果在配置完静态ip之后,出现ping www.baidu.com不通的情况,需要手动修改名字服务

修改方式:如下
[centos@s100 ~]$ sudo nano /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.79.2


VMware网络连接形式:
================================

NAT:
VMnet8网卡

Network Address Translation,网络地址转换

是在Windows中创建虚拟网卡,起到交换机作用,为所有客户机分配ip访问互联网

优点:没有网络情况下,客户机之间可以互相通信
缺点:其他人的宿主机不能访问此客户机

仅主机:
VMnet1网卡

是NAT模式阉割掉了连接互联网功能

桥接模式:
相当于在局域网内新添了一个宿主机,和宿主机使用同一块物理网卡



归档和压缩:
=================================

jar:java archive
tar: tape archive

归档:
将多个文件或文件夹合并成一个文件

tar
tar -cf archive.tar foo bar # Create archive.tar from files foo and bar.
tar -tvf archive.tar # List all files in archive.tar verbosely.
tar -xf archive.tar # Extract all files from archive.tar.



压缩:
将文件使用某种算法进行紧凑化处理()

gzip:和zip同源,即压缩算法一致,在Linux中广泛使用,所有Linux都自带gzip压缩

gzip cd2.tar
gunzip cd2.tar.gz


任务:
1、使用tar命令一步到位,将ccc、ddd、1.txt文件和文件夹归档并使用gzip压缩成1.tar.gz
tar -zvcf 1.tar.gz ccc、ddd、1.txt

2、将jdk.tar.gz文件一步到位,将其解压到当前路径
tar -zvxf jdk-8u131-linux-x64.tar.gz

变量:
==============================
变量赋值
name=tom
echo $name

环境变量
echo $PATH

临时修改变量
export name=tomas

临时修改环境变量
export PATH=$PATH:tom

永久修改环境变量
sudo nano /etc/profile

在末尾,添加
# java环境变量
export JAVA_HOME=/home/centos/jdk1.8.0_131
export PATH=$PATH:$JAVA_HOME/bin

符号链接:
==================================
1、在/下创建/soft
sudo mkdir /soft

2、修改/soft的用户
sudo chown centos:centos /soft

3、将jdk移动到/soft下
mv jdk1.8.0_131 /soft

4、链接
1)硬链接
ln jdk-8u131-linux-x64.tar.gz jdk

2)符号链接(软链接)
ln -s /soft/jdk1.8.0_131 /soft/jdk


5、修改环境变量
sudo nano /etc/profile

6、生效环境变量
source /etc/profile

7、java -version


硬链接:
================================
是名字空间指向真实数据(inode)的指针,只能对文件创建
删除源文件,链接仍能正常使用
删除最后一个指针(链接)文件则彻底删除


脚本:
===========================================
由脚本语言编写:
shell语言



编译型语言:c c++

高级语言 => 编译器 => 机器语言

解释型语言 shell python js

高级语言 => 解释器 => 机器语言


脚本文件编写:
1、头
#!/bin/bash
2、文件可执行
chmod a+x helloworld.sh


for循环:
========================================
for:将一切不可见字符作为分隔符,取出所有的单词并赋值给x

for x in `cat 1.txt` ; do echo $x; done



for((:
for循环

for (( i=0; i<10; i++ )); do echo $i; done


知识点:
==============================

echo $PATH √
echo ${PATH} √
echo '$PATH' x
echo "$PATH" √

反引号``: 强制命令解析 echo `pwd`

$((i*j)) //数学表达式

echo -n //不换行
echo -e //转义

if:
=========================================
整数变量表达式

if [ a -eq b ] //== equal
if [ a -ne b ] //!= not equal
if [ a -ge b ] //>= greater equal
if [ a -gt b ] //> greater than
if [ a -le b ] //<= less equal
if [ a -lt b ] //< less than

if [ $age -lt 20 ]; then echo young ; elif [ $age -le 40 ]; then echo middle ; else echo old; fi

//判断是否是文件
if [ -f 1.txt ] ; then echo "1.txt是文件" ; else echo "1.txt不是文件" ; fi


参数指定:
============================================
./for99.sh 9

$? //命令的返回值存储变量
$# //参数个数
$1 //第1个参数
$0 //当前脚本(命令)名称
$@ //取出所有参数


while循环:
==============================================
#!/bin/bash
i=0
while (( i<=9)) ; do
echo $i
i=$((i+1))
done

通过while循环打印99乘法表,要求动态传参


tput setaf
=============================================
变色

tput setaf 1 //红色

修改代码:
修改for99隔行变色
修改for99隔列变色
修改while99隔行变色
修改while99隔列变色


case
==============================================
case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac

#!/bin/bash
case $1 in
tom | tomas ) echo "这哥们是tom家的" ;;
赵洪洋 ) echo "这哥们是班长" ;;
* ) echo "这哥们不认识" ;;
esac

 

Linux高级命令(组合命令)
===============================================
[root@s100 /]# cd tnp ; rm -rf *
-bash: cd: tnp: No such file or directory
。。。
。。。
。。。
。。。
。。。
。。。
。。。
。。。
^c

cat 1.txt
head [-5] 1.txt //默认前10行。现在是前五行
tail [-5] 1.txt //默认后10行。现在是后五行
more 1.txt //分页显示,空格翻一页,回车翻一行

ls --help | more //管道符
//前一个命令的输出,作为后一个命令的输入

find //查找指定文件夹下的所有文件个文件夹(递归)
//find 当前目录
//find /home/centos/ccc 指定ccc目录

grep //抓取关键字
grep -r //递归在指定路径下搜索所有文件内容,取得匹配关键字
grep -rl //以上只输出文件名

grep -i //忽略大小写


find / | grep nano //在根目录下全盘搜索带有nano关键字的文件(绝对路径)





作业:
=======================================
1、通过参数指定一个目录,判断目录中的文件(夹),如果是文件,将文件名输出到~/1.txt中
否则,文件名输出到~/2.txt中

2、通过case.sh 传参(一个字符),判断是数字还是字母


3、通过第一个参数指定一个目录,递归判断目录中的文件中是否包含第二个参数,(忽略大小写)
如果含有关键字,将文件名输出到~/1.txt中



tar
gzip
环境变量
ln -s

tar -xzvf .tar.gz -C /soft

脚本:
#!/bin/bash
+x

for
while
if
case

组合命令


大数据
hadoop是什么?




转载于:https://www.cnblogs.com/luochunbigdata/p/11542397.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值