Linux的基础命令, django的安装与使用
一. Linux一些基础指令
cat命令, 用于查看纯文本文件(常用于内容较少的)
cat 校花的故事.txt # 查看文件
cat -n 校花的故事.txt # 查看文件并显示行号 -n 显示行号
# 追加文字到文件中
cat >>/tmp/校花的故事.txt << EOF
北京大学校花
清华大学校花
EOF
# EOF是起始,结束符 把EOF中间的文本追加到校花的故事.txt文件中去
more命令,用于查看内容较多的文本,会以百分比的形式告知已经看到了多少, 回车向下读取内容
more /etc/passwd
按下空格space是翻页
按下b键是上一页
回车键向下读取内容
Linux快捷键
1.tab键 # 用于自动补全命令/文件名/目录名
2.ctrl + l # 清理终端显示
3.clear # 清理终端显示
4.ctrl + c # 终止当前操作
5.ctrl + d # 登出
6.shift + ctrl + r # 重新登录
echo命令
# echo命令用于在终端输出字符串(类似于print) 或者提取变量(如echo $name)
echo '降龙十八掌' # print 功能
name='萧峰'
echo $name # 打印出萧峰
echo $PATH # 取出打印的PATH值
# echo还可以组合特殊符号往文件里写东西
> 覆盖写入 >> 追加写入
echo "" > 校花的故事.txt # 清空文件
echo '嘻嘻嘻' > 校花的故事.txt # 覆盖写入嘻嘻嘻
echo '嘻嘻嘻' >> 校花的故事.txt # 追加写入嘻嘻嘻
拷贝命令
# cp (copy的缩写)
# 复制/tmp下所有内容到/home
cp -r /tmp/* /home # -r 递归 * 所有的意思(正则)
# 复制tmp下的校花的故事.txt到home中并改名为好好学习.txt
cp -r /tmp/校花的故事.txt /home/好好学习.txt
查找命令(重点)
# 查找格式
find 目录 文件类型 文件名
# 参数
-name # 按照文件名查找文件
-type # 查找某一类型的文件,如:
f # 普通文件
d # 目录
b # 块设备文件
c #字符设备文件
p # 管道文件
l # 符号链接文件
s # socket文件
# 找出/tmp下的校花的故事.txt文件
find /tmp -type f -name '校花的故事.txt'
# 找出/etc下以host开头的文件
find /etc -name 'host*' # *匹配所有,正则表达式
# 找出/etc中以 .txt结尾的文件
find /etc -type f -name '*.txt'
管道命令
# 检查python程序是否启动
ps -ef | grep 'python'
# 找到/tmp下的所有.txt文件
ls /tmp | grep '.txt'
# 检查nginx的端口是否存活
netstat -tunlp | grep nginx
grep(重点)
# grep参数
-i # 忽略大小写
-n # 输出行号
-v # 反向选择
--color=auto # 给关键字添加颜色
grep --help 可以查看帮助
# 过滤出/tmp/passwd下有关的root的信息,显示行号
grep 'root' /tmp/passwd --color=auto -n
#过滤出/tmp/passwd下除了/sbin/nologin的信息,且打印行号
# passwd后面不能加/,因为不是文件夹
grep -v /sbin/nologin /tmp/passwd -n
head, tail命令
head显示文件前几行, 默认前10行
tail显示文件后几行,默认后十行
# 查看前两行
head -2 /tmp/校花的故事.txt
# 查看后两行
tail -2 /tmp/校花的故事.txt
# 持续刷新显示
tail -f xx.log
# 显示文件10-30行
head -30 /tmp/校花的故事.txt | tail -21
别名alias命令
# 查看系统别名
输入alias指令 就可以看到
# 为rm设置别名
alias rm='echo 你还想删我库'
#设置别名永久生效,写入到/etc/profile(针对登录用户的合同,设置环境变量)
vim /etc/profile #编辑文件
G 快速到达最后一行
o 当前行下一行,创建一个新行,进入编辑模式
source /etc/profile #读取文件(合同生效)
---------------
#取消别名
unalias rm
which命令
# 查找给定的命令的绝对路径
which python #python命令在哪
/usr/bin/python #命令文件绝对路径
scp(secure copy)命令
# 参数
-r :递归复制整个目录
-v:详细方式输出
-q:不显示传输进度条
-C:允许压缩
# 例子:
#传输本地文件到远程地址
scp 本地文件 远程用户名@远程ip:远程文件夹/
scp 本地文件 远程用户名@远程ip:远程文件夹/远程文件名
scp /tmp/chaoge.py root@192.168.1.155:/home/
scp /tmp/chaoge.py root@192.168.1.155:/home/chaoge_python.py
scp -r 本地文件夹 远程用户名@远程ip:远程文件夹/
scp -r /tmp/oldboy root@192.168.1.155:/home/oldboy
#复制远程文件到本地
scp root@192.168.1.155:/home/oldboy.txt /tmp/oldboy.txt
scp -r root@192.168.1.155:/home/oldboy /home/
du命令
Linux du命令用于显示目录或文件的大小
du 会显示指定的目录或文件所占用的磁盘空间
# 参数
-s # 显示总计
-h #以 K, M, G格式显示,可读性强
# 后面什么都不写,代表显示当前目录的大小
du
# 显示/home的总大小
du -sh /home
df命令
df -h # 查看磁盘使用情况
free命令
free -m # 查看内存使用情况
top命令
top 命令用于动态地监视进程活动与系统负载等信息
常见参数
第一行 (uptime) 系统时间 主机运行时间 用户连接数(who) 系统1,5,15分钟的平均负载 第二行:进程信息 进程总数 正在运行的进程数 睡眠的进程数 停止的进程数 僵尸进程数 第三行:cpu信息 1.5 us:用户空间所占CPU百分比 0.9 sy:内核空间占用CPU百分比 0.0 ni:用户进程空间内改变过优先级的进程占用CPU百分比 97.5 id:空闲CPU百分比 0.2 wa:等待输入输出的CPU时间百分比 0.0 hi:硬件CPU中断占用百分比 0.0 si:软中断占用百分比 0.0 st:虚拟机占用百分比 第四行:内存信息(与第五行的信息类似与free命令) 8053444 total:物理内存总量 7779224 used:已使用的内存总量 274220 free:空闲的内存总量(free+used=total) 359212 buffers:用作内核缓存的内存量 第五行:swap信息 8265724 total:交换分区总量 33840 used:已使用的交换分区总量 8231884 free:空闲交换区总量 4358088 cached Mem:缓冲的交换区总量,内存中的内容被换出到交换区,然后又被换入到内存,但是使用过的交换区没有被覆盖,
交换区的这些内容已存在于内存中的交换区的大小,相应的内存再次被换出时可不必再对交换区写入。
chattr命令
给文件加锁,只能写入数据,无法删除数据
chattr +a test.py
chattr -a test.py
lsattr命令
查看隐藏文件属性
lsattr test.py
时间命令
date 显示时间
cal 显示日期
# 同步时间
ntpdate -u ntp.aliyun.com # -u 就是update
安装插件
yum install lrzsz 让Windows和Linux传输文件
# 它提供两个命令
sz(发送文件) 直接sz
rz(接收文件) sz 传输的内容 也可以直接拖拽
yum install tree -y 让文件以树形结构显示
tree tmp # tmp这个文件以树形结构显示
wget命令
wget命令用于在终端下载网络文件
wget http://meinv.jpg # 下载后保存到当前路径
wget -r -p http://taobao.com # 递归下载淘宝的所有资源
开关机命令
poweroff # 关闭系统 虚拟机被关闭
reboot # 重启虚拟机
查看历史记录
history #查看历史记录
查看之后会显示行数和命令记录
! 加上命令的行数 直接执行该命令 例: !60 执行第60行的命令
修改命令提示符
PS1 的变量控制的
默认的命令提示符
echo $PS1
结果是
[\u@\h \W]\$
按照下述形式修改
PS1="[\u@\h \w \t]\$"
修改后的显示样式
但是这都只是临时的,要想永久生效,需要到配置文件中更改
二 . Linux中安装python与django
安装python
1.解决python编译安装所需的软件依赖 # 这个yum安装的,在哪个文件夹下执行都可以. 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 2.下载python3源码包 # 一定要cd 到opt下 wget https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tar.xz 下载后执行下面的命令 xz -d Python-3.6.7.tar.xz tar -xf Python-3.6.7.tar # 解压缩,生成一个python源码文件夹 3.进入python源码文件夹 cd Python-3.6.7 4.进行编译安装,编译三部曲 1.第一曲 ./configure --prefix=/opt/python36/ --prefix 参数解释:指定python36安装的位置 2.第二曲 make 3.第三曲 ,此时就开始安装python3软件 make install # 第二步第三步可以一起操作 make && make install 5.进入python36安装目录 ,检查bin目录 6.配置python3的环境变量 PATH 1.取出当前的path变量 echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin pwd /opt/python36/bin 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
安装django
1.安装django模块
pip3 install -i https://pypi.douban.com/simple django==1.11.14
# 后面的==1.11.14是版本号,如果不写就安装最新版的
2.升级pip
pip3 install --upgrade pip
3.通过命令创建django项目
cd /opt # 安装到/opt这个路径
django-admin startproject crm
cd 到crm 然后进行下一步
python3 manage.py runserver 192.168.81.128:8000
django-admin startapp app01
到settings.py中注册APP
ALLOWED_HOSTS = ["*"]
settings中debug改为false # 报错时不会显示视图
关闭防火墙: iptables -F
# yyp复制一行,相当于Ctrl+D