本文将学习linux下常用命令和python3快速入门
Ubuntu
快捷键:
ctrl + alt 释放鼠标到主机
ctrl + alt + enter 全屏/退出全屏切换
Linux 有使用:
通过终端 Terminal 操作计算机
Linux命令:
命令的格式:
命令名 [选项] [参数]
注:
1. 命令名必须存在
2. 命令名区分大小写
3. [] 内部的选项和参数可以没有
date 命令:
作用:
用于显示系统日期
格式:
date +%D 月/日/年 格式
date +%T 时:分:秒 格式
cal 命令
作用:
显示日历:
$ cal # 显示当月的日历
$ cal 2018 # 显示2018年的全部日历
$ cal 8 2020 # 显示2020年8月的日历
目录树:
根(root) /
路径:
路径是表示一个文件或文件夹的字符串
例:
/home/wd
/home/wd/2.txt
Linux下的路径:
分为两种:
绝对路径:
相对路径
绝对路径:
以'/' 字符开头的路径为绝对路径
相对路径:
不以'/' 开头的路径
开始符号:
文件/文件夹名称
. 当前文件夹(目录)
.. 上一级文件夹(目录)
~ 用户主目录
pwd 命令:
作用:
显示当前的工作路径在哪儿
例:
$ pwd
/home/wd
ls 命令:
作用:
显示指定文件夹或文件信息
常用选项:
-l 列表显示详细信息
-a 显示全部的文件/文件夹
cd 命令:
作用:
进入到一个目录(切换工作路径)
格式:
cd 文件夹名(目录名)
示例:
cd # 回家(回到用户主目录)
cd / # 到根目录下
cd /etc/init.d # 到 /etc/init.d下
cd .. # 到上一级目录
cd ~ # 回家,等同于 cd
cd - 回到进到此目录之前的文件夹
mkdir 命令:
创建文件(新建文件夹)
格式:
mkdir 文件夹名
rmdir 命令:
删除文件夹(文件夹必须为空时才能删除)
格式:
rmdir 文件夹名(可以是文件夹路径)
touch 命令:
创建一个或多个空文件
格式:
touch 文件名1 文件夹2 ...
rm 命令:
删除一个文件或多个文件
格式:
rm 文件名1 文件名2 ...
mkdir 命令
新建文件夹
常用选项:
-p 如果中间文件夹不存在,则逐级创建所有文件夹
示例:
mkdir -p a/bb/ccc/ddd
tree
.
└── a
└── bb
└── ccc
└── dddd
rmdir 命令
删除文件夹
常用选项:
-p
示例:
rmdir -p a/bb/ccc/
touch 命令:
作用:
1. 如果文件不存在,则创建一个空文件
2. 如果文件存在,则用系统时间更新它的修改时间
格式:
touch 文件名1 文件名2 ...
rm命令:
作用:
删除文件或文件夹
格式:
rm [选项] 文件或文件夹
常用选项:
-r 递归删除文件夹内的文件和文件夹
-i 删除前给出提示(y代表yes,n代表no)
-f 强制删除, 不给任何提示
--help帮助选项:
用于显示命令的帮助信息
格式:
命令名 --help
示例:
ls --help
man 命令:
作用:
查看命令所对应的帮助文档(手册)
格式:
man 命令名
示例:
man ls
操作键:
翻页键: j(下), k(上)
退出键: q
tab键
在输入命令时能自动补全命令名 或 路径
history 命令
作用:
把以前键入的命令都列出来
调用以前执行的命令:
!编号 执行对应的命令
注:
在终端提示符($或#)下,用上下键可以翻出历史命令,然后回车执行
通配符
* 代表0个,1个或多个任意字符
? 代表1个任意字符
示例:
touch a ab ac abc aabb bc cd
ls a*b # 列出所有以a开头,以b结尾的文件
ls c*
ls *.txt # 列出所有以.txt结尾的文件
文本编辑器
vi/vim
sublime text 3
vi/vim 文本编辑器
作用:
编辑文本文件信息,主要用来写程序的源代码
启动命令:
vi
或
vi 文件名
退出:
:q<回车>
vim 两种常用的模式:
a/i/o/O
命令模式 --------> 编辑模式
<--------
ESC键
vim 常用的命令:
:q 退出
:q! 不保存,强制退出
:w 保存
:w 文件名 保存到指定的文件(另存...)
:wq 保存并退出
vim 的复制命令:
yy 复制一行或多行
p 粘帖
y$ 复制到一行行尾
y^ 复制当前光标处到行首
dd 删除当标所在的行
撤销(Undo) 和重做(Redo) 操作:
u 取消最近一次的操作,并恢复操作结果
ctrl + r 对使用u命令撤销的操作进行恢复
sublime text 3 文本编辑器
启动命令:
subl<回车>
subl 文件名<回车>
sublime text 的快捷操作:
1. 打开和隐藏side bar 的快捷键
ctrl + k + b
注:只有打开文件夹时才能打开侧边栏
菜单操作:
view-> side bar --> Hide/Show Side Bar
sublime 创建多个光标:
ctrl + 鼠标点击 创建多个光标
按ESC键或单击鼠标左键可以取消多个光标
sublime 多选相同的块
ctrl + d
其它快捷键:
ctrl + c 复制光标所在的行(未选中任何内容时)
ctrl + v 在光标的上一行粘贴复制的行
ctrl + + 字体放大
ctrl + - 字体缩小
ctrl + s 保存文件(重要)
文本文件查看相关的命令:
cat 命令:
作用:
将文件内容作为标准输出显示
格式:
cat 文件名1 文件名2 ...
示例:
cat /etc/passwd
more 命令:
作用:
分页显示文本文件的内容
示例:
more /etc/passwd
基本操作:
q 退出
空格 下翻一页
less 命令:
作用:
分页显示文本文件内容(可以上下回滚,翻页)
格式:
less 文件名
less 基础操作:
q 退出
j 下翻
k 上翻
空格 下翻一页
head 命令:
查看文件头几行内容
tail 命令:
查看文件的末尾几行内容
格式:
head -n 文件名
tail -n 文件名
注: n 为整数数字(默认为10)
cp 命令
作用:
复制文件或文件夹
格式:
cp [选项] 源文件名 目标文件或文件夹名
cp -a 源文件夹名 目标文件夹
示例:
cp mypasswd.txt 桌面
cp mypasswd.txt 桌面/a.txt
cp -a game 桌面
mv 命令
作用:
文件搬移或更名
格式:
mv 文件1 目标文件2
mv 源文件夹 目标文件夹
which 命令:
作用:
显示命令所在的可执行文件的完整路径
示例:
which ls
/usr/bin/ls
whereis 命令:
作用:
显示一个二进制文件,源码或man手册的位置
示例:
whereis ls
--help帮助选项:
用于显示命令的帮助信息
格式:
命令名 --help
示例:
ls --help
gzip 命令:
作用:
用zip压缩算法对文件进行压缩,生成压缩后的文件(.gz 结尾)
格式:
gzip 文件名
示例:
cp /etc/passwd mypasswd.txt
gzip mypasswd.txt
gunzip命令
作用:
对用zip压缩算法压缩的.gz格式的数据进行解压缩
格式:
gunzip 文件名
示例:
gunzip mypasswd.txt.gz
打包和解包的命令
tar 命令
作用:
对文件或文件夹进行打包和解包的操作
格式:
tar [选项] 文件名或路径
常用选项:
-c 创建包
-x 解包
-v 显示操作文件的细节
-f 文件名 操作的文件名
-z 用gzip/gunzip 对包进行压缩和解压缩
常用的打包命令:
tar -czvf day02.tar.gz day02/
.....解包命令
tar -xzvf day02.tar.gz
用户权限管理命令:
sudo 命令:
作用:
用超级用户root权限执行这些命令
格式:
sudo 命令 [选项] [参数]
常用选项:
-i 选项, 切换到root 用户
示例:
$ sudo mkdir /myfolder_haha
$ sudo -i # 切换到root用户
超级用户 root
exit 命令:
作用:
退出用户登陆
如:
# exit # 退出用户登陆
UNIX/Linux 组管理及命令:
组相关的配置文件:
/etc/group
groupadd 命令
作用:
创建一个组
groupdel 命令
作用:
删除一个组
UNIX/Linux 用户管理命令:
用户信息:
1. 用户名称
2. 用户ID
3. 用户的主组
4. 用户主目录
5. 用户密码
6. 用户登陆时的 shell 解释器
用户相关的配置文件:
/etc/passwd
/etc/shadow
useradd 命令:
作用:
添加一个用户
常用选项:
-g 组名或GID 指定主组
-p 密码 在创建时指定密码
-m 创建用户主目录
-d 目录 指定其它的用户主目录
-s shell程序路径 指定新用户的登陆shell
示例:
$ sudo useradd weimz -m -s /bin/bash
passwd 命令
作用:
修改用户密码
格式:
passwd [选项] 用户名
示例:
$ sudo passwd 123456#修改weimz的密码
$ passwd # 修改当前用户自己的密码
userdel 命令:
作用:
删除一个已存在用户
格式:
userdel [选项] 用户名
常用选项:
-r 删除用户的主目录和相关文件
示例:
$ sudo userdel -r 12345
usermod 命令:
作用:
修改用户的相关信息
格式:
usermod [选项] 用户名
常用选项见:
usermod --help
su 命令:
作用:
切换到指定的用户
格式:
su [用户名]
注:如果不指定参数,默认切换到root用户
文件权限管理及命令:
查看文件权限:
ls -l
UNIX/Linux文件类型
- 普通文件
d 文件夹
c/b 设备文件charactor / block
p 管道文件
l 链接文件
s 套接字文件
文件的权限类型:
r 读取权限
w 写权限
x 执行权限
文件权限的分组:
用户权限(user) 组权限(group) 其它(other)
rwxrwxrwx
---------
属主
每个文件必须属于某一个用户,所有者称属主
属组
每个文件必须属于某一个组,这个组称为属组
以上两个都不是的用户称为其它用户
chmod 命令
作用:
修改文件的权限
格式:
chmod 权限 文件名
权限:
u 用户(属主)
g 同组用户(属组)
o 其它用户
a 所有用户
+ 添加权限
- 去除权限
777 最高权限
000 最低权限
示例:
chmod o-r a.txt # 其它人去掉读权限
chmod g-rw a.txt # 属组用户云掉读写权限
chown 命令:
修改文件的属主(需要管理员权限)
格式:
chown [owner][:group] [选项] 文件
常用选项:
-R 文件名或文件夹名 对所有文件执行递归修改操作
示例:
$ sudo chown w :we a.txt
$ sudo chown wd a.txt
alias 命令:
作用:
给命令取别名
格式:
alias 新命令名='旧命令名 [选项...]'
示例:
alias delete='rm -i'
Unix/Linux 管道
运算符
|
作用:
将一个命令的输出,作为另一个命令的输入
格式:
命令1 选项1.. | 命令2 选项2 | 命令3 选项3...
示例:
查看/etc/passwd 下用/bin/bash启动的 的用户有几个
grep "/bin/bash" /etc/passwd | wc -l
输出重定向:
输出分为两种:
1. 标准输出
2. 标准错误输出
标准输出重定向:
> 将一个命令的标准输出重定向到文件
>> 标准输出追加到一个文件
示例:
grep "/bin/bash" /etc/passwd > file.txt
标准错误输出重定向
2> 将一个标准错误输出重定向到文件
2>> 标准错误输出追加到文件
示例:
find /etc -name 'group' 2> erorr.txt
重定向所有输出
&> 将所有输入重定向到同一个文件
&>> 此处略...
echo 命令:
作用:
将文本信息作为标准输出
格式:
echo "字符串"
示例:
echo 'hello'
shell程序运行方法:
方法1:
$ bash 程序文件名
方法2:
$ chmod +x 程序文件名
$ ./程序文件名
shell的注释:
# 井号开头,直至行尾
第一行注释 #!:
作用:
指定解释执行此文件的程序是谁?
示例:
#! /bin/bash
进程管理及其命令:
什么是进程:
正在执行的程序
ps 命令:
作用:
查看进程相关的信息
格式:
ps [选项]
示例:
ps
ps aux
kill 命令:
作用:
杀死进程
格式:
kill 进程的pid号
ctrl + c 终止进程
top 命令:
作用:
查看程序运行状态
退出:
Q键
网络管理及命令:
什么是IP地址:
192.168.1.100 (IPv4)
(0~255).(0~255).(0~255).(0~255)
ifconfig 命令
作用:
查看和设置网络配置
示例:
ifconfig
ifconfig eth0
注:windows下用ipconfig命令
ping 命令:
作用:
测试网络的连接状态
格式:
ping IP地址或域名
例如:
ping 172.60.50.78
ping www.baidu.com
hostname 命令:
作用:
查看和设置主机名
示例:
hostname # 查看主机名
ssh 命令:
作用:
远程登陆到一台主机
格式:
ssh [用户名@]ip地址或域名
示例:
$ ssh weimz@172.60.50.78
exit 命令
作用:
退出登陆
who 命令:
作用:
查看当前主机有哪儿几个用户登陆
scp 命令:
作用:
远程复制文件或文件夹
格式:
scp [选项] 源文件地址 目标文件地址
远程文件地址格式:
用户名@IP地址:绝对路径
示例:
# 复制我的一个文件day03.tar.gz到172.60.50.78的 /home/weimz/下
$ scp ./day02.tar.gz weimz@172.60.50.78:/home/weimz/
系统的关机,重启等命令
poweroff # 现在关机
shutdown -h now # 现在关机
shutdown # 一分钟后关机
shutdown -h 小时:分钟 # 按预定时间关闭系统
shutdown -c # 取消按预定时间关闭系统
shutdown -r now # 重启
reboot 重启
ssh 命令:
远程登陆另一台Linux/Unix主机
IP 用户名 密码
scp 命令:
远程复制
scp 用户名@IP或域名:路径
密码
poweroff
shutdown -h now
shutdown -h 小时: 分钟
shutdown -r now
reboot
echo 制作一个标准输出
输出重定向:
>
>>
2>
2>>
&>
&>>
数据流(先后顺序关系)
管道 |
进程
启动用户 PID 运行状态 CPU占比 内存% 命令名
睡眠S
僵尸Z
停止?
运行R
kill 杀死进程
top 命令
ping 命令
who 命令
《python 基础》
进入python解释执行器:
$ python3
退出:
>>> exit()
>>> quit()
>>> <ctrl+d>
ctrl + L 清屏
第一个python程序:
hello.py
写入内容见:
hello.py
python 的执行:
$ python3 xxxx.py
python的核心数据类型 :
数字(整数,浮点数, 复数,布尔型)
字符串等
整数:
10
-10
9999999999
0xabcd(十六进制)
0b1110(二进制形式)
0o1234(八进制形式)
浮点数:
3.14
6.18e-1 (等同于 0.618 e代表10, -1代表10的-1次方)
2.9979e8(光速)
复数 complex
分为两部分:
实部 (real)
虚部 (image)
注:虚部以j或J结尾的数
表示方式:
(1+2j)
(-2j)
(-100+200j)
-2j # 等同于 (0-2j)
布尔类型 bool
用来表示真和假两种状态的类型
True 表示真(条件满足或成立)
False 表示假(条件不满足或不成立)
表达式和运算符
表达式是由数字或数字和运算符组成,在计算机语句中用来做一件事情并返回结果
算术运算符:
+ 加法
- 减法
* 乘法
/ 除法
// 地板除
% 求余
** 幂运算
/ 除法:
等同于数学中的除法
1 / 3 # 等于 0.33333333
// 地板除
除的结果去掉小数部分,向下取整
1 // 3 得 0
7 / 3 # 得 2.3333333
7 // 3 # 得 2
7.5 // 3 # 得 2
7.5 // 3.5 # 得 2
% 求余:
7 % 3 # 得 1
7.5 % 3 # 得 1.5
7.5 % 3.5 # 得 0.5
** 幂运算
x ** y 意为 x的y次方
4**2 # 得 16
3.0 ** 2.5 # 得
print函数:
简单格式:
print(要打印的数据, 第二个要打印的数据,...)
变量
变量名的命名方法:
变量名必须为字母或下划线开头,后跟字母或数字或下划线
合法变量名
a a_1 a_200 a_b_c_d
aaaaa bcd zzz c1b2
abcd ABCD
a1 _1234 _ABCD _hello_123
a2
a3
不合法的变量名:
1a %100 %ABC% $ABCD
赋值语句:
变量名 = 表达式
del 语句:
删除变量
格式:
del 变量名
复合赋值运算:
+= -= *= /= //= %= **=
格式:
变量 += 表达式 # x += y 等同于 x = x + y
比较运算符
< 小于
<= 小于等于
> 大于
>= 大于等于
== 等于
!= 不等于
语法:
左表达式 < 右表达式
数值对象构造(创建)函数
float(obj) 用字符串或数字转换为浮点数,如果不给同参数则返回0.0
int(x, base=10) 用数字或字符串转换为整数,如果不给出参数则返回0
complex(r=0.0, i=0.0) 用数字创建一个复数(实部为r,虚部为i)
bool(x) 用x创建一个布尔值
函数的调用:
函数名(传参列表)
基本输入函数:
input('提示字符串')
返回输入的字符串(仅python3)
python
两个版本:
v2.7
v3.5
python 两种执行模式:
交互模式:
python3<回车>
解释执行模式:
python3 xxxxx.py
python 的注释:
# 开头直至行尾
数据类型:
数字类型(整型int, 浮点型float,复数complex,
布尔型bool)
字符串
列表
元组
...
3.3 == 3.3333333333
算术运算符:
+ - * / // % **
a 是一个数字
b 是被除数
x = a // b
y = a % b
b * x + y == a
运算符的优先级:
变量
取名字:
第一个字符[a-zA-Z_]
第二个字符和以后[a-zA-Z0-9_]
变量名不能是关键字:
del, if, True, False, None, while ...
赋值语句
变量名 = 表达式(数字,运算符,函数调用,类,....)
作用:
创建和修改变量
del 语句:
删除变量
复合赋值语句:
+= *=
语法:
变量名 += 表达式
比较运算符
> >= < <= == !=
函数:
print函数
input函数
float
int
complex
bool
函数调用:
函数名(传参列表)
if 语句
作用:
让程序根据条件选择性的执行某条语句或某些语句
语法:
if 真值表达式1:
语句块1
elif 真值表达式2:
语句块2
elif 真值表达式3:
语句块3
...
else:
语句块4
布尔运算:
not and or (对应C语言的 ! && || )
布尔非操作 not
语法:
not x
作用:
对 x 进行布尔取非,如bool(x) 为True,则返回False, 否则返回True
x = 100
if not x:
print("not x 为真")
else:
print("not x 为假")
布尔与操作 and
语法:
x and y
注: x, y 代表表达式
作用:
优先返回假值对象
当x的布尔值为False时,返回x,否则返回y
布尔或操作 or
语句:
x or y
作用:
优先返回真值对象
当x的布尔值为真时返回x,否则返回y
pass 语句
作用:
用来填充语法空白
字符串 str
作用:
用来记录文本信息
表示式方法
'hello'
"hello"
"""hello"""
'''hello'''
字符串的运算:
+ += * *=
"你好" + "中国"
'你好中国'
字符串的比较:
<
<=
>
>=
==
!=
说明:
字符串的比较是按 ascii 编码值进行依次比较
见:
$ man ascii
示例:
'A' < 'B' # True
'ABB' < 'ABC' # True
'ACB' > 'ABC' # True
'AD' > 'ABC' # True
'AB' < 'ABC' # True
'ABC' == 'abc' # False
len(x) 函数
示列:
s = input("请输入:")
print("您输入", len(s), "个字符")
练习:
写一个程序分别输入三行字符串:
将这些字符串进行右对齐显示:
$ python3 input.py
请输入:abc
请输入:abcdefg
请输入:12345
打印如下:
abc
abcdefg
12345
if 语句
判断条件,选择性的执行某些语句
语法:
if 条件1:
条件1成立时执行的语句块
elif 条件2:
条件2成立时执行的语句块
elif 条件3:
条件3成立时执行的语句块
....
else:
语句块
布尔运算
not, and, or
pass 语句
字符串
'aaa'
"aaa"
'''aaa'''
"""aaa"""
字符串的运算:
+ += * *=
> >= < <= == !=
用转义序列代表特殊字符:
\' 代表单个引号
\" 代表单个双引号
\n 代表换行
让计算机输出如下字符串:
aaa'b'"c",'''d''',"""e"""
字符串索引: index
字符串索引上以下标方式获取字符串的某个字符
语法:
字符串[整数值]
说明:
0代表第一个字符,1代表第二个字符,以此类推
-1 代表倒数第一个字符,-2 代表倒数第二个,以此类推
示例:
s = 'abcdefg'
print(s[0]) # 'a'
print(s[-1]) #'g'
python3 中常用的序列函数
len(seq) 返回字符串的长度
max(x) 返回字符串的最大值字符
min(x) 返回字符串最小值元素
字符串编码转换函数:
ord(c) 返回一个字符串的 UNICODE 值
chr(i) 返回i这个值对应的一个字符
字符串相关的方法:
如何用python3帮助查看字符串的方法:
>>> help(类型名) # 查看某个类型的文档
例:
>>> help(str) # 查看字符串类型的文档
方法用法:
字符串.方法名(方法传参)
s =input("请输入一个整数:")
i = int(s)
if i < 0:
print("您输入提负数")
符串格式化表达式:
语法:
格式字符串 % 参数值
或
格式字符串 % (参数值1, 参数值2, ...)
作用:
生成一定格式的字符串
格式化字符串中的占位符的类型码
%s 字符串
%c 整数传为单个字符串
%d 整数
%f 浮点数
循环语句:
while 语句
语法:
while 真值表达式:
语句块1
else:
语句块2
说明:
else 部分可以省略
作用:
可以根据条件重复的执行语句块1
break 语句:
作用:
用于循环语句中,当执行时终止循环
说明:
当break执行时,while 语句的else子句不会被执行
列表 list
列表是一种容器,用来存储数据
列表内的数据有先后顺序关系
列表是可以被改变的容器
列表里可以存放任意类型的数据
列表的表示方式:
[]
列表的运算:
+ += * *=
> >= < <= == !=
# 比较的规则同字符串比较规则完全相同
示例:
[1, 2, 3] > [1, 2, 2] # True
[1, 2, 3] < [1, 3, 2] # True
列表的索引操作:
1. 同字符串的索引操作相同.
2. 列表是可变的容器,可以通过列表索引赋值来改变列表的元素
示例:
L = [1, 2, 3, 4]
print(L[0]) # 1
print(L[2]) # 3
print(L[-1]) # 4
L[3] = 5
print(L) # [1, 2, 3, 5]
del 语句,用于删除列表的元素
示例:
L = [1, 2, 3, 4]
del L[3]
print(L) # [1, 2, 3]