Linux基础
这里主要介绍学习大数据过程中用到的Linux基础知识,现在主攻的方向是大数据开发,欢迎大家共同交流。
环境
- 推荐安装VMware虚拟机并安装CentOS操作系统,具体资源的下载和安装可以查到,如果踩到坑可以留言讨论。
- 通过远程连接工具可以直接操作虚拟机中的Linux系统,比如Xshell、SecureCRT等,熟悉Linux指令后推荐使用
注:这里需要将虚拟机网络设置为NAT模式:[编辑——>虚拟网络编辑器]
在主机电脑的[ 网络共享中心 ]可以查看到VMnet8网络适配器,其中IPv4地址与虚拟机网络在同一网段下即可
最后在虚拟机中使用ifconfig
命令查看IP地址,使用远程连接工具即可连接
常见的Linux指令
history
显示历史命令,可使用!命令序号
再次执行ctrl+a/e
让光标移动到首尾部pwd
查看当前目录ls
列出当前目录文件
-l
除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
-r
将文件以相反次序显示
-t
将文件依建立时间之先后次序列出
-a
显示所有文件及目录,开头为"."的视为隐藏档
- vim编辑器的使用
vim test
编辑名为test的文档,如果不存在则创建
a/i
进入插入模式开始编辑
ESC键
返回到命令行模式
在命令模式下:
:q/:q!
不保存退出/强制退出
:wq
保存并退出
:set nu
显示行号set nonu
不显示行号
gg
回到首行
G
跳到尾行
dd
删除光标所在行
yy
复制光标所在行p
粘贴在下一行,4yy
向下复制四行
wc
即word count命令,可以查阅脚本的行数字节数等信息,可以使用wc --help
查看具体命令
- 文件管理命令:
cat test1 test2 > test3
将文件拼接到另一个文件中cat -n test3
带行号打印显示touch
新建文件touch newFile
更改文件编辑时间为当前touch test3
chmod
更改文件操作权限,可以使用ll
命令查看当前目录下的个文件权限,依次是文件拥有者、群组、其他,权限级别分为w
可写、r
可读、x
可执行,可分别用数字4 2 1
代表,例如chmod 777 test3
chown
更改文件拥有者,文件拥有者分为用户
和组
注:在root用户权限下才可执行上述两条命令su root
find
查找命令,find -name '*.txt'
查找txt文件,通常可以配合管道命令查询more
类似cat,但一页一页展示,使用ctrl+f
向下翻页less
类似more,但是可以向上翻页ctrl+b
head -n 5 test3
查看test3文件的前5行,tail -n 5 test3
查看后五行mv
重命名文件mv test1 test4
移动文件或目录mv test4 /opt
即剪切功能cp
复制文件或目录,参数-r
表示递归复制mkdir
创建目录mkdir -p a/b/c
递归创建目录a/b/ctar
解压缩文件
-f
<备份文件>或–file=<备份文件> 指定备份文件
-v
或–verbose 显示指令执行过程
-x
或–extract或–get 从备份文件中还原文件
-z
或–gzip或–ungzip 通过gzip指令处理备份文件
-C
<目的目录>或–directory=<目的目录> 切换到指定的目录
一般我们使用tar -zxvf XXXX -C /usr/
即可
- 磁盘管理:
df -h
磁盘使用情况mount
挂载Linux系统外的文件 ,umount
卸除文件系统,一般系统外文件挂载在/mnt下
- 用户管理
useradd
建立用户账号
-m
自动建立用户的登录目录
-g
指定用户所属的群组
-d
指定用户登入时的家目录
-u 600
在0——499之间表示系统用户,500——232之间表示普通用户passwd
更改使用者的密码kill
杀死执行中的程序或工作,使用kill -l
查看所有进程,kill -9 pid
强制杀死此pid的进程
ssh操作
为后面的集群搭建做准备,需要掌握虚拟机之间通过ssh登录的方法,准备两台虚拟机操作系统。
- 使用
ifconfig
命令查看IP地址 - 使用
ping
命令查看是否连通 - 使用
ssh root@IP
登录,root为登录时的用户名,由于没有使用免密操作需要输入密码,可以使用exit
退出
- 免密操作
- 打开ssh功能
systemctl start sshd.service
,一般默认是打开的 - 启动root用户
su root
- 使用命令
ssh-keygen -t rsa
,一路回车,会创建公钥和私钥文件 - 将私钥文件拷给另一个虚拟机即可:
ssh-copy-id -i ~/.ssh/id_rsa.pub 目标IP
- 现在可以直接使用
ssh 'IP'
登录另一台虚拟机
注:由于我们刚才切换到root用户进行操作,所以免密登录对root用户有效,同理可切换到其他用户创建密钥链接
scp远程拷贝
scp命令用于Linux之间复制文件和目录
使用scp -r 本地路径 目标路径
即可,例如:scp -r test3 '192.168.154.11':/tmp
,-r
表示递归