巨蟒python全栈开发linux之centos3
1.作业讲解
(1)递归创建文件夹/tmp/oldboy/python/{alex,wusir,nvshen,xiaofeng}
下面中的路径没有必要换,在哪里创建都行,根目录下或者tmp目录下或者其他目录下创建都行

这个时候我们用命令:tree /tmp 查看一下创建之后的结构:

(2)显示./tmp/下所有的内容详细信息(注意,这个是需要cd 到/tmp/下面的)
方法一:
cd /tmp
ls -lah
方法二:
ls -lah /tmp
(解释: l列表 a显示隐藏文件 h文件夹大小)
(3)简述 / ~ - 的含义

(4)请简述你如何使用vi命令
1.打开文件 vi 校花的故事.txt
2.输入i进入编辑
3.按下esc退出编辑模式
4.输入:wq! 写入保存退出
:q! 不保存强制退出vim
(5)查看/etc/校花的故事.txt的内容,并且打印行号
cat -n /etc/校花的故事.txt
(6) linux xshell常用快捷键?
1.Tab键 补全命令
2.Ctrl+l 清空终端显示的内容
3.clear 清理终端显示,和上条一样
4.Ctrl+c 终止当前显示
(7) 如何用echo清空一个文件?
#通过空字符串实现
echo "" > 校花的故事.txt
#覆盖写入,w模式
echo "嘻嘻嘻" > 校花的故事.txt
#追加写入,a模式
echo "嘻嘻嘻" > 校花的故事.txt
(8)复制/tmp/下所有内容到/home,在修改文件前,先拷贝一份,防止内容被破坏
cp -r /tmp/* /home #*是所有的意思,正则

(9)重命名test.py为my.py
mv test.py my.py
(10)强制删除/tmp下内容
rm -rf /tmp/*
#下面这句话表示将tmp干掉
rm -rf /tmp/
(11)找到服务器上的settings.py
find /crm/ -type f -name settings.py
#上边表示的是settings.py在crm目录下面,如果存在/etc/目录下面呢?
#我们通过根,在全局搜索,可以搜索到
find / -type f -name settings.py
(12)找到/etc下的网卡配置文件,提示网卡配置文件名是ifc开头
find /etc/ -type f -name ifc*
#注意,下面的普通用户没有权限,应该是有权限的,我中间用的是Tab键,应该用空格表示

#下面的root超级用户有这个权限
下面我用超级用户查看也是一样的问题,用空格隔离,可以显示出来了

lo和ens33,我们在centos中输入ifconfig命令看到下面的内容

这里题目,请先cp /etc/passwd /tmp/ 拷贝文件
(13)过滤出/tmp/passwd下有关root的信息
提示,如果直接操作,会提示,这个内容不存在
可信的答案:
cat /etc/passwd |grep root --color=auto -n
步骤:
1.先生成一个 /tmp/passwd的文件
#下图是查看/etc/passwd的内容的,其实就是一堆字符串,然后我们写在/tmp/passwd文件中

我们可以,右击复制,粘贴到vim当中.
命令1:
cat /etc/passwd
命令2:
cp /etc/passwd /tmp/passwd
命令3:
cat /etc/passwd > /tmp/passwd
cat /tmp/passwd -n

处理之后,我们依然得到44条命令在tmp里边
回到题目:
(13)过滤出/tmp/passwd下有关root的信息
1.先生成了一个/tmp/passwd的文件
grep "root" /tmp/passwd

root信息这个时候会高亮显示,
可信答案:
cat /etc/passwd |grep root --color=auto -n



(14)过滤出/tmp/passwd下除了/sbin/nologin的信息,且打印行号

进入:

加上enter,显示行号

搜索login,用左下角的命令/login

搜索/sbin/nologin,然后我们搜索的是sbin

退出:
现在我们开始过滤出来

搜索字符串,在路径中

翻转加上-v, 显示行号加上-n,所以最后的结果见下图:

另一种写法:

查询cat里边的参数信息:

(15)
查看/tmp/passwd前10行
head -10 /tmp/passwd
(16)
查看/tmp/passwd后3行
tail -3 /tmp/passwd
(17)不间断打印/var/log/py.log的信息(-f理解成flash刷新的意思)
tail -f /var/log/py.log
(18)配置rm别名为“禁止你用rm,谢谢”,然后取消别名
alias rm="echo 禁止你用rm,谢谢"
unalias rm
(19)统计/var/log/文件夹大小
du -sh /var/log
(20).给settings.py加锁
chattr +a settings.py
解锁:
chattr -a settings.py
(21)同步服务器时间到ntp.aliyun.com
ntpdate -u ntp.aliyun.com
(22)将服务器1的/tmp/my.py远程传输到服务器2的/opt/目录下
scp你想要的内容 你想存放到的地方
scp /tmp/my.py 用户名@服务器ip:/opt
(23)将服务器2的/opt/test.py拷贝到服务器1的/home目录下
#自己就是home
scp root@服务器2的ip:/opt/test.py /home/
(24)简述top的常见参数(查看一下博客)
2.用户管理篇
(1)
寻找网卡

上边倒数第二条语句找到的是"文件夹对应的内容"

ens33是网卡文件

动态IP,
我们要也可以配置静态ip
BOOTPROTO=static
还有一个是确保:
ONBOOT=yes就行
我们知道有这么一个东西就行
(2)
查看系统版本信息:

第一条是红帽系列的版本,第二条是通用的,乌班图只能用第二条
(3)用户管理:
班主任(root用户): 群主 权利最大,为所欲为
管理员: sudo 命令,就是root给他了了一些超级权限
渣渣用户:普通linux用户,几乎,没什么权限
python是查询id地址的,
linux中的id是查询系统用户的id信息的
展示一下默认家目录:

存放用户信息的文件: /etc/passwd

第一个参数,用户名
第一个数字:用户id
第二个数字:用户组id
1-999是系统自己创建的

代表匿名文件同步
自己创建的超过了1000

退出
(4)
A:创建系统用户的命令:
useradd banzhuren
B:更改班主任的密码:
passwd banzhuren
下图是添加并查看用户:

/etc/passwd/ 我们查看后两行如何看?

如果,不加用户名字,更改的是root的密码:


#查看系统用户的id信息
id banzhuren
id root
存放用户信息的文件 /etc/passwd
存放用户组的文件 /etc/group

班主任是1102
切换到班主任用户的命令:


设置banzhuren的密码:班主任666
在右边开启一个新的窗口,登录banzhuren:

因为班主任是一个普通的用户,所以,我们不能查看/root下面的信息

如何用班主任切换到root
su命令可以切换用户身份的需求,
su - username su命令中间的-号很重要,意味着完全切换到新的用户,即环境变量信息也变更为新用户的信息
必须加上 "横杠",不加的话,可能导致变量之间的冲突


使用root登录banzhuren的账户不需要密码:

总结:
(5)
root切换普通用户
su - banzhuren #不需要输入密码
普通用户切换其他用户,需要输入那个用户的密码
#先看下当前用户(我是谁)
whoami
#切换用户
su - oldboy
#退出用户登录
logout
ctrl + d
作为一个运维,如果离职,运维必须要能够删除离职人员的用户和密码.

班主任连用户的删除命令都没有,

上边的这种删除方式仅仅是将名字给踢出掉了,
如果刚才我们不删,看一下用户的信息:

我们现在再看一下用户的信息

这样,我们就看不到用户的信息


这个文件依然存在这个家目录,依然存在风险,可能会反推会这个地方,进行破解,造成风险,怎么办?
-f 强制删除用户
-r 同事删除用户以及家目录
userdel -r alex
现在我们手动删除home下面的alex ,以及home下面的s18
这样我们就删除了:

下面我们再创建一个用户:

这个时候就删除了,见下图:

(6)
.sudo命令,预设以root身份去执行命令
.配置 /etc/sudoers,添加banzhuren用户到配置中
找到如下行
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
banzhuren ALL=(ALL) ALL .保存退出后,banzhuren用户即可使用sudo命令了 .visodu命令,提供对/etc/sudoers文件,进行配置检测的功能
sudo是授权的意思

权限没有行通,我们需要一个sudoers东西
在root用户下我们执行下面的命令:

快速查找命令/root

上边只是其中一个地方,意思是"可以再任何地方执行任何命令"
我们再插入一行命令:

退出,执行:wq!,在按回车(enter)键

这个时候,我们再用班主任看,

现在还是显示权限不足,

我们必须拿着超级用户授予权限的权限,才能成功执行,也就是sudo,不拿的话不能执行

输入,停止网络的命令,显示权限不足,我们需要输入root用户的密码

也有可能要求输入的是其他用户的密码

esc+

按"enter"退出,

现在,我们再次处理,展示班主任用户下面的/root信息
这个时候,我们得到的是下面的信息

这个时候,我们知道是我们修改的行号出错了.
但是如果不知道怎么办?需要加上行号

这个时候,我们删除原来错误的那一行

下面我们说一下visudo
运行


现在,我们在上边再瞎写一个,
保存退出


visodu命令,提供对/etc/sudoers文件,进行配置检测的功能 直接在原来的root里边提示基础上修改,

这个时候,班主任里边又可以使用了.
3.开发常用命令1
4.linux学习命令2
5.linux命令学习3
第一部分: .配置好阿里云yum源
1. /etc/yum.repos.d #存放yum源仓库的文件,只有在这个目录下,文件以.repo结尾的才会被识别为yum仓库
2. CentOS-Base.repo epel.repo 这2个文件就是 aliyun 的 yum源
3.如果你不想要这些 aliyun的源, 你可以再去找 163的源,清华的源。。。。。。。。
.下载lrzsz工具,方便linux和windows互相传文件 .如何手动启动网卡?
启动/关闭一块网卡
ifup eth0
ifdown eth0
.linux的超级用户是什么?如何查看用户身份信息?
root whoami
id banzhuren
id root
id
linux下的用户:超级用户root//普通用户
.简单描述linux的用户管理 .如何创建普通用户,并且修改用户密码,然后使用普通用户登录
1.创建系统用户的命令
useradd banzhuren
2.更改班主任的密码
passwd banzhuren
ssh banzhuren@1.1.1.1:9999 .在linux下如何切换用户
su - chaoge
.如何使用root身份执行普通用户的命令?请详细说明配置步骤
1.配置 /etc/sudoers,添加banzhuren用户到配置中
找到如下行
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
banzhuren ALL=(ALL) ALL
2.保存退出后,banzhuren用户即可使用sudo命令了
3.visodu命令,提供对/etc/sudoers文件,进行配置检测的功能
.简述linux文件的权限有哪些?
rwx 10.linux文件权限的755,700是什么意思?
755
u:可读可写可执行
g:可读不可写可执行
o:可读不可写可执行
700
u:可读可写可执行
g:不可执行
o:不可执行 .如何修改test.py文件权限为700
chmod 700 test.py .如何修改test.py属组是oldboy?
chgrp oldboy test.py #更改属组
chown oldboy test.py #更改属主 .已知test.py文件权限是rwxr--r--,如何修改权限为rw-rw-rw
744
chmod 666 test.py .linux如何建立软连接?
ln -s 目标文件(给谁添加快捷方式) 快捷方式的路径 .linux的PS1变量是什么?如何修改
命令提示符显示的格式
通过重新给PS1赋值来修改
PS1="[\u@\h \W \t]\$" #注意 Linux的shell变量赋值,不能有空格
第二部分: .vim vi 是什么? .vim有哪几种模式? .命令模式有哪些? .输入模式有哪些? .底线命令模式有哪些? .centos7用什么命令管理服务
只有通过yum安装的软件才可以使用systemctl
centos7系列 systemctl start/stop redis
centos6/rhel 6 service redis start/stop/restart
.linux解析dns的命令是什么?
nslookup xiaohuawang.cn 第三部分: .将/tmp/下所有内容压缩成All_log.tar.gz并且放到/home/下
第一解法:tar -zcf /home/All_log.tar.gz /tmp/*
第二解法:mv All_log.tar.gz /home
.解压缩Python源码包Python-3.7.0b3.tgz
tar -zxf Python-3.7.0b3.tgz
.查看mysql端口状态 .如何查看nginx的进程 查看nginx的进程方式:ps –ef | grep nginx
查看Nginx服务主进程的方式:cat nginx.pid .如何杀死nginx进程
kill pid
.如何修改linux中文
.如何统计/var/log大小
du -sh /var/log
-s合计
-h 友好的单位 mb gb tb pb
.tree是什么作用?
列出某路径下面的树状结构 .如何给linux添加一个dns服务器记录 vim /etc/hosts
进入里边进行添加ip和地址www.baidu.com .每月的,,,25天的晚上5点50重启nginx 50 17 5,15,25 * * /opt/nginx/sbin/nginx -s reload
50 17 5,15,25 * * /usr/bin/systemctl restart nginx
.每周3到周5的深夜11点,备份/var/log /vmtp/
0 23 * * 3-5 /usr/bin/cp -r /var/log /vmtp/
注意:这个备份不太会写 .每天早上6.30清空/tmp/内容
30 6 * * * /usr/bin/rm -rf /tmp/*
问题:为什么加上/user/bin .每个星期三的下午6点到8点的第5,15分钟执行命令 command
5,15 6-8 * * 3 command .编译安装软件有哪些步骤?
.解决python编译安装所需的软件依赖
yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y .下载python3源码包
wget https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tar.xz xz -d Python-3.6..tar.xz
tar -xf Python-3.6..tar #解压缩,生成一个python源码文件夹 .进入python源码文件夹
cd Python-3.6.
.进行编译安装,编译三部曲
.第一曲
./configure --prefix=/opt/python36/
--prefix 参数解释:指定python36安装的位置
.第二曲
make
.第三曲 ,此时就开始安装python3软件
make install .进入python36安装目录 ,检查bin目录 .配置python3的环境变量 PATH
.取出当前的path变量
echo $PATH
.填写python3的bin目录到PATH中
PATH="/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
.讲环境变量,写入到全局配置文件/etc/profile
vim /etc/profile .写入如下代码,在最底行写入如下配置
PATH="/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
.读取配置文件,加载变量生效
source /etc/profile .安装django,运行django
.安装django模块
pip3 install -i https://pypi.douban.com/simple django .升级pip
pip3 install --upgrade pip .通过命令创建django项目 django-admin startproject crm
django-admin startapp app01 .关闭防火墙
iptables -F
.如何修改python3的环境变量,以及软连接
(1).取出当前的path变量
echo $PATH
(2).填写python3的bin目录到PATH中
PATH="/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
(3).将环境变量,写入到全局配置文件/etc/profile
vim /etc/profile (4).写入如下代码,在最底行写入如下配置
PATH="/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
(5).读取配置文件,加载变量生效
source /etc/profile
在/home目录中建立软连接,指向/tmp/test.txt文件
cd /home
ln -s /tmp/test.txt my_test
.请在linux上启动django,windows上进行访问
linux中输入:
cd /opt/crm
python3 manage.py runserver 192.168.34.128:9988
windows中输入:
192.168.34.128:9988
.如何查看linux端口?
netstat .如何杀死进程号为5888?
先用ps查找进程,然后用kill杀掉:
ps -ef | grep vim
root 3268 2884 0 16:21 pts/1 00:00:00 vim install.log
root 3370 2822 0 16:21 pts/0 00:00:00 grep vim
...
kill 5888
.如何关闭iptables?
centos7默认已经使用firewall作为防火墙了
1.关闭防火墙
systemctl status firewalld #查看防火墙状态
systemctl stop firewalld #关闭防火墙
systemctl disable firewalld#关闭防火墙开机启动
systemctl is-enabled firewalld.service#检查防火墙是否启动
.请说出 , 740分别是什么权限?
755:
用户==读写可执行权限
组内用户==可读不可写可执行
其他用户==可读不可写可执行
740:
用户==读写可执行权限
组内用户==只有可读权限
其他用户==没有权限
.修改文件权限为只有属主可读可写可执行?
chmod 700 xxx.txt

巨蟒python全栈开发linux之centos3的更多相关文章
- 巨蟒python全栈开发linux之centos1
1.linux服务器介绍 2.linux介绍 3.linux命令学习 linux默认有一个超级用户root,就是linux的皇帝 注意:我的用户名是s18,密码是centos 我们输入密码,点击解锁( ...
- 巨蟒python全栈开发linux之centos6
1.nginx复习 .nginx是什么 nginx是支持反向代理,负载均衡,且可以实现web服务器的软件 在129服务器中查看,我们使用的是淘宝提供的tengine,也是一种nginx服务器 我们下载 ...
- 巨蟒python全栈开发linux之centos2
1.一些命令回顾 在vm中,右击"打开终端",输入命令ifconfig,得到的下图算是一个终端,并且我们可以看到服务器的ip是192.168.34.128 我们通过windows上 ...
- 巨蟒python全栈开发linux之cento9
1.docker入门学习 查看机器中已经启动的所有的进程. ps -ef 2.docker常用命令学习 3.docker学习3 4.dockerfile与镜像 5.docker私有仓库 6.rabbi ...
- 巨蟒python全栈开发linux之centos7
1.crm项目部署回顾(小BOSS) crm部署 nginx+uwsgi+django+mysql nginx 前端 uwsgi+django 后端 mysql 数据支撑 crm是一 ...
- 巨蟒python全栈开发linux之centos5
1.nginx安装使用 2.nginx访问日志和压测命令 3.nginx反向代理配置 nginx的404页面 访问:淘宝官网的一个错误地址:http://taobao.com/eeeeeeee 淘宝的 ...
- 巨蟒python全栈开发linux之centos4
1.linux虚拟环境1-4 2.linux运行crm代码
- 巨蟒python全栈开发linux之cento8
1.复习路飞部署学习 2.mysql数据库远程访问 3.mysql主从复制 4.redis安全方式启动 5.redis数据类型 6.redis发布订阅 7.redis持久化 8.redis哨兵 9.r ...
- 巨蟒python全栈开发linux之centos6 第二篇
1. .nginx负载均衡的实现 .准备三台机器,准备3台虚拟机,或者和俩同桌交流一下 192.168.226.128 是nginx资源服务器,返回页面的 192.168.226.129 用作ngin ...
随机推荐
- 小程序image的13种mode
注:image组件默认宽度300px.高度225px mode 有效值: mode 有 13 种模式,其中 4 种是缩放模式,9 种是裁剪模式. 缩放: 裁剪: 文章来 ...
- ASP.NET中session和ViewState区别
session变量是保存在Sever的内存中的,用的太多肯定会拖累Sever的,而且20分钟后session变量就会过期,不适合保存长期变量. ViewState是将数据保存在页面隐藏的控件中,永远不 ...
- 记一次R的可视化使用-生成城市各个景点的多边形图
项目中须要用到全国各个城市的景点坐标范围.须要人工审核各个景点的数据正确性和各个景点之间的距离分布.首先想到的就是使用R绘制每一个景点的多边形区域. 首先通过python,依据数据生成R画图代码,当然 ...
- 豆瓣电台笔记3:cell添加从中间向两侧放大的动画
步骤: 1.设置动画属性的初始值 cell.layer.transform = CATransform3DMakeScale(0.1,0.1,1) 2.在指定时间内执行动画 UIView.animat ...
- React Native :加载新闻列表
代码地址如下:http://www.demodashi.com/demo/13212.html 标签与内容页联动 上一节(React Native : 自定义视图)做到了点击标签自动移动,还差跟下面的 ...
- [1-3] 把时间当做朋友(李笑来)Chapter 3 【提高心智,和时间做朋友】 摘录
1. 精确感知时间 我有个朋友叫做时间.她跟我真可算作两小无猜,默默陪了二十多年我才开始真正认识她.她原本没有面孔,却因为我总是用文字为她拍照,而因此可以时常伴我左右.她原本无情,我却可以把她当作朋友 ...
- Titel Block不显示
在原有原理图上New page时不显示Titel Block 解决办法:两种(1)(2) 方法1.在新建的原理图上右键选择Schematic Page Properties,按下图勾选即可 方法2.进 ...
- MVC 的八个扩展点
Asp.net MVC中常用的八个扩展点并举例说明. 一.ActionResult ActionResult代表了每个Action的返回结果.asp.net mvc提供了众多内置的ActionResu ...
- org.apache.jasper.compiler.TldLocationsCache tldScanJar
我在页面上一点击查询.console以下就有例如以下的红色文字: 2014-8-19 15:09:27 org.apache.jasper.compiler.TldLocationsCache tld ...
- jquery,js,checkbox多选框复选框取值和赋值
今天一个同事不太会多选框的取值和赋值的问题,我帮他解决了一下,不想自己想的朋友可以参考一下. 获取checkBox的值,checkBox的html如下 <input type=" na ...