大数据技术之Linux
第1章 Linux入门
1.1 概述
如图1-1所示
1.2 Linux和Windows区别
1.3 CentOS下载地址
第2章 VM与Linux的安装
2.1 VMWare安装
2.2 CentOS安装
第3章 Linux文件与目录结构
3.1 Linux文件
3.2 Linux目录结构
Linux目录结构简介,如图3-2,3-3,3-4,3-5,3-6所示
第4章 VI/VIM编辑器
4.1 是什么
VI是Unix操作系统和类Unix操作系统中最通用的文本编辑器。
VIM编辑器是从VI发展出来的一个性能更强大的文本编辑器。可以主动的以字体颜色辨别语法的正确性,方便程序设计。VIM与VI编辑器完全兼容。
4.2 测试数据准备
[root@hadoop100 桌面]# cp /etc/profile /root
[root@hadoop100 桌面]# cd /root/
4.3 一般模式
语法 |
功能描述 |
yy |
复制光标当前一行 |
y数字y |
复制一段(从第几行到第几行) |
p |
箭头移动到目的行粘贴 |
u |
撤销上一步 |
dd |
删除光标当前行 |
d数字d |
删除光标(含)后多少行 |
x |
删除一个字母,相当于del |
X |
删除一个字母,相当于Backspace |
yw |
复制一个词 |
dw |
删除一个词 |
shift+^ |
移动到行头 |
shift+$ |
移动到行尾 |
1+shift+g |
移动到页头,数字 |
shift+g |
移动到页尾 |
数字N+shift+g |
移动到目标行 |
4.4 编辑模式
在一般模式中可以进行删除、复制、粘贴等的动作,但是却无法编辑文件内容的!要等到你按下『i, I, o, O, a, A』等任何一个字母之后才会进入编辑模式。
注意了!通常在Linux中,按下这些按键时,在画面的左下方会出现『INSERT或 REPLACE』的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下『Esc』这个按键即可退出编辑模式。
按键 |
功能 |
i |
当前光标前 |
a |
当前光标后 |
o |
当前光标行的下一行 |
I |
光标所在行最前 |
A |
光标所在行最后 |
O |
当前光标行的上一行 |
4.5 指令模式
在一般模式当中,输入『 : / ?』3个中的任何一个按钮,就可以将光标移动到最底下那一行。
在这个模式当中, 可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、离开 vi 、显示行号等动作是在此模式中达成的!
命令 |
功能 |
:w |
保存 |
:q |
退出 |
:! |
强制执行 |
/要查找的词 |
n 查找下一个,N 往上查找 |
? 要查找的词 |
n是查找上一个,shift+n是往下查找 |
:set nu |
显示行号 |
:set nonu |
关闭行号 |
:%s/old/new/g |
替换内容 |
4.6 模式间转换
第5章 网络配置和系统管理操作
5.1 查看网络IP 和 网关
4. 查看windows环境的中VMnet8网络配置,如图5-4所示
5.2 配置网络ip地址
5.2.1 ifconfig 配置网络接口
ifconfig :network interfaces configuring网络接口配置
5.2.2 ping 测试主机之间网络连通性
ping 目的主机 (功能描述:测试当前服务器是否可以连接目的主机)
[root@hadoop100 桌面]# ping www.baidu.com
5.2.3 修改IP地址
[root@hadoop100 桌面]#vim /etc/sysconfig/network-scripts/ifcfg-ens33
以下标红的项必须修改,有值的按照下面的值修改,没有该项的要增加。
TYPE="Ethernet" #网络类型(通常是Ethemet)
BOOTPROTO="dhcp" #IP的配置方法[none|static|bootp|dhcp](引导时不 使用协议|静态分配IP|BOOTP协议|DHCP协议)
IPV6_ADDR_GEN_MODE="stable-privacy"
UUID="e83804c1-3257-4584-81bb-660665ac22f6" #随机id
ONBOOT="yes" #系统启动的时候网络接口是否有效(yes/no)
2. 执行service network restart 重启网络,如图5-7所示
5.3 配置主机名
5.3.1 修改主机名称
(2)如果感觉此主机名不合适,我们可以进行修改。通过编辑/etc/hostname文件
[root@hadoop100 桌面]# vi /etc/hostname
5.3.2 修改hosts映射文件
后续在hadoop阶段,虚拟机会比较多,配置时通常会采用主机名的方式配置,
[root@hadoop100 桌面]# vim /etc/hosts
(1)进入C:\Windows\System32\drivers\etc路径
(1)进入C:\Windows\System32\drivers\etc路径
(4)将桌面hosts文件覆盖C:\Windows\System32\drivers\etc路径hosts文件
5.4 关闭防火墙
5.4.1 service
service 服务名 start | stop | restart | status
查看服务的方法:/etc/init.d/服务名 ,发现只有两个服务保留在service
[root@hadoop100 init.d]# ls -al
drwxr-xr-x. 2 root root 4096 3月 19 15:24 .
drwxr-xr-x. 10 root root 4096 3月 19 15:24 ..
-rw-r--r--. 1 root root 18104 1月 3 2018 functions
-rwxr-xr-x. 1 root root 4334 1月 3 2018 netconsole
-rwxr-xr-x. 1 root root 7293 1月 3 2018 network
-rw-r--r--. 1 root root 1160 4月 11 2018 README
[root@hadoop100 桌面]#service network status
[root@hadoop100 桌面]#service network stop
[root@hadoop100 桌面]#service network start
[root@hadoop100 桌面]#service network restart
5.4.2 chkconfig 设置后台服务的自启配置
chkconfig 服务名 off (功能描述:关掉指定服务的自动启动)
chkconfig 服务名 on (功能描述:开启指定服务的自动启动)
chkconfig 服务名 --list (功能描述:查看服务开机启动状态)
[root@hadoop100 桌面]#chkconfig iptables on
[root@hadoop100 桌面]#chkconfig iptables off
[root@hadoop100 桌面]#chkconfig --level 指定级别 iptables on
[root@hadoop100 桌面]#chkconfig --level 指定级别 iptables off
5.4.3 systemctl
systemctl start | stop | restart | status 服务名
查看服务的方法:/usr/lib/systemd/system
[root@hadoop100 init.d]# ls -al
-rw-r--r--. 1 root root 275 4月 27 2018 abrt-ccpp.service
-rw-r--r--. 1 root root 380 4月 27 2018 abrtd.service
-rw-r--r--. 1 root root 361 4月 27 2018 abrt-oops.service
-rw-r--r--. 1 root root 266 4月 27 2018 abrt-pstoreoops.service
-rw-r--r--. 1 root root 262 4月 27 2018 abrt-vmcore.service
-rw-r--r--. 1 root root 311 4月 27 2018 abrt-xorg.service
-rw-r--r--. 1 root root 751 4月 11 2018 accounts-daemon.service
-rw-r--r--. 1 root root 527 3月 25 2017 alsa-restore.service
-rw-r--r--. 1 root root 486 3月 25 2017 alsa-state.service
[root@hadoop100 桌面]# systemctl status firewalld
[root@hadoop100 桌面]# systemctl stop firewalld
[root@hadoop100 桌面]# systemctl start firewalld
[root@hadoop100 桌面]# systemctl restart firewalld
5.4.4 systemctl 设置后台服务的自启配置
systemctl list-unit-files (功能描述:查看服务开机启动状态)
systemctl disable service_name (功能描述:关掉指定服务的自动启动)
systemctl enable service_name (功能描述:开启指定服务的自动启动)
[root@hadoop100 桌面]# systemctl enable firewalld.service
[root@hadoop100 桌面]# systemctl disable firewalld.service
5.4.5 进程运行级别
multi-user.target 等价于原运行级别3(多用户有网,无图形界面)
graphical.target 等价于原运行级别5(多用户有网,有图形界面
[root@hadoop100桌面]# vim /etc/inittab
# inittab is no longer used when using systemd.
# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target
# systemd uses 'targets' instead of runlevels. By default, there are two main targets:
# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5
# To view current default target, run:
# To set a default target, run:
# systemctl set-default TARGET.target
5.4.6 关闭防火墙
[root@hadoop100桌面]# systemctl status firewalld
[root@hadoop100桌面]# systemctl stop firewalld
[root@hadoop100桌面]# systemctl enable firewalld.service
[root@hadoop100桌面]# systemctl disable firewalld.service
5.5 关机重启命令
在linux领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机。
正确的关机流程为:sync > shutdown > reboot > halt
(2)halt (功能描述:关闭系统,等同于shutdown -h now 和 poweroff)
(3)reboot (功能描述:就是重启,等同于 shutdown -r now)
选项 |
功能 |
-h |
-h=halt关机 |
-r |
-r=reboot重启 |
参数 |
功能 |
now |
立刻关机 |
时间 |
等待多久后关机(时间单位是分钟)。 |
(4)计算机将在1分钟后关机,并且会显示在登录用户的当前屏幕中
[root@hadoop100桌面]#shutdown -h 1 ‘This server will shutdown after 1 mins’
[root@hadoop100桌面]# shutdown -h now
[root@hadoop100桌面]# shutdown -r now
5.6 找回root密码
3.定位到LANG=zh_CN.UTF-8,后面追加 init=/bin/sh, 如图5-10所示
4.键盘ctrl+x进行引导启动,进入如下界面,如图5-11所示
6. 选择要修改密码的用户名,passwd root, 然后输入两次一致的密码,依次回车。
7. 更新系统信息 touch /.autorelabel ,如图5-14所示
8.最后输入exec /sbin/init 命令重启系统即可,如图5-15所示
第6章 远程登录
6.1 安装使用Finalshell
第7章 常用基本命令
7.1 帮助命令
7.1.1 man 获得帮助信息
信息 |
功能 |
NAME |
命令的名称和单行描述 |
SYNOPSIS |
怎样使用命令 |
DESCRIPTION |
命令功能的深入讨论 |
EXAMPLES |
怎样使用命令的例子 |
SEE ALSO |
相关主题(通常是手册页) |
7.1.2 help 获得shell内置命令的帮助信息
help 命令 (功能描述:获得shell内置命令的帮助信息)
7.1.3 常用快捷键
常用快捷键 |
功能 |
ctrl + c |
停止进程 |
ctrl+l |
清屏;彻底清屏是:reset |
ctrl + q |
退出 |
善于用tab键 |
提示(更重要的是可以防止敲错) |
上下键 |
查找执行过的命令 |
ctrl +alt |
linux和Windows之间切换 |
7.2 文件目录类
7.2.1 pwd 显示当前工作目录的绝对路径
pwd:print working directory 打印工作目录
7.2.2 ls 列出目录的内容
选项 |
功能 |
-a |
全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来(常用) |
-l |
长数据串列出,包含文件的属性与权限等等数据;(常用) |
每行列出的信息依次是: 文件类型与权限 链接数 文件属主 文件属组 文件大小用byte来表示 建立或最近修改的时间 名字
drwx------. 5 atguigu bambooJohn4096 5月 27 15:15 .
drwxr-xr-x. 3 root root 4096 5月 27 14:03 ..
drwxrwxrwx. 2 root root 4096 5月 27 14:14 hello
-rwxrw-r--. 1 bambooJohn bambooJohn 34 5月 27 14:20 test.txt
7.2.3 cd 切换目录
参数 |
功能 |
cd 绝对路径 |
切换路径 |
cd相对路径 |
切换路径 |
cd ~或者cd |
回到自己的家目录 |
cd - |
回到上一次所在目录 |
cd .. |
回到当前目录的上一级目录 |
cd -P |
跳转到实际物理路径,而非快捷方式路径 |
(5)表示回到当前目录的上一级目录,亦即是 “/root/公共的”的上一级目录的意思;
7.2.4 mkdir 创建一个新的目录
选项 |
功能 |
-p |
创建多层目录 |
[root@hadoop101 ~]# mkdir xiyou
[root@hadoop101 ~]# mkdir xiyou/mingjie
[root@hadoop101 ~]# mkdir -p xiyou/dssz/meihouwang
7.2.5 rmdir 删除一个空的目录
[root@hadoop101 ~]# rmdir xiyou/dssz/meihouwang
7.2.6 touch 创建空文件
[root@hadoop101 ~]# touch xiyou/dssz/sunwukong.txt
7.2.7 cp 复制文件或目录
cp [选项] source dest (功能描述:复制source文件到dest)
选项 |
功能 |
-r |
递归复制整个文件夹 |
参数 |
功能 |
source |
源文件 |
dest |
目标文件 |
[root@hadoop101 ~]# cp xiyou/dssz/suwukong.txt xiyou/mingjie/
[root@hadoop101 ~]# cp -r xiyou/dssz/ ./
7.2.8 rm 移除文件或目录
rm [选项] deleteFile (功能描述:递归删除目录中所有内容)
选项 |
功能 |
-r |
递归删除目录中所有内容 |
-f |
强制执行删除操作,而不提示用于进行确认。 |
-v |
显示指令的详细执行过程 |
[root@hadoop101 ~]# rm xiyou/mingjie/sunwukong.txt
[root@hadoop101 ~]# rm -rf dssz/
7.2.9 mv 移动文件与目录或重命名
(1)mv oldNameFile newNameFile (功能描述:重命名)
(2)mv /temp/movefile /targetFolder (功能描述:移动文件)
[root@hadoop101 ~]# mv xiyou/dssz/suwukong.txt xiyou/dssz/houge.txt
[root@hadoop101 ~]# mv xiyou/dssz/houge.txt ./
7.2.10 cat 查看文件内容
选项 |
功能描述 |
-n |
显示所有行的行号,包括空行。 |
[atguigu@hadoop101 ~]$ cat -n houge.txt
7.2.11 more 文件内容分屏查看器
more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more指令中内置了若干快捷键,详见操作说明。
操作 |
功能说明 |
空白键 (space) |
代表向下翻一页; |
Enter |
代表向下翻『一行』; |
q |
代表立刻离开 more ,不再显示该文件内容。 |
Ctrl+F |
向下滚动一屏 |
Ctrl+B |
返回上一屏 |
= |
输出当前行的行号 |
:f |
输出文件名和当前行的行号 |
[root@hadoop101 ~]# more smartd.conf
7.2.12 less 分屏显示文件内容
操作 |
功能说明 |
空白键 |
向下翻动一页; |
[pagedown] |
向下翻动一页 |
[pageup] |
向上翻动一页; |
/字串 |
向下搜寻『字串』的功能;n:向下查找;N:向上查找; |
?字串 |
向上搜寻『字串』的功能;n:向上查找;N:向下查找; |
q |
离开 less 这个程序; |
用SecureCRT时[pagedown]和[pageup]可能会出现无法识别的问题。
[root@hadoop101 ~]# less smartd.conf
7.2.13 echo
控制字符 |
作用 |
\\ |
输出\本身 |
\n |
换行符 |
\t |
制表符,也就是Tab键 |
[atguigu@hadoop101 ~]$ echo "hello\tworld"
[atguigu@hadoop101 ~]$ echo -e "hello\tworld"
7.2.14 head 显示文件头部内容
head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容。
head -n 5 文件 (功能描述:查看文件头5行内容,5可以是任意行数)
选项 |
功能 |
-n<行数> |
指定显示头部内容的行数 |
[root@hadoop101 ~]# head -n 2 smartd.conf
7.2.15 tail 输出文件尾部内容
tail用于输出文件中尾部的内容,默认情况下tail指令显示文件的后10行内容。
(2)tail -n 5 文件 (功能描述:查看文件尾部5行内容,5可以是任意行数)
(3)tail -f 文件 (功能描述:实时追踪该文档的所有更新)
选项 |
功能 |
-n<行数> |
输出文件尾部n行内容 |
-f |
显示文件最新追加的内容,监视文件变化 |
[root@hadoop101 ~]# tail -n 1 smartd.conf
[root@hadoop101 ~]# tail -f houge.txt
7.2.16 > 输出重定向和 >> 追加
(1)ls -l > 文件 (功能描述:列表的内容写入文件a.txt中(覆盖写))
(2)ls -al >> 文件 (功能描述:列表的内容追加到文件aa.txt的末尾)
(3)cat 文件1 > 文件2 (功能描述:将文件1的内容覆盖到文件2)
[root@hadoop101 ~]# ls -l>houge.txt
[root@hadoop101 ~]# ls -l>>houge.txt
[root@hadoop101 ~]# echo hello>>houge.txt
7.2.17 ln 软链接
软链接也成为符号链接,类似于windows里的快捷方式,有自己的数据块,主要存放了链接其他文件的路径。
ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接)
删除软链接: rm -rf 软链接名,而不是rm -rf 软链接名/
查询:通过ll就可以查看,列表属性第1位是l,尾部会有位置指向。
[root@hadoop101 ~]# mv houge.txt xiyou/dssz/
[root@hadoop101 ~]# ln -s xiyou/dssz/houge.txt ./houzi
lrwxrwxrwx. 1 root root 20 6月 17 12:56 houzi -> xiyou/dssz/houge.txt
[root@hadoop101 ~]# rm -rf houzi
[root@hadoop101 ~]# ln -s xiyou/dssz/ ./dssz
[root@hadoop101 ~]# cd -P dssz/
7.2.18 history 查看已经执行过历史命令
[root@hadoop101 test1]# history
7.3 时间日期类
选项 |
功能 |
-d<时间字符串> |
显示指定的“时间字符串”表示的时间,而非当前时间 |
-s<日期时间> |
设置系统日期时间 |
参数 |
功能 |
<+日期时间格式> |
指定显示时使用的日期时间格式 |
7.3.1 date 显示当前时间
(5)date "+%Y-%m-%d %H:%M:%S" (功能描述:显示年月日时分秒)
2017年 06月 19日 星期一 20:53:30 CST
[root@hadoop101 ~]# date +%Y%m%d
[root@hadoop101 ~]# date "+%Y-%m-%d %H:%M:%S"
7.3.2 date 显示非当前时间
(1)date -d '1 days ago' (功能描述:显示前一天时间)
(2)date -d '-1 days ago' (功能描述:显示明天时间)
[root@hadoop101 ~]# date -d '1 days ago'
2017年 06月 18日 星期日 21:07:22 CST
[root@hadoop101 ~]#date -d '-1 days ago'
2017年 06月 20日 星期日 21:07:22 CST
7.3.3 date 设置系统时间
[root@hadoop101 ~]# date -s "2017-06-19 20:52:18"
7.3.4 cal 查看日历
选项 |
功能 |
具体某一年 |
显示这一年的日历 |
7.4 用户管理命令
7.4.1 useradd 添加新用户
useradd -g 组名 用户名 (功能描述:添加新用户到某个组)
[root@hadoop101 ~]# useradd tangseng
7.4.2 passwd 设置用户密码
[root@hadoop101 ~]# passwd tangseng
7.4.3 id 查看用户是否存在
[root@hadoop101 ~]#id tangseng
7.4.4 cat /etc/passwd 查看创建了哪些用户
[root@hadoop101 ~]# cat /etc/passwd
7.4.5 su 切换用户
su 用户名称 (功能描述:切换用户,只能获得用户的执行权限,不能获得环境变量)
su - 用户名称 (功能描述:切换到用户并获得该用户的环境变量及执行权限)
[root@hadoop101 ~]#su tangseng
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@hadoop101 ~]#su - tangseng
7.4.6 userdel 删除用户
(1)userdel 用户名 (功能描述:删除用户但保存用户主目录)
(2)userdel -r 用户名 (功能描述:用户和用户主目录,都删除)
选项 |
功能 |
-r |
删除用户的同时,删除与用户相关的所有文件。 |
[root@hadoop101 ~]#userdel tangseng
[root@hadoop101 ~]#useradd zhubajie
[root@hadoop101 ~]#userdel -r zhubajie
7.4.7 who 查看登录用户信息
[root@hadoop101 opt]# who am i
7.4.8 sudo 设置普通用户具有root权限
[root@hadoop101 ~]#useradd atguigu
[root@hadoop101 ~]#passwd atguigu
[root@hadoop101 ~]#vi /etc/sudoers
修改 /etc/sudoers 文件,找到下面一行(91行),在root下面添加一行,如下所示:
## Allow root to run any commands anywhere
## Allow root to run any commands anywhere
bambooJohn ALL=(ALL) NOPASSWD:ALL
修改完毕,现在可以用atguigu帐号登录,然后用命令 sudo ,即可获得root权限进行操作。
[atguigu@hadoop101 opt]$ sudo mkdir module
[root@hadoop101 opt]# chown bambooJohn:bambooJohn module/
7.4.9 usermod 修改用户
选项 |
功能 |
-g |
修改用户的初始登录组,给定的组必须存在。默认组id是1。 |
[root@hadoop101 opt]#usermod -g root zhubajie
7.5 用户组管理命令
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,
如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。
7.5.1 groupadd 新增组
[root@hadoop101 opt]#groupadd xitianqujing
7.5.2 groupdel 删除组
[root@hadoop101 opt]# groupdel xitianqujing
7.5.3 groupmod 修改组
选项 |
功能描述 |
-n<新组名> |
指定工作组的新组名 |
[root@hadoop101 ~]#groupadd xitianqujing
[root@hadoop101 ~]# groupmod -n xitian xitianqujing
7.5.4 cat /etc/group 查看创建了哪些组
[root@hadoop101 atguigu]# cat /etc/group
7.6 文件权限类
7.6.1 文件属性
如果没有权限,就会出现减号[ - ]而已。从左至右用0-9这些数字来表示:
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等
(2)第1-3位确定属主(该文件的所有者)拥有该文件的权限。---User
(3)第4-6位确定属组(所有者的同组用户)拥有该文件的权限,---Group
(4)第7-9位确定其他用户拥有该文件的权限 ---Other
[ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.
[ r ]代表可读(read): 可以读取,ls查看目录内容
[ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录
-rw-------. 1 root root 1248 1月 8 17:36 anaconda-ks.cfg
drwxr-xr-x. 2 root root 4096 1月 12 14:02 dssz
lrwxrwxrwx. 1 root root 20 1月 12 14:32 houzi -> xiyou/dssz/houge.tx
(1)如果查看到是文件:链接数指的是硬链接个数。创建硬链接方法
[root@hadoop101 ~]# ln xiyou/dssz/houge.txt ./hg.txt
[root@hadoop101 ~]# ls -al xiyou/
drwxr-xr-x. 4 root root 4096 1月 12 14:00 .
dr-xr-x---. 29 root root 4096 1月 12 14:32 ..
drwxr-xr-x. 2 root root 4096 1月 12 14:30 dssz
drwxr-xr-x. 2 root root 4096 1月 12 14:04 mingjie
7.6.2 chmod 改变权限
chmod [{ugoa}{+-=}{rwx}] 文件或目录
u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和)
[root@hadoop101 ~]# cp xiyou/dssz/houge.txt ./
[root@hadoop101 ~]# chmod u+x houge.txt
[root@hadoop101 ~]# chmod g+x houge.txt
[root@hadoop101 ~]# chmod u-x,o+x houge.txt
(4)采用数字的方式,设置文件所有者、所属组、其他用户都具有可读可写可执行权限。
[root@hadoop101 ~]# chmod 777 houge.txt
(5)修改整个文件夹里面的所有文件的所有者、所属组、其他用户都具有可读可写可执行权限。
[root@hadoop101 ~]# chmod -R 777 xiyou/
7.6.3 chown 改变所有者
chown [选项] [最终用户] [文件或目录] (功能描述:改变文件或者目录的所有者)
选项 |
功能 |
-R |
递归操作 |
[root@hadoop101 ~]# chown bambooJohn houge.txt
-rwxrwxrwx. 1 bambooJohn root 551 5月 23 13:02 houge.txt
drwxrwxrwx. 2 root root 4096 9月 3 21:20 xiyou
[root@hadoop101 xiyou]# chown -R bambooJohn:bambooJohn xiyou/
drwxrwxrwx. 2 bambooJohn bambooJohn 4096 9月 3 21:20 xiyou
7.6.4 chgrp 改变所属组
chgrp [最终用户组] [文件或目录] (功能描述:改变文件或者目录的所属组)
[root@hadoop101 ~]# chgrp root houge.txt
-rwxrwxrwx. 1 bambooJohn root 551 5月 23 13:02 houge.txt
7.7 搜索查找类
7.7.1 find 查找文件或者目录
find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端。
选项 |
功能 |
-name<查询方式> |
按照指定的文件名查找模式查找文件 |
-user<用户名> |
查找属于指定用户名所有文件 |
-size<文件大小> |
按照指定的文件大小查找文件,单位为: b —— 块(512字节) c —— 字节 w —— 字(2字节) k —— 千字节 M —— 兆字节 G —— 吉字节 |
(1)按文件名:根据名称查找/目录下的filename.txt文件。
[root@hadoop101 ~]# find xiyou/ -name *.txt
(2)按拥有者:查找/opt目录下,用户名称为-user的文件
[root@hadoop101 ~]# find xiyou/ -user bambooJohn
(3)按文件大小:在/home目录下查找大于200m的文件(+n 大于 -n小于 n等于)
[root@hadoop101 ~]find /home -size +204800
7.7.2 locate快速定位文件路径
由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。
7.7.3 grep 过滤查找及“|”管道符
管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理
选项 |
功能 |
-n |
显示匹配行及行号。 |
[root@hadoop101 ~]# ls | grep -n test
7.8 压缩和解压类
7.8.1 gzip/gunzip 压缩
gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz文件)
[root@hadoop101 ~]# gzip houge.txt
[root@hadoop101 ~]# gunzip houge.txt.gz
7.8.2 zip/unzip 压缩
zip [选项] XXX.zip 将要压缩的内容 (功能描述:压缩文件和目录的命令)
unzip [选项] XXX.zip (功能描述:解压缩文件)
zip选项 |
功能 |
-r |
压缩目录 |
unzip选项 |
功能 |
-d<目录> |
指定解压后文件的存放目录 |
zip 压缩命令在window/linux都通用,可以压缩目录且保留源文件。
(1)压缩 1.txt 和2.txt,压缩后的名称为mypackage.zip
[root@hadoop101 opt]# touch bailongma.txt
[root@hadoop101 ~]# zip mypackage.zip houge.txt bailongma.txt
adding: bailongma.txt (stored 0%)
houge.txt bailongma.txt houma.zip
[root@hadoop101 ~]# unzip mypackage.zip
houge.txt bailongma.txt houma.zip
[root@hadoop101 ~]# unzip houma.zip -d /opt
7.8.3 tar 打包
tar [选项] XXX.tar.gz 将要打包进去的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)
选项 |
功能 |
-c |
产生.tar打包文件 |
-v |
显示详细信息 |
-f |
指定压缩后的文件名 |
-z |
打包同时压缩 |
-x |
解包.tar文件 |
[root@hadoop101 opt]# tar -zcvf houma.tar.gz houge.txt bailongma.txt
houma.tar.gz houge.txt bailongma.txt
[root@hadoop101 ~]# tar -zcvf xiyou.tar.gz xiyou/
[root@hadoop101 ~]# tar -zxvf houma.tar.gz
[root@hadoop101 ~]# tar -zxvf xiyou.tar.gz -C /opt
7.9 磁盘分区类
7.9.1 df 查看磁盘空间使用情况
df 选项 (功能描述:列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况)
选项 |
功能 |
-h |
以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示; |
Filesystem Size Used Avail Use% Mounted on
tmpfs 939M 224K 939M 1% /dev/shm
/dev/sda1 190M 39M 142M 22% /boot
7.9.2 fdisk 查看分区
选项 |
功能 |
-l |
显示所有硬盘的分区列表 |
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 26 204800 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 26 1332 10485760 83 Linux
/dev/sda3 1332 1593 2097152 82 Linux swap / Solaris
7.9.3 lsblk 查看设备挂载情况
选项 |
功能 |
-f |
查看详细的设备挂载情况,显示文件系统信息 |
7.9.4 mount/umount 挂载/卸载
对于Linux用户来讲,不论有几个分区,分别分给哪一个目录使用,它总归就是一个根目录、一个独立且唯一的文件结构。
mount [-t vfstype] [-o options] device dir (功能描述:挂载设备)
参数 |
功能 |
-t vfstype |
指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有: 光盘或光盘镜像:iso9660 DOS fat16文件系统:msdos Windows 9x fat32文件系统:vfat Windows NT ntfs文件系统:ntfs Mount Windows文件网络共享:smbfs UNIX(LINUX) 文件网络共享:nfs |
-o options |
主要用来描述设备或档案的挂接方式。常用的参数有: loop:用来把一个文件当成硬盘分区挂接上系统 ro:采用只读方式挂接设备 rw:采用读写方式挂接设备 iocharset:指定访问文件系统所用字符集 |
device |
要挂接(mount)的设备 |
dir |
设备在系统上的挂接点(mount point) |
[root@hadoop101 ~]# mkdir /mnt/cdrom/ 建立挂载点
[root@hadoop101 ~]# mount -t iso9660 /dev/cdrom /mnt/cdrom/ 设备/dev/cdrom挂载到 挂载点 : /mnt/cdrom中
[root@hadoop101 ~]# ll /mnt/cdrom/
[root@hadoop101 ~]# umount /mnt/cdrom
[root@hadoop101 ~]# vi /etc/fstab
7.10 进程线程类
进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。
7.10.1 ps 查看当前系统进程状态
ps -aux | grep xxx (功能描述:查看系统中所有进程)
ps -ef | grep xxx (功能描述:可以查看子父进程之间的关系)
选项 |
功能 |
-a |
选择所有进程 |
-u |
显示所有用户的所有进程 |
-x |
显示没有终端的进程 |
%CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源;
%MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源;
TTY:该进程是在哪个终端中运行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-255代表虚拟终端。
STAT:进程状态。常见的状态有:R:运行、S:睡眠、T:停止状态、s:包含子进程、+:位于后台
C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高
[root@hadoop101 datas]# ps aux
[root@hadoop101 datas]# ps -ef
7.10.2 kill 终止进程
kill [选项] 进程号 (功能描述:通过进程号杀死进程)
killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)
选项 |
功能 |
-9 |
表示强迫进程立即停止 |
[root@hadoop101 桌面]# kill -9 5102
[root@hadoop101 桌面]# killall firefox
7.10.3 pstree 查看进程树
选项 |
功能 |
-p |
显示进程的PID |
-u |
显示进程的所属用户 |
[root@hadoop101 datas]# pstree -p
[root@hadoop101 datas]# pstree -u
7.10.4 top 查看系统健康状态
选项 |
功能 |
-d 秒数 |
指定top命令每隔几秒更新。默认是3秒在top命令的交互模式当中可以执行的命令: |
-i |
使top不显示任何闲置或者僵死进程。 |
-p |
通过指定监控进程ID来仅仅监控某个进程的状态。 |
操作 |
功能 |
P |
以CPU使用率排序,默认就是此项 |
M |
以内存的使用率排序 |
N |
以PID排序 |
q |
退出top |
内容 |
说明 |
12:26:46 |
系统当前时间 |
up 1 day, 13:32 |
系统的运行时间,本机已经运行1天 13小时32分钟 |
2 users |
当前登录了两个用户 |
load average: 0.00, 0.00, 0.00 |
系统在之前1分钟,5分钟,15分钟的平均负载。一般认为小于1时,负载较小。如果大于1,系统已经超出负荷。 |
Tasks: 95 total |
系统中的进程总数 |
1 running |
正在运行的进程数 |
94 sleeping |
睡眠的进程 |
0 stopped |
正在停止的进程 |
0 zombie |
僵尸进程。如果不是0,需要手工检查僵尸进程 |
Cpu(s): 0.1%us |
用户模式占用的CPU百分比 |
0.1%sy |
系统模式占用的CPU百分比 |
0.0%ni |
改变过优先级的用户进程占用的CPU百分比 |
99.7%id |
空闲CPU的CPU百分比 |
0.1%wa |
等待输入/输出的进程的占用CPU百分比 |
0.0%hi |
硬中断请求服务占用的CPU百分比 |
0.1%si |
软中断请求服务占用的CPU百分比 |
0.0%st |
st(Steal time)虚拟时间百分比。就是当有虚拟机时,虚拟CPU等待实际CPU的时间百分比。 |
Mem: 625344k total |
物理内存的总量,单位KB |
571504k used |
已经使用的物理内存数量 |
53840k free |
空闲的物理内存数量,我们使用的是虚拟机,总共只分配了628MB内存,所以只有53MB的空闲内存了 |
65800k buffers |
作为缓冲的内存数量 |
Swap: 524280k total |
交换分区(虚拟内存)的总大小 |
0k used |
已经使用的交互分区的大小 |
524280k free |
空闲交换分区的大小 |
409280k cached |
作为缓存的交互分区的大小 |
[root@hadoop101 bambooJohn]# top -d 1
[root@hadoop101 bambooJohn]# top -i
[root@hadoop101 bambooJohn]# top -p 2575
执行上述命令后,可以按P、M、N对查询出的进程结果进行排序。
7.10.5 netstat 显示网络统计信息和端口占用情况
netstat -anp |grep 进程号 (功能描述:查看该进程网络信息)
netstat -nlp | grep 端口号 (功能描述:查看网络端口号占用情况)
选项 |
功能 |
-n |
拒绝显示别名,能显示数字的全部转化成数字 |
-l |
仅列出有在listen(监听)的服务状态 |
-p |
表示显示哪个进程在调用 |
[root@hadoop101 hadoop-2.7.2]# netstat -anp | grep 火狐浏览器进程号
unix 2 [ ACC ] STREAM LISTENING 20670 3115/firefox /tmp/orbit-root/linc-c2b-0-5734667cbe29
unix 3 [ ] STREAM CONNECTED 20673 3115/firefox /tmp/orbit-root/linc-c2b-0-5734667cbe29
unix 3 [ ] STREAM CONNECTED 20668 3115/firefox
unix 3 [ ] STREAM CONNECTED 20666 3115/firefox
[root@hadoop101 桌面]# netstat -nlp | grep 20670
unix 2 [ ACC ] STREAM LISTENING 20670 3115/firefox /tmp/orbit-root/linc-c2b-0-5734667cbe29
7.11 crontab 系统定时任务
7.11.1 crontab 服务管理
[root@hadoop101 ~]# service crond restart
7.11.2 crontab 定时任务设置
选项 |
功能 |
-e |
编辑crontab定时任务 |
-l |
查询crontab任务 |
-r |
删除当前用户所有的crontab任务 |
[root@hadoop101 ~]# crontab -e
(1)进入crontab编辑界面。会打开vim编辑你的工作。
项目 |
含义 |
范围 |
第一个“*” |
一小时当中的第几分钟 |
0-59 |
第二个“*” |
一天当中的第几小时 |
0-23 |
第三个“*” |
一个月当中的第几天 |
1-31 |
第四个“*” |
一年当中的第几月 |
1-12 |
第五个“*” |
一周当中的星期几 |
0-7(0和7都代表星期日) |
特殊符号 |
含义 |
* |
代表任何时间。比如第一个“*”就代表一小时中每分钟都执行一次的意思。 |
, |
代表不连续的时间。比如“0 8,12,16 * * * 命令”,就代表在每天的8点0分,12点0分,16点0分都执行一次命令 |
- |
代表连续的时间范围。比如“0 5 * * 1-6命令”,代表在周一到周六的凌晨5点0分执行命令 |
*/n |
代表每隔多久执行一次。比如“*/10 * * * * 命令”,代表每隔10分钟就执行一遍命令 |
时间 |
含义 |
45 22 * * * 命令 |
在22点45分执行命令 |
0 17 * * 1 命令 |
每周1 的17点0分执行命令 |
0 5 1,15 * * 命令 |
每月1号和15号的凌晨5点0分执行命令 |
40 4 * * 1-5 命令 |
每周一到周五的凌晨4点40分执行命令 |
*/10 4 * * * 命令 |
每天的凌晨4点,每隔10分钟执行一次命令 |
0 0 1,15 * 1 命令 |
每月1号和15号,每周1的0点0分都会执行命令。注意:星期几和几号最好不要同时出现,因为他们定义的都是天。非常容易让管理员混乱。 |
(1)每隔1分钟,向/root/bailongma.txt文件中添加一个11的数字
*/1 * * * * /bin/echo ”11” >> /root/bailongma.txt
第8章 软件包管理
8.1 RPM
8.1.1 RPM概述
RPM(RedHat Package Manager),RedHat软件包管理工具,类似windows里面的setup.exe
是Linux这系列操作系统里面的打包安装工具,它虽然是RedHat的标志,但理念是通用的。
8.1.2 RPM查询命令(rpm -qa)
由于软件包比较多,一般都会采取过滤。rpm -qa | grep rpm软件包
[root@hadoop101 Packages]# rpm -qa |grep firefox
firefox-45.0.1-1.el6.centos.x86_64
8.1.3 RPM卸载命令(rpm -e)
选项 |
功能 |
-e |
卸载软件包 |
--nodeps |
卸载软件时,不检查依赖。这样的话,那些使用该软件包的软件在此之后可能就不能正常工作了。 |
[root@hadoop101 Packages]# rpm -e firefox
8.1.4 RPM安装命令(rpm -ivh)
选项 |
功能 |
-i |
-i=install,安装 |
-v |
-v=verbose,显示详细信息 |
-h |
-h=hash,进度条 |
--nodeps |
--nodeps,不检测依赖进度 |
[root@hadoop101 Packages]# pwd
/media/CentOS_6.8_Final/Packages
[root@hadoop101 Packages]# rpm -ivh firefox-45.0.1-1.el6.centos.x86_64.rpm
Preparing... ########################################### [100%]
1:firefox ########################################### [100%]
8.2 YUM仓库配置
8.2.1 YUM概述
8.2.2 YUM的常用命令
选项 |
功能 |
-y |
对所有提问都回答“yes” |
参数 |
功能 |
install |
安装rpm软件包 |
update |
更新rpm软件包 |
check-update |
检查是否有可用的更新rpm软件包 |
remove |
删除指定的rpm软件包 |
list |
显示软件包信息 |
clean |
清理yum过期的缓存 |
deplist |
显示yum软件包的所有依赖关系 |
[root@hadoop101 ~]#yum -y install firefox.x86_64
8.2.3 修改网络YUM源
默认的系统YUM源,需要连接国外apache网站,网速比较慢,可以修改关联的网络YUM源为国内镜像的网站,比如网易163,aliyun等
[root@hadoop101 ~] yum install wget
[root@hadoop101 yum.repos.d] pwd
[root@hadoop101 yum.repos.d] cp CentOS-Base.repo CentOS-Base
[root@hadoop101 yum.repos.d] wget
http://mirrors.aliyun.com/repo/Centos-7.repo //阿里云
[root@hadoop101 yum.repos.d] wget
http://mirrors.163.com/.help/CentOS7-Base-163.repo //网易163
例如:用CentOS7-Base-163.repo替换CentOS-Base.repo
[root@hadoop101 yum.repos.d]# mv CentOS7-Base-163.repo CentOS-Base.repo
[root@hadoop101 yum.repos.d]#yum clean all
[root@hadoop101 yum.repos.d]#yum makecache
yum makecache就是把服务器的包信息下载到本地电脑缓存起来
[root@hadoop101 yum.repos.d]# yum list | grep firefox
[root@hadoop101 ~]#yum -y install firefox.x86_64
第9章 克隆虚拟机
9.1 克隆
9.2 开机修改系统相关配置
vim /etc/sysconfig/network-scripts/ifcfg-eth0
第10章 常见错误及解决方案
第11章 企业真实面试题
11.1 百度&考满分
参考答案:find、df、tar、ps、top、netstat等。(尽量说一些高级命令)
11.2 瓜子二手车
问题:Linux查看内存、磁盘存储、io 读写、端口占用、进程等命令
3、查 看磁盘IO读写情况:iotop(需要安装一下:yum install iotop)、iotop -o(直接查看输出比较高的磁盘读写程序)
4、查看端口占用情况:netstat -tunlp | grep 端口号
大数据技术之Linux相关推荐
- 大数据技术之 Linux 基础
一.Linux 入门概述 概述 Linux 内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的. Linux 是一套免费使用和自由传播的类 Un ...
- 三、大数据技术之Linux下篇(linux学习)
centos镜像地址 网易镜像: http://mirrors.163.com/centos/7/isos/ 搜狐镜像: http://mirrors.sohu.com/centos/7/isos/ ...
- 大数据技术学习之Linux学习
大数据技术之Linux 学习目标: 了解Linux的发展历程(概述) VM虚拟机和Linux的安装 (熟练掌握) 掌握Linux的文件目录结构 熟练掌握Linux中的文本编辑器 - VI/VIM(重点 ...
- Linux之大数据技术(三):SecureCRT中文乱码解决方法
大数据技术之SecureCRT中文乱码解决方法 6.3 SecureCRT中文乱码解决方法 1)重新查看会话,是否中文显示正常 2)依然无法正常显示中文,可能是由于Linux系统中默认的字符编码非UT ...
- 《Spark大数据分析:核心概念、技术及实践》大数据技术一览
本节书摘来自华章出版社<Spark大数据分析:核心概念.技术及实践>一书中的第1章,第1节,作者穆罕默德·古勒(Mohammed Guller)更多章节内容可以访问云栖社区"华章 ...
- 大数据技术学习路线,有信心能坚持学习的朋友,从现在开始吧
如果你看完有信心能坚持学习的话,那就当下开始行动吧! 推荐下我自己建的大数据学习交流群:199427210,群里都是学大数据开发的,如果你正在学习大数据 ,小编欢迎你加入,大家都是软件开发党,不定期分 ...
- 一篇文章详解大数据技术和应用场景
" 本文作者 陈睿 ,优知学院创始人 新技术.新趋势往往趋之若鹜却又很难说的透彻,希望这篇文章能让大家完整的理解什么是大数据:该篇包含:大数据.技术.场景应用以及大数据的岗位. 什么是大数据 ...
- gblfy大数据技术之安装CentOS系列
gblfy大数据技术之安装CentOS系列 1检查BIOS虚拟化支持(可以先执行第二步,如果不支持再回来设置) 2新建虚拟机 3新建虚拟机向导 4创建虚拟空白光盘 5安装Linux系统对应的CentO ...
- axure9数据统计插件_WMDA:大数据技术栈的综合实践
一.概述 WMDA是58自主开发的用户行为分析产品,同时也是一款支持无埋点的数据采集产品,只需要在第一次使用的时候加载一段SDK代码,即可采集全量.实时的PC.M.APP三端以及小程序的用户行为数据. ...
最新文章
- 模型加速--LCNN: Lookup-based Convolutional Neural Network
- 策略模式优化过多的IF ELSE
- 大数据学习——虚拟机准备(改主机名)
- java包名和类名可以一样吗_Java入门第三课:Java基本语法
- NASA的10条代码编写原则
- 【概念的辨异】—— ISO C 与 POSIX C(C standard library 与 C POSIX library)
- vivo手机如何开启云服务器,怎么开启vivo手机中的云服务自动备份功能
- 苹果笔记本适合什么人 中国Mac电脑用户的8个事实
- xp计算机设置密码6,如何设置开机密码_xp系统电脑设置开机密码的方法 - 驱动管家...
- weblogic启动慢原因
- Linux回到桌面快捷键
- linux 添加sbit权限,Linux特殊权限SUID、SGID、SBIT
- WPF 逻辑树和可视化树
- 如何消除你的情绪、戾气与恶念
- 用JQuery写一个斗地主发牌器
- supervisor原理及如何使用
- 佐治亚理工计算机科学专业排名,2020年佐治亚理工学院排名TFE Times美国最佳计算机科学硕士专业排名第6...
- 大数据、大地图与地理信息产业的发展_孙世友
- 开源操作系统下\bin文件和\lib的区别
- 李雅普诺夫方程以及MATLAB函数求解