Linux for Python教程01
1. Linux和操作系统
1.1. 什么是操作系统

1.2. 现有操作系统
Mac, win7, win10, winXP, Android, IOS

1.3. Linux用户目录

Windows: C:/windows/haoch/..
Linux: /home/user(绝对) + ~(相对)
- 绝对路径:
/home - 相对路径:
../..
当前路径 ·
上一个路径 ..
上上一层路径 ../..
1.4. Linux文件权限
三种访问方式限制访问权限:
- 读权限(r)-> 读取文件内容的权限,浏览目录的权限
- 写权限(w)->增加,修改文件内容的权限,删除,移动目录内文件的权限
- 可执行权限(x)->执行文件的权限,进入目录的权限
2. Linux命令
命令的格式
command [-options] [parameter1] ...
| 代码 | 说明 |
|---|---|
ls |
显示当前路径下的所有文件和文件夹 |
cd path |
跳转路径 |
cd .. |
跳到上一个路径 |
cd ~ |
当前用户的家目录(/home/haoch) |
cd - |
回到历史记录的上一个路径 |
cd ./python/ |
跳到当前目录下的python文件夹下 |
cd python/ |
跳到当前目录下的python文件夹下 |
pwd |
查看当前所在路径 |
ls -l |
当前路径下的文件详细内容 |
clear |
清空 |
ls --help |
查找命令的详细信息 |
man |
帮助手册 |
按Tab |
自动补全 |
history |
查看历史命令 |
touch |
创建文件 |
touc ./chenhao/123.py |
在当前目录下的文件夹下创建文件 |
上下键 |
调用历史内容 |
ls > test.txt |
重定向输出 |
ls >> test.txt |
重定向输出(添加,非覆盖) |
gedit test.txt |
打开txt文件 |
cat test.txt |
将文本内容显示在command上 |
cat 1.py 2.py > 3.py |
同时显示多个文件 |
more test.txt |
分屏显示(内容多的时候) |
| |
管道 |
ls -lha | more |
命令先后执行 |
mkdir directory |
创建一个新的directory |
rmdir directory |
删除一个文件夹(必须空) |
rm directory -r |
删除一个文件夹(任何) |
rm 123.py |
删除文件 |
rm 123.py -f |
强制删除 |
ln 123.py 123link.py |
创建硬链接 |
ln -s 123.py 123link.py |
创建软连接 |
grep '22' 1.py |
从文件中搜索内容 |
grep -n '22' 1.py |
从文件中搜索内容(开头显示行数) |
grep -n '^22' 1.py |
从文件中搜索内容(开头显示行数),以22开头 |
grep -n '22$' 1.py |
从文件中搜索内容(开头显示行数),以22结尾 |
grep -n 'e.e' 1.py |
匹配eee,eae,eve.... |
find /home/ -name 123.py |
在电脑中查找文件 |
cp 123.py test/ |
将文件拷贝到另外一个文件夹 |
cp direc1 direct2/ -r |
将一个文件夹拷贝到另外一个文件夹 |
tree |
树状形式显示目录结构 |
mv 123.py test/ |
将文件剪切移动到另外一个文件夹 |
mv direct1 direct2 |
将一个文件夹剪切移动到另外一个文件夹 |
mv 123.py 666.py |
文件重命名 |
tar -cvf test.tar 1.txt 2.txt 3.txt |
文件打包 |
tar -xvf test.tar |
文件解包 |
gzip bao.tar |
将包文件压缩 |
gzip -d bao.tar |
解压缩成包 |
tar -zcvf test.tar.gz 1.txt 2.txt |
文件打包 + 压缩(.gz) |
tar -zxvf test.tar.gz |
文件解压缩 + 解包(.gz) |
tar -zxvf test.tar.gz -C path |
文件解压缩 + 解包 + 指定路径 |
tar -jcvf test.tar.gz 1.txt 2.txt |
文件打包 + 压缩(.bz2) |
tar -jxvf test.tar.gz |
文件解压缩 + 解包(.bz2) |
which ls |
查看命令的路径位置 |
sudo -s |
转成超级管理员 |
kill 进程ID |
结束进程 |
kill -9 进程ID |
强制结束进程 |
reboot |
重启 |
shutdown |
关机 |
shutdown -h 20:20 |
20:20关机 |
cal |
日历 |
date |
时间 |
top |
动态进程 |
技巧:
按Tab键可以提示命令->自动补全
drwxr-xr-x 2 haoch haoch 4096 Jan 8 20:22 chenhao
-rw-r--r-- 1 haoch haoch 8980 Jan 8 20:02 examples.desktop
2.1 文件管理相关
(1).ls命令
| 参数 | 含义 |
|---|---|
| -a | 显示指定目录下的所有子目录与文件,包含隐藏文件 |
| -l | 列表显示文件的具体信息 |
| -lh | 人性化显示文件大小 |
| -alh | 全部显示 |

(2).通配符
| 通配符 | 含义 |
|---|---|
* |
文件代表文件名中所有字符 |
| ls te* | 查找以te开头的文件 |
| ls *html | 查找以html结尾的文件 |
? |
代表文件名中的任意一个字符 |
| ls ?.c | 只找第一个字符任意,后缀为.C的文件 |
| ls a.? | 只找首字母为a,后缀名任意的文件 |
[] |
表示匹配字符中的任意一个 |
| [abc] | 匹配a,b,c中任意一个 |
| [a-f] | 匹配a到f范围内的任意一个字符 |
| ls [a-f]* | 查找a到f任意一个字符开头的文件 |
| \ | 转移符 |
| ls *a | 查找文件名为*a的文件 |
(3).输出重定向命令
Linux允许将命令执行结果重新定向到一个文件,本应显示在终端的内容保存到指定的文件中
ls > test.txt(test.txt如果不存在,则创建,存在则覆盖内容)
ls >> test.txt (从文件末尾追加)
(4).分屏显示:more
如果cat一次性显示不开,用more, 用空格键翻页
(5).管道: |
将两个命令依次执行
ls -lha | more 产生的内容放入管道,后面从管道内提取内容,再执行
(6).文件夹和创建文件
- 创建文件夹: mkdir
- 删除空文件夹: rmdir
- 删除文件: rm
| 参数 | 含义 |
|---|---|
| -i | 交互删除 |
| -f | 强制删除 |
| -r | 递归删除 |
(7).创建链接: ln
相当于window中的快捷方式
- 硬链接:只能链接普通文件,不能链接目录
- 软连接: 不占用磁盘空间,源文件删除则链接失效
ln 源文件 链接文件 # 硬链接
ln -s 源文件 链接文件 # 软链接
软链接: 删除后就都打不开
ln -s 123.py 123link.py
# 指向123.py
lrwxrwxrwx 1 haoch haoch 6 Jan 8 21:21 123link.py -> 123.py

硬链接:(源文件编辑,链接文件跟着变: 相当于实时复制的效果)
ln 123.py 123link.py
# 指向123.py
lrwxrwxrwx 1 haoch haoch 6 Jan 8 21:21 123.py
lrwxrwxrwx 1 haoch haoch 6 Jan 8 21:21 123link.py

(8).查看文件内容: cat
(9).文件中的内容搜索: grep
grep [-选项] '查找内容' 文件名
grep可以使用正则表达式
| 参数 | 含义 |
|---|---|
^a |
a开头 |
a$ |
a结尾 |
| [Ss]igna[Ll] | 从括号中选一个匹配 |
. |
匹配一非换行符 |
(10). 查找文件: find
| 参数 | 含义 |
|---|---|
find ./-name test.sh |
查找当前目录下所有名为test.sh的文件 |
find ./-name '*.sh' |
查找当前目录下所有后缀名为.sh的文件 |
find ./-name '[A-Z]*' |
查找当前目录下所有大写字母开头的文件 |
find /tmp -size 2M |
查找在/tmp目录下等于2M的文件 |
find /tmp -size +2M |
查找在/tmp目录下大于2M的文件 |
find /tmp -size -2M |
查找在/tmp目录下小于2M的文件 |
find / -size +4k -size -5M |
查找当前目录下大于4k,小于5M的文件 |
find / -perm 0777 |
查找当前目录下权限为777的文件 |
(11). 拷贝: cp
cp 源文件 目标文件夹 [-选项]
| 参数 | 含义 |
|---|---|
-a |
复制目录时使用,保留链接,文件原有属性 |
-f |
已经存在的目标文件不提示 |
-r |
若给出的源文件是目录文件,则cp将递归辅助 |
-v |
显示拷贝进度 |
(12). 移动剪切: MV
- 移动
- 重命名
(13). 归档管理: tar(打包)
tar [参数] 打包文件名 文件
| 参数 | 含义 |
|---|---|
-c |
生成档案文件,创建打包文件 |
-v |
列出归档解档的详细过程 |
-f |
指定归档文件名称,一定是.tar文件,必须放在选项最后 |
-t |
列出归档中包含的文件 |
-x |
解开档案文件 |
(14). 系统管理
- 当前日历: cal
- 显示日期时间: date
- 显示进程信息: ps
- 显示动态进程: top
| 参数 | 含义 |
|---|---|
-a |
显示终端上的所有进程 |
-u |
显示进程的详细信息 |
-x |
显示没有控制终端的进程 |
-w |
显示加宽,以显示更多信息 |
-r |
只显示正在运行的进程 |
- 关机重启: reboot, shutdown, init
- 检测磁盘空间:df
- 查看当前目录占用的磁盘空间: du -alh
- 查看网卡信息及IP地址: ifconfig
- ping IP 查看是否能够连接
Linux for Python教程01的更多相关文章
- 【python教程01】 编辑器
工欲善其事,必先利其器.学习python,首先应该安装好开发中使用的编辑器. 那么在这里说一下我们推荐的两款:sublime text && pycharm 为什么推荐这两款编辑 ...
- Linux for python教程02
目录 1. Linux用户及权限管理 1.1. who 1.2. 查看当前用户: whoami 1.3. 添加用户账号: useradd 1.4 切换用户 su 2.用户组 3. 修改文件权限: ch ...
- Node.js 教程 01 - 简介、安装及配置
系列目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 0 ...
- python教程与资料
网上有个人写的python快速教程,非常好.比看书好多了.猛击下面的链接地址 http://www.douban.com/group/topic/30008503/ python文档资料收集 pyth ...
- 《简明python教程》笔记一
读<简明Python教程>笔记: 本书的官方网站是www.byteofpython.info 安装就不说了,网上很多,这里就记录下我在安装时的问题,首先到python官网下载,选好安装路 ...
- Python网络01 原始Python服务器
原文:Python网络01 原始Python服务器 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 之前我的Python教程中有人 ...
- Kail Linux渗透测试教程之免杀Payload生成工具Veil
Kail Linux渗透测试教程之免杀Payload生成工具Veil 免杀Payload生成工具——Veil Kail Linux渗透测试教程之免杀Payload生成工具Veil,Veil是一款利用M ...
- CTF必备技能丨Linux Pwn入门教程——PIE与bypass思路
Linux Pwn入门教程系列分享如约而至,本套课程是作者依据i春秋Pwn入门课程中的技术分类,并结合近几年赛事中出现的题目和文章整理出一份相对完整的Linux Pwn教程. 教程仅针对i386/am ...
- CTF必备技能丨Linux Pwn入门教程——ShellCode
这是一套Linux Pwn入门教程系列,作者依据i春秋Pwn入门课程中的技术分类,并结合近几年赛事中出现的一些题目和文章整理出一份相对完整的Linux Pwn教程. 课程回顾>> Linu ...
随机推荐
- 南大算法设计与分析课程OJ答案代码(1)中位数附近2k+1个数、任意两数之和是否等于给定数
问题1 用来测试的,就不说了 问题2:中位数附近2k+1个数 给出一串整型数 a1,a2,...,an 以及一个较小的常数 k,找出这串数的中位数 m 和最接近 m 的小于等于 m 的 k 个数,以及 ...
- [转]WEB页获取串口数据
本文转自:https://www.cnblogs.com/rockyhm/p/3434200.html 最近做一个B/S的项目,需要读取电子秤的值,之前一直没做过,也没有经验,于是在网上找到很多 大 ...
- [转]C# serialPort 串口接收中this.Invoke的使用
本文转自:https://blog.csdn.net/hjk216/article/details/72677596 转载地址:http://www.ciast.net/post/20160752.h ...
- 34.QT-制作串口助手(并动态检测在线串口,附带源码)
qextserialport-1.2rc库下载链接: http://www.pudn.com/Download/item/id/2298532.html 1.添加源码到工程 将qextserialpo ...
- 支持MySelf
编程思路分享,BUG上报,主推Java Web方向与软件架构设计,不定期推出系列针对性基础教程,项目均放置于GitHub,个人运营精力有限,感谢支持. 交流群:628793702 个人技术公众,欢迎关 ...
- HTML标签笔记
换行符:<br/> 首部: <!DOCTYPE>: 说明html文档使用的标准, 在HTML5中仅为 <!DOCTYPE html>1.头标签 <head&g ...
- 教你搞定ElasticSearch(head)
简介: ElasticSearch(以下简称ES)是一个基于Lucene构建的开源(open-source),分布式(distributed),RESTful,实时(real-time)的搜索与分析( ...
- Python 字符串拼接 sql ,造成 sql 注入例子
简单的 userinfo 表 字符串拼接 sql import pymysql # 测试环境的数据库连接 conn = pymysql.connect(host='192.168.0.214', po ...
- JS的函数节流(throttle)
什么是函数节流? 介绍前,先说下背景.在前端开发中,有时会为页面绑定resize事件,或者为一个页面元素绑定拖拽事件(其核心就是绑定mousemove),这种事件有一个特点,就是用户不必特地捣乱,他在 ...
- 方向键控制圆球运动(简易)(js)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...