# Linux常用命令
## 1.日常操作指令
### 1.pwd
> 查看当前所在的目录
### 2.date
> 查看当前系统时间
### 3.who last
> who 查看当前在线 (whoami查看当前登录的用户)
>
> last 查看最近的登录历史
### 4.ls
> ls / 查看根目录下的所有内容
>
> ls -l 以列表的方式展示 -a 显示隐藏文件 -h 显示文件大小
>
> ll 用的比较多 查看根目录下的所以内容
## 2.常用操作
### 1.创建文件夹
> 创建文件 。
>
> mkdir abc 相对路径的写法
>
> mkdir /home/bb 在home目录下建一个文件夹bb
>
> mkdir -p aaa/bbb/ccc 可以创建多层文件
>
> mkdir /data 绝对路径的写法
### 2.删除文件夹
> rmdir 可以删除空目录
>
> rm -r aaa 可以把整个文件夹以及其中所有的子节点删除。(带有删除提示)
>
> rm:是否进入目录"aaa"? yesrm:是否进入目录"aaa/bbb"? yesrm:是否删除目录 "aaa/bbb/ccc"?yesrm:是否删除目录 "aaa/bbb"?yesrm:是否删除目录 "aaa"?yes
>
> 注意:r表示递归。
>
> rm -rf aaa 强制删除(无提示)
>
> rm -rf /home/bb删除home文件夹下的bb文件夹
### 3.修改文件夹名称
> mv aaa hhh 修改文件名称
>
> mv file.1 /data/hello.1 移动文件到指定目录并修改文件名
### 4.拷贝目录
要拷贝一个目录需要使用 cp 命令,语法:cp -r 目录名称 拷贝的目标位置。
cp -r aaa /home 将aaa文件夹复制到home文件夹下
cp /file.1 /aaa 将file.1文件复制到aaa文件夹下
需要注意的是,cp 命令不仅可以拷贝目录还可以拷贝文件,压缩包等,拷贝文件和压缩包时不用写-r 递归
### 5.创建文件
> touch file.1 创建一个空文件
>
> echo "hello linux ..." > file.1 利用重定向将输出内容写入到file.1文件中
>
> echo "bye,bye!" >> file.1 将指定内容重定向到目标,不覆盖原有内容
>
> (> 会覆盖文件原有内容,>> 在文件原有内容的基础上进行追加)
>
> 可以使用cat 命令查看文件内容。
>
> vi /file.1 cat /file.1
>
> ls > file.2 也是可以的,关于>用法:只要前面有输出内容都可以重定向到后面的文件中
`使用vi创建文件:`
> vi file.3
>
> 1.一般模式:只接受快捷键 ,进入vi编辑器的默认模式。
>
> `gg:`直接跳到首行
>
> `G:`直接跳到尾行
>
> `i:`进入编辑模式
>
> `a:`在光标的后一位开始插入
>
> `A:`在该行的最后插入
>
> `dd:`删除当前行 3dd 一次删除光标后3行
>
> `yy:`复制当前行 3yy 一次复制3行 `p:`进行粘贴
>
> `v Ctrl+v Shift+v:`分别对应字符模式,块模式,行模式。该模式下y复制,p粘贴
>
> 2.编辑模式:Esc退出编辑模式回到一般模式。
>
> 3.底行模式 : 输入: 表示进入底行模式。
>
> `%s/haha/sbsbsb:`查到所有haha字符并替换成sbsbsb
>
> `/指定内容:`直接查找到指定内容
>
> `wq` 保存文件并退出vi
>
> `wq!` 强制保存文件,并退出vi
>
> q!强制退出
>
> `e!` 放弃所有修改,从上次保存文件开始再编辑
yum如何安装vim #yum install vim -y #reboot
文件的查看:在 Linux 系统中查看文件可以使用 cat,more,less.tail 命令。
使用 more 查看/etc/sudo.conf 文件,,可以显示百分比,回车可以向下一行, 空格可以向下一页,q 可以退出查看。(例如:more /etc/sudo.conf)
### 6.文件权限操作
> 权限解读:drwxr-xr-x
>
> d:标识节点类型(d:文件夹 -:文件 l:链接)
>
> r:可读 w:可写 x:可执行
>
> 第一组rwx: 表示这个文件的拥有者对它的权限
>
> 第二组rwx: 表示这个文件的所属组对它的权限
>
> 第三组rwx: 表示这个文件的其他用户(相对于上面两类用户)对它的权限
>
> 修改权限
文件的类型:d:代表目录\-:代表文件l:代表链接(类似于 window 中的快捷方式)后面的 9 位分为 3 组,每 3 位置一组,分别代表属主的权限,与当前用户同组的用户的权限,其他用户的权限。r:代表权限是可读,r 也可以用数字 4 表示 w:代表权限是可写,w 也可以用数字 2 表示x:代表权限是可执行,x 也可以用数字 1 表示
rwx --7
修改文件/目录的权限的命令:chmod 命令
> 第一种写法:chmod 777 /file.1 ll / -rwxrwxrwx. 1 root root 59 11月 20 03:16 file.1
>
> 第二种写法:chmod u=rwx,g=rwx,o=rwx /file.1
### 7.基本用户管理
> 1、添加用户
>
> useradd 用户名
>
> passwd 密码
>
> 2、用户的切换
>
> su 用户名 切换成指定用户
>
> su 切换成root
>
> sudo 执行当前命令的时候使用root权限
>
> 权限配置的文件在/etc/sudoers文件中
>
> 3、主机名称
>
> hostname 查看主机名称
>
> /etc/sysconfig/network 可以永久修改主机名称
>
> 4、IP地址修改
>
> ifconfig 查看ip信息
>
> /etc/sysconfig/network-scripts/ifcfg-eth0
### 8.挂载
> rpm是由红帽公司开发的软件包管理方式,使用rpm我们可以方便的进行软件的安装、查询、卸载、升级等工作。 但是rpm软件包之间的依赖性问题往往会很繁琐,尤其是软件由多个rpm包组成时。
>
> Yum 能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
>
> 1.当有图形化界面的时候,会自动挂载到/media文件夹中,里面的packages就有我们需要的各种rpm安装包
>
> 2.当我们安装非图形化界面的Linux后则需要手动挂载
>
> 1.首先创建挂载后存放光盘内容的目录。
>
> mkdir /mnt/cdrom
>
> 2.使用挂载命令,将光盘中的内容挂载到指定目录。
>
> mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom
>
> (-t 表示文件系统的设备类型,iso9660 为光盘。)
>
> (-o 表示文件挂上来后的模式,是可读还是可写 ro 只读)
>
> 3.取消挂载
>
> umount /mnt/cdrom
### 9.查看文件大小
> du -s /opt 查看汇总之后的文件大小
>
> du -sh /opt 查看汇总之后的人能看懂的。(带单位)而不是显示当前文件在linux文件系统中占多少元数据
### 10.查看分区大小
> df -h 查看分区使用情况
### 11.关机,重启
halt 关机 reboot 重启
### 12.压缩和解压缩文件的操作
1.打包并压缩文件
Linux 中的打包文件一般是以.tar 结尾的,压缩的命令一般是以.gz 结尾的。而一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般.tar.gz。进行文件的打包压缩使用命令 tar,该命令可以添加的参数有一下几个:z:调用 gzip 压缩命令进行压缩 c:打包文件 v:显示运行过程 f:指定文件名实例:将根目录下的aaa目录中的aaa.txt,bbb.txt和ccc.txt进行打包和压缩。
tar -zcvf files.tar.gz aaa.txt bbb.txt ccc.txt
\-rw-r--r--. 1 root root 0 11月 20 04:14 aaa.txt\-rw-r--r--. 1 root root 0 11月 20 04:14 bbb.txt\-rw-r--r--. 1 root root 0 11月 20 04:14 ccc.txt\-rw-r--r--. 1 root root 132 11月 20 04:17 files.tar.gz
2.解压缩命令
解压缩文件依然使用 tar 命令,只是不再进行打包,而是进行解压操作,语法:tar –xvf 压缩文件名称实例:将根目录下的aaa 目录中的 files.tar.gz 文件进行解压
tar -xvf files.tar.gz(或者tar -zxvf files.tar.gz)
总用量 4\-rw-r--r--. 1 root root 0 11月 20 04:14 aaa.txt\-rw-r--r--. 1 root root 0 11月 20 04:14 bbb.txt\-rw-r--r--. 1 root root 0 11月 20 04:14 ccc.txt\-rw-r--r--. 1 root root 132 11月 20 04:17 files.tar.gz
3.解压到/home下
tar -zxvf files.tar.gz -C/home
### 13.搜索命令
在 Linux 中药进行搜索操作可以使用 grep 命令来完成,语法:grep 要搜索的字符串 要搜索的文件。
grep to /etc/sudo.conf
如果需要加上颜色标记,可以添加--color 参数。
grep to /etc/sudo.conf --color
### 14.查看进行命令
查看系统进程使用 ps –ef 命令。
ps -ef
### 15.管道命令
管道命令可以将前一个命令的输出作为本次目录的输入来使用。实例:查看当前系统中所有的进程中包括 usr 字符串的进程
ps -ef | grep usr --color
### 16.杀死进程
在 Linux 中要杀死进程可以通过进程号来杀死进程,语法:kill -9 进程号实例:杀死系统进程中的 iptable 进程如果要根据进程的名称杀掉进程,可以使用 pkill -9 进程名称
## 3.SSH免密配置
使用SSH协议完成多台服务器之间的文件传递。
命令 scp 要cp的文件名称 root@192.168.33.100:/opt/ 输入密码即可。
SSH 远程登录的安全外壳协议
两种验证机制。
1.用户,密码验证。
2.密钥验证。
> #### 1.ssh-keygen 生成密钥对儿
>
> #### 2.ssh-copy-id 192.168.33.100(要免密登录的主机ip)
克隆后的虚拟器,请修改主机名称:vi /etc/sysconfig/network
# JDK安装
## 1.解压缩文件。
~~~
### 1.使用tar -zxvf JDK安装包,命令解压缩文件.
~~~
### 2.配置环境变量.
vi /ect/profile
加入如下代码。
~~~
export JAVA_HOME=/opt/jdk1.7.0_79
export PATH=$PATH:$JAVA_HOME/bin
~~~
重新加载配置文件
source /etc/profile
reboot之后永久生效。
# ZooKeeper安装
## 1.解压Zookeeper
tar -zxvf ...
## 2.关闭防火墙
service iptables stop
chkconfig iptables off
hosts文件修改。vi /etc/hosts
192.168.205.133 hadoop1
192.168.205.130 hadoop2
192.168.205.131 hadoop3
service iptables status 查看防火墙是否关闭。
配置zookeeper配置文件。
1.修改数据存放目录
/root/zkdata
2.添加集群配置
server.1=hadoop1:2888:3888
server.2=hadoop2:2888:3888
server.3=hadoop3:2888:3888
3.将本机的id写入到/root/zkdata/myid 中 。
4.拷贝apps到各个主机
scp -r apps/ hadoop3:/opt/
(记得写入myid)
echo ID > myid
5.配置成功后可以启动集群。(注意:没有配置环境变量需要加入 ./ 不然命令未找到)
需要进入zookeeper中bin文件夹中执行命令 ./zkServer.sh start
./zkServer.sh status 可以查看当前启动状态。
配置方式。跟配置JDK环境变量类似。
首先使用vi进入 /etc/profile中 。
添加 ZOOKEEPER\_HOME=/opt/apps
然后在path中添加 $ZOOKEEPER\_HOME/bin:
source /etc/profile 命令使当前终端生效reboot后永久生效。
6.集群开启成功后可以使用jps命令查看。
\[JPS命令\] https://blog.csdn.net/fwch1982/article/details/7947451
\[kill 与 kill -9 区别\] http://baijiahao.baidu.com/s?id=1583143549389773853&wfr=spider&for=pc
