Lyf凤

靡不有初,鲜克有终

扩大
缩小

Linux第二天

知识点:
1.学习linux,安装的方式
在你的windows上安装一个 vmware虚拟化软件(基于它可以安装各种系统)
注意:我设置的所有用户的密码都是 liangyufeng

2.公司中 会提供一个云服务器给你用

服务器ip 123.206.16.61 公网ip
账号 :xiaozhang
密码: xiaozhang666


3.登录linux的流程
windows客户端:下载一个远程连接工具Xshell
ssh xiaozhang@123.206.16.61 回车过后
输入xiaozhang用户的密码,即可登录

macos:直接使用终端
ssh xiaozhang@123.206.16.61
ubuntu:
ssh xiaozhang@123.206.16.61


4.显示终端连接数
w 命令 ==>显示当前系统有多少个终端在使用,在登录(远程的终端,自己的终端,以及自己服务器上面的桌面都是一个终端)

5.我在哪的命令
pwd ==>显示当前的路径

6.我是谁
whoami ==>显示当前登录的用户名

7.找到命令的绝对路径
which python ==> /user/bin/python

8.linux的文件系统格式 复习
1.是一个树状图
2.顶点是 根目录 /
3. 查看 根目录 下有什么 内容 ls /
4.用户家目录 超级用户root的家目录 /root (就是root下面的一个)
5.普通用户家目录 /home/xiaobai
/home/xiaolv
/home/铁锤
6.常用的文件夹
/opt 存放第三方软件的目录,大型软件的目录
/etc 存放各种配置文件的目录
/var/log 存放日志文件的目录,/var是存放经常变化的文件的目录

7.对文件夹,文件操作的命令

(蓝色的是文件夹)文件夹的操作:
ls
mkdir
mv 改名/移动位置(文件或文件夹都可以)
rm -r 才能删文件夹
(白色的是文件,xx.py xx.php xx.go xx.c )文件的操作:
cat 查看
touch 创建空文本
vim 创建/编辑文本(操作的文件不存在的话就创建 )
rm 单纯的指令只能删除文件
mv 改名/移动位置(文件或文件夹都可以)

8.linux的命令提示符
[root@localhost log]# ==>这是root用户默认的,普通用户的 [alex@localhost log]$

△如何 修改命令提示符
默认的命令提示符是PS1 的变量控制的
echo $PS1
结果是 (注意是反斜杠)
[\u@\h \W]\$ ==>\u:代表user,\h:代表hostname(主机名),\W:大写的,代表显示工作目录的最后一位

修改变量的值(将下面一行代码复制到终端,命令提示符当下就改变了,但是只在当前会话生效,退出重新登录就没有了)
PS1="[\u@\h \w \t]\$" ==>\w:小写的,代表显示绝对路径 \t:代表时间,时分秒

9.linux命令参数的用法
ls -ahl (参数的顺序无所谓,写上就有效果)==>l:显示详细信息,a:显示隐藏(以.开头的文件名),h:显示大小的单位(kb,Mb等)

10.查看文本的命令
cat 用于查看纯文本文件(常用于内容较少的),相当于open函数,把文件内容读取到内存当中
#猫,查看文件
cat xxx.py

#查看文件,显示行号
cat -n xxx.py (n:代表number)

#在每一行的结尾加上$符
[root@master tmp]# cat -E 1.txt

#追加文字到文件,可用于写代码,能保留格式输出
cat >>/tmp/oldboy.txt << EOF
唧唧复唧唧
木兰开飞机
开的什么机
波音747
EOF
解释:
>> 代表重定向,追加输出
<< 代表写入(输入符)
EOF 代表end of file , 文件结尾

△输入/输出 重定向符号
1.>> 追加重定向,把文字追加到文件的结尾
2.> 重定向符号,清空原文件所有内容,然后把文字覆盖到文件末尾
3.< 输入重定向
4.<< 将输入结果输入重定向

more 用于查看内容较多的文本,会以百分比形式告知已经看到了多少,使用回车键向下读取内容
按下空格space是翻页
按下b键是上一页
回车键向下读取内容

#例如要看一个很长的配置文件:
more /etc/passwd


11.查看文件的前十行,后十行

△下面的三行指令只是为了让我们看一下内容,便于后续指令的对照:(可以不写,也能)
vim xxx.txt # 打开文件
在结尾输入(不是编辑模式):set nu ==>显示行号
退出(:q!),输入下面的代码

head显示文件前几行,默认前10行
tail显示文件后几行,默认后10行

head -10 filename # 查看文件的前十行  等价于 head filename
tail -10 filename ==>tail:尾巴 # 查看文件的后十行 等价于 tail filename

实时监控的命令,可以用于检测nginx的 access.log 也能看各种日志信息
1,tail -f filename # 实时监控filename的 变化,终端会卡在这里==>-f:代表flush,持续刷新显示
2,再打开一个终端,输入 echo '111' >> /tmp/ll.py # 向同一个文件中追加内容 ,这时候上面的窗口会实时显示追加的内容



12.echo追加写入文件
> 重定向覆盖(相当于以w模式打开文件)输出符
>> 重定向追加(相当于以a模式打开文件)输出符 ==> echo 字符串(要写入的内容) >> 文件名(要写入的文件名)

[root@localhost tmp]# echo "亚洲的第一个秘密" > 亚洲的秘密.txt #覆盖写入
[root@localhost tmp]# echo "亚洲的第一个秘密" > 亚洲的秘密.txt
[root@localhost tmp]#
[root@localhost tmp]#
[root@localhost tmp]# cat 亚洲的秘密.txt
亚洲的第一个秘密
[root@localhost tmp]#
[root@localhost tmp]#
[root@localhost tmp]# echo "亚洲的第一个秘密" >> 亚洲的秘密.txt # 追加写入
[root@localhost tmp]# echo "亚洲的第一个秘密" >> 亚洲的秘密.txt
[root@localhost tmp]# echo "亚洲的第一个秘密" >> 亚洲的秘密.txt

13.复制的命令(重命名/移动,源文件存在) ==>对照 mv:重命名/移动,源文件不存在
cp 文件 新文件夹(要拷贝到的路径) # 拷贝文件(filename)到新文件夹下,没有指定名字的话是不改变名字
#拷贝xxx.py到/tmp目录下
cp xxx.py /tmp/
#拷贝xxx.py到/tmp目录下顺便改名为chaoge.py
cp xxx.py /tmp/chaoge.py

cp -r 文件夹 新文件夹(要拷贝到的路径) # 拷贝文件夹(dir)到新文件夹下,-r:是递归,复制目录以及目录的子孙后代,否则不能拷贝文件夹


14.历史记录命令
history 历史记录命令,记录系统的命令敲过的历史

快捷方式
使用 !加上 命令的序号,可以快捷执行
栗子:
history
结果: 282 exit
输入: !282
就会执行 exit 这个指令,登录状态就会退出



15.查找命令,查找机器上的文件,或者文件夹
find 要查找的路径 -type f -name 要查找的名字

find / -name views.py #找到机器上所有的 views.py
find /etc -name *.py #找到/etc目录下 所有名字叫做 .py的文件
find / -name python* #找到 机器上 所有的python开头的文件和文件夹
find / -type f -name python* #找到机器上 所有以python开头的文件
find / -type d -name python* #找到机器上所有python开头的文件夹


16.查看命令帮助信息,如何查看有什么参数?
http://linux.51yip.com/

命令 --help # 使用: grep --help

man 手册 # 使用: man grep ==>是以more命令的形式打开的,按enter去继续查看
man 命令


17.linux的系统管道符
grep==>全局 正则 打印
(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

grep [参数] [--color=auto] [字符串] filename # grep "all"(要查找的内容) ./settings.py(要查找的范围)
参数详解:
-i : 忽略大小写
-n : 输出行号
-v : 反向选择
--color = auto : 给关键词部分添加颜色
Linux提供的管道符“|”讲两条命令隔开,管道符左边命令的输出会作为管道符右边命令的输入。

联合栗子:
grep -v "^$" settings.py | grep -i "allow" # 前面的输出是一堆字符串,作为后面要查找的范围

#过滤出文件的有用信息,也就是排除 注释行,空白行
grep -v "^#" settings.py | grep -v "^$" # 这里的"^#"代表是以#开头的行

#测试:正则(要查找的内容)不需要加引号(加不加都可以)就可以匹配到
[root@localhost crm]# grep a /tmp/ll.py #要查找的内容,加或不加引号都可以找到,就算是正则表达式
aaaaaBBBBBAAAAA
a='1234567宝宝'
[root@localhost crm]# grep 'a' /tmp/ll.py
aaaaaBBBBBAAAAA
a='1234567宝宝'
[root@localhost crm]# grep '^a' /tmp/ll.py
aaaaaBBBBBAAAAA
a='1234567宝宝'
[root@localhost crm]# grep ^a /tmp/ll.py
aaaaaBBBBBAAAAA
a='1234567宝宝'



18.linux的别名功能
#查看系统默认别名
alias

#部分结果:
alias cp='cp -i'
alias mv='mv -i'
alias rm='rm -i'
-i:拷贝/移动/删除 已有文件或目录之前先询问用户;

栗子:当用户输入 rm的时候,就提示他 “你这个二货,求你了别坑我了 ”

# 为rm设置别名
alias rm="echo 你这个二货,求你了别坑我了"

#取消别名
unalias rm # 给rm取消系统中设置的别名(取消当前rm在系统中设置的别名,系统中就没有rm的别名了,需要重新加上原来的alias rm='rm -i',否则执行rm的时候是不会有删除提示的)

#设置别名永久生效,写入到/etc/profile(针对登录用户的合同,设置环境变量)
1,vim /etc/profile #编辑文件
2,将 alias rm="echo 你这个二货,求你了别坑我了" 写入文件的最后一行
i 进入编辑模式
G  快速到达最后一行
o  当前行下一行,创建一个新行,进入编辑模式
3,source /etc/profile #读取文件(合同生效)

19.更改主机名字
hostnamectl set-hostname wangdachui # 将主机名更改为wangdachui,需要退出会话重新登录才能生效

20.xshell的快捷键
ctrl + l 清屏 ==>Mac终端有效

ctrl + d 是快速推出会话 logout ==>Mac终端有效

shift + ctrl + r 是快速连接会话 ==>Mac终端无效



21.远程传输文件的命令
scp命令用于Linux之间复制文件和目录。secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。

语法: scp 【可选参数】 你想传输的内容(源文件) 你想传输到的地方(目标地址,可以)

#实例
#把本地的test.sh 传输到远程服务器上
scp test.sh root@服务器ip:/opt/
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 root@123.206.16.61:/opt/pythonav /tmp/

22.安装一个windows和linux传输文件的 软件

yum install lrzsz 的工具 # yun是Linux上使用的,类似于pip的指令

它提供2个命令,一个是上传 一个是下载

rz (接收文件) 直接rz

sz (发送文件) : sz 传输的内容 # 没弄出来???

直接拖拽

23.在线下载资源的命令

wget 资源的url
wget http://www.xiaohuar.com/d/file/20190227/257e9f91df2bbd45c537f9416ae3afbb.jpg


24.统计文件 文件夹大小的命令
du会显示指定的目录或文件所占用的磁盘空间。

用法
du 【参数】【文件或目录】
-s 显示总计
-h 以k,M,G为单位显示,可读性强
实例
#什么都不跟,代表显示当前目录所有文件大小
du

#显示/home的总大小
du -sh /home

ls -lh 方式1
du -h 文件 #统计文件大小
du -sh . #统计当前文件夹大小合计
du -sh /var/log #统计/var/log大小

25. chattr命令
给文件加锁,只能写入数据,无法删除文件
chattr +a test.py
chattr -a test.py
lsattr命令
查看文件隐藏属性
lsattr test.py

25.linux的任务管理器top
top

#开关机命令
reboot命令用于重启机器
poweroff用于关闭系统

26.linux的时间命令 date 可以查看当前时间日期
进行linux时间同步的命令
ntpdate -u ntp.aliyun.com # ntp是时间同步服务器 ntpdate:是与某一个服务器的时间进行同步 -u:update

27.下载python3,进行编译安装,运行django程序
1.解决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

2.下载python3源码包(先切换到/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


5.进入python36安装目录 ,检查bin目录


6.配置python3的环境变量 PATH
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

7.安装django,运行django
1.安装django模块
pip3 install -i https://pypi.douban.com/simple django==1.11.14

2.升级pip
pip3 install --upgrade pip

3.通过命令创建django项目


django-admin startproject crm
django-admin startapp app01

4.关闭防火墙
iptables -F
5.运行 项目
python3 manage.py runserver 0.0.0.0:8001 (最后的端口任意指定)

完成python3的安装 以及django项目的运行,显示页面 来了老弟

另:下载tree的指令 yum install tree -y 显示安装位置:rpm -ql tree


报错的话,输入 ctrl + c 退出(Mac也是使用Ctrl)


补充:
△Linux快捷键
1.tab键 用于自动补全命令/文件名/目录名
2.ctrl + l  清理终端显示
3.clear/cls 清理终端显示
4.ctrl + c 终止当前操作(Mac也是使用Ctrl)

linux 下面的指令之间的空格,一个或者多个都无所谓

posted on 2019-03-31 21:29  Lyf凤  阅读(102)  评论(0)    收藏  举报

导航

levels of contents