大数据训练大纲(第2天)
1:linux简单命令
type 用来判断内部命令还是外部命令
cut命令:显示切割的行数据
-f:选择显示的列 方法举例 cut -d ’ ’ -f1 grep.txt (’ ‘这是一个空格,还有’ : ')
-s:显示有分隔的行
-d:自定义分隔符
sort命令:排序文件的行
-n:按数值大小排序 方法举例 sort -t’ ’ -n -r -k2 sort.txt
-r: 倒序
-t:自定义分隔符
-k:选择排序列,第几列的意思
-u:合并相同行
-f:忽略大小写
wc:统计文件中的字母个数,字数,行数
-l:表示行数 方法举例 方法一:wc -l sort.txt 表示文件中行数 结果为 3 sort.txt
-c:表示字母数 方法二:cat sort.txt | wc -l 结果为3
-m:表示字数
linux的权限
可读(read)r 文件拥有者(主人(u)user)
可写(write)w 文件所属组(所属组(g)group)
可执行(execute) 除开前面两类其他人(o)others
1:修改文件夹权限
#chown root : share share/
(修改) (属主) (属组) (目录)
将share 目录中的root:root修改为了root:share
2:修改文件权限
#chmod g+w share/
给属组(g)增加 (可写w)的权限
3:管道I 就是把左边的结果当做参数传入右边
正则表达式 : grep:显示匹配行
-e:使用扩展正则表达式
-\ :转义字符
- . :匹配任意单个字符
对应练习作业:
-
使用vi,vim命令编写一段java的hello world程序。并执行出结果
- rpm -ivh jdk-8u171-linux-x64.rpm
- 安装之后到 /usr/java/jdk1.8.0_171-amd64 目录查看
- 配置环境变量: vi ~/.bash_profile
- export JAVA_HOME=/usr/java/jdk1.8.0_171-amd64
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin - source ~/.bash_profile
- export JAVA_HOME=/usr/java/jdk1.8.0_171-amd64
-
统计/etc/passwd文件中,能够登陆的用户的人数。提示:用户的shell为/bin/bash表示可以登陆。
-
过滤用户
-
统计
答案:grep ‘/bin/bash$’ /etc/passwd | wc -l
-
-
使用cut和sort命令,把/etc/passwd文件中的所有用户,:qqclUID的大小降序排列。提示:UID在/etc/passwd文件中的第三个字段。
答案:
1:cd /etc
2:cat /passwd
3:sort -t’ : ’ -n -r -k2 passwd
-
1、新建一个没有家目录的用户hadoop;
答案:useradd -M hadoop
2、复制/etc/skel为/home/hadoop;
答案:cp -r /etc/skel/ /home/ hadoop
3、改变/home/hadoop及其内部文件的属主属组均为hadoop;
答案:chown hadoop:hadoop hadoop/
4、/home/hadoop及其内部的文件,属组和其它用户没有任何权限
答案:#chmod g-r hadoop/
#chmod o-x hadoop/
提示:一共需要四个命令,你需要把这个四个命令发给我