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
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