1.Linux系统简介
1.1 Unix与Linux发展史
父子关系:Unix 是Linux的前身
1969年,肯丶汤姆森开发Unix系统(为了加快玩游戏的速度 - -,自己开发的系统)
1971年,肯丶汤姆森(黑胡子)同事丹尼斯丶里奇(白胡子)发明了C语言。通过Unix系统用C语言重写,提高Unix可移植性和速度。
1991年,芬兰李纳斯开发Linux系统。开源软件,在Unix基础上开发,linux内核官网www.kernel.org
发行版,就是在内核版本上进行自己修改
CentOS,相当于Redhat的完全免费版本
Ubuntu,桌面做的很漂亮
1.2 开源软件简介
商业软件,商业公司运营,开发,不开放源代码。
Mysql
python
mongoDB
PHP
Nginx
绝大多数开源软件免费,软件的源代码(安全性好),自由传播(改良的自由)----例子开源卖注释,哈哈
LAMP架构
LINUX 操作系统
Apache Web服务器
Mysql 数据库
PHP 编程语言
1.3 Linux学习方法
为什么选择命令行?
服务器使用优先,考虑安全性和稳定性,不考虑应用性。
图形界面会大大增大服务器出错的可能性
解决问题的智慧
遇到问题,自己寻找答案,印象才深刻
提示信息,帮助文档,学会使用工具
英文提示困惑
command not found,No Such file or directory
每天背30个单词,3个月左右就能看懂linux英文提示
忘掉WINDOWS的思维方式
linux--专业工程师用的
计划----坚持----专注----练习
每个练习做2遍------练习才能增加理解----多练习
2.Linux安装和虚拟机安装
账号:Ubuntu123
密码:123
2.1 VMware虚拟机安装
在一台机器上模拟2种以上的操作系统
磁盘分区
合理的规划硬盘,
主分区:最多只能四个
扩展分区:包含多个逻辑分区,是主分区转化的
格式化:做成隔断,每个隔断block(数据块)4KB大小
编号:iNode列表,保存文件的位置
格式化后的,设备文件名
2.2 远程登录管理工具
SecureCRT远程管理工具
安装SSH服务器
apt-get install openssh-server
查询服务是否启动
ps -e | grep ssh
启动ssh-agent
eval ssh-agent
使用远程连接工具连接,IP,用户名
账号密码
连接成功
Winscp文件拷贝工具
可以直接进行文件操作
2.3 Linux学习须知
严格区分大小写
所有内容都是以文件形式保存,包括硬件
远程服务器器不允许关机,只能重启‘
重启时应该关闭服务
不要在服务器访问高峰运行高负载命令
远程配置防火墙(过滤的门槛,其实个过滤器,靠IP地址,端口地址,MAC地址,包中数据)时不要把自己踢出服务器
指定合理的密码的规范并定期更新
合理分配权限
定期备份重要数据和日志
3.Linux常用命令
命令格式:命令 [-选项] [参数]
3.1 文件处理命令
目录处理命令
ls(list) :查看当前目录下的所有文件
-a(all):显示所有文件,可以查到隐藏文件(文件以.开头。例如.abc)
-l(long): 显示10个权限标识位 第一组:用户权限,第二组:组权限,第三组:其他权限。显示命令 ls -l 例:-rwxrw-r‐-1 root root 1213 Feb 2 09:39 abc
-rwxrw-r:-代表文件,d代表目录,l代表软链接。每3个一组(u所有者,g所属组,o其他人)权限描述,d读w写x执行三种权限
- 1 表示连接的文件数
- root 表示用户
- root表示用户所在的组
- 1213 表示文件大小(字节)
- Feb 2 09:39 表示最后修改日期
- abc 表示文件名
-h :人性化显示
-d:显示指定目录的详细信息,-ld
-i:查询i节点
mkdir(make directories):创建目录
-p:递归创建,不存在目录也可以创建子目录
cd(change directory):切换指定目录
pwd(print working directory):显示当前所在目录
rmdir(remove empty directories) :删除空目录
cp(cope) [原文件或目录] [目标目录]:复制文件或目录
-r:复制目录
-p:保持文件属性,例:保留原更改时间,
mv(move) [原文件或目录] [目标目录]:剪切一个或多个目录
同一目录下移动就是改名,盯
rm(remove) [文件或目录]:删除文件
-f:强制删除文件,没有提示
-r:删除目录的选项,-rf就可以删除一个目录
文件处理命令
touch [文件名]:创建空文件,可以同时操作多个文件
cat [文件名]: 显示文件内容,适合短的文件
-n :显示行号
more [文件名]:分页显示文件内容
按f或空格:一页一页往后翻
按enter:一行一行翻后页
less [文件名]:分页显示文件内容,跟more类似,可以向上翻页,可以搜索
按n:next显示下一个匹配的关键字
head -n 行号 [文件名]:查看文件的前n行(不使用-n,默认显示10行)
tail -n 行号 [文件名]:查看文件的末尾几行(默认显示最后10行)
链接命令
ln(link) [原文件] [目标文件]:生成链接文件,不使用-s,默认生成硬链接(同步更新的cp -p)
-s创建软链接(类似快捷方式),用cat运行软链接
3.2 权限管理命令
权限管理命令chmod
chmod(change the permission mode of a file)
chmod [{ugoa}{+-=}{rex}] [文件或命令]:利用+-=更改权限
chmod [权限代表的数字] [文件或命令]:rwx分别对应421,通过数字的形式更改权限
-R 递归修改:改变目录权限同时,同时改变子目录的权限
其他权限管理命令
chown(change file ownership):更改文件的所有者(只有管理员root可以更改文件所有者)
chown [用户] [文件或目录]:将文件或目录的所有者改为用户
chgrp(change file group ownership): 改变文件或目录的所属组
chgrp [用户组] [文件或目录]:将文件或目录的所属组改为用户组
默认新创建的文件没有可执行权限
3.3 文件搜索命令(尽量少用搜索命令)
文件搜索命令find
find [搜索范围] [匹配条件]:文件搜索
find [搜索范围] -name [文件名]:按名字搜索,文件名后面可以加通配符
-iname:搜索不区分大小写(搜索的范围越小越好)
-size {+-}204800:按大小查找,1个数据块=0.5k,+是大于
-uesr ubuntu:按所有者查找
-size +204800 -a{o} -size -102400:-a and ;-o or
-type -{fdl}:f代表文件,d代表目录,l代表软连接
其他搜索命令
...
3.4 帮助命令
man(manual):获取帮助信息
man [命令名称]:获取命令的帮助信息
[命令名称] --help:获取中文帮助(常用)
3.5 用户管理命令(root用户)
useradd [用户名]:添加用户名
passwd [用户名]:添加密码
3.6 压缩解压缩命令
.gz:压缩格式
gzip 文件名:压缩文件成.gz(只能压文件,不能压缩目录),不保留源文件
gunzip 压缩文件名:解压缩
gzip -d 压缩文件名:同上,解压缩
.tar:压缩格式
tar -zcvf 压缩后的文件名 压缩到目录:先打包压缩
tar -zxvf 需要解包的目录:解压
.zip:压缩格式
zip 压缩后的文件名 压缩到目录:压缩文件
-r:可以压缩目录
unzip 压缩文件名:解压缩
.bz2:压缩格式
bzip -k 压缩文件:解压缩并保留源文件
4.7 网络命令
ping 选项 IP地址:64字节发送
ping -c 次数 IP地址:有限次数ping
ifconfig :查看和设置网卡信息
last:查询过去所有用户的登录用户信息
lastlog:列出所有用户,和最后登录时间
netstat -t:TCP协议
-u:UDP协议
-l:监听
-r:路由
-n:显示IP地址和端口号
netstat -tlun:所有启动的服务
setup:配置网络(root权限,红帽专属)
3. 8 关机重启命令(关机重启前,先关掉服务)
shutdown -h now:当前关机
shutdown -c:取消关机
shutdown -r 时间:重启
3.9 软件安装和卸载
# 1. 安装软件
$ sudo apt install 软件包
# 2. 卸载软件
$ sudo apt remove 软件名
# 3. 更新已安装的包
$ sudo apt upgrade
3.10 其他命令
date:查看时间
cal:查看日历
ps aux:查看当前运行的进程
kill 进程代号:干掉进程
4.shell脚本
echo "hello world":类似print,输出命令
vim 文件名:创建文件,I插入,esc+:wq保存退出
bash 脚本名:执行脚本
chmod 755 脚本名:赋予执行权限,直接运行