指令:tar、zip、gzip、unzip、rsync、scp、ps、kill、nohup

压缩

tar 归档命令,不具备压缩功能

tar -zcvf test.tar.gz  test/     #将test文件夹做为归档文件

tar -cvf test.tar  test   #打包一个目录
tar -cf output.tar file1 file2 file3 folder1...    #参数-c表示创建文件,-f表示指定文件。
tar -cf output.tar *.txt               #归档所有.txt文件
tar -rvf file.tar new_file.txt           #向归档文件file.tar追加一个文件。
tar -tf file.tar                  #列出归档文件中的内容
tar -xf file.tar                  #参数-x表示提取文件或文件夹。将内容提取到当前文件夹
tar -xf file.tar -C /data/test    #参数-c表示提取文件到指定目录
tar -xvf file.tar file3 file6     #提取指定的几个文件,忽略其他文件
tar -Af file.tar file2.tar      #合并多个归档文件
tar -tvf file.tar          #查看合并归档文件是否成功
tar -uvvf file.tar           #查看归档文件中某个特定文件的时间戳
tar -df file.tar file1 file2 ...   #比较归档文件中的文件与系统中的同名文件是否有差别。-d打印出差别。
tar -f file.tar --delete file1 file2 ...       #使用--delete选项从归档文件中删除指定的文件
tar --delete --file file.tar file1 file2 ...     #同上
tar -cf file.tar * --exclude "*.txt"        #排除归档中所有.txt文件
tar -cf file.tar * -X list.txt          #排除归档中所有在list.txt中列出的文件。
tar -cf file.tar * --exclude "*.txt" --totals   #选项--totals再归档完成后打印出总归档字节数
tar -czvvf file.tar.gz file1 file2 ...      #创建经由gzip压缩过的归档文件
tar -cavvf file.tar.gz file1 file2 ...      #同上

tar -zxvf php-7.2.0.tar.gz -C /data/myfile   #解压php-7.2.0.tar.gz 到/data/myfile文件夹下,-C 指定要解压到的目标文件夹

tar选项

-A:将tar文件添加到现有归档的末尾。
-c:创建一个新的归档文件。

-C:解包时指定释放的目标文件夹
-d:使用指定的文件系统比较归档。
-j:用bzip压缩归档。
-r:将文件添加到现有归档的末尾。
-t:列出现有归档的内容。
-u:更新归档。
-x:从现有归档解压文件。

-f:表示使用归档文件。

-v:输出详细信息
-z:用gzip压缩归档。
–delete:从现有归档删除文件。

gzip filename      #压缩文件。删除原文件并生成filename.gz
gzip -l test.txt.gz    #列出压缩文件的属性信息
gunzip filename.gz     #解压文件。删除filename.gz并生成filename.gz的未压缩形式

gzip参数:

-c, --stdout write on standard output, keep original files unchanged
-d, --decompress decompress  解压
-f, --force force overwrite of output file and compress links
-h, --help give this help
-k, --keep keep (don't delete) input files
-l, --list list compressed file contents
-L, --license display software license
-n, --no-name do not save or restore the original name and time stamp
-N, --name save or restore the original name and time stamp
-q, --quiet suppress all warnings
-r, --recursive operate recursively on directories
-S, --suffix=SUF use suffix SUF on compressed files
-t, --test test compressed file integrity
-v, --verbose verbose mode
-V, --version display version number
-1, --fast compress faster
-9, --best compress better
--rsyncable Make rsync-friendly archive

zip file.zip file      #压缩file文件,生成file.zip压缩文件,压缩完不会删除原文件
zip -r file.zip folder file #对目录和文件进行递归操作
zip file.zip -u newfile   #更新file.zip中的内容
zip -d file.zip test.txt   #从压缩文件file.zip中删除文件test.txt
unzip file.zip        #解压缩文件,解压后不会删除原压缩文件
unzip -l file.zip      #只列出文件中的内容

远程复制备份:
rsync (ubuntu安装相关软件包:sudo apt-get install rsync)
rsync -av source_path destination_path   #以递归方式将源目录复制到目的端,-a表示进行归档,-v表示在stdout打印细节信息及进度
rsync -av source_path username@host:path   #将本地的目录递归赋值到远程主机上例如:rsync -av /data/test ubuntu@192.168.0.8:/home/backup
rsync -avz source destination       #参数-z表示在网络传输时使用数据压缩
rsync -av /home/test/ /home/backups  #复制test目录中的内容到目的端
rsync -av /home/test /home/backups  #在目的端创建backups目录并将源端/home/test目录复制到此目录中。
rsync -av /home/test /home/backups/  #将源端/home/test 的内容复制到已有的目录backups中
rsync -avz /home/code /mnt/backup/ --exclude "*.txt"    #选项--exclude将不需要进行更新的文件排除掉
rsync -avz /home/code /mnt/backup/ --exclude-from /data/filelist.txt    #选项--exclude-from将文件filelist.txt中列出的文件排除掉。
rsync -avz source destination --delete    #选项--delete表示复制归档时,删除目的端那些在源端已经不存在的文件。
rsync -Pa -I –size-only –delete –timeout=300 Remote_IP:/home/ubuntu /backup    #使用ssh方式同步远程数据到本地目录

scp:secure copy
scp root@192.168.1.132:/data/log.zip /data/test  #通过ssh将远程文件拷贝回本地
scp -r root@192.168.1.132:/data/test /data/test  #通过ssh将远程目录递归拷贝回本地/data/test目录
scp /data/test.tar.gz ubuntu@192.168.1.75:/data/test  #通过ssh将本地文件拷贝到远程主机
scp -P 4588 ubuntu@www.xxx.com:/data/test.sh /data/test  #选项-P指定端口将远程主机文件拷贝会本地
其他参数选项:
-1 强制scp命令使用协议ssh1
-2 强制scp命令使用协议ssh2
-4 强制scp命令只使用IPv4寻址
-6 强制scp命令只使用IPv6寻址
-B 使用批处理模式(传输过程中不询问传输口令或短语)
-C 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
-p 保留原文件的修改时间,访问时间和访问权限。
-q 不显示传输进度条。
-r 递归复制整个目录。
-v 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
-c cipher 以cipher将数据传输进行加密,这个选项将直接传递给ssh。
-F ssh_config 指定一个替代的ssh配置文件,此参数直接传递给ssh。
-i identity_file 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
-l limit 限定用户所能使用的带宽,以Kbit/s为单位。
-o ssh_option 如果习惯于使用ssh_config(5)中的参数传递方式,
-P port 注意是大写的P, port是指定数据传输用到的端口号
-S program 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。

----------------------------------------------------------------
定期远程自动增量备份脚本,使用crontab做自动执行
#!/bin/bash
find / -mtime 0 ! -type d > /tmp/backup_list 2> /dev/null #找出当天修改的非目录文件,结果重定向到/tmp/backup_list文件中
cd /tmp
filename=`data"+%F"` #得到当天日期并赋值给变量
tar -T backup_list zcvf ${filename}.back.tar.gz #以给定文件名归档并压缩文件
#将备份文件上传到远程服务器上
ftp -n<<-ALIST
open 192.168.12.12 6789
user xst 123456
binary #设定以二进制方式传输文件
cd /home/xst/backup #进入远程服务器的备份目录
lcd /tmp #进入当前计算机中的/tmp目录
put *.back.tar.gz #推送到远程服务器
bye
ALIST
rm -f ${filename}.back.tar.gz
exit 0
----------------------------------------------------------------

进程:

ps     #查看进程信息
ps -A    #查看当前有哪些进程
ps -f     #参数-f可以显示包含更多的列
ps -e     #显示系统所有进程信息
ps -ax    #同上
ps -ef    #显示比较完整的进程信息。或者ps -ax或ps -axf
ps -eo “%C : %p : %z : %a”|sort -k5 -nr  #按内存从大到小排列进程
ps -eo “%C : %p : %z : %a”|sort -nr    #按cpu利用率从大到小排列进程
ps -eal | awk ‘{ if ($2 == “Z”) {print $4}}’ | sudo kill -9    #清除僵死进程

ps auxw|head -1;ps auxw|sort -rn -k4|head -40  #查看消耗内存最多的前40个进程

ps -ef | grep php-fpm | grep pool | wc -l    #查看服务器上一共开了多少的 php-cgi 进程

ps -ef  | grep docker    #查看docker相关进程

pgrep php-fpm    #查找php-fpm的进程id ,跟 ps -ef | grep php-fpm 同理

kill -l        #打印出信号数和信号名称
kill -s SIGNAL PID   #向指定进程发送信号,SIGNAL要么为信号数,要么为信号名称,如下:
SIGHUP 1:对控制进程或终端进行挂起检测
SIGINT 2:当按下Ctrl+C时发送该信号
SIGKILL 9:用于强行杀死进程
SIGTERM 15:默认用于终止进程
SIGTSTP 20:当按下Ctrl+Z时发送该信号
kill -s SIGKILL PID    #杀死PID对应的进程
kill -9 PID             #同上,杀死PID对应的进程
killall -9 gedit     #通过进程名称杀死进程

killall php-fpm            #杀死所有php-fpm进程

pgrep php-fpm | xargs kill -9   #杀死所有php-fpm的进程id,包括主进程和工作进程,pgrep = ps +grep

pkill -9 php-fpm   # 作用同上, 相当于 pgrep php-fpm | xargs kill -9

pkill php-fpm  #同上

ps -ef | grep nginx | grep -v grep | cut -c 9-15 | xargs kill -s 9   #说明如下

说明:

“grep firefox”的输出结果是,所有含有关键字“firefox”的进程。

“grep -v grep”是在列出的进程中去除含有关键字“grep”的进程。

“cut -c 9-15”是截取输入行的第9个字符到第15个字符,而这正好是进程号PID。

“xargs kill -s 9”中的xargs命令是用来把前面命令的输出结果(PID)作为“kill -s 9”命令的参数,并执行该命令。“kill -s 9”会强行杀掉指定进程。

 后台运行:

nohup  php   test.php  &       #将php test.php 指令挂到后台执行,并且终端不向系统发送hangup信号,即终端关闭了指令依然执行。

setsid   sh    test.sh     #作用同上,原理是使指令的执行进程不属于当前终端,而是属于init进程。故当前终端(进程)关闭,指令依然执行。

(php test.php &)     # 将指令放到括号中,表示用子shell执行。&表示放到后台执行。这样将使指令的执行跳出当前终端进程,作用及原理同上。

上传下载:

sudo apt install lrzsz

sz filename   #将filename文件发送到本地,默认地址:C:\Users\[Administrator]\AppData\Roaming\NetSarang\Xshell\Received Files

rz     #进入一个目录执行rz命令,在弹出框中选择要上传的文件即可

linux学习:归档,备份及进程相关命令用法整理的更多相关文章

  1. linux学习:文件处理相关命令用法整理(正则表达式)

    指令:ls.cat.du.rename.dirname.basename.sort.diff.seq.head.tail.tree.chmod.cut.paster.正则 一:统计文件大小,行数,字符 ...

  2. Linux学习笔记:7个ssh命令用法

    通过远程控制管理多台服务器. 远程工具:telnet.ssh.vnc ssh采用密文的传输方式,简单安全.Secure Shell 缩写 SSH. 1.基本用法 ssh 192.168.1.1 默认使 ...

  3. linux学习:sed与awk与tr用法整理

    流编辑器:sed 语法:sed [-hnV][-e<script>][-f<script文件>][文本文件] 参数: -e<script>或--expression ...

  4. Linux进程相关命令使用场景

    Linux进程相关命令使用场景 在Linux系统上工作时,我们常常会碰到很多和进程相关的查询场景,今天在这里进行详细的讲解,进程相关的对象包括以下几个: 端口:Port 进程号:PId 执行文件所在路 ...

  5. Linux学习之路-Linux-at及cron命令【7】---20171215

    Linux学习之路-Linux-at及cron命令[7]---20171215 DannyExia000人评论986人阅读2017-12-24 17:28:03   ntpdate 命令 [root@ ...

  6. linux学习:特殊符号,数学运算,图像与数组与部分终端命令用法整理

    指令:let.expr.array.convert.tput.date.read.md5.ln.apt.系统信息 一:特殊符号用法整理 系统变量 $# 是传给脚本的参数个数 $0 是脚本本身的名字 $ ...

  7. Linux学习之十四、管线命令

    Linux学习之十四.管线命令 地址:http://vbird.dic.ksu.edu.tw/linux_basic/0320bash_6.php

  8. Linux学习之RPM包管理-rpm命令管理(十六)

    Linux学习之RPM包管理-rpm命令管理 目录 简介 RPM包依赖性 包全名与包名 rpm软件包安装 rpm软件包卸载 升级降级rpm软件包 rpm软件包的查询 rpm软件包校验 简介 RPM是R ...

  9. Linux Shell脚本入门--wget 命令用法详解

    Linux Shell脚本入门--wget 命令用法详解 wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上.它有以下功能 ...

随机推荐

  1. LFYZ-OJ ID: 1017 士兵站队问题

    分析 该题和"输油管道问题"类似,只不过由一维问题编程了二维问题.可以将总步数分解为移动到水平线y位置的总步数ysteps和移动到序列x, x+1, x+2, ... , x+n- ...

  2. 解决 IIS 反向代理ARR URLREWRITE 设置后,不能跨域跳转 return Redirect 问题

    1.选择iis根节点,点击ARR 2.选择代理设置 3.去掉reverse rewrite host in response headers的勾选,点击应用即可

  3. day 14 - 1 生成器

    生成器 生成器 生成器的本质就是迭代器生成器的表现形式 生成器函数 生成器函数 —— 本质上就是我们自己写得函数 生成器表达式生成器函数: 含有 yield 关键字的函数就是生成器函数 特点: 调用函 ...

  4. PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析

    sort() 函数用于对数组单元从低到高进行排序. rsort() 函数用于对数组单元从高到低进行排序. asort() 函数用于对数组单元从低到高进行排序并保持索引关系. arsort() 函数用于 ...

  5. 【原创】大数据基础之Kudu(1)简介、安装、使用

    kudu 1.7 官方:https://kudu.apache.org/ 一 简介 kudu有很多概念,有分布式文件系统(HDFS),有一致性算法(Zookeeper),有Table(Hive Tab ...

  6. 行为驱动:Cucumber + Selenium + Java(一) - Cucumber简单操作实例

    场景(Scenarios) 场景是Cucumber结构的核心之一.每个场景都以关键字“Scenario:”(或本地化一)开头,后面是可选的场景标题.每个Feature可以有一个或多个场景,每个场景由一 ...

  7. sqlalchemy的使用

    from sqlalchemy import Column, Integer, String, Text, ForeignKey, DateTime, UniqueConstraint, Index ...

  8. XMLHttpRequest.withCredentials 解决跨域请求头无Cookie的问题

    查看原文 XMLHttpRequest.withCredentials  属性是一个Boolean类型,它指示了是否该使用类似cookies,authorization headers(头部授权)或者 ...

  9. LINUX常见性能监控工具总结

    文章来源 工具功能概览 整理了一个关于监控工具及其功能的表.下面对这些工具单独详细介绍. Linux性能监控工具 top top命令会展示进程的实际活动.默认情况下,它会列出系统上所有cpu密集型任务 ...

  10. HTML5+CSS3点击指定按钮显示某些内容效果

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...