python第四篇:linux命令行总结 + 自动备份Python程序
由于最近需要学习Python爬虫相关的知识,所以就先从Python基础、Linux基础开始进行了学习,下面主要是总结了常见的Linux的命令行。最后为了巩固学到的东西,尝试写了个自动备份的Python小demo。
1.Linux基本命令
1.1 对终端的操作命令
- gnome-terminal 打开终端
- Ctrl+d 关闭终端
1.2 清除屏幕的命令
- clear (或者Ctrl+L)
1.3 进入和退出文件和文件夹
- cd / 进入到home
- cd .. 返回上一级目录
- cd ../.. 返回上面两级目录
- cd - 返回上次所在的目录
- cd ~ 返回用户主目录
- pwd 显示当前的整个路径
1.4 查看文件或者文件夹
- ls 查看目录中的文件
- ls -l 查看目录中文件的详细资料
- ls -l /etc
- ls -a 显示隐藏文件
- tree 显示文件和目录由根目录开始的树形结构
1.5 新建文件和文件夹
- mkdir dir1 创建一个名叫dir1的目录
- mkdir dir1 dir2 创建两个目录
- mkdir中的 -p 选项 如果中间文件夹不存在,则创建所有中间文件夹
- touch 文件名 创建文件或者更新文件的修改时间
1.6 删除文件和文件夹
- rmdir dir1 dir2 删除一个或多个空的文件夹
- rm -rf dir1 dir2 删除一个或多个非空文件家
- rm -rf dir1 删除一个叫dir1的目录并同时删除其内容
- rm -f file1 删除一个叫file1的文件
选项
- (-r) 递归删除文件夹内部的文件夹和文件
- (-i) 删除前给出提示 y n rm -i *
- (-f) 强制删除 不给提示
1.7 修改文件和文件夹(文件移位置或者更名)
- mv 源文件或文件名 目录文件或文件名
1.8 复制文件和文件夹
- cp [选项] 源文件或文件夹名 目标文件和文件夹名 复制一个文件
- cp dir/* 复制这个文件夹下的所有内容到当前文件夹下a
- cp day01.txt ~/桌面
- cp day01.txt ~/桌面/day02.py
选项:
- (-a) 可以复制文件夹
1.9 压缩和解压缩
- zip -r XXX.zip ./* 压缩服务器上当前目录的内容为xxx.zip
- unzip.filename.zip 解压缩当前的zip包
- gzip 生成压缩后的文集那后缀名通常以.gz结尾
- gunzip 解压缩算法
- tar [选项] 文件名或路径 对文件和文件夹进行打包和解包的命令
常用选项:
- (-c) 创建包
- (-x) 解包
- (-f) 文件名 操作的文件
- (-v) 显示文件的操作细节
- (-z) 用gzip 和gunzip对包进行压缩和解压缩
- tar -czvf ~/day01.tar.gz * 将当前目录下的所有文件都打包到住目录下
- tar -xzvf ~/day01.tar.gz 解包到当前目录
1.10 查找(根据文件名等信息查找指定文件) 关键字的搜索
- find 路径 -name "文件名"
例如
- find /etc -name "pass"
1.11 通配符
- * 代表0个,1个或者多个任意字符
- ?代表1个任意字符##
- a* 以为a开头的
- *c 以c结尾的
1.12 help man tab键
- ls --help 用于查看命令的帮助信息
- man ls 和
- 上面的命令相似
- tab键补全
1.13 grep命令
- 查找文件中相应的内容,及文本信息
- 格式: grep "内容" [选项] 文件名或路径
- grep "linux" -r /etc/ 拿到全部的
常用选项:
- (-n)显示行号
- (-r) 递归搜索文件夹内的文件
1.14 linux下的路径
- 相对路径
- 绝对路径
**绝对路径**
以'/'开头的路径为绝对路径
**相对路径**
不以'/'开头的路径为相对路径
开始的符号有
- 文件/文件夹名
- . 当前文件夹
- ..上一级文件夹
- -用户主目录
1.15 sudo命令
- 作用:用超级用户root权限来执行这个命令
- 格式: sudo命令 [选项] [参数]
- sudo -i 进入到root用户
2.下面贴上一份自己练手的Python备份文件小demo
## 这里是重要文件的backup
import os
import time # . 需要备份的文件与目录将被指定在一个列表中
# 例如在Windows下的source= ['"c:\\My Documents"','C:\\Code']
# 又例如在Linux下的:
source = ['/home/tarena/桌面'] # . 备份文件必须存储在一个主备份目录中 target_dir = '/home/tarena/桌面/targetDir' #如果目标目录还不存在则创建
if not os.path.exists(target_dir):
os.mkdir(target_dir) # . 备份文件将压缩打包成Zip文件
# . Zip压缩文件的文件名由当前日期和时间构成
today = target_dir + os.sep +time.strftime('%Y%m%d')
now = time.strftime('%H%M%S') target = today + os.sep + now +'.zip'
if not os.path.exists(today):
os.mkdir(today)
print("success create directory") # . 使用Zip命令将文件打包成Zip格式 zip -r target source (target是备份后的文件的目录 source是源文件的目录)
zip_command = 'zip -r {0} {1}'.format(target, ' '.join(source)) # 运行备份
print('zip command is:')
print(zip_command)
print('running')
if os.system(zip_command) == :
print('success')
else:
print('fail') print(os.sep)
python第四篇:linux命令行总结 + 自动备份Python程序的更多相关文章
- Linux命令行下如何终止当前程序
Linux命令行下如何终止当前程序 快捷键: Ctrl+c 在命令行下起着终止当前执行程序的作用, Ctrl+d 相当于exit命令,退出当前shell Ctrl+s 挂起当前shell(保护作用很明 ...
- [转]使用Linux命令行测试网速
装speedtest-cli speedtest-cli是一个用Python编写的轻量级Linux命令行工具,在Python2.4至3.4版本下均可运行.它基于Speedtest.net的基础架构来测 ...
- 使用Linux命令行测试网速
安装speedtest speedtest是一个用Python编写的轻量级Linux命令行工具,在Python2.4至3.4版本下均可运行.它基于Speedtest.net的基础架构来测量网络的上/下 ...
- 使用Linux命令行测试网速-----speedtest-cli
https://github.com/sivel/speedtest-cli 当发现上网速度变慢时,人们通常会先首先测试自己的电脑到网络服务提供商(通常被称为“最后一公里”)的网络连接速度.在可用于测 ...
- Linux命令行测试网速speedtest.net
Linux命令行测试网速speedtest.net 当发现上网速度变慢时,人们通常会先首先测试自己的电脑到网络服务提供商(通常被称为"最后一公里")的网络连接速度.在可用于测试宽带 ...
- 管理员技术(一):装机预备技能、安装一台RHEL7虚拟机、使用RHEL7图形桌面、Linux命令行基本操作
一.装机预备技能 问题: 本例要求安装一台可用的KVM服务器: 1> RHEL与CentOS系统有什么关联? 2> 第2块SCSI硬盘的第3个逻辑分区,Linux如何表 ...
- Python安装后在CMD命令行下出现“应用程序无法启动.............”问题
问题存在之一:系统是刚刚重做的精简版服务器系统(阉割版) AN就是在阿里云上刚开的Windows Server 2008 系统上碰到的 吓尿了都 症状: 正常安装python环 ...
- 两本最近阅读的工具书的记录 关于Python和Linux命令行的 不喜勿喷 只是写给自己用
<Linux命令行完全技术宝典>读书心得 张栋作者 在学习Linux系统中,我们需要掌握各种管理的方法和技巧,而管理Linux系统最有效的方法就是命令行的控制.而我在图书馆中读到的< ...
- Linux命令行下的vim文本编辑器
Linux命令行下的vim文本编辑器 下面这个网站的地址讲解的非成分清楚!!!! http://blog.csdn.net/niushuai666/article/details/7275406 学习 ...
随机推荐
- Java中常用的加密算法MD5,SHA,RSA
1. MD5加密,常用于加密用户名密码,当用户验证时. protected byte[] encrypt(byte[] obj){ try { MessageDigest md5 = Messag ...
- 域名解析-CNAME
不要把域名解析简单看成把一个域名指向一个IP那么简单的事. 事实上域名解析能做的事非常多. 简单样例,假如你买了一台server仅仅有一个IP,你想弄两站点,而且仅仅想直接通过IP就能訪问,就是不加什 ...
- Eclipse中Copy Qualified Name复制类全名解决办法
Eclipse中用Copy Qualified Name复制类全名时总是这样的/struts1/src/me/edu/HelloAction.java很不方便可以这样解决下载下边插件解压到Eclips ...
- Sqlserver------SQLServer2008R2中新增用户并设定表的访问权限
在进行项目对接时,有时候处于系统安全性考虑,我们需要设置数据库的访问权限,这个时候,我们可以新增一个用户,然后设定用户的访问权限,具体步骤如下: 1, 新建登录对象 2, 点击用户映射 3, 操 ...
- COM线程单元
节选自C#高级编程 不管是单线程单元还是多线程单元,一个线程只能属于一个单元. 1) 单线程单元(apartment, 寓所,套间) 单线程单元与它拥有的线程是一对一的关系.COM对象在编写时不是线程 ...
- linux 面试题
[题目]一个数组,输出重复次数最多的前你n位,倒序输出 [答案] catwords.txt | sort | uniq -c | sort -k1,1nr | head -n [解析] sor ...
- 【Atheros】网卡驱动速率调整算法概述
我做网卡驱动,最主要的内容就是设计和改进速率调整算法,随着802.11协议簇的新标准越来越多,速率越来越高,调制编码方式也越来越多,一般来说,速率越高越可能丢包,速率越低越稳定,这是整体状况,但不是必 ...
- iOS 企业版 安装失败 原因
首先要吐槽下国内的论坛水分略多,以下问题大多是查询stackoverflow等论坛解决的.推荐一款软件,Log Guru,用来查看app安装时的系统日志,很多问题要看日志才知道错误点. 1.首先有几 ...
- Android Studio 中 Gradle 依赖的统一管理(rootProjectt)
最近遇到Android Studio 中 Gradle 依赖的统一管理的不懂得地方,看大神的也没看懂,百度了一下,使用起来还挺方便 下面是链接,在这里我就不详细说明了, http://www.jian ...
- 【CodeM初赛B轮】F 期望DP
[CodeM初赛B轮]F 题目大意:有n个景点,m条无向边,经过每条边的时间需要的时间是li,在第i个景点游览花费的时间是ti,游览完第i个景点可以获得的满意度是hi.你的总时间为k,起初你等概率的选 ...