python技术--Linux基础03

## Linux基础

* 计划任务  
* 压缩解压缩   
* 软件安装   
* 环境安装      

## 复习  

```
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 用来执行 一次性任务  适用于突发性 和 临时性的任务    

```shell
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 安装 
* 源码编译安装   

1. dpkg 安装 类似于 windows 的 exe安装 只要下载下来  安装即可  

有个问题 : 存在依赖关系   你安装 A之前 必须先安装上 B 安装B之前 先安装上 C    CBA 

2. apt-get 安装  解决了 这个依赖关系     自动下载 依赖包 全程自动安装     但是不能指定安装的位置  

   好处  自动 快 

3. 源码编译安装   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 
```

## 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 选择专业版   不要社区版   
4.cd pycharm-2018.2.2/bin  
5.sudo ./pycharm.sh  
6.选择do not import settings   
7.
激活的时候 选择  license server : http://idea.imsxm.com  
```

猜你喜欢

转载自blog.csdn.net/qq_42336700/article/details/82390441