用户是权限的集合。
组:用户组,组织和管理用户。
管理员用户: root uid(0)
系统用户: 保证系统运行用户,没有密码(uid:1-499)
普通用户: 自定义用户,用户权力受限(uid:500-60000)
文件: /etc/passwd /etc/shadow
root: 用户名
x: 密码占位符
0: 用户id
0: 组id
root: 说明信息
/root: 家目录
/bin/bash: shell类型
添加用户: useradd 用户(默认分配组,说明信息无)
passwd 用户:修改密码
修改用户: usermod -c:设置说明 -G:指定组
usermod -c spark11 spark
usermod -G hadoop spark
删除用户: userdel -r spark
系统组: 存放系统用户
普通组: 存放普通用户
私有组: 创建用户时创建同名的组,此时该组只有一个用户就是私有组;如果向该组添加其他用户就变为普通组。
cat /etc/group cat /etc/gshadow
创建组: groupadd
修改组: groupmod -n:修改名称
删除组: groupdel
添加和删除用户:
gpasswd -a hadoop spark:添加用户到组
gpasswd -d hadoop spark:从组中删除用户
Allow root to run any commands anywhere
root ALL=(ALL) ALL
hadoop ALL=(ALL) ALL
sudo useradd aa
drwxr-xr-x.: 文件类型和权限
2 :链接数(普通文件:连接数1 文件夹:链接数是子目录个数)
root: 所属用户
root: 所属组
4096: 大小
Apr 18 15:17:时间
Desktop: 文件名称
d:文件类型 (-:普通文件 d:目录 l:链接文件 b:二进制 c:字符设备文件)
rwx r-x r-x: 文件权限
u g o
u:所属用户权限
g:所属组权限
o:其他用户
r: 可读 w:可写 x:可执行
普通文件:
目录: 可以ls 增删 可以cd
u r
chmod g +/-/=(设置) w 文件
o x
a
chmod 755 文件
chown 用户名:组 文件
gzip 文件列表
gzip -d 压缩包: 解压缩
tar -cvf a.tar 文件列表
解包: tar -xvf a.tar -C 目录
tar -zcvf a.tar.gz 文件列表
tar -zxvf a.tar.gz -C 目录
apache的web服务器进程名称(httpd), 默认端口80.
安装Desktop版中,默认安装http服务器。
service httpd status
service --status-all | grep httpd
chkconfig httpd on:开机自启
(关闭虚拟机防火墙:service iptables stop 设置开机关闭:chkconfig iptables off)
http://hadoop01/
/var/www/html/
/etc/httpd/conf.d/
将设备文件连接到一个已经存在目录。
挂载源: 设备文件
挂载点: 存在目录
mount -t(文件系统) iso9660/ext4 -o(挂载方式) ro(只读)/loop(磁盘分区) 挂载源 挂载点
挂载源: /dev/sr0(cdrom)
挂载点: /mnt/cdrom
mount -t iso9660 -o ro /dev/sr0 /mnt/cdrom/
vim /etc/fstab
/dev/sr0 /mnt/cdrom iso9660 ro 0 0
unmount 挂载点
service 服务 status/start/stop/restart/reload...
service --status-all | grep 服务
chkconfig 服务 on/off
chkconfig --list | grep iptables:查看各种系统启动级别下状态
chkconfig --level 24 httpd off :设置不同系统启动级别下开机状态
cat /etc/sysconfig/clock
时区文件: /etc/localtime
修改:
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
date
date -R
date "+%Y-%m-%d %H:%M:%S"
date -s "2019-04-19 16:57:20"
date "mmddHHMMYYYY.SS"
同步网络时间: ntpdate 时间服务器地址
ntpdate ntp2.aliyun.com
查询: rpm -q 程序包
rpm -qa | grep -i(不区分大小写) 程序
-l:查询安装位置
卸载:
rpm -e 程序名称
--force:强制卸载
--nodeps: 不考虑依赖
安装:
rpm --ivh 程序(显示进度和过程)
yum install -y 程序
yum remove -y 程序
yum源: 本质web服务器+rpm软件包+索引文件
yum源目录: /etc/yum.repos.d/
1.1 web服务器(httpd)
1.2 iso镜像挂载文件
ln -s /mnt/cdrom/ /var/www/html/cdrom
2.在/etc/yum.repos.d/配置repo文件
[local]
name=CentOS-$releasever - Local
baseurl=http://192.168.2.101/cdrom/
gpgcheck=0
enabled=1
3.检测
yum repolist:查看yum仓库列表
yum list:查看当前能够安装程序列表
程序: 静态 (数据结构+算法)
进程: 程序的运行状态,动态的(一个程序可能有多个进程)
线程: 进程中执行任务最小单元
进程在运行过程中可能会产生新的进程,进程之间产生父子关系。
产生进程的进程称为父进程;被产生的进程称为子进程。
就绪状态: 除了cpu之外其他资源已具备
运行状态: 获取到cpu的时间片
阻塞状态: io阻塞操作
ps: 查看进程运行状态(cpu,资源,pid,当前状态等)
ps -aux:查看所有用户的所有进程
pstree: 查看进程树(能够查看进程继承关系 -p:能够查看pid)
top: 查看进程状态(定期更新状态)
jps: 查看jvm进程(jdk中的)
kill pid:杀死进程
kill -9 pid:强制杀死进程
pkill pname:杀死进程
pidof pname:根据名称获取pid
ctrl+c: 终止进程(只能终止前端进程)
ctrl+z: 挂起进程
fg: 切换为前台进程
bg: 切换为后台进程
jobs: 查看任务
at: 服务名称atd, 指定时刻或者延迟指定时间执行一次任务。
crontab: 服务名称crond,间隔固定时间周期执行。分时日月周
-u:指定用户
-e:编辑计划任务文件
-l:查看计划任务
-r:删除计划任务
-i:删除时用于提示
* * * * * command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时0~23(0表示0点) 7-9表示:7点到9点之间
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
/var/spool/cron/
保留虚拟机的状态(备份)
vim /etc/udev/rules.d/70-persistent-net.rules
删除eth0设备,修改eth1名称为eth0.
00:0c:29:7b:5b:d5
00:0c:29:c7:8c:63
vim /etc/sysconfig/network-scripts/ifcfg-eth0
删除uuid
修改mac地址
修改ip地址
/etc/sysconfig/network
/etc/hosts
安全外壳协议,主要目标实现计算机之间加密安全访问.
ssh程序包含两个部分:
ssh服务端: sshd的守护程序,占22号端口。
ssh客户端: ssh程序,scp(远程拷贝),slogin(远程登录),sftp(远程数据传输)等
1.基于口令认证(用户名和密码)
2.基于秘钥认证
ssh-keygen
ssh-copy-id hadoop01
文本搜索并打印匹配行,支持正则表达式
-c:统计匹配行数
-i:忽略大小写
-v:取反
grep 字符串 文件: grep a a.txt
cat a.txt | grep a
grep -c b a.txt
rpm -qa | grep -i mysql
grep -v a a.txt
yum -y install gcc