由于最近需要学习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程序的更多相关文章

  1. Linux命令行下如何终止当前程序

    Linux命令行下如何终止当前程序 快捷键: Ctrl+c 在命令行下起着终止当前执行程序的作用, Ctrl+d 相当于exit命令,退出当前shell Ctrl+s 挂起当前shell(保护作用很明 ...

  2. [转]使用Linux命令行测试网速

    装speedtest-cli speedtest-cli是一个用Python编写的轻量级Linux命令行工具,在Python2.4至3.4版本下均可运行.它基于Speedtest.net的基础架构来测 ...

  3. 使用Linux命令行测试网速

    安装speedtest speedtest是一个用Python编写的轻量级Linux命令行工具,在Python2.4至3.4版本下均可运行.它基于Speedtest.net的基础架构来测量网络的上/下 ...

  4. 使用Linux命令行测试网速-----speedtest-cli

    https://github.com/sivel/speedtest-cli 当发现上网速度变慢时,人们通常会先首先测试自己的电脑到网络服务提供商(通常被称为“最后一公里”)的网络连接速度.在可用于测 ...

  5. Linux命令行测试网速speedtest.net

    Linux命令行测试网速speedtest.net 当发现上网速度变慢时,人们通常会先首先测试自己的电脑到网络服务提供商(通常被称为"最后一公里")的网络连接速度.在可用于测试宽带 ...

  6. 管理员技术(一):装机预备技能、安装一台RHEL7虚拟机、使用RHEL7图形桌面、Linux命令行基本操作

    一.装机预备技能 问题: 本例要求安装一台可用的KVM服务器:      1> RHEL与CentOS系统有什么关联?      2> 第2块SCSI硬盘的第3个逻辑分区,Linux如何表 ...

  7. Python安装后在CMD命令行下出现“应用程序无法启动.............”问题

    问题存在之一:系统是刚刚重做的精简版服务器系统(阉割版) AN就是在阿里云上刚开的Windows Server 2008 系统上碰到的  吓尿了都 症状:            正常安装python环 ...

  8. 两本最近阅读的工具书的记录 关于Python和Linux命令行的 不喜勿喷 只是写给自己用

    <Linux命令行完全技术宝典>读书心得 张栋作者 在学习Linux系统中,我们需要掌握各种管理的方法和技巧,而管理Linux系统最有效的方法就是命令行的控制.而我在图书馆中读到的< ...

  9. Linux命令行下的vim文本编辑器

    Linux命令行下的vim文本编辑器 下面这个网站的地址讲解的非成分清楚!!!! http://blog.csdn.net/niushuai666/article/details/7275406 学习 ...

随机推荐

  1. 如何简单的实现一个tab页title的动画效果

    首先我们来看看实现的效果 tab上的title沉下去的效果 先来看看布局 <?xml version="1.0" encoding="utf-8"?> ...

  2. python基础: day4作业计算器

    作业:计算器开发 实现加减乘除及拓号优先级解析 用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - ...

  3. C语言基础知识【存储类】

    C 存储类1.存储类定义 C 程序中变量/函数的范围(可见性)和生命周期.这些说明符放置在它们所修饰的类型之前autoregisterstaticextern2.auto 只能用在函数内,即 auto ...

  4. 软件测试人员需要精通的开发语言(1)--- VBScript

    软件测试不局限于点点点的纯黑盒测试,提升自身的代码能力也是事关重要的.软件测试的发展,越来越多的公司对于测试人员的要求也日益提高,测试人员必备开发能力的优势也凸显出来.简单的介绍下部分开发语言的学习及 ...

  5. font awesome (图标字体库)

    Font Awesome fa是什么? 图标字体库和CSS框架 怎么用? <link rel="stylesheet" href="https://cdn.boot ...

  6. Java 重写 equals 与 hashCode 的注意事项

    为什么重写 equals 的时候必须重写 hashCode 大家可能从很多教程中了解到: SUN官方的文档中规定"如果重定义equals方法,就必须重定义hashCode方法,以便用户可以将 ...

  7. Django用ajax发送post请求时csrf拦截的解决方案

    把下面的代码写在模版文件中就可以了, 注:不是js文件,是模版文件加载的执行的,所有写js里没效果 $.ajaxSetup({ data: {csrfmiddlewaretoken: '{{ csrf ...

  8. centos7 使用postgres

    1: http://www.cnblogs.com/think8848/p/5877076.html 2:http://blog.csdn.net/xuaa/article/details/52262 ...

  9. 学习Filter

    http://www.cnblogs.com/jbelial/archive/2012/07/09/2582638.html Filter 介绍: 它主要用于对用户请求进行预处理,也可以对HttpSe ...

  10. 跨域与ie浏览器的相关问题

    文章出处url:https://segmentfault.com/a/1190000002647143 产生跨域问题的原因 跨域问题是浏览器同源策略限制,当前域名的js只能读取同域下的窗口属性. 跨域 ...