Linux基础3
- 计划任务
- 压缩解压缩
- 软件安装
- 环境安装
复习
useradd 用户名 /etc/passwd
-m
-d
-g
-u
-s
passwd 用户
su
chmod -R 775
g
u
o
a
+x
+r
+w
chown
chattr
cp
vim 命令 ioasl 底部命令模式
:set nu
/
?
chgrp
Linux启动顺序
- 开机bios 加电自检
- 读取硬盘mbr 引导分区
- 加载Linux内核
- 加载 init进程 系统初始化
- init 0 关机
- init 6 重启
- init 1 单用户模式
- init 2 3 4 5 带图形界面的完全多用户模式
- vim /etc/init/rc-sysinit.conf 设置启动级别
- 启动内核
- 执行不同的脚本程序 /etc/rc0~6.d
- 执行 /etc/init.d/rc.local 看看哪些软件开机自动启动
面试常问 runlevel 查看当前的运行级别
Linux计划任务 重点
在指定的时间 做指定的事情 周期性的
vim /etc/crontab
46 9 30 8 4 need888 echo 'kangbazi666' >> /home/need888/test.txt
分 时 日 月 周 用户名 命令
* * * * * 用户名 命令
每分钟 每小时 每天 每月 每周 执行命令
sudo crontab -e 第二种新建计划任务的方法
* * * * * 命令
分 时 日 月 周 命令 没有用户名
0~59 0~23 1~31 1~12 0~6
crontab -e 默认是给 root 用户创建的计划任务
crontab -e -u 用户名 给指定的用户 创建计划任务
crontab -l 列出所有的计划任务 只显示 crontab -e的计划任务 不显示 vim /etc/crontab 配置文件中的
crontab -i 删除之前提示
crontab -r 清空所有的计划任务
如果需要删除 指定的计划任务
需要 先 crontab -e
进去之后删除
service cron start|stop|restart
每天 0点备份数据库
0 0 * * * mysqldump
每个星期二2点数据同步
0 2 * * 2 rsync
每个月15号0点计算工资
0 0 15 * * /home/jd/slaray.py
每隔1小时执行一次脚本
0 */1 * * * shell.py
每周一到周五 每天的八点 12点 14点 18点打卡
0 8,12,14,18 * * 1-5 dakai.py
每天的8点-22点必须在教室
0 8-22 * * * classroom.py
at 用来执行 一次性任务 适用于突发性 和 临时性的任务
sudo apt-get install at #安装
service atd status #查看服务是否运行 active (running)
service atd restart|start|stop #服务重启开始关闭
at [-ldc]
-l 列出任务列表
-d 任务编号 #取消任务
-c 任务编号 #显示该任务的实际内存
at 时间 #然后回车
输入命令
ctrl+d 即可
need888@need:~$ at 10:25
warning: commands will be executed using /bin/sh
at> echo 6666 >> /home/need888/haha.haha<EOT>
job 2 at Thu Aug 30 10:25:00 2018
need888@need:~$ at -l
2 Thu Aug 30 10:25:00 2018 a need888
at now + 20minutes|days|hours|weeks
at now + 8days 然后回车
输入命令
CTRL+d
压缩 与解压缩
windows 常见的压缩包 .rar .zip .7zip .iso
linux 常见的压缩包 .gz .bz2 .xz .tar .zip
.gz 的压缩 与解压缩
sudo apt-get install gzip 没有安装先安装
gzip 文件名1 文件名2 文件名3 支持批量压缩 源文件被替换成 .gz结尾的文件
gzip -d 1.txt.gz 2.mp3.gz 3.avi.gz 4.rmvb.gz
-d 解压缩
gzip 不能压缩目录
.bz2的压缩与解压缩
sudo apt-get install bzip2
bzip2 1.txt 2.mp3 3.avi 4.rmvb 支持批量压缩 源文件被替换掉 替换成 .bz2的文件 也不能压缩目录
bzip2 -z 文件名 强制压缩
bzip2 -d 文件名 解压缩
bzip2 -d 1.txt.bz2 2.mp3.bz2 3.avi.bz2 4.rmvb.bz2 支持批量解压缩
zip unzip
sudo apt-get install zip unzip
zip goods.zip 1.txt 2.mp3 3.avi 4.rmvb study/ 支持批量压缩 还可以压缩目录 源文件还存在
unzip goods.zip 源文件 存在
tar
-c 打包
-x 解包
-v 显示过程
-f 指定文件名
-t 查看包中的内容
tar -cvf kangbazi.tar 1.txt 2.mp3 3.avi 4.rmvb goods.zip study/
生成一个.tar 的文件 源文件还存在 支持打包目录 .tar 仅仅是打包 没有压缩
tar -tf kangbazi.tar #查看包里的内容
tar -xvf 解包
tar -xvf kangbazi.tar
tar 打包并压缩 解包并解压缩 .gz
-z
tar -zcvf kangbazi.tar.gz 1.txt 2.mp3 3.avi 4.rmvb goods.zip study/
新名字.tar.gz 文件1 文件2 目录1 目录2 源文件还存在 支持压缩目录
tar -zxvf kangbazi.tar.gz
包名
tar 打包并压缩 解包并解压缩 .bz2
-j
tar -jcvf kangbazi.tar.bz2 1.txt 2.mp3 3.avi 4.rmvb goods.zip study/
新名字.tar.bz2 文件1 文件2 目录1 目录2 源文件还存在 支持压缩目录
tar -jxvf kangbazi.tar.bz2
包名
tar 打包并压缩 解包并解压缩 .xz
-J 大写
tar -Jcvf kangbazi.tar.xz 1.txt 2.mp3 3.avi 4.rmvb goods.zip study
xz 打包并压缩
tar -Jxvf kangbazi.tar.xz
xz 解包并解压缩
软件安装
- apt-get 安装
- dpkg 安装
源码编译安装
- dpkg 安装 类似于 windows 的 exe安装 只要下载下来 安装即可
有个问题 : 存在依赖关系 你安装 A之前 必须先安装上 B 安装B之前 先安装上 C CBA
apt-get 安装 解决了 这个依赖关系 自动下载 依赖包 全程自动安装 但是不能指定安装的位置
好处 自动 快
源码编译安装 Linux下 软件都是 用C 和 C++编写 将代码解析成 机器能够是别的过程 就叫做 编译安装
麻烦 但是 比较符合机器的性能 对于服务器来讲 这个 效果最好 这个可以指定安装在什么位置
apt-get 安装
sudo apt-get -y install 包名 -y在这里是提示
sudo apt-get -y remove 包名
sudo apt-cache showsrc 包名 查看软件包信息
sudo apt-get source 包名 获取源码信息
sudo apt-get update 获取新的软件包信息
sudo apt-get upgrade 升级可以更新的软件包
sudo snap install pycharm-professional --classic
apt-get 安装apache
sudo apt-get update
sudo apt-get install apache2
service apache2 start|stop|restart
netstat -ntpa | grep 80
根目录 /var/www/html 在这里
sudo vim index.html 修改你想显示的内容
配置虚拟站点 比如我们想在浏览器中输入 www.kangbazi.com 代替10.11.53.107
cd /var/www/html
mkdir -p baidu google sina
cd /etc/apache2/
cd sites-available/
sudo cp 000-default.conf www.baidu.com.conf
sudo cp 000-default.conf www.google.com.conf
sudo cp 000-default.conf www.sina.com.conf
分别 sudo vim www.baidu.com.conf www.google.com.conf www.sina.com.conf
:set nu
<VirtualHost *:80>
9 ServerName www.baidu.com
11 #ServerAdmin webmaster@localhost
12 DocumentRoot /var/www/html/baidu
19
20 ErrorLog ${APACHE_LOG_DIR}/error.log
21 CustomLog ${APACHE_LOG_DIR}/access.log combined
29 </VirtualHost>
第11行注释掉 第9行 取消注释
<VirtualHost *:80>
9 ServerName www.google.com
11 #ServerAdmin webmaster@localhost
12 DocumentRoot /var/www/html/google
19
20 ErrorLog ${APACHE_LOG_DIR}/error.log
21 CustomLog ${APACHE_LOG_DIR}/access.log combined
29 </VirtualHost>
<VirtualHost *:80>
9 ServerName www.sina.com
11 #ServerAdmin webmaster@localhost
12 DocumentRoot /var/www/html/sina
19
20 ErrorLog ${APACHE_LOG_DIR}/error.log
21 CustomLog ${APACHE_LOG_DIR}/access.log combined
29 </VirtualHost>
改完之后 记得重启
service apache2 restart
cd /var/www/html/baidu/
vim index.html 保存
cd /var/www/html/google/
vim index.html 保存
cd /var/www/html/sina/
vim index.html 保存
到我的电脑 切换到 这里
C:\Windows\System32\drivers\etc
把 hosts文件复制到桌面上
然后 用 sublime 或者记事本 打开
最后一行 输入
IP地址 www.baidu.com 这个ip地址就是你的虚拟机的ip地址 这里以 10.11.53.107为例子
IP地址 www.google.com
IP地址 www.sina.com
cd /etc/apache2/sites-enabled
sudo ln -s ../sites-available/www.baidu.com.conf www.baidu.com.conf
sudo ln -s ../sites-available/www.google.com.conf www.google.com.conf
sudo ln -s ../sites-available/www.sina.com.conf www.sina.com.conf
最后
修改主配置文件 cd /etc/apache2
sudo vim apache2.conf
最后一行 输入
164 复制 5行
<Directory /var/www/>
171 Options Indexes FollowSymLinks
172 AllowOverride None #允许所有的IP地址能够访问到你的网站
173 Require all granted
174 </Directory>
175
176 <Directory /var/www/>
177 Options Indexes FollowSymLinks
178 AllowOverride None
179 Require all granted
180 </Directory>
181 <Directory /var/www/>
182 Options Indexes FollowSymLinks
183 AllowOverride None
184 Require all granted
185 </Directory>
修改配置文件 一定别忘了重启
service apache2 restart
多个域名 可以解析到一个ip地址上面
比如百度 百度由一个服务器 对应一个ip地址
百度有 www.baidu.com qianbao.baidu.com waimai.baidu.com
假如 用户浏览器 输入了 百度的ip地址 只能到一个文件夹
那 如何访问到 钱包 和 外卖 网站?
这个时候 创建三个文件夹 baidu waimai 钱包
配置虚拟站点
www.baidu.com -> baidu
waimai.baidu.com ->waimai
qianbao.baidu.com -> qianbao
用户访问 网址步骤
1.浏览器输入域名 www.qfedu.com
2.先到用户的本机 C:\Windows\System32\drivers\etc\hosts (Linux 就是 /etc/hosts )文件中查看 是否有 www.qfedu.com
10.11.53.107 www.qfedu.com
如果有 直接访问 www.qfedu.com 对应的ip地址
如果没有 那么 由dns服务器 加速 到 顶级域名服务器 解析域名对应的ip地址 然后返回给浏览器 浏览器访问到IP地址
dpkg Debian package 的缩写
- wget -c 链接地址
sudo apt-get install wget
wget -c http://cdn2.ime.sogou.com/dl/index/1524572264/sogoupinyin_2.2.0.0108_amd64.deb?st=jzvQj9-mYO17oKd-c9Bgsg&e=1535613142&fn=sogoupinyin_2.2.0.0108_amd64.deb
- curl -O 链接地址
sudo apt-get install curl
curl -O http://cdn2.ime.sogou.com/dl/index/1524572264/sogoupinyin_2.2.0.0108_amd64.deb?st=jzvQj9-mYO17oKd-c9Bgsg&e=1535613142&fn=sogoupinyin_2.2.0.0108_amd64.deb
sudo apt-get -f install
sudo apt-get install fcitx
sudo apt-get install fcitx-config-gtk
sudo apt-get install fcitx-table-all
sudo apt-get install im-switch
sudo dpkg -i sogoupinyin.deb
系统设置->语言支持 键盘输入发 选择 fcitx
dpkg -i 包名.deb
dpkg -l | grep 报名 查看软件包
dpkg -r
dpkg -P 包名 删除软件的时候 连配置文件一起删除
源码 编译安装 安装 pycharm 终端下 安装
1.先下载 软件包
2. sudo apt-get install man gcc make lsof ssh openssl tree vim dnsutils iputils-ping net-tools psmisc sysstat curl telnet traceroute wget libbz2-dev libpcre3 libpcre3-dev libreadline-dev libsqlite3-dev libssl-dev llvm zlib1g-dev git mysql-server mysql-client zip p7zip 安装上 基础的类库
3.下载 pycharm-professional-2018.2.2.tar.gz 选择专业版 不要社区版
tar -zxvf pycharm-professional-2018.2.2.tar.gz
4.cd pycharm-2018.2.2/bin
5.sudo ./pycharm.sh
6.选择do not import settings
7.
激活的时候 选择 license server : http://idea.imsxm.com
防火墙 ufw
系统由0~65535个端口 0
0~127 已经被占用
80 21 22 25 110 443
1000以下的端口 需要root 权限
安装 ufw
sudo apt-get install ufw
sudo ufw status 查看防火墙 规则 入栈 出栈规则
sudo ufw disable 禁用防火墙
sudo ufw enable 启用防火墙
sudo ufw reset 重置防火墙
sudo ufw status numbered 显示规则序号
sudo ufw default deny incoming 设置默认规则 拒绝所有的传入链接
sudo ufw allow 80 开放 80端口
sudo ufw deny http 拒绝http服务
sudo ufw allow ssh 允许 ssh端口访问
sudo ufw allow https 允许 https端口访问