Linux笔记

pwd——————查看当前目录
cd——————切换目录ls——————查看当前目录下的目录及文件
ls-l或ll——————长格式查看当前文件
ls-a——————查看当前隐藏文件
ls-R——————查看当前目录以及旗下的子目录
ls-h——————显示文件大小单位stst——————显示文件或文件系统的详细信息
cat——————查看文件内容
cat-n——————查看文件并显示行号
cat-A——————相当于-vET选项的整合,用于列出所有隐藏符号
more或less——————查看内容较多的文件
head或tail——————查看文件的前十行或后十行mkdir——————创建空白目录
mkdir-p——————连续创建空白目录
touch——————创建空白文件rm——————删除空白文件
rm-r——————删除空白目录
rm-rf——————强制删除目录或文件cp——————复制文件
cp-r——————复制目录mv——————重命名或移动文件与目录ln——————创建硬链接
ln-s——————创建软链接passwd——————为用户加密码
/etc/passwd——————查看权限相关信息
/etc/shadow——————查看密码相关信息useradd——————创建用户
/home——————查看以创建用户
useradd-d——————创建用户并指定家目录
usermod——————修改用户信息
userdel-r——————删除用户groupadd——————添加用户组
/etc/group——————查看用户组
groupmod——————修改用户组
groupdel——————删除用户组useradd -G 某用户组参数 -g 某用户组参数 新用户
创建一个新用户并设置其私有组和附属组为某个用户组chmod——————修改权限
umask——————更改或查看预设值mount——————挂载光驱
/dev/cdrom——————光驱位置
/etc/yum.repos.d——————yum源文件
yum search——————查看指定安装包
yum list——————列出软件包
yum clean all——————清除所有仓库缓存
yum install——————安装软件包vi或vim——————文本编辑器
a-i-o——————进入编辑模式
Esc——————退出编辑模式
:——————进入命令模式
:set nu——————显示行号
:wq——————保存并提出文本编辑器
:wq!———————强制保存并退出文本编辑器
:q!——————不保存并强制退出文本编辑器
dd——————删除当前行并补位
D——————删除当前行但不补位
$——————移动当前行行尾
^——————移动当前行行首
G——————移动最后行行首
gg——————移动第一行行首
ngg——————移动到第n行
u——————恢复上一次执行过的操作grep或egrep——————正则表达式
grep-v——————取反
''——————正则表达式使用规范
.——————匹配单个任意字符
[]——————匹配[]里任意一个字符
[^]——————匹配[]里以外的字符
*——————匹配零个或多个前面的字符
.*——————匹配零个或多个前面的字符,空行也包含在内
\{n\}——————重复n次前面字符
\{n,\}——————至少重复n次前面字符
^——————行的开始
$——————行的结束
^$——————空行
\——————引用特殊字符
匹配ip:"^(([0-9]\.)|([1-9][0-9]\.)|([1[0-9][0-9]\.)|(2[0-4][0-9]\.)|(25[0-5]\.)){3}(([0-9]\.)|([1-9][0-9]\.)|([1[0-9][0-9]\.)|(2[0-4][0-9]\.)|(25[0-5]\.))$"chattr+i——————完全隐藏
chattr+a——————部分隐藏
lsattr——————查看隐藏权限
whoami——————查看当前用户settacl-Rm u:——————设置访问控制权限
exit——————退出
echo——————输出信息sed——————查找替换输出
sed-n——————输出处理的行
sed  ' 'p——————打印
sed-n  ' 'p——————输出处理的行并打印
sed-e——————参数实现多个行为
sed   ' 'd——————删除某行或者多行
sed   's///g '——————替换(分隔符亦可用@、#)
sed 's/^$/&/'——————增添awk '{print $0}'——————打印整行
awk '//'——————查找包含空的行
awk -F ':' '$==""'——————某段等于空Shell基础编程
1、/etc/shells————查看当前支持的Shell系统默认Bourne Again Shell(/bin/bash)
2、sh或./————执行脚本sh-x————查看脚本执行过程
3、位置参数变量$n————$1-$9代表第1到第9个参数$*————把所有参数看成一个整体,输出$@————把所有参数逐个输出$#————参数的总个数$?————最后一次执行命令的返回状态,成功为0,不成功非0
4、Shell与用户交互read————接收键盘输入read-p————接收键盘输入时并输出提示信息read-t————等待接收键盘输入时间read-n————限制接收键盘输入字符的个数read-s————隐藏接收键盘输入的字符
5、加法运算第一种类型:sum=$(($参数1+$参数2))第二种类型:sum=$[参数1 + 参数2]
6、echo-e可支持的控制字符“//”————输出/“/n”————换行“/a”————输出提示音(进入/etc/inputre把第一行注释可关闭提示音)“/t”————输出制表符,既空格“\e[1.数字m 字符 \e[0m”————把字符变色输出,颜色由数字决定
7、declare声明变量类型declare-i————整数型declare-x————环境变量declare-p————查看所有变量被声明的类型
8、变量的测试变量置换方式:x=${y-新值}变量y没有设置值:x=新值变量y为空值:x=空值变量y已经设置值:x=$y
9、Shell的特殊符号'   '————单引号里的特殊符号无特殊意义"   "————双引号里除了“$、`、、”以外,其他特殊符号无特殊意义#————#开头代表注释$()或``————引用系统命令后进行赋值$————调用变量值\————转义符,跟在\之后的特殊符号无特殊意义
10、bash多命令顺序执行符命令1 ; 命令2————逐个执行命令,无逻辑关系命令1 && 命令2————逻辑与,命令1执行时,命令2才会执行命令1 || 命令2————逻辑或,命令1不执行时,命令2才会执行命令1 && 命令2 || 命令3————命令1执行时,命令2才会执行,但命令3不执行(命令1不执行时,命令2也不执行,但命令3执行)
11、条件判断:使用test+选项+文件,或者[选项+文件]来执行-e————判断该文件是否存在-f————判断该文件是否存在,且为普通文件-d————判断该文件是否存在,且为普通目录-s————判断该文件是否存在,且文件内有内容-L————判断该文件是否存在,且为软连接-r————判断该文件是否存在,且拥有读权限-w————判断该文件是否存在,且拥有写权限-x————判断该文件是否存在,且拥有执行权限-u————判断该文件是否存在,且拥有SUID权限-g————判断该文件是否存在,且拥有SGID权限-k————判断该文件是否存在,且拥有是SBit权限-z————判断字符串是否为空-n————判断字符串是否非空!————在[]内,代表逻辑字符“非”-a————在[]内,代表逻辑字符“与”-o————在[]内,代表逻辑字符“或”
12、[]内的,比较字符f1 -nt f2————f1比f2修改时间新f1 -ot f2————f1比f2修改时间旧f1 -rt f2————f1与f2是否是同一个文件整数1 -eq 整数2————相等整数1 -ne 整数2————不相等整数1 -gt 整数2————判断1大于2整数1 -lt 整数2————判断1小于2整数1 -ge 整数2————判断1是否大于等于2整数1 -le 整数2————判断1是否小于等于2字符串1 == 字符串2或(字符串1 = 字符串2)————相等字符串1 != 字符串2————不相等
13、流程控制语句if条件判断语句if————如果then————那么else————否则fi————退出
14、更改IP
进入:vi /etc/sysconfig/network-scripts/ifcfg-ens33
替换(DHCP-static)
IPADDR=192.168.201.128
GATEWAY=192.168.201.2
NETMASK=255.255.255.0
DNS1=8.8.8.8
网络重启service network restart
15、捆绑IP与主机名
捆绑:hostnamectl set-hostname hadoop
刷新:bash
修改:vi /etc/hosts
更改:主机名
16、防火墙
查看:systemctl status firewalld
关闭:systemctl stop firewalld
永久关闭:systemctl disable firewalld
17、SSH免密
ssh-keygen -t rsa只要打一遍
ssh-copy-id 本机名
18、配置NameNode的主机名和端口号
<property><name>fs.defaultFS</name><value>hdfs://hadoop:9000</value>
</property>
19、配置DHFS核心配件
<property><name>dfs.namenode.name.dir</name><value>/home/hadoop/tmp/dfs/name</value>
</property>
<property><name>dfs.datanode.data.dir</name><value>/home/hadoop/tmp/dfs/data</value>
</property>
<property><name>dfs.replication</name><value>1</value>
</property>
<property><name>dfs.permissions</name><value>false</value>
</property>
20、配置YARN:vi yarn-site.xml
<property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value>
</property>
<property><name>yarn.resourcemanager.hostname</name><value>hadoop</value>
</property>
21、配置MapReduce:vi mapred-site.xml
<property><name>mapreduce.framework.name</name><value>yarn</value>
</property>
22、jdk与Hadoop的环境变量配置:vi /etc/profile
export JAVA_HOME=/export/servers/jdk
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export HADOOP_HOME=/export/servers/hadoop-2.6.4
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
文件生效:source /etc/profile
23、启动HDFS或者YARN、启动全部进程
$HADOOP_HOME/sbin/start-dfs.sh
$HADOOP_HOME/sbin/start-yarn.sh
$HADOOP_HOME/sbin/start-all.sh
24、格式化HDFS系统
hdfs namenode -format
25、深度挖掘数据,恢复格式化
cd /export/servers/hadoop-2.6.4
rm -rf logs/
cd /tmp
rm -rf hadoop-root/
26.jps
yarn-daemon.sh start resourcemanager
hadoop-daemon.sh start datanode

hive笔记总结:

一、数据库操作
1.1 创建数据库——
(1)创建一个名为school数据库,数据库在HDFS上的默认存储路径是/user/hive/warehouse/*.db
hive (default)> create database school;
(2) 避免要创建的数据库已经存在错误,增加if not exists判断
hive (default)> create database if not exists school_1;
(3)创建一个数据库,指定数据库在HDFS上存放的位置(注意:路径要精确到数据库名字)
hive (default)> create database if not exists school_2 location '/school.db';
1.2 查询数据库——
(1)查询数据库
hive (default)> show databases;
(2)过滤显示查询的数据库
hive (default)> show databases like "school*";
(3)显示数据库详细信息
hive (default)> desc database school;
1.3 切换数据库——
从当前数据库default切换到school数据库
hive (default)> use school;
1.4 删除数据库——
(1)删除空数据库
hive (school)> drop database school_1;
(2)如果删除的数据库不存在命令会报错,最好采用if exists判断数据库是否存在
hive (school)> drop database if exists school_1;
(3)如果数据库不为空,可以采用cascade命令,强制删除
hive (school)> drop database school_2 cascade;二、表操作
创建表语法——create [external] table [if not exists] table_name [(col_name data_type[comment col_comment],...)][comment table_comment][partitioned by(col_namedata_type[comment col_comment],...)][clustered by(col_name,col_name,...)][stored as file_format][location hdfs_path]字段解释说明(1)create table创建一个指定名字的表。如果相同名字的表已经存在,则抛出异常;用户可以用if not exists选项来忽略这个异常。(2)external关键字可以让用户创建一个外部表,在建表的同时指定一个指向实际数据的路径(location),Hive创建内部表时,会将数据移动到数据仓库指向的路径;若创建外部表,仅记录数据所在的路径,不对数据的位置做任何改变。在删除表的时候,内部表的元数据和数据会被一起删除,而外部表只删除元数据,不删除数据。(3)comment:为表和列添加注释。(4)partitioned by:创建分区表。(5)clustered by:创建分桶表。(6)stored as:指定存储文件类型。常用的存储文件类型:sequencefile(二进制序列文件)、textfile(文本)、rcfile(列式存储格式文件)如果文件数据是纯文本,可以使用stored as textfile。如果数据需要压缩,使用stored as sequence file。(7)location:指定表在hdfs上的存储位置。(8)like:允许用户复制现有的表结构,但是不复制数据2.1 创建内部表——
(1)创建内部表stu1,stu1表中包含有int类型字段id、string类型字段name,字段之间的分隔符为制表符","
hive (school)> create table if not exists stu1(id int,name string) row format delimited fields terminated by ',';
(2)根据查询结果创建表(查询的结果会添加到新创建的表中)
hive (school)> create table if not exists stu2 as select id,name from stu1;
(3)根据已经存在的表结构创建表
hive (default)> create table if not exists stu3 like stu1;
(4)查询表的详细信息
hive (school)> desc formatted stu1;
2.2 创建外部表——
创建外部表tea,tea表中包含有int类型字段id、string类型字段name,字段之间的分隔符为制表符","
hive (school)> create external table if not exists tea(id int,name string) row format delimited fields terminated by ',';
2.3 内部表与外部表之间的转换——
(1) 修改内部表stu1为外部表
hive (school)> alter table stu1 set tblproperties('EXTERNAL'='TRUE');(2) 修改外部表tea为内部表
hive (school)> alter table tea set tblproperties('EXTERNAL'='FALSE');
2.4 加载数据——
(1)将本地系统数据文件/export/data/student.txt加载到表stu1
hive (school)> load data local inpath'/export/data/student.txt' into table stu1;(2)  将HDFS上数据文件 /teacher.txt加载到表tea
hive (school)> load data inpath'/teacher.txt' into table tea;
2.5 修改表——(1) 重命名( 将表stu1重命名为stu)
hive (school)> alter table stu1 rename to stu;
(2)添加列(给表stu添加int类型字段class)
hive (school)> alter table stu add columns(class int);
(3)更换列(将stu表中id字段更换为string类型字段number)
hive (school)> alter table stu change column id number string;
desc stu;
(4)替换列(将stu表中字段替换成int类型字段id、string类型字段name和int类型字段class)
hive (school)> alter table stu replace columns(id int,name string,class int);
desc stu;
2.6 删除表——
(1)删除表
hive (school)> drop table tea;
2) 清除表中数据,只能清除内部表,不能清除外部表
hive (school)> truncate table stu;
2.7 分区表——
(1)创建分区表student,表中包含有int类型字段id、string类型字段name,分区字段int类型字段class,字段之间的分隔符为制表符","
hive (school)> create table student(id int,name string) partitioned by(class int) row format delimited fields terminated by ',';
(2)添加分区—添加单个分区
alter table student add partition(class=1);添加多个分区,分区之间空格隔开
hive (school)> alter table student add partition(class=2) partition(class=3);
(3)查看表中分区信息
hive (school)> show partitions student;
(4)通过where子查询加载对应分区数据
hive (school)> insert into table student partition(class=1) select id,name from stu where class=1;
(5)查询指定分区
hive (school)> select * from student where class = 1;(6)删除分区—删除单个分区
hive (school)> alter table student drop partition(class=1);删除多个分区,分区之间用逗号隔开
hive (school)> alter table student drop partition(class=2),partition(class=3);
2.8 分桶表——
(1)开启hive分桶功能
hive (school)> set hive.enforce.bucketing = true;
(2)创建分区表stu——cluster,表中包含有int类型字段id、string类型字段name和int类型字段class,分桶字段为class,分为3个桶,字段之间的分隔符为制表符","
hive (school)> create table stu_cluster(id int,name string,class int) clustered by(class) into 3 buckets row format delimited fields terminated by ',';
(3)通过中间表对数据进行分区
hive (school)> insert overwrite table stu_cluster select * from stu cluster by(class);
2.9修改表结构——
查询表结构:desc 表名;
(1)添加列
alter table 表名 add columns(mysql string,mysql int类型);
(2)更新列
alter table 表名 change columns mysql(原名) mysqlnew(新名) int(类型);Hive查询语法——
select [all  | distinct] select_expr(表名),select_expr(表名),....
from

hbase笔记总结:

一、HBASE
数据库:
hbase 列式存储
Redis  键值对
Mongodb 文档型
Neo4j  图文二、hbase基本操作——进入hbase:bin/hbase shell
退出:exit()
帮助命令:help 'create'
命名空间——
列出所有命名空间:list_namespace
新建命名空间:create_namespace 'ns'(注释:‘’里面接命名空间名字)
删除命名空间:drop_namespace 'ns'
修改命名空间:alter_namespace 'ns',{METHOD => 'set', 'PROPERTY_NAME' => 'PROPERTY_VALUE'}
表——
列出所有表:list
列出指定命名空间下的所有表:list_namespace_tables 'ns'
新建表:create 'ns:t1','info1'(注释:新建一个以命名空间ns的表t1,列族为‘info1’,表名为'ns:t1')
删除表:disable 'ns:t1'drop 'ns:t1'
修改表名:HBase没有rename命令,可以通过快照功能修改表名,详见下述
查看表内容:scan 'ns:t1'scan 'ns1:t1', {LIMIT=>5} # 查看前5行数据
插入:put 'ns1:t1', 'r1', 'cf1:c1', 'value'
查看:get 'ns1:t1', 'r1'
快照:snapshots
快照生成表:
查看快照:list_snapshots 'ns1'
恢复快照:retore_snapshot
删除快照:delete_snapshot
删除列数据:delete ‘ns:t1','001','info1:name'
删除整个逻辑列:alter 'ns:t1',{NAME=>'info2',METHOD=>'delete'}增加列族:alter 'ns:t1',{NAME=>'info2'}查看:get 'ns:t1','001',info1:name'新建快照:snapshot 'sourceTable', 'snapshotName'
从快照复制生成一个新表: clone_snapshot 'snapshotName', 'gld:student'
分区——
预分区--
在建表时预分10个区:create 'gld:student', 'cf1', {SPLITS => ['1', '2', '3', '4', '5', '6', '7', '8', '9']}
则每个分区的Start Key和End Key分别为:
(~, 1),[1, 2),[2, 3),[3, 4),[4, 5),[5, 6),[6, 7),[7, 8),[8, 9),[9, ~)
查看HDFS是可以看到这个表下有10个文件夹(如果没有预分区,则只有一个文件夹):
hdfs dfs -ls /hbase/data/gld/student
手动分区--
使用切分键’1’一分为二:split 'tableName', 'splitKey'split 'gld:student', '1'
继续将第二个Region进行切分,以’2’作为切分键:split 'regionName', 'splitKey'split 'gld:student,1,1538223641947', '2'
合并分区--merge_region 'ENCODED_REGIONNAME', 'ENCODED_REGIONNAME'
merge_region 'eea56b5303ed9aca9aa2b4adc14798b8','e8324c9b047282a608588c8826484f5d'————
create_namespace 'ns'             创建命名空间
create 'ns:t1','info1','info2'            在ns下建t1表
put 'ns:t1','001','info1:name','zhangsan'       插入数据....
put 'ns:t1','001','info1:city','shanghai'
put 'ns:t1','001','info1:Age',30
put 'ns:t1','001','info2:Tel',110
put 'ns:t1','001','info2:addr','fujian'
put 'ns:t1','002','info1:name','lisi'
put 'ns:t1','002','info1:city','beijing'
put 'ns:t1','002','info1:Age',35
put 'ns:t1','002','info2:Tel',120
put 'ns:t1','002','info2:addr','jiangxi'
put 'ns:t1','003','info1:name','wangwu'
put 'ns:t1','003','info1:city','shenzhen'
put 'ns:t1','003','info1:Age',32
put 'ns:t1','003','info2:Tel',130
put 'ns:t1','003','info2:addr','hubei'
scan 'ns:t1'              查看数据是否成功插入t1表
disable 'ns:t1'               停用t1表
scan 'ns:t1'              查看t1表是否关闭
count 'ns:t1', INTERVAL => 100        保存数据
snapshot 'ns:t1', 'table1'          制作快照:将数据刷入磁盘并更名为table1
clone_snapshot 'table1', 'ns:t2'            克隆快照为新的名字t2
enable 'ns:t2'                启用t2表
scan 'ns:t2'              

shell命令总结:

一、关机/重启
关机(必须用root用户)
shutdown -h now  ## 立刻关机
shutdown -h +10  ##  10分钟以后关机
shutdown -h 12:00:00  ##12点整的时候关机
halt   #  等于立刻关机
重启
shutdown -r now
reboot   # 等于立刻重启echo
root@ubuntu:~# a="hello,world"
root@ubuntu:~# echo a
a
root@ubuntu:~# echo &a
[1] 3091a: command not found
[1]+  Done                    echo
root@ubuntu:~# echo $a
hello,world
root@ubuntu:~# vim文本编辑器
最基本用法:vi  somefile.4
1 首先会进入“一般模式”,此模式只接受各种快捷键,不能编辑文件内容
2 按i键,就会从一般模式进入编辑模式,此模式下,敲入的都是文件内容
3 编辑完成之后,按Esc键退出编辑模式,回到一般模式;
4 再按:,进入“底行命令模式”,输入wq命令,回车即可
常用快捷键
一些有用的快捷键(在一般模式下使用):
a   在光标后一位开始插入
A   在该行的最后插入
I   在该行的最前面插入
gg   直接跳到文件的首行
G    直接跳到文件的末行
dd    删除一行
3dd   删除3行
yy    复制一行
3yy   复制3行
p     粘贴
u     undo
v        进入字符选择模式,选择完成后,按y复制,按p粘贴
ctrl+v   进入块选择模式,选择完成后,按y复制,按p粘贴
shift+v  进入行选择模式,选择完成后,按y复制,按p粘贴查找并替换
1 显示行号
:set nu
2 隐藏行号
:set nonu
3 查找关键字
:/you       ## 效果:查找文件中出现的you,并定位到第一个找到的地方,按n可以定位到下一个匹配位置(按N定位到上一个)
4 替换操作
:s/sad/bbb    查找光标所在行的第一个sad,替换为bbb
:%s/sad/bbb      查找文件中所有sad,替换为bbb拷贝/删除/移动/更换文件名字
cp  somefile.1   /home/hadoop/
rm /home/hadoop/somefile.1
rm -f /home/hadoop/somefile.1
mv /home/hadoop/somefile.1 ../
mv a.txt b.txt //把a.txt更名为b.txt打包压缩
1、gzip压缩
gzip a.txt
2、解压
gunzip a.txt.gz
gzip -d a.txt.gz
3、bzip2压缩
bzip2 a
4、解压
bunzip2 a.bz2
bzip2 -d a.bz2
5、打包:将指定文件或文件夹
tar -cvf bak.tar  ./aaa
将/etc/password追加文件到bak.tar中
tar -rvf bak.tar /etc/password
6、解压
tar -xvf bak.tar
7、打包并压缩
tar -zcvf a.tar.gz  aaa/
8、解包并解压缩(重要的事情说三遍!!!)
tar  -zxvf  a.tar.gz
解压到/usr/下
tar  -zxvf  a.tar.gz  -C  /usr
9、查看压缩包内容
tar -ztvf a.tar.gz
zip/unzip
10、打包并压缩成bz2
tar -jcvf a.tar.bz2
11、解压bz2
tar -jxvf a.tar.bz2常用查找命令的使用
1、查找可执行的命令所在的路径:
which ls
2、查找可执行的命令和帮助的位置:
whereis ls
3、从某个文件夹开始查找文件
find / -name "hadooop*"
find / -name "hadooop*" -ls
4、查找并删除
find / -name "hadooop*" -ok rm {} \;
find / -name "hadooop*" -exec rm {} \;
5、查找用户为hadoop的文件
find  /usr  -user  hadoop  -ls
6、查找用户为hadoop的文件夹
find /home -user hadoop -type d -ls
7、查找权限为777的文件
find / -perm -777 -type d -ls
8、在指定目录不分大小写查找某个文件
find ./sound/ -iname ft56Q.c
9、显示命令历史
historygrep命令
最常用的-全字匹配
grep -wrn  weiqifa ./sound/查找 某个字符串但是不在指定文件夹查找
grep -E "http"  ./ -R --exclude-dir=./sound/
grep -E "http"  . -R --exclude-dir={.git,res,bin}
排除扩展名为 java 和 js 的文件
grep -E "http"  . -R --exclude=*.{java,js}1 基本使用
查询包含hadoop的行
grep hadoop /etc/password
grep aaa  ./*.txt 2 cut截取以:分割保留第七段
root@ubuntu:~/kernel_rk3399_yan4_dev/kernel# grep dsl /etc/passwd | cut -d: -f7
/bin/bash
root@ubuntu:~/kernel_rk3399_yan4_dev/kernel# grep dsl /etc/passwd
dsl:x:1000:1000:dsl,,,:/home/dsl:/bin/bash
root@ubuntu:~/kernel_rk3399_yan4_dev/kernel# 3 查询不包含hadoop的行
grep -v hadoop /etc/passwd4 正则表达包含hadoop
grep 'hadoop' /etc/passwd5 正则表达(点代表任意一个字符)
grep 'h.*p' /etc/passwd6 正则表达以hadoop开头
grep '^hadoop' /etc/passwd7 正则表达以hadoop结尾
grep 'hadoop$' /etc/passwd规则:
.  : 任意一个字符
a* : 任意多个a(零个或多个a)
a? : 零个或一个a
a+ : 一个或多个a
.* : 任意多个任意字符
\. : 转义.
o\{2\} : o重复两次查找不是以#开头的行
grep -v '^#' a.txt | grep -v '^$' 以h或r开头的
grep '^[hr]' /etc/passwd不是以h和r开头的
grep '^[^hr]' /etc/passwd不是以h到r开头的
grep '^[^h-r]' /etc/passwdlinux文件权限的描述格式解读
drwxr-xr-x      (也可以用二进制表示  111 101 101  -->  755)d:标识节点类型(d:文件夹   -:文件  l:链接)
r:可读   w:可写    x:可执行
第一组rwx:  ## 表示这个文件的拥有者对它的权限:可读可写可执行
第二组r-x:  ## 表示这个文件的所属组用户对它的权限:可读,不可写,可执行
第三组r-x:  ## 表示这个文件的其他用户(相对于上面两类用户)对它的权限:可读,不可写,可执行修改文件权限
chmod g-rw haha.dat         ## 表示将haha.dat对所属组的rw权限取消
chmod o-rw haha.dat         ## 表示将haha.dat对其他人的rw权限取消
chmod u+x haha.dat         ## 表示将haha.dat对所属用户的权限增加x
chmod a-x haha.dat               ## 表示将haha.dat对所用户取消x权限也可以用数字的方式来修改权限
chmod 664 haha.dat
就会修改成   rw-rw-r--
如果要将一个文件夹的所有内容权限统一修改,则可以-R参数
chmod -R 770 aaa/修改文件所有权
<只有root权限能执行>
chown angela  aaa        ## 改变所属用户
chown :angela  aaa        ## 改变所属组
chown angela:angela aaa/    ## 同时修改所属用户和所属组统计文件或文件夹的大小
root@ubuntu:~/kernel_rk3399_yan4_dev/kernel# du -sh sound/
33M    sound/
root@ubuntu:~/kernel_rk3399_yan4_dev/kernel# df -h    查看磁盘的空间
root@ubuntu:~/kernel_rk3399_yan4_dev/kernel# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            1.9G     0  1.9G   0% /dev
tmpfs           394M  6.4M  388M   2% /run
/dev/sda1       294G   93G  186G  34% /
tmpfs           2.0G  204K  2.0G   1% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           2.0G     0  2.0G   0% /sys/fs/cgroup
tmpfs           394M   80K  394M   1% /run/user/1000
root@ubuntu:~/kernel_rk3399_yan4_dev/kernel# 

sqoop笔记总结:

1、创建作业(--create)——(注释:masterjob:表示作业名,bigdata3:表示数据库)
bin/sqoop job --create masterjob \
-- export --connect jdbc:mysql://master:3306/bigdata3 \
--username root \
--password 123456 \
--table customers \
--export-dir /user/hive/warehouse/retail_db.db/customers/customers.csv
2、验证作业(--list)
bin/sqoop job --list
3、检查作业(--show)
bin/sqoop job --show
4、执行作业(--exec)
bin/sqoop job --exec masterjob
5、删除(--detele)
bin/sqoop job --detele masterjob
6、免密执行job(--password)
echo -n "123456" > master.pwd
hdfs dfs -mkdir /password
hadoop fs -put master.pwd /password/
hadoop fs -chmod 400 /password/master.pwd
7、清空表数据

一键开启一键关闭脚本代码如下:

——hadoop脚本
#!/bin/bashcase $1 in
"start"){echo "================启动集群================"ssh demo1 "/export/servers/hadoop-2.6.4/sbin/start-dfs.sh"ssh demo3 "/export/servers/hadoop-2.6.4/sbin/start-yarn.sh"
};;
"stop"){echo "================关闭集群================"ssh demo3 "/export/servers/hadoop-2.6.4/sbin/stop-yarn.sh"ssh demo1 "/export/servers/hadoop-2.6.4/sbin/stop-dfs.sh"
};;
esac
——zookeeper脚本
#!/bin/bashcase $1 in
"start"){for i in master slave1 slave2doecho "================启动zookeeper================"ssh $i "/export/servers/zookeeper/bin/zkServer.sh start"done
};;
"stop"){for i in demo1 demo2 demo3doecho "================关闭zookeeper================"ssh $i "/export/servers/zookeeper/bin/zkServer.sh stop"done
};;
"status"){for i in demo1 demo2 demo3doecho "================$i================"ssh $i "/export/servers/zookeeper/bin/zkServer.sh status"done
};;esac
——hbase脚本
#!/bin/bashcase $1 in
"start"){echo "================启动hbase================"ssh demo1 "/export/servers/hbase/bin/start-hbase.sh"
};;
"stop"){echo "================关闭hbase================"ssh demo1 "/export/servers/hbase/bin/stop-hbase.sh"
};;
esac
——kafka脚本
#!/bin/bashcase $1 in
"start"){for i in demo1 demo2 demo3doecho "================启动kafka================"ssh $i "/export/servers/kafka/bin/kafka-server-start.sh -daemon /export/servers/kafka/config/server.properties"done
};;
"stop"){for i in demo1 demo2 demo3doecho "================关闭kafka================"ssh $i "/export/servers/kafka/bin/kafka-server-stop.sh"done
};;
esac

Linux、hbase、hive、shell、sqoop笔记总结+一键开启关闭脚本相关推荐

  1. bash linux .ee,Linux下Bash shell学习笔记.md

    ### 1.shell下没有变量类型和定义的概念. >1. 变量直接使用不用定义 >2. 所有值都视为字符串. >3. 在对变量取值都需要加$ >4. 行注释为 # + ### ...

  2. 优雅的启动nginx。。。bat命令。一键开启关闭

    启动nginx 点击启动 点击关闭 问题 吐槽 启动nginx 最开始的时候我是一个小小白,启动关闭nginx的时候就是双击启动,以及在任务管理器关闭...十分的麻烦. 于是 我看了看隔壁王哥怎么做的 ...

  3. Linux下Dialog+Shell三层目录专业规范跳板机脚本

    #Dialog+Shell介绍 Dialog+Shell结合使用,方能体现出Dialog图形化的效果,在运维的时候,使用图形化界面,能给你一个更直观的感受,相信你会喜欢上他的 #创建脚本目录  [ro ...

  4. linux服务器查看防火墙配置,linux服务器CentOS7/6查看防火墙状态及开启关闭命令...

    CentOS7 的防火墙配置跟以前版本有很大区别,CentOS7这个版本的防火墙默认使用的是firewall,与之前的版本使用iptables不一样 1.关闭防火墙: systemctl stop f ...

  5. EMLOG SSL插件 一键开启/关闭ssl无需操作数据库

    简介: emlog很多用户都自行申请了SSL证书 开启了HTTPS安全访问,但是emlog的图片上传和某些考虑不周全的插件模板都使用的是http连接,导致绿标失效. 花了几分钟做了个小插件,无需修改数 ...

  6. [批处理]解决老程序3D加速不兼容问题 --一键开启/关闭3D加速

    星愿出品 必属精品 星愿批处理系列不定时更新各种实用的批处理小程序 (- ̄▽ ̄)- 禁用3D加速 @ECHO OFF title 禁用3D加速 by 星愿 If exist "%Temp%\ ...

  7. Hadoop2.2.0 HA高可用分布式集群搭建(hbase,hive,sqoop,spark)

    1 需要软件 Hadoop-2.2.0 Hbase-0.96.2(这里就用这个版本,跟Hadoop-2.2.0是配套的,不用覆盖jar包什么的) Hive-0.13.1 Zookeepr-3.4.6( ...

  8. 大数据基础(二)hadoop, mave, hbase, hive, sqoop在ubuntu 14.04.04下的安装和sqoop与hdfs,hive,mysql导入导出

    hadoop, mave, hbase, hive, sqoop在ubuntu 14.04.04下的安装 2016.05.15 本文测试环境: hadoop2.6.2 ubuntu 14.04.04 ...

  9. linux+shell+func,Linux shell编程笔记总结

    Linux Shell学习笔记简介 Linux系统的shell作为操作系统的外壳,为用户提供使用操作系统的接口.它是命令语言.命令解释程序及程序设计语言的统称.shell是用户和Linux内核之间的接 ...

最新文章

  1. 关于解决mybase7继续使用的方法
  2. 如何linux查看mysql目录下日志_测试人员如何在linux服务器中查询mysql日志?
  3. i219v linux,I219V高传播延迟
  4. 表达式求值问题 数据结构_【每日一题51】实际问题与一次函数 看图象求表达式 由表达式求值...
  5. PowerShell变量——PowerShell三分钟(七)
  6. Sword 内核队列一
  7. 未来通信设备的体系构架
  8. C++11 Lambda表达式
  9. fv-15php1c 安装图,SQLite - C/C++接口 API(一)
  10. python生成密码字典
  11. Docker容器的资源使用限制
  12. 用MySQL判断一个数为素数_判断一个数是否是素数
  13. 微型计算机键盘ins代表,微型计算机技术69124.ppt
  14. Python采集视频数据,下载流媒体m3u8格式
  15. python中的get函数什么意思_详解python中get函数的用法(附代码)
  16. 如何借助分布式存储 JuiceFS 加速 AI 模型训练
  17. 为什么设计稿是750px
  18. 人工智能知识图谱研究
  19. UltraEdit脱机激活工具
  20. LabVIEW控制Arduino驱动数码管(基础篇—11)

热门文章

  1. 18.8 字节码指令集与解析举例 - 控制转义指令
  2. python如何将两张图片叠加的半透明_python – Raspberry Pi相机透明图像叠加
  3. 阿里电商架构演变之路
  4. html用js给文字自动分页,快速JS分页长文本
  5. 【大学物理实验】刚体转动定律的研究
  6. Laravel接入paypal支付
  7. 第二组骆阳洋通信工程三班抓包分析
  8. Linux操作系统历史
  9. 凯撒密码加密算法python_CTF中会用到的密码学基础(节选)
  10. C#【自动化测试】对Windows桌面应用程序进行UI自动化测试