##一. 什么是Linux? ##
1.什么是Linux: Linux是一款广泛应用在服务器上的操作系统。
2.什么是操作系统: 操作系统是硬件基础上的第一层软件, 应用软件都需要安装到操作系统上使用。
3.Linux的特点:
- 安全
- 免费开源
- 稳定
- 快速
- 多用户:多用户指一个用户的操作完全不会影响到其他用户的操作
由于Linux多用户的特点,Linux操作系统广泛应用于服务器上。
##二. Linux的版本
1.内核版:内核版并不能直接使用,需要进行包装后用户才能更直接的使用。
2.发行版:各个厂商针对Linux的内核所发布的各自的发行版,用户可以直接使用操作。
3.几种常见的发行版:
- redHat : 十分稳定且好用,但是需要付费
- centos6.5:虽然不如redHat,但功能全面,且免费
- Ubuntu:拥有图形化界面,方便操作,PC针对Ubuntu软件较多。
三. Linux使用简介
1.在Linux操作系统中,万物皆文件,因此操作Linux系统实际就是操作系统中的文件。与Java中万物皆对象的思维类似。
2.Linux的用户: Linux中有两种用户:root用户和其他用户。
- root用户: root用户具有最高权限,可以操作全部文件
- 其他用户: 其他用户会有权限限制,但是其他用户是安全的。
3.使用客户端来连接Linux:
①为什么使用客户端?
- Linux一般在服务器上,不能直接在上面操作。
- Linux中直接操作并不方便。
为了方便用户操作使用,所以使用各种各样的客户端来连接Linux进行操作,例如:MobaXterm。
②客户端连接Linux方法
- 查询Linux的ip地址:通过ifconfig命令获取该用户的ip地址。
- 知道该用户的用户名和密码。
- 想要连接的Linux和本地机需要能够ping通。
四.Linux的基本命令
1.目录操作:
- 切换目录:分为绝对路径和相对路径两种方式。
1.命令:cd
2.绝对路径: cd / 后加需要切换的目录,eg:cd /a/b 为根目录下a文件夹下的b文件夹。
绝对路径是指先切换到根目录,在由根目录切换到索需要的目录
3.其他命令:
cd …:返回当前目录的上一层
cd ~:跳转到home directory目录
-
查看目录
命令:
ls -a:显示全部文件,包含隐藏文件。
ls -r: 级联显示
ll : 详细查询 -h kb显示文件大小。 -
文件夹操作
mkdir :创建文件夹
mkdir -p:连续创建多层文件夹
rm :删除命令/文件
rm -r :删除文件夹
cp :复制,可以复制到当前目录或其他目录,同时可以修改文件名
格式:cp 要复制的文件名 目标目录/文件名
cp -r :复制目录
mv :移动,改名
- 文件操作
vim:编辑器,按esc退出编辑模式。输入wq为保存并退出,q为退出。
cat:查看文本内容
cat a > b : 将a的内容给b
cat a >> b:将a的内容追加给b
- 文件压缩以及解压缩
tar:归档和压缩
tar -c:压缩
tar -x:解压缩
tar -f: 文件
tar -f:显示
压缩命令格式:
tar -czvf 压缩后文件名 目标目录
tar -c 目标目录
解压缩命令格式:
tar -czvf 目标名
补:压缩文件 tar czvf 文件名.tar 要压缩的文件
解压缩 tar xzvf 要解压的文件.tar
用户组和权限
1. linux的用户和组权限:
Linux用户可以做到几乎完全的隔离,各个用户之间的操作互不影响
组中有用户 修改组,组中的用户也跟随改变。
最初一个用户有一个组
一个组里面可以有多个用户
通过命令 操作用户和操作组
2.创建用户
创建用户过程:必须在root用户(最高权限的)下操作
创建用户 useradd +用户名
设置密码 passwd +用户
切换用户 su
删除用户 userdel +用户名
3.和用户组相关的文件
etc/passwd
etc/shadow
etc/group
4.组的操作
创建组:groupadd +组名
删除组:groupdel +组名
修改组:groupmod -n 新名字 原名字
向组中添加用户:usermod -G +组名 +用户名
5.权限
1.万物皆文件 查看文件的权限
2.通过ll或ls -l 可以查看文件的类型和权限
3.一共10位,第一位为类型位,剩下的每三位一组,代表 本用户,所属组,其他 的权限
4.权限的表示:r可读(4) w可写(2) x可执行(1),更方便的可以使用括号内数字来表示,这样他们和的结果组合形式只有一种
6.权限的调整
调整文件所属的用户/组:chgrp +新组名 +文件名
chown +新用户名 +文件名
chown 用户:组 +文件名
修改用户的权限 chmod ①通过数字来修改;②通过具体的文件所属(u,g,o,a)和权限(x,w,r)修改 +代表添加 -代表减少
eg:chmod 666 +文件名;chmod u+x +文件名
文件夹权限:包括文件内部权限
Shell
-
什么是shell
1.Shell用来和系统内部进行交互,可以理解为是一种语言
2.特点:灵活,快捷,方便
3.输出语句 echo " " 类比system.out.println" ";
键盘输入语句:read -p “键盘输入内容的描述” 变量名 -
Shell文件
1.#! /bin/bash 声明Shell的版本 # 注释
2.执行Shell文件中的脚本:./文件名
3.注意:一定给.sh文件执行权限
4.不更改权限,可以通过 bash 文件名 来强制执行脚本 -
Shell中的变量
1.全局变量:在哪都能用的变量
2.局部变量:只能在特定文件中使用的变量
3.声明变量:变量名=值(不能有空格)
引用变量:$变量名 或者 ${变量名}
注意:变量直接使用字母命名。
4.声明数组:array=(1,2,3,4)
${array[1]} 取出2号位置值
${array[]} 取出全部值
${#array[]} 获得数组长度 -
循环语句
test:
-eq 等于 -ne(-neq)不等于
-gt 大于 -ge 大于等于
-lt 小于 -le 小于等于
if:
语法:
1.if test $a -eq $b
2.if [ $a -gt 5 ] ;
then 要执行的语句
else 要执行的语句
fi
3.if [ ] ;
then 要执行的语句
elif [];then 要执行的语句
else 要执行的语句
fi
4.注意:[]两端内部必须有空格,否则不能运行
5.case 变量 in
选项1) 要执行的语句;; #注意两个分号
*) defult
ecas #表示结束。
循环
1 while 循环 :
while [ $i -lt 10 ]
do
done
注意 在变量自增的时候
如果直接 $num+1 字符串拼接
a num=$(($num+1)) #当数字计算
num=$[$num+1]
while:break
完成了一个 直到某个条件才结束循环的功能
exit!
2 for 语法
a [ for n in a b c d
do
$n
done
]
b [ for((i=0;i<100;i++))
do
$i
done
]
函数
1 定义函数 语法
function 函数名 () { 函数体 }
2 调用函数 函数名 参数1 参数2
3 取第一个参 echo 输出结果 $(函数名取结果)
- 定时任务
系统按指定的时间 或指定的时间段 来完成相应任务
crontab -l(查看当前定时任务)
-e(编辑)
-r(删除定时任务-全删)
格式:* * * * * +命令
第一个*:分钟(0-59)
第二个*:小时(0-23)
第三个*:日期(1-31)
第四个*:月份(1-12)
第五个*:星期(0-7)
在 * 前加 / 可以实现每隔 * 运行一次任务。