Linux
Linux操作系统
1、Linux操作系统是一个开源的操作系统
2、Linux内核使用的GPL
3、Linux操作系统是一个多任务,多用户系统
每一个用户有自己的工作空间(主目录,家)
会有自己的权限,权限可以改
Linux系统中有一个权限最大的用户(皇上)
root (root权限最大,可以创建新用户等等
Linux命令:
1、who 命令
功能:显示已经登录系统的用户信息
用法:命令行直接输入 who 回车
who
2、pwd命令
功能:显示当前在哪个目录中
用法:pwd
3、ls命令
功能:是查看指定文件夹下面的内容/文件信息
用法1:ls
Linux 命令的基本格式:
命令名 [选项] [参数]
命令名:区分大小写字母
选项和参数:可以有也可以省略
每个命令不同
Linux系统中:文件夹(目录),文件都是以文件
的形式体现(一切皆文件)
文件名和目录名,也区分大小写的。
A.txt a.txt
Linux文件系统中是采用的树形目录结构,
树的根 用 / 表示 / 根目录
也是最顶层的目录,其他所以的目录或者文件
都是在根目录或者根目录的子目录下面
/home/tarena
表示在根目录/下面的子目录home目录下有个一tarena的子目录
目录是有父子关系的:
父目录和子目录
Linux命令:
1、who 命令
功能:显示已经登录系统的用户信息
用法:命令行直接输入 who 回车
who
2、pwd命令
功能:显示当前在哪个目录中
用法:pwd
3、ls命令
功能:是查看指定文件夹下面的内容/文件信息
用法1:ls
用法2:ls 选项
ls -l(小写字母L)
-l 选项就是以详细信息的形式
显示内容(一行一个文件)
Linux文件系统中 目录或者文件名的第一个字母
如果是 . 该文件或者目录是隐藏的文件或者目录。
ls -a
-a 选项就是显示包含隐藏文件在内的所有内容。
ls -la
ls -al
参数:
ls 文件/目录
ls /
ls 如果不跟参数,就默认显示当前目录的内容
4、cd命令:
功能:切换工作目录(进入到某个目录)
用法:cd 目录名
目录名:可以是相对路径方式,也可以是绝对路径方式:
绝对路径:以根(/)开始的路径就是绝对路径
相对路径:不是以根开始的路径就是相对路径。
相对路径通常是以当前位置开始的
5、如何看命了的帮助
1、命令名 --help
2、使用 man 命令看帮助
man 命令
按q键退出
使用方向键,翻页键可以翻页(浏览内容)
6、技巧型
1、善于使用 Tab 键:补全
2、可以尝试使用历史命令
1、使用上下方向键在终端命令行翻阅已经
执行过的命令,选中后回车可执行
2、history
可以查看已经执行过的历史命令
!+序号 执行对应的命令
3、~ 代表 用户的主目录(绝对路径方式)
tarena 用户的主目录(家目录)是:
/home/tarena
我们的系统中 ~ 代表 /home/tarena
问题: cd 回车有啥效果?
回到用户主目录,相当于 cd ~
问题:cd - 有什么效果?
在最近访问的两个目录间切换
7、mkdir 命令
功能:创建目录
用法:mkdir 目录名
绝对路径/相对路径都可以
在目录中
. 目录代表当前目录
.. 代表父目录(上级目录)
练习:
在 /home/tarena 目录下面创建 如下目录
结构:
/home/tarena
|
test
|
+------+-------+------+
| | | |
src docs libs build
mkdir -p test/src
逐层创建不存在的目录
8、touch 命令
功能:1、如果文件不存在, 就创建一个空文件
2、如果文件或者目录存在,则使用系统时间更新文件或者目录的修改时间
用法: touch 文件或者目录
9、cp 命令
功能:复制
用法: cp 文件1 文件2
cp -a 目录1 目录2
9.1 diff 命令
功能:比较文件或者目录
用法:diff 文件1 文件2
如果文件1和文件2相同,没有提示
diff -r 目录1 目录2
10、mv 命令
功能:搬移文件或者改名
用法: mv 文件1 文件2
11、cat
功能:查看文件的内容,显示在终端(标准输出)
用法:cat 文件...
12、head
功能:查看文件的前几行,默认前10行
用法:head 文件
13、tail
功能:查看文件尾的几行,默认后10行
用法:tail 文件
14、clear
功能:清屏
用法:clear
清屏还有快捷键:ctrl + l
15、rm 命令
功能:删除目录或者文件
用法:rm 文件名/目录名
rm -r 目录名
慎重使用(删除后无法恢复)
sudo rm -rf /
16、wc 命令
功能:统计文件的行数、字数、字节数
用法 wc 文件/目录
17、tar命令
功能:压缩打包命令
用法:
1、打包用法
tar cvf 文件名 目录/文件
tar 命令名/程序名
cvf 选项
文件名:是将要创建的包的名
建议:文件名以 .tar 结尾
目录:将要打包的目录
2、展开
tar xvf 文件名
3、打包并压缩
tar cvfz 文件名 目录/文件
建议:文件名用 .tar.gz 结尾
4、解压缩用法
tar xvfz 文件名
18、find命令
功能:查找文件
用法:一个简单用法,通过文件名查找
find 目录 -name "文件名"
如果想中途结束一个命令运行:可以使用
ctrl + c
或者
ctrl + z
19、通配符
* 代表任何字符(任意多个任意字符)
? 代表一个任意字符
* ? 必须是英文
20、grep 命令
功能:在文件内查找指定的文本
用法:grep [选项] "要查找的内容" 文件
grep -r
grep -n
21、sudo 命令
功能:使某些命令以root权限运行(
不要切换到root用户的情况下)
用法:sudo 命令
22、ps 命令
功能:查看进程
用法:ps
ps aux
23、kill 命令
功能:杀死进程
用法:kill 进程ID
kill -9 进程ID
24、pkill 命令 自己看帮助
25、管道
管道符 |
管道用于连接 linux 命令,把前面的Linux命令
的输出,作为后面命令的输入
ps aux | grep vim
把 ps aux 命令输出的内容作为 grep 命令的输入。
26、标准输出重定向
把本来应该输出到标准输出(终端/屏幕)内容
输出到指定文件。
> 重新创建一个文件,如果文件存在,覆盖
>> 在文件尾部添加内容,如果文件不存在则创建
新的。
27、chmod 命令
功能:修改文件的访问权限
用法:chmod 选项 模式 文件
-rw-rw-r-- tarena tarena 1.txt
rwx 第一组:所有者(属主)权限
rwx 第二组:同组用户的权限
rwx 第三组:其他用户的权限
第一组:u
第二组:g
第三组:o
第一、第二、第三组:a
chmod a+rwx 1.txt
chmod a-rwx 1.txt
chmod o-rwx 1.txt
chmod o-x 1.txt
-rw-rw-r--
---
rwx 100 110 111 000 001 010 011 101
100 4 6 7 0 1 2 3 5
0
010
0
001
0
chmod 754 1.txt
7 u rwx
5 g r-x
4 o r--
Python 编程:
用Python编写一个计算个人标准体重的程序
成人:
男性:(身高cm-80)×70﹪=标准体重
女性:(身高cm-70)×60﹪=标准体重
软件:通常有
1、输入部分(输入身高,单位cm)
2、计算部分
3、输出(输出标准体重的值)
先写如何计算女性的标准体重计算程序
编写第一个Python程序
1、使用编辑软件编写 01.py 代码(源代码)
print("你好 Python!")
print:标准输出函数
2、运行程序
python3 01.py
python3 是Python语言的解释器
相当于java虚拟机
3、print:
是Python的标准库函数,标准输出函数
Python的函数是重要的内容:
编写或者使用一个函数至少要了解:
1、函数名:区分大小写字母
2、参数:函数要有 (), 函数名后面是()
() 里面是放函数参数
参数是可以没有
3、返回值:函数执行完代码后,反馈的结果
返回值一定有,但是有时没有实际内容
是空(None)
函数调用:
函数名(参数列表)
如果需要用函数的返回值
变量 = 函数名(参数列表)
print("你好 Python")
函数名
"你好 Python" 就是print的参数
写个Python程序,在终端窗口显示:
02.py
print("*")
python3 02.py
*
***
*****
*******
*********
Python算术运算:
加法 + a + b
减法 - a - b
乘法 * a * b
除法 / a / b 3/2 == 1.5
幂运算 ** a ** b
地板除 // a // b 3//2 == 1
取余 % a % b 3 % 2 1
3 + 2 * 5
运算符是有优先级
(3 + 2) * 5
括号可以改变优先级
(2 * 3) ** 2
优先级记不住的可以使用括号
a + b 叫表达式
在Python中一个表达式是可以求值的。
a + b - c
Python中几个数据类型:
1、Python中数字类型
1、正数 (int):Python正数和数学中的正数意义一致,可以是正、或者负、或则0,不能有小数。
Python3中的正数没有限制大小
2、浮点数(float):有小数的数 1.0 2.5 0.3 ... 在Python3中浮点数是双精度的(精度要高)
3、复数:
1 + 2j
4、布尔值:
真, 假
True False
成立 不成立
1 0
非0,即真
a > b a = 10 , b = 5
a = 20 , b = 20
2、Python中的字符串
字符串:使用'' "" ''' """ 括起来文本
就是字符串
"Hello Python"
'Hello Python'
'H'
"h"
'' 空字符串
"" 空字符串
''' 你好
Python
简单易学
'''
"""
你好
Python
"""
print("Hello Python")
Python 是面向对象的解释型编程语言
(高级编程语言)
Python中一切皆对象。
3
"aa"
print(3)
print函数的参数是对象列表,参数个数是可变的。
当要显示多个对象时,参数间是用逗号分隔。
print("hello", 3)
3、Python中的变量
变量就是 Python 程序在运行时用来在内存中
保存数据的量,该量是可以改变的。
c = (a + b) * 2
3 2
a --- 3
b ---- 2
20 10
变量保存在内存中。
程序运行也在内存中。
CPU和内存交互,数据最小单位是字节 Byte
一个字节是8位
Python中变量的一些规则:
1、Python中变量必须先定义(创建)再使用
(Python变量是对象)
2、如何创建Python变量?
Python变量是在第一次给它赋值时创建的。
第一次赋值Python解释器自动创建。
3、如何给变量赋值?
最简单的格式:
变量名 = 值(对象)
如:a = 10
= 是赋值运算符!!!!
变量名是按照规则任取名
a = 10
b = 1000
yy = 1000
4、变量取名规则是什么?
1、变量名是由字母、下划线、数字构成
但是只能有字母或者下划线开头
a
a5
a_5
_a5
5a X
2、变量名中的字母是区分大小写
(大小写敏感)
A a
3、不允许使用Python的关键字来为
变量命名
关键字:Python解释器预留一些英文
词组,有特殊含义或者作用
建议:变量命名遵循
Python的 PEP 8 规则
5、问题:
a = 10 赋值语句,
对变量进行赋值
赋值的结果是把
变量和对象进行绑定。
把变量a 和 对象10 进行绑定
b = 3.5
猜想:
a = 10
语句执行后,Python解释器大概做哪几个
动作?
10 是对象
a 是对象吗? 也是
1、内存中需要有对象10吗?
需要
2、需要在内存中创建变量?
要创建
3、还有什么动作?
把 a 和 10 绑定
绑定的意思?暂时可以理解
可以通过变量找到值(对象)
绑定是单线联系
a = 10
b = 10
对象:Python对象有一个唯一标识
对象ID
可以使用id函数来查看对象ID
变量是在第一次赋值是创建的,对一个变量
可以多次赋值,第一次以外的赋值
是改变变量和对象的绑定关系。
a = 10
a = 20
6、问题 Python变量有类型吗?
10
10.5
"dafdslf"
a = 10
b =1.5
变量有类型
a = 100
print(a)
a = "aa"
print(a)
Python中变量类型取决于绑定对象
和绑定对象类型一致。
a = 100
a = "aaa"
Python的变量的类型是动态的。
如何知道变量的类型呢?
type函数可以查看。
a = 10
b = 20
c = a + b
a = 10
b = a
c = a + b
显示的删除变量可以使用 del
Python变量不需要我删除,解释器自动维护。
编程一个程序,计算给定变长的长方形周长
c = (a + b) * 2
Python 标准输入函数 input:
input实现获取从键盘输入的内容
input(提示)
从标准输入读取一个字符串(去掉了\n)
该函数有返回值!
返回值是啥?
我们输入字符串
a = input(提示)
Python的关系运算:
关系运算的结果,要是真,要么假
> 大于 a > b a=10, b=5
< 小于 a < b
>= 大于等于 a >= b
<= 小于等于 a <= b
== 等于 a == b
!= 不等于 a != b
a > b > c > d
Python 逻辑运算:
and 逻辑与 a > b and c > d
A B C
1 1 1
1 0 0
0 1 0
0 0 0
or 逻辑或 a > b or c > d
not 逻辑非(取反) not a
分支语句/选择语句
if 语句
if 真值测试表达式:
语句1
...
语句至少有一条,如果一条不写,可以使用
pass
if 下面的语句相对if 必须缩进
建议缩进4个空格
if a == '女':
w = (h - 70) * 0.6
if a == '男':
w = (h - 80) * 0.7
if a > b:
pass
if 真值测试表达式:
语句1
...
else:
语句2
...
if 真值测试表达式:
语句1
...
if 真值测试表达式:
语句3
...
else:
语句2
...
if 语句练习:
1、要求输入4个整数,输出最小的一个
2、提示输入一个年份:1995
然后判断该年份是否是闰年。
闰年条件:
1、能被4整除,但不能被100整除
2、能被400整除
year % 4 == 0 成立,能被4整除
year % 4 != 0 成立,不能被4整除
编程测试标准体重的程序(男性和女性)
1 程序运行后显示如下界面:
+------------------------------+
| 标准体重计算程序 版本 1.0 |
| 作者: XXX |
| |
| 1. 男性 |
| 2. 女性 |
| 3. |
+------------------------------+
请选择(1, 2):
2、根据选择情况:
分别计算男性或者女性的标准体重
3、提示输入体重,给出是否超重的结果
if 真值测试表达式:
语句1
...
elif 真值测试表达式:
语句3
...
elif 真值测试表达式:
语句4
...
else:
语句2
...
Python的循环:while 循环
while 真值测试表达式:
语句1
...
执行动作:
1、首先测试真值表达式的值
2、真值表达的值为真,则逐条执行 while
下面语句
while 下面所有语句执行完毕后
回到1继续执行
3、真值测试表达式为假,
则直接执行 while循环后面的代码
例子:
计算 1-10的整数的累加和
sum1 = 1 + 2 ....+10
sum1 = 0
sum1 = sum1 + 1
sum1 = sum1 + 2
...
sum1 = 0
i = 1
sum1 = sum1 + i
i = i + 1
sum1 = sum1 + i
i = i + 1
sum1 = sum1 + i 3
i = i + 1
sum1 = sum1 + i 4
sum1 = 0
i = 1
while i <= 10:
sum1 = sum1 + i
i = i + 1
if 真值测试表达式:
while 真值测试表达式:
i = 1
while 1:
i = i + 1
死循环:当编写程序的时候,不太好判断结束条件
可以使用是循环
break 语句:
break 只要执行到 break 语句就会退出当前
循环(只能退出一层)
while 真值测试表达式:
语句1
...
else:
语句2
...
else:分支在 真值测试表示为假的时候执行
在使用break语句跳出循环的情况下,
else分支不执行。
循环可以嵌套
while True:
while True:
print("dasjfla")
练习:
编写一个程序,要求输入一个整数
(5-10),计算其阶乘,并显示
5!= 1*2*3*4*5
练习:
编写 Python程序在屏幕上显示 9x9 乘法表
1x1=1
1x2=2 2x2=4
...
1x9=9 ... 9x9=81
Python学前预习