Linux是一款广泛应用于服务器的操作系统,具有完全免费、完全兼容POSIX 1.0标准、多用户、多任务、良好的界面、可靠的安全、稳定性能、支持多种平台等特点。且java 大数据环境都默认支持Linux,Linux有redHat、centos6.5、Ubuntu等版本,本人使用 centos6.5。 Linux可以有多个用户,root是具有最高权限的用户,其他用户之间具有相互隔离,具有较高的安全性。Linux中没有盘符,内部皆文件,
/ :根目
/etc :存储配置文件
/home :家目录 每个用户都有一个自己的文件夹
由于Linux在服务器上 一般不能直接在上面操作,且在服务器上操作不方便,所以需要一个客户软件对他进行连接,本人使用VMware Workstation Pro。
一、Linux的基本命令:1 命令的基本语法 命令名 -选项 参数
1 cd 切换目录 cd / 根目录
cd ~ 家目录
cd a/b/c
cd ..上一层文件
cd - 上一个文件
2 查看目录
ls :选项 -a 全部 包括隐藏文件
-R 级联显示
ll :详细查询 -h kb显示文件大小
3 创建文件夹
mkdir :创建文件夹
mkdir -p 连续创建多层文件夹
4 rm 删除命令
rm 删除文件
rm -r 删除文件夹
5 cp 复制 可以复制到当前 目录 或其他目录 (同时可以修改文件名)
cp 要复制的文件名 目标目录/文件名
cp -r 复制目录
6 mv 移动 对文件改名
7 touch 文件名:创建文件 Linux不分扩展名
已存在的文件名 更新
8 vim 编辑器 i 写入
按esc退出
:-> wq 保存并退出
:-> q!强制退出
9 cat 查看文本内容
cat a > b 将a的内容给b
cat a >> b 将a的内容追加给b
10 tar 归档压缩
两个功能 一个压缩 一个是解压缩
选项 -c 压缩
-x 解压缩
-f 文件
-v 显示
-z:通过gzip处理备份文件
压缩 tar -czvf 压缩后文件名 目标
二、Linux的用户和组权限
Linux用户可以到几乎完全的隔离,组中有用户,最初一个用户有一个组,就是自己。当对组进行修改时,组中的用户也跟随改变,一个组里面可以有多个用户。当对多个用户进行相同操作时,组便可起到关键的作用。
1、对用户的操作
useradd 用户名:创建用户
passwd 用户名:设置密码
su 用户名:切换用户
userdel 用户名:删除用户
-f 用户名:彻底删除用户
2、对组的操作
groupadd 组名:添加组
groupdel 组名:删除组
groupmod -n 新组名 原组名:改组名
usermod -G 组名 用户名:将用户添加到组里
3、和用户组相关的文件
/etc/passwd
/etc/group
/etc/shoadow
4、权限a、通过ll或ls -l 可以查看文件的类型和权限
b、如上图,一共有10位,第一位是类型位,剩下9位,每三位一组,分别表示,所属用户、组、其他。
c、权限的表示 x代表可执行,w代表可写,r代表可读,可以使用 1 2 4来表示执行写读。
5、权限的修改
chgrp 组名 文件名:修改文件的组
chown 改用户 文件名:修改文件的用户
chown 用户:组 文件名:同时修改文件的组、用户
chmod 修改用户、组、其他等对文件的访问权限
a、通过数字来修改权限 如:chmod 777 xx.txt
b、可以通过具体的文件所属和权限修改 如:chmod u+r xx.txt
三、shell语言:Shell 用来和系统内部进行交互
1、shell文件
a、 #!/bin/bash 什么shell版本
b、 # 符号是 注释
c、 ./文件名 执行文件中的脚本
d、 bash 文件名 执行脚本
2、shell中的变量
a、直接使用字母为变量命令
b、使用等号赋值 #注意变量和等号之间不可以有空格
c、使用 $变量名或${变量名} ,来对变量进行引用
3、shell中的分支
a、 if test $a -eq $b (if [ $a -gt 5 ]; #注意![]内部两端要有空格)
then 要执行的语句
else 要执行的语句
fi
注:-eq:== -lt:< -gt:>
b、if [];
then
elif [];then
else
fi #表示结束
c、case 变量 in
选项1) 要执行的语句;; #注意!两个分号
*) default
esac 表示结束
4、循环
a、while [ $i -lt 10 ]
do
要执行的语句
done
注: 如果直接 $num+1 字符串拼接
num=$(($num+1)) #当数字计算
或:num=$[$num+1]
b、for n in a b c d
do
要执行的语句
done
c、for((i=0;i<100;i++))
do
要执行的代码
done
d、while:break
完成了一个 直到某个条件才结束循环的功能
exit!
5、函数
1 定义函数
function 函数名 () { 函数体 }
2 调用函数:函数名 参数1 参数2
3 函数体中$1表示 取第一个参 echo 输出结果时调用$(函数名取结果)
四、定时任务
按指定的时间或指定的时间间隔来完成的任务
命令:crontab -l :列出计时器设置
-e:编辑计时器设置
tail -f 文件名:动态追踪文件内容
cat 文件名:静态展示文件内容
五、ssh免密登录
步骤:
1、切换到root 用户中的家目录下
2、cd .ssh
3、ssh –keygen –t rsa –P ‘’
4、cat id_rsa.pub >> authorized_keys
5、chmod 600 authorized_keys
6、vim /etc/ssh/sshd_config
修改:(一般只改一次就可以了)
RSAAuthentication yes # 启用 RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)
7、service sshd restart