目录 |
作用 |
/ |
Linux系统的根目录,一般只存放目录 |
/bin和/usr/bin |
命令(二进制)文件目录,包含可供root用户和普通用户所使用的Linux命令和二进制文件,包含shell解析器等 |
/boot |
系统引导和内核目录,存放引导装载文件 |
/dev |
设备目录,存放各个硬件设备的信息,例如光驱、硬盘等 |
/etc |
系统级别的配置文件存放的目录,一般由配置管理员来使用 |
/home |
所有普通用户的家目录 |
/lib、/usr/lib、 /usr/local/lib |
系统使用的函数库的目录 |
/lost+fount |
在ext2和ext3文件系统中,系统崩溃时记录信息的目录 |
/opt |
给主机额外安装软件所摆放的目录 |
/proc |
重要的需要放置在内存中的数据 |
/root |
root用户的的根目录 |
/sbin、/usr/sbin /usr/local/sbin |
放置的是系统管理员(root)才能使用的命令,普通用户只能进行查看,而/bin目录中的命令普通用户也可以使用 |
/tmp |
存放应用程序产生的临时数据不能在此目录下存放重要数据 |
/var |
系统一般运行时需要改变的数据 |
/sys |
系统相关文件存放目录 |
/usr |
应用程序相关目录命令、函数库、共享包、内核源码 |
基本操作和命令
Ctrl+R 查找历史输入过的命令
Ctrl+C 终止或退出当前操作
①、自动补全命令或目录
②、在某个目录下只有一个目录的时候可以不用输入首字母直接敲table即可自动补全目录
③、双击table时一般为显示所有命令或者列出某个目录下的所有目录和文件
uname-a 显示系统及版本的所有信息
uname-r 显示内核版本
uname–m 显示计算机是多少位系统
cat/etc/redhat-release
hostname
ifconfigeth0 eth0第一网卡
date 查看时间
date -s "2015-5-8 19:48:00" 设置系统时间
执行tzselect命令-->选择Asia-->选择China-->选择east China - Beijing, Guangdong, Shanghai, etc-->
设置完后会出现Therefore TZ='Asia/Shanghai' will be used.
hwclock--systohc
ps -fe | grep redis 查看进程 管道过滤 redis的进行
ps -ef | grep java 检查java进程是否存在
//以下这条命令是检查java进程是否存在.
ps -ef |grep java
下面对命令选项进行说明:
-e 显示所有进程。
-f 全格式。
ps e 列出程序时,显示每个程序所使用的环境变量。
ps f 用ASCII字符显示树状结构,表达程序间的相互关系
grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
top -s
cmd1| cmd2 将cmd1输出结果交给cmd2命令来执行
grep //输出包含指定字符串的行
-i //忽略大小写
-v //取反
--color //突出显示查找字符串
reboot
init6
shutdown -h now
init 0
vi /etc/inittab 可以修改开始默认模式 id:5:initdefault: 将5改为3,之后开机默认是命令模式,可以init 5 进入图形界面
init 3 命令行模式
init 5 图形化
pstree
ps -aux
jps
kill -9 pid
①.在grub选项菜单按e进入编辑模式
②.编辑kernel那行 输入” 1”(空格1)
③.按B重启存的
④.进入后执行下列命令
root@#passwd root (配置root的密码)
Enter new unix password:输入新的密码
root@#init 6
wget http://192.168.21.41/lrzsz.rpm
df –h //显示磁盘分区信息
mkfs.ext3 /dev/sdb1 //格式化硬盘分区
fdisk -l //查看磁盘分区
fdisk /dev/sdb //硬盘分区51显示磁盘分区
进入 /media(媒体) 文件夹,在里面创建upan文件夹 mkdir upan,然后进行挂载。
mount -t vfat /dev/sdb1 /media/umnt //挂载
umount /media/umnt //卸载
ext4 vfat
2.4 windows文件格式
fat32 ntfs
①、超级账户 root uid = 0
②、普通账户 uid > = 500
③、系统账户 uid = 1 ~ 499
/etc/passwd //保存账户的信息
/etc/shadow //保存账户密码信息
/root //root用户家目录
/home/xxx //普通用户xxx的家目录
useradd //创建用户
-u 指定uid
-d 指定宿主目录
-s 指定使用shell
-e 指定用户过期时间
-g 指定基本组
-G 指定附加组
useraddopenlab //创建openlab 用户
gpasswd-a openlab gropenlab //将用户加入到组中
gpasswd-d openlab gropenlab //将用户从组中删除
echo "123456" | passwd --stdin feige //不通过交互信息,直接改用户密码
userdel //删除用户 不删除用户文件
userdel-r //连主目录一起删除
id openlab //显示用户信息
groupadd manager 创建一个manager用户组
好处:可以统一的去管理用户
useradd -G manager tom 创建tom用户并分配到manager用户组
useradd -G manager tom2
passwd tom 更改tom 的密码 若不加passwd 更改的当前用户的密码
echo "root" | passwd - stdin root //不通过交互信息,直接改用户密码
userdel tom2
usermod -L tom2
su – admin 切换带admin用户
whoami
cat /etc/passwd
cat /etc/group
pwd 显示当前的位置
ls /home 显示home文件夹下的内容列表
ls –l /home 显示根目录下的home文件下的文件列表
ls -R /home R必须是大写
权限:读取\写入\可执行
归属关系:所有者\所属组\其他用户
-|rw-|---|---.1 root root 1771 4月 28 2015 anaconda-ks.cfg
①② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨
①:文件类型
- 文件
d 目录
l 链接
②:所有者权限(u)
r 读 4
w 写 2
x 执行 1
③:所属组权限(g)
r 读 4
w 写 2
x 执行 1
④:其他用户权限(o)
r 读 4
w 写 2
x 执行 1
⑤:所有者
⑥:所属组
⑦:文件大小
⑧:最后修改时间
⑨:文件名
mkdir /tmp/test01 //在根目录下的tmp文件夹中创建test01空文件夹
mkdir /data1/hadoop/hdfs/name -p //创建多级文件夹
touch /tmp/test01/file.txt //在根目录下的tmp文件夹中的test01文件夹创建空文件file.txt Linux 是没有后缀名字,自行加入为了更直观的区分
cp /tmp/file1.txt /opt //复制/tmp中的file1.txt文件到/opt中
cp-r /tmp/test01 /opt //递归的方式复制/tmp中的test01 文件夹到/opt中
mv/opt/test01 /tmp
mv/opt/file1.txt /tmp/file2.txt
rm file.txt //删除file.txt文件
rm-r data //删除data目录(递归式删除)
rm-f //强制删除
rm –rfdata //常用命令 不可恢复
cat-n //查看内容时显示行号
cat/etc/redhat-release //不显示行号
cat-n /etc/passwd //查看内容时显示行号
chmod 777 /data0/my.cnf
less/etc/passwd
tail //默认查看文件尾10行
head //默认查看文件头10行
-n 数字 //查看指定头几行
#tail /etc/passwd
#head /etc/passwd
#tail -n 2 /etc/passwd //查看文件末尾两行
#head -n 3 /etc/passwd
#head-n 12 /etc/passwd | tail -n 5
>先清空文件内容,后写入新的内容
#ls -l /root > /tmp/file1.txt
>>追加新的内容,旧的内容不会消除
#ls -l /root >> /tmp/file1.txt
echo"No Hello World..." //打印到屏幕
echo “hello word” /data0/my.cnf //打印到文件
echo “hello word” >> /data0/my.cnf //打印追加到文件
vimfile
:q //退出
:w //保存
:wq //保存退出
:q! //强制退出
tar
-c 打包
-x 解包
-f 必须要
-C 指定解包位置
-v 输出信息
-z 压缩
//将一个文件打包
# tar -cvf folder.tarfile1.txt
//将多个文件打成一个包
# tar -cvf folder.tarfile1.txt file2.txt
# tar –cvffile.tar *.jpg (常用方法)
//解包到当前目录
# tar -xvf folder.tar (常用方法)
//解包到指定目录
# tar -xvf folder.tar-C /home/sss
//将多个文件打包并压缩
# tar -zcvf file.tar.gzfolder1 floder2
//将文件解包并解压缩
# tar -zxvf file.tar.gz (常用方法)
//将/data0/内容包括子目录中内容备份至 /data3/data0.tar.gz
tar -zcvf /data3/data0.tartar.gz /data0
/data3/data0.tar.gz 至 /data2
tar -zxvf /data3/data0.tar.gz -C /data2
vi /etc/bashrc
在文件最后一行添加
alias cls=’clear’
保存退出后输入
source /etc/bashrc 生效
chown -r hadoop:hadoop /data3/data0.tar.gz
# which reboot
# locate httpd.conf //查找文件按所在
# updatedb //更新数据库,使之生效
# find / -name httpd.conf
# find / -name httpd.conf
find 路径 条件
# find / -name httpd.conf -exec ls -l {} \;
find 路径 条件 -exec cmd {} \;
# vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hadoop1 修改这里
别忘了重启文件
# service network restart
# hostname hadoop1 //临时修改
# vim /etc/hosts //解析文件
修改主机和IP之间的映射,因为程序之间是不记IP的只记主机名称,
192.168.10.11 hadoop1
web tcp 80
telnet tcp 23
ssh tcp 22
ftp tcp 20/21
smtp tcp 25
pop3 tcp 110
imap tcp 143
dns tcp/udp 53
可以参考/etc/services
查看防护墙状态
service iptables status
关闭
service iptables stop
查看防火墙开机启动状态
chkconfig iptables –list
关闭开机启动
chkconfig iptables off
vim/etc/udev/rules.d/70-persistent-net.rules
//eth0删掉 eth1改成eth0
克隆的虚拟机需要删母版的网卡
# vi/etc/sysconfig/network-scripts/ifcfg-eth0 注意MAC地址和UUID
DEVICE=eth0
TYPE=Ethernet
UUID=d06a4eee-dd5c-45e5-afbc-38a8a8440bd9
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
HWADDR=00:0C:29:74:E7:3E
IPADDR=192.168.10.11
PREFIX=24
GATEWAY=192.168.10.254
DNS1=192.168.10.254
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
# service networkrestart //别忘了重启文件
# vi /etc/profile //进入profile文件
exportJAVA_HOME=/home/bigdata/jdk/ //JDK安装路径
export HADOOP_HOME=/home/bigdata/hadoop/
exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:
export PATH=$PATH:$JAVA_HOME/bin:/home/bigdata/protoc/bin:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:
# source /etc/profile 使之生效
telnet:明文 ssh:加密 ssh 默认端口22
#ssh [email protected]
#ssh -l root 192.168.10.11
计算机A每次SSH远程连接计算机B时,都需要输入密码。当有些软件需要频繁使用SSH连接其他计算机时,这个时候需要人工填写计算机B的密码,这个会造成大量无用操作,不利于程序的使用。
在为了避免这类问题的发生,而且也要兼顾安全问题(设置SSH免密码登陆后,SSH这台计算就不需要密码即可登陆,存在安全隐患),使用公钥和私钥方式解决SSH免密码登陆问题,而且只在一边做,另一边不做,这样也达到了安全的问题。一般是那台机器需要SSH远程其他机器,就在这台机器上设置SSH免登陆操作。
"公私钥"认证方式简单的解释:首先在客户端上创建一对公私钥 (公钥文件:~/.ssh/id_rsa.pub; 私钥文件:~/.ssh/id_rsa)。然后把公钥放到服务器上(~/.ssh/authorized_keys), 自己保留好私钥.在使用ssh登录时,ssh程序会发送私钥去和服务器上的公钥做匹配.如果匹配成功就可以登录了。
ssh 无密码登录要使用公钥与私钥。linux下可以用ssh-keygen生成公钥/私钥对.
① 、在master机下生成公钥/私钥对。
# ssh-keygen -t rsa
连续按三次回车键就生成了钥匙
② 、追加到key文件当中
# cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys
③ 、将master机子上的key给其他机子上发送一份
# scp ~/.ssh/authorized_keysslave1:/root/.ssh/
# scp ~/.ssh/authorized_keysslave2:/root/.ssh/
远程的发送给其他机器,前面在点的隐藏文件或文件夹
④ 、测试
# ssh slave2 直接进入slave2不用密码
# exit 退出链接
1) 主机生成秘钥
# ssh-keygen -t rsa
2) 然后给每台机器拷贝一份,包括主机本身
# ssh-copy-id hadoop01
# ssh-copy-id hadoop02
# ssh-copy-id hadoop03
第一次拷贝需要送入密码
①传单个文件
scp/home/bigdata/jdk-7u79-linux-x64.tar.gz hadoop2:/home/bigdata/
//scp文件路径加文件名 接收方主机名字:保存路径
② 传送多个文件,用的是递归的方式
scp -r/home/bigdata/jdk1.7.0_79/ hadoop2:/home/bigdata/
#scp [email protected]:/root/love.txt /tmp/ //只发目录
#scp -P 30741 [email protected]:/tmp/love.txt /tmp //对指定端口发生文件
#scp -r /tmp/hadoop [email protected]:/tmp/ //目录下的所有文件
① 检查vmware上该虚拟机的网卡是否开启
② 检查vmware虚拟机的vm1网卡是否设置ip地址
③ 关闭NetworkManager网络管理服务
④ 关闭防火墙
⑤ 更改ip地址
⑥ 更改主机名称和主机映射
⑦ 使用连接工具(xshell)进行连接
⑧ 如果出现问题按照以上流程检查
克隆完需要改网卡,改IP,改UUID,改MAC地址,改主机名称
vi /etc/udev/rules.d/70-persistent-net.rules
将0网卡删了,因为他是母版机器的,然后将1网卡改成0
vi/etc/sysconfig/network-scripts/ifcfg-eth0
然后将MAC改了,MAC在克隆虚拟机的时候,会自动创建
Uuid随便改一个,改ip。
vi/etc/sysconfig/network 这个是改主机名字
NETWORKING=yes
HOSTNAME=hadoop2 修改这里
vi /etc/hosts hosts这个是改映射文件,主机和IP之间的映射,因为程序之间是不记IP的只记主机名称
192.168.10.11hadoop1
192.168.10.12 hadoop2
init 6 重启机器
1.Linux安装软件有三种方式
tar 减压安装
rpm –ivh xxx.rpm 安装包安装,不需要联网
yum 联网下载安装
rpm -qa 可以查看安装的软件
# rpm -qa|grep ntp 查找有ntp的安装