作业:
========================================
/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是什么?