网站建设资讯

NEWS

网站建设资讯

linuxtag命令的简单介绍

Linux 常用命令(要求全而精)

1、linux分区

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:主机域名虚拟主机、营销软件、网站建设、玛纳斯网站维护、网站推广。

--在linux里面所有的设备、任何东西,在linux看来都是文件。

--文件在它看来,有两种形式:

第一种是字符型(键盘输入、打印机);

第二种是二进制型(硬盘、光驱、U盘)

--linux中所有硬件

--手动分区

--A、至少有两个分区

/ 根分区

SWAP 交换分区(物理内存大小的两倍)

--B、个人桌面分区

/

/boot 128MB is enough

/usr

SWAP

/tmp(用于光盘刻录)

2、linux目录说明

--/dev/xxyN

--xx (分区所在设备类型:hd--IDE硬盘 sd--SCSI硬盘)

--y (标明分区所在设备

例如:/dev/hda 第一个IDE硬盘 或 /dev/hdb 第二个IDE硬盘 或 /dev/sdb 第二个SCSI硬盘)

--N (数字代表分区:1-4--主分区或扩展分区;逻辑分区从5开始!

例如:/dev/hda3 第一个IDE硬盘上的第三个主分区或扩展分区

/dev/sdb6 第二个SCSI硬盘上的第二个逻辑分区)

3、linux目录结构

/ 根目录,最高级别

/bin 系统基本命令存放目录(/usr/bin)

/boot linux的内核及引导系统程序文件存放目录(如:vmlinuz、initrd.img)

一般情况下,GRUB或LILO系统引导管理也位于这个目录

/dev 设备文件存储目录,如声卡、光驱...

/ect 存放系统设置文件(如用户账号密码、服务器配置文件等)

/home 普通用户家目录,默认存放目录

/lib 库文件存放目录

/lost+found 在ext2或ext3文件系统中,当系统以外崩溃或机器意外关机,而产生一些文件碎片放在这里。

当系统启动的过程中,fsck工具会检查这里,并修复已经损坏的文件系统。

有事喜用发生问题,有很多的文件被移到这个目录中,可能会用手工的方式来修复,或者移文件到原来的位置上。

/media 即插即用型存储设备的挂载点自动在这个目录下创建。

如USB盘系统自动挂在后,会在这个目录下产生一个目录;

类似cdrom的目录

/mnt 存放挂载存储设备的挂载目录,如cdrom等目录

/opt 表示可选的意思,有些软件包也会被安装在此,也就是自定义软件包,

比如OpenOffice,或者一些我们自己编译的软件包,也可安装此处。

/proc 操作系统运行时,进程(正在运行的程序)信息及内核信息(比如CPU、硬盘分区、内存信息等)存放在此。

/proc目录是伪装的文件系统proc的挂载目录,proc并不是真正的文件系统

/root linux超级权限用户root的家目录

/sbin 大多是涉及系统管理的命令的存放,只有超级权限用户root才可执行命令存放,普通用户无权限执行此目录下的命令

与 /usr/sbin; /usr/X11R6/sbin; usr/local/sbin 目录相似

(sbin,只有root权限才能执行)

/tmp 临时文件目录,有时用户运行程序的时候,会产生临时文件。

/var/tmp目录和此目录相似

/usr 系统存放程序的目录,如命令、帮助文件等。这个目录下有很多的文件和目录。

大部分Linux发行版提供的软件包都安装在此,涉及服务器的配置文件就安装在/ect中。

/usr/share/fonts 字体目录

/usr/share/man 或 /usr/share/doc 帮助目录

/usr/bin 或 /usr/local/bin 或 /usr/X11R6/bin 普通用户可执行文件目录

/usr/sbin 或 /usr/local/sbin 或 /usr/X11R6/sbin 超级权限用户root可执行命令存放目录

/usr/include 程序头文件存放目录

/var (vary)此目录经常变动

/var/log 用来存放系统日志

/var/www 用来定义Apache服务器站点存放

/var/lib 用来存放一些库文件,如MySQL的,以及MySQL数据库的存放地。

4、基本命令

--查看帮助 *** --help *** --?

--查看详细帮助 man ***

--登录 login

--退出窗口 exit

--关机 shutdown

--重启 reboot

--初始化 init (run level -/etc/inittab),0-6看第六部分的g

--进入根目录 cd /

--回上层目录 cd ..

--相对路径 cd dev

--绝对路径 cd /dev

--查用户名 whoami

--查当前目录 pwd

--列出当前目录内容 ls

-l(树详细显示目录内容)

-m(横列显示目录内容,是屏幕长度显示)

-a(列出全部文件,包括隐藏文件)

-S(以文档大小排序)

--创建目录 mkdir dname

--删除目录 rmdir dname

rm -r *** -(递归删除该目录下所有内容,询问每个准备删除的文件)

rm -rf ***-(强制删除该目录下所有内容,不询问)

--创建空白文件 touch ***

(ps:从技术的角度来讲,linux的文件后缀名没有任何意义)

--复制 cp

cp -r **1 **2 (复制1到2中)

--移动 mv

mv -t **1 **2 (把2移动到1中)

--编辑文本 vi [文件名]

--查看文本 cat 由第一行开始显示文本内容

tac 从最后一行显示,可以看出 tac 是 cat 的倒着写

more 一页一页的显示文档内容

less 与 more 类似,可以往前翻页

head 只看头几行

-N(数字,可根据行数显示)

tail 只看后几行

-N(数字,可根据行数显示)

nl 显示的时候,顺序输出行号

od 以二进制位的方式读取档案内容

--查找文本 find [路径][查找类型][搜索文件名]

如查找rc.local find /etc -name *.local

--查找命令信息及其位置 whereis 命令

如 whereis ls

--查看环境变量 echo $SHELL

如 echo $PATH (分大小写:分隔符是:,windows是echo %path%;)

--链接 ln

如 ln joe.txt a (硬链接,如同复制一个新文件,joe.txt删除后,a还存在)

a是链接的名称,a和joe.txt同步,然后a的内容和joe.txt一样

joe.txt改变,a也跟着变

如 ln -s joe.txt b (软链接,如同创建一个快捷方式,joe.txt删除后,b不存在)

--wc 统计指定文本文件的行数、字数、字符数

--grep(很常用) 在指定的文本文件中查找指定的字符串

grep 字符串 文件名

--col 见管道..

--------------------

----信息显示命令----

--------------------

--date 显示和设置日期

--stat 显示指定文件的相关信息

--who、w 显示在线登录用户

--whoami 显示用户自己的身份

--id 显示当前用户的id信息

--hostname 显示主机名称

--uname 显示操作系统信息

--dmesg 显示系统启动信息

--du 显示指定的文件(目录)已使用的磁盘空间

--df 显示文件系统磁盘空间的使用情况

--free 显示当前内存和交换空间的使用情况

--fdisk -l 显示磁盘信息

--locale 显示当前语言环境

5、挂载点(mount 设备目录 挂载目录)

--访问设备 (那设备当成一个文件,和另外一个文件夹进行绑定)

--例如挂载光驱:步骤 [cd /mnt]---[mkdir cdr]---[mount /dev/cdrom /mnt/cdr]---[cd cdr]--OK!直接访问光驱内容

--卸载挂载设备(umount /dev/cdrom)--注意必须先退出挂载目录,否则出现"device is busy"错误.

6、startup-shutdown(linux启动流程)

--A、boot sequence(important) linux启动过程

a. load bios(hardware information)

b. read MBR's config to find out the OS

(MBR--Master Boot Record,硬盘第一个物理扇区,柱面0、磁头0、扇区1,包含主引导程序和硬盘分区表)

c. load the kernel of the OS

(加载为kernel核心的OS)

d. init process starts...

(启动linux第一个进程init)

e. execute /etc/rc.d/sysinit

(执行系统最重要的配置文件,后台启用进程)

(rc.d--run command)

f. start other modules(stc/modules.conf)

(开启各种模块,如内存管理模块、硬盘管理模块)

g. execute the run level scripts

(系统启动是分层次的,根据情况执行,每个层次之间没关系)

0 - 系统停机状态

1 - 单用户工作状态 root

2 - 多用户状态(没有NFS)

3 - 多用户状态(有NFS)

NFS - Network File System 网络文件系统,联网系统

4 - 系统未使用,留给用户

5 - 图形界面

6 - 系统正常关闭并重新启动

如:cd /etc -- 有rc0.d、rc1.d、rc2.d、rc3.d、rc4.d、rc5.d等多个文件夹,保存着各个层次执行的进程文件

h. execute /etc/rc.d/rc.local (重要)

(保存其它进程脚本,如tomcat自动启动,要修改此配置文件)

i. execute /bin/login

(登录界面)

j. shell started...

7、vi 文本编辑器

--两种模式:命令模式 编辑模式

--vi [文件名]

(切换到编辑模式)

a append-光标后添加

i insert-光标前插入

o open-另起一行编辑

esc (切换回命令模式)

:w 存盘

:wq 存盘退出

:q 退出

:q! 不存盘退出

dd 删除其中一行

dw 删除一个单词

(sudo gedit 文本 常用linux下的文本编辑器,比vi好用)

8、用户设置

--切换用户(switch user) su username

小技巧:直接exit切换

--添加用户 useradd username [-g] [组名](分配到某个用户组)

(创建后会自动在/home目录下创建该新用户的文件夹,如/home/username)

--设置密码 passwd username

--cd /etc

--查看用户信息 more password

如新增的用户信息:username:x:500:500::/home/username:/bin/bash

第一个数字,代表用户组,当添加用户没有指定用户组时,系统会创建一个和用户ID一样的组ID;

第二个数字:用户ID号;

用户的目录是/home/username;

用户的SHELL是/bin/bash

(命令---SHELL[解释命令]---kenrel内核)

SHELL有多种类型,如csh、bash(常用)、bsh、ksh、sh(最原始)

--添加用户组 groupadd groupname

--查看用户组信息 more group

--删除用户组 groupdel groupname

--修改用户 usermod [-g] [组名] [用户名]

--删除用户 userdel username

然后把/home的文件夹删除了 rm -rf 文件夹

9、权限file privilege

--linux把文件的权限分成四种:r:read w:write x:execute -:none

如:-rw-r--r--

lrwxrwxrwx

drwxr-xr-x

drwxr-xr-x

第一个数字'-'代表文件,其余是文件夹,后9位分为3组,每组有四种权限设置rwx-

第一位表示文件所有者

第二位表示和所有者在同一用户组的用户

第三位表示不在同一用户组的用户权限

--设置权限 (随意应用,灵活组合!)

1、普通用法

--添加权限 [chmod +x 文件]

如:-rw-r--r-- --- -rwxr-xr-x

--删除权限 [chmod -x 文件]

如:-rwxr-xr-x --- -rw-r--r--

--给自己添加权限 [chmod ?+x 文件]

如此类推,组--g,其他人--o

如:chmod u+x -rw-r--r-- --- -rwxr--r--

chmod g+x -rw-r--r-- --- -rw-r-xr--

chmod o+x -rw-r--r-- --- -rw-r--r-x

2、专业用法 chmod 755/777

--原理,八进制转二进制

如755,111 101 101, rwx r-x r-x

777,111 111 111, rwx rwx rwx

--修改所有者权限 chown (change owner)

如:chown 原来文件 file1 的所有者是 root,改成joe的

chown joe file1

10、管道(把上一个命令执行的结果交给下一个命令)

--使用方法:

命令1|命令2|命令3......|命令n

--使用举例

--$ls -Rl /etc | more

(如 ls -Rl /etc (在控制台模式下,无法返回前面过去的信息),因此需要管道执行该查询,实现分页的工作, ls -Rl /etc | more)

--$cat /etc/passwd | wc

(显示文件结果,再数数有多少行)

--$cat /etc/passwd | grep lrj

(显示文件结果,再查找包含lrj的行)

--#dmesg | grep eth0

(显示系统启动的信息,再查找包含eth0的行--真正含义,检查网卡执行信息是否正常)

--$man bash | col -b bash.txt

语法:col [-bfx][-l缓冲区列数]

补充说明:在许多UNIX说明文件里,都有RLF控制字符。当我们运用shell特殊字符""和"",把说明文件的内容输出成纯文本文件时,控制字符会变成乱码,col指令则能有效滤除这些控制字符。

参数:

-b 过滤掉所有的控制字符,包括RLF和HRLF。

-f 滤除RLF字符,但允许将HRLF字符呈现出来。

-x 以多个空格字符来表示跳格字符。

-l缓冲区列数 预设的内存缓冲区有128列,您可以自行指定缓冲区的大小。

--$ls -l | grep "^d"

(用正则表达式筛选出目录列表中 头字母为'd' 的内容--目录)(^是正则表达式开头部分)

--$ls -l * | grep "^-" | wc -l

(列出目录列表中 头字符为'-'的内容--文件,并统计显示的行数wc -l)

11、其他命令

--wall(warning all) 通知所有人

a.命令替换

如 wall `date`、 cd 'pwd'、mkbootdisk $(uname -r)

b.重定向

重定向输出:

如 ls cmd.txt ,把文件写到cmd.txt,不输出在控制台

ls cmd.txt ,把文件追加写到cmd.txt

重定向输入:

如 wall cmd.txt,把文本内容发给所有人

12、修改系统的默认系统级别

常用3和5

3 - 多用户状态(有NFS)

NFS - Network File System 网络文件系统,联网系统

5 - 图形界面

PS.设置用户权限: sudo chmod 777 目录

4表示读,2表示写,1表示执行.

第一位表示文件所有者,第二位表示和所有者在同一用户组的用户,第三位表示不在同一用户组的用户权限.

755表示文件所有者可读写,执行.

第二位5表示与所有者在同一用户组的可读,可执行,不可写.

第三位5表示其它组可读,可执行,不可写. 转载于Joewalker在本人空间也有详细说明

linux下的gzip命令如何运用?

楼主,将

#!/bin/gzip

改为

#!/bin/sh

后,再通过

chmod

a+x

gzip.sh

给予gzip.sh文件执行的权限,然后再通过

./gzip.sh命令执行之,应该就可以了。

另外,如果你是想将目录下的所有文件压缩成一个文件,那么千万别使用gzip

*命令,如果使用后,你会发现目录下的所有文件都变成了单独的.gz文件,呵呵。使用下面的命令即可完成打包和压缩:

tar

-czvf

1.tar.gz

/mnt/Zip/

下面的篇幅给你细讲一下吧,有点长,呵呵。

gzip命令是用来压缩文件,压缩的对象只能是一个文件。我来给你详细介绍一下Linux下的打包和压缩吧,下面是我自己总结的东西,希望对你有所帮助。

对于刚刚接触Linux的人来说,一定会被Linux下一大堆各式各样的文件给搞糊涂。别的不说,单单就压缩文件为例,我们知道在Windows系统下最常用的压缩文件就只用两种,一种是.zip,另一种是.rar。可是Linux系统下就不同了,它有.gz、.tar.gz、.tagz、.bz2、.Z、.tar等众多常见的压缩文件名。此外,Windows下的.zip和.rar也可以在Linux下使用。不过,在Linux系统下使用.zip和.rar的用户很少。下面我们就来对这些常见的压缩文件进行一番小结,希望我们下次遇到这些文件时不至于被搞糊涂。

在具体总结各类压缩文件之前,我们首先弄清楚两个概念:打包和压缩。打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。那么,为什么要区分这两个概念呢?其实,这源于Linux中的很多压缩程序只能针对一个文件进行压缩,这样当我们想要压缩一大堆文件或目录时,我们就得借助Linux的打包工具将这一大堆文件先打成一个包,然后再借助Linux的压缩程序进行压缩。例如:gzip不能压缩整个目录。可以使用tar先打包,再压缩。

Linux下最常用的打包命令就是tar。使用tar命令打出来的包我们常称为tar包,tar包文件的后缀名通常都是以.tar结尾的。生成tar包后,就可以用其它的程序来进行压缩了。tar命令的用法示例如:将

/mnt/Zip/

下的所有文件打包成1.tar文件:tar

-cvf

1.tar

/mnt/Zip/

,此命令可以得到1.tar打包文件。

gzip是GUN组织开发的一个压缩程序,gz结尾的文件就是gzip压缩的结果,与gzip相对的解压程序就是gunzip。gzip命令的用法例如:将tar命令生成的1.tar文件压缩:gzip

1.tar

,此命令可以得到1.tar.gz压缩文件。

楼主你如果想要压缩一个目录下的所有文件成为一个压缩文件的话,可以分两步执行命令,第一步:将该目录下的所有文件打包成一个文件;第二步:压缩这个打包后得到的文件。命令如下:

tar

-cvf

1.tar

/mnt/Zip/

gzip

1.tar

另外,可以使用tar命令一步到位的生成1.tar.gz压缩文件,命令如下:

tar

-czvf

1.tar.gz

/mnt/Zip/

这里利用了tar提供的自动调用gzip压缩(解压)功能。通常使用-cvzf选项来生成*.tar.gz文件(使用-xvzf选项来解压*.tar.gz文件)。

Linux常用命令

列出当前目录的文件

常用参数: 

-a: 显示当前目录的所有文件,包含隐藏文件; 

-l: 显示文件详情; 

-Z: 显示文件的 SE Linux context。 

示例:ls -laZ [if !vml] [endif] 以 acct 为例: drwxr-xr-x:其中 d 代表该文件为目录,若为 l 则为软链接,软连接后又箭头代表其实际指向的文件,如etc - /system/etc 则访问 etc 实际等同访问/system/etc,留空则代表该文件为一个文件;rwxr-xr-x 代表其权限为 755,具体算法为将上述字段每 3 个分为 1 组得 rwx,r-x,r-x,凡是有字母标记的皆计数 1,反之为 0,得二进制 111,101,101,转为 10 进制数字即得7, 5,5 ,即为该文件权限; root root :依次代表该文件的所有者(owner)为 root,用户组(group)为 root,上述属性可通过 chown 命令修改,日常替换文件需与原文件该属性维持一致; unlabeled:代表 SE Linux context。

前往指定目录

更改文件所有者和用户组   示例:chown root:root temfile 将 tmpfile文件 的所有者和用户组从 meidia:media 更改为 root:root

将文件内容显示出来。

注意不要随便去 cat 一个很大的文件或与 log 驱动节点无关的文件,否则将造成串口输出乱码或死机!!!示例:cat /proc/kmsg 将打印出所有 kernel log。

用于抓取 android logcat 打印。

常用参数:

-v : 设置打印格式,可用选项为 brief process tag thread raw time threadtime long,我们比较常用 logcat -v time,此时抓的 log 将在每一行开头添加时间信息;

-s : 设置过滤器,过滤器的选择取决于软件中打印 log 时使用的 TAG ,如

ActivityManagerService.java 中的打印使用的 TAG = ActivityManager,则抓相关打印方法为 logcat -s ActivityManager;

-c : 清除 log 缓存,常用于清除之前的打印缓存,如复现某个必现问题,则可先执行 logcat -c 再抓 logcat 重现必现手法以排除无关 log 冗余信息影响问题定位; pm

包管理命令,用于管理安卓 app 应用。

常用参数:

-l : 显示所有安装包应用,等同于 pm list packages

以 package:/system/priv-app/Launcher2.apk=com.android.launcher 为例:

Apk Launcher2 路径位于/system/priv-app/Launcher2.apk,其包名为 com.android.launcher

path : 根据报名返回所在 apk 路径

install : 安装 apk

-r :安装一个已经存在的 apk 并保留其数据;

-d : 允许降级安装

如:pm install -r xxx.apk

uninstall : 卸载 apk,命令仅支持卸载 data/app,后接包名;

如:pm uninstall com.sys.migusmartlink.ott.tv //卸载包名为 com.sys.migusmartlink.ott.tv 的 apk

随机测试指令,会自动模拟一些用户操作对 APP 进行压力测试。

常用参数:

-p :指定启动的 APK,我们比较常用的是 monkey -p com.xxx.yyy 1 来启动一个 apk 的随机页面。

用于启动和管理 activity 和 service

常用参数:

start : 后接 intent 启动一个页面;

startservice : 后接 intent 启动一个 service; stopservice :后接 intent 停止一个 service; broadcast :后接一个 intent 发送一个广播; kill :后接一个 app 包名,杀掉该 app 所有进程;在 shell 环境下用如下参数表述一个 intent:

[-a ACTION] [-d DATA_URI] [-t MIME_TYPE]

[-c CATEGORY [-c CATEGORY] ...]

[-e|--es EXTRA_KEY EXTRA_STRING_VALUE ...]

[--esn EXTRA_KEY ...]

[--ez EXTRA_KEY EXTRA_BOOLEAN_VALUE ...]

[--ei EXTRA_KEY EXTRA_INT_VALUE ...]

[--el EXTRA_KEY EXTRA_LONG_VALUE ...]

[--ef EXTRA_KEY EXTRA_FLOAT_VALUE ...]

[--eu EXTRA_KEY EXTRA_URI_VALUE ...]

[--ecn EXTRA_KEY EXTRA_COMPONENT_NAME_VALUE]

[--eia EXTRA_KEY EXTRA_INT_VALUE[,EXTRA_INT_VALUE...]]

[--ela EXTRA_KEY EXTRA_LONG_VALUE[,EXTRA_LONG_VALUE...]]

[--efa EXTRA_KEY EXTRA_FLOAT_VALUE[,EXTRA_FLOAT_VALUE...]]

[-n COMPONENT] [-f FLAGS]

示例:

如我们在 logcat 抓到如下打印启动了播放器:

START u0 {act=android.intent.action.VIEW dat=[4KH265_60.000fps_9Mbps]Wetek-Astra-2m.mp4 typ=video/* flg=0x13000000 cmp=com.meson.videoplayer/.VideoPlayer} from pid 15204

则我们可以使用如下 am 指令来启动它:

am start -a android.intent.action.VIEW -d [4KH265_60.000fps_9Mbps]Wetek-Astra-2m.mp4 -t video/* -f 0x13000000 -n com.meson.videoplayer/.VideoPlayer am start -n com.android.settings/.Settings //启动原生安卓设置主页

am broadcast -a com.chinamobile.action.KEY_PRESS_DOWN --ei keyCode 11 am broadcast -a com.chinamobile.action.IR_TEST --es irphycode "0x008EDD22" //发送广播

查找命令,查找文件中是否包含指定字符串并输出该行示例:

grep -rns "repeat" /system/etc/remote1.conf //找出/system/etc/remote1.conf 所有包含 repeat 的行并展示行号

参数说明:

-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。

-d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。

-f:覆盖已经存在的目标文件而不给出提示。

-i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。

-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。

-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。

-l:不复制文件,只是生成链接文件。

命令示例:cp -a a  parentPath/sonPath/ a对应当前文件夹下目录或文件名  可替换为绝对路径 

移动指令,等效于 windows 的移动和重命名。

示例:

mv /data/tmp1 /data/local/tmp2 //将 data/tmp1移动到/data/local/ 并重命名为 tmp2

删除指令,用于删除文件和文件夹,示例:

rm -rf tmp // 删除 tmp,建议加上-rf参数,其会删除 tmp 所有的目录和文件。

创建目录。常用参数:

-p :若 mkdir -p 后接路径包含不存在路径则一并创建。

同步命令,常用于 cp 替换文件或指令结束后同步状态,有益无害。

重定向,即将一个命令的输出指向另外路径的文件,使用覆盖模式,即重定向到的文件若存在将覆盖里面的内容。

示例:

logcat /data/xxx.log; //将 logcat输出到/data/xxx.log;

cat /proc/kmsg /data/kmsg.log; //将 kmsg 打印输出重定向到/data/kmsg.log

重定向,即将一个命令的输出指向另外路径的文件,使用拼接模式,即重定向到的文件若存在则将输出拼接到原文件的后面。

示例:

logcat /data/xxx.log; //例如我们做 netreboot的时候需要每一次开关机的 log,则会用拼接模式记录log。

将指令放至后台静默执行。

依次执行指令,若有指令执行失败,则后续指令不会执行。

示例:

logcat -c logcat //先清除 logcat 缓存再抓取 log

关于linux vi命令

vim命令总结

1.删除字符

要删除一个字符,只需要将光标移到该字符上按下"x"。

2.删除一行

删除一整行内容使用"dd"命令。删除后下面的行会移上来填补空缺。

3.删除换行符

在Vim中你可以把两行合并为一行,也就是说两行之间的换行符被删除了:命令是"J"。

4.撤销

如果你误删了过多的内容。显然你可以再输入一遍,但是命令"u" 更简便,它可以撤消上一次的操作。

5.重做

如果你撤消了多次,你还可以用CTRL-R(重做)来反转撤消的动作。换句话说,它是对撤消的撤消。撤消命令还有另一种形式,"U"命令,它一次撤消对一行的全部操作。第二次使用该命令则会撤消前一个"U"的操作。用"u"和CTRL-R你可以找回任何一个操作状态。

6.追加

"i"命令可以在当前光标之前插入文本。

"a"命令可以在当前光标之后插入文本。

"o"命令可以在当前行的下面另起一行,并使当前模式转为Insert模式。

"O"命令(注意是大写的字母O)将在当前行的上面另起一行。

7.使用命令计数

假设你要向上移动9行。这可以用"kkkkkkkkk"或"9k"来完成。事实上,很多命令都可以接受一个数字作为重复执行同一命令的次数。比如刚才的例子,要在行尾追加三个感叹号,当时用的命令是"a!!!"。另一个办法是用"3a!"命令。3说明该命令将被重复执行3次。同样,删除3个字符可以用"3x"。指定的数字要紧挨在它所要修饰的命令前面。

8.退出

要退出Vim,用命令"ZZ"。该命令保存当前文件并退出Vim。

9.放弃编辑

丢弃所有的修改并退出,用命令":q!"。用":e!"命令放弃所有修改并重新载入该文件的原始内容。

10.以Word为单位的移动

使用"w"命令可以将光标向前移动一个word的首字符上;比如"3w"将光标向前移动3个words。"b"命令则将光标向后移动到前一个word的首字符上。

"e"命令会将光标移动到下一个word的最后一个字符。命令"ge",它将光标移动到前一个word的最后一个字符上。、

11.移动到行首或行尾

"$"命令将光标移动到当前行行尾。如果你的键盘上有一个键,它的作用也一样。"^"命令将光标移动到当前行的第一个非空白字符上。"0"命令则总是把光标移动到当前行的第一个字符上。键也是如此。"$"命令还可接受一个计数,如"1$"会将光标移动到当前行行尾,"2$"则会移动到下一行的行尾,如此类推。"0"命令却不能接受类似这样的计数,命令"^"前加上一个计数也没有任何效果。

12.移动到指定字符上

命令"fx"在当前行上查找下一个字符x(向右方向),可以带一个命令计数"F"命令向左方向搜索。"tx"命令形同"fx"命令,只不过它不是把光标停留在被搜索字符上,而是在它之前的一个字符上。提示:"t"意为"To"。该命令的反方向版是"Tx"。这4个命令都可以用";"来重复。以","也是重复同样的命令,但是方向与原命令的方向相反。

13.以匹配一个括号为目的移动

用命令"%"跳转到与当前光标下的括号相匹配的那一个括号上去。如果当前光标在"("上,它就向前跳转到与它匹配的")"上,如果当前在")"上,它就向后自动跳转到匹配的"("上去.

14.移动到指定行

用"G"命令指定一个命令计数,这个命令就会把光标定位到由命令计数指定的行上。比如"33G"就会把光标置于第33行上。没有指定命令计数作为参数的话, "G"会把光标定位到最后一行上。"gg"命令是跳转到第一行的快捷的方法。

另一个移动到某行的方法是在命令"%"之前指定一个命令计数比如"50%"将会把光标定位在文件的中间. "90%"跳到接近文件尾的地方。

命令"H","M","L",分别将光标跳转到第一行,中间行,结尾行部分。

15.告诉你当前的位置

使用CTRL-G命令。"set number"在每行的前面显示一个行号。相反关闭行号用命令":set nonumber"。":set ruler"在Vim窗口的右下角显示当前光标位置。

16.滚屏

CTRL-U显示文本的窗口向上滚动了半屏。CTRL-D命令将窗口向下移动半屏。一次滚动一行可以使用CTRL-E(向上滚动)和CTRL-Y(向下滚动)。要向前滚动一整屏使用命令CTRL-F。另外CTRL-B是它的反向版。"zz"命令会把当前行置为屏幕正中央,"zt"命令会把当前行置于屏幕顶端,"zb"则把当前行置于屏幕底端.

17.简单搜索

"/string"命令可用于搜索一个字符串。要查找上次查找的字符串的下一个位置,使用"n"命令。如果你知道你要找的确切位置是目标字符串的第几次出现,还可以在"n"之前放置一个命令计数。"3n"会去查找目标字符串的第3次出现。

"?"命令与"/"的工作相同,只是搜索方向相反."N"命令会重复前一次查找,但是与最初用"/"或"?"指定的搜索方向相反。

如果查找内容忽略大小写,则用命令"set ignorecase", 返回精确匹配用命令"set noignorecase" 。

18.在文本中查找下一个word

把光标定位于这个word上然后按下"*"键。Vim将会取当前光标所在的word并将它作用目标字符串进行搜索。"#"命令是"*"的反向版。还可以在这两个命令前加一个命令计数:"3*"查找当前光标下的word的第三次出现。

19.查找整个word

如果你用"/the"来查找Vim也会匹配到"there"。要查找作为独立单词的"the"使用如下命令:"/the\"。"\"是一个特殊的记法,它只匹配一个word的结束处。近似地,"\"匹配到一个word的开始处。这样查找作为一个word的"the"就可以用:"/\"。

20.高亮显示搜索结果

开启这一功能用":set hlsearch",关闭这一功能:":set nohlsearch"。如果只是想去掉当前的高亮显示,可以使用下面的命令:":nohlsearch"(可以简写为noh)。

21.匹配一行的开头与结尾

^ 字符匹配一行的开头。$字符匹配一行的末尾。

所以"/was$"只匹配位于一行末尾的单词was,所以"/^was"只匹配位于一行开始的单词was。

22.匹配任何的单字符

.这个字符可以匹配到任何字符。比如"c.m"可以匹配任何前一个字符是c,后一个字符是m的情况,不管中间的字符是什么。

23.匹配特殊字符

放一个反斜杠在特殊字符前面。如果你查找"ter。",用命令"/ter\。"

24.使用标记

当你用"G"命令从一个地方跳转到另一个地方时,Vim会记得你起跳的位置。这个位置在Vim中是一个标记。使用命令" `` "可以使你跳回到刚才的出发点。

``命令可以在两点之间来回跳转。CTRL-O命令是跳转到你更早些时间停置光标的位置(提示:O意为older). CTRL-I则是跳回到后来停置光标的更新的位置(提示:I在键盘上位于O前面)。

注:使用CTRL-I 与按下键一样。

25.具名标记

命令"ma"将当前光标下的位置名之为标记"a"。从a到z一共可以使用26个自定义的标记。要跳转到一个你定义过的标记,使用命令" `marks "marks就是定义的标记的名字。命令" 'a "使你跳转到a所在行的行首," `a "会精确定位a所在的位置。命令:":marks"用来查看标记的列表。

命令delm!删除所有标记。

26.操作符命令和位移

"dw"命令可以删除一个word,"d4w"命令是删除4个word,依此类推。类似有"d2e"、"d$"。此类命令有一个固定的模式:操作符命令+位移命令。首先键入一个操作符命令。比如"d"是一个删除操作符。接下来是一个位移命。比如"w"。这样任何移动光标命令所及之处,都是命令的作用范围。

27.改变文本

操作符命令是"c",改变命令。它的行为与"d"命令类似,不过在命令执行后会进入Insert模式。比如"cw"改变一个word。或者,更准确地说,它删除一个word并让你置身于Insert模式。

"cc"命令可以改变整行。不过仍保持原来的缩进。

"c$"改变当前光标到行尾的内容。

快捷命令:x 代表dl(删除当前光标下的字符)

X 代表dh(删除当前光标左边的字符)

D 代表d$(删除到行尾的内容)

C 代表c$(修改到行尾的内容)

s 代表cl(修改一个字符)

S 代表cc(修改一整行)

命令"3dw"和"d3w"都是删除3个word。第一个命令"3dw"可以看作是删除一个word的操作执行3次;第二个命令"d3w"是一次删除3个word。这是其中不明显的差异。事实上你可以在两处都放上命令记数,比如,"3d2w"是删除两个word,重复执行3次,总共是6个word。

28.替换单个字符

"r"命令不是一个操作符命令。它等待你键入下一个字符用以替换当前光标下的那个字符。"r"命令前辍以一个命令记数是将多个字符都替换为即将输入的那个字符。要把一个字符替换为一个换行符使用"r"。它会删除一个字符并插入一个换行符。在此处使用命令记数只会删除指定个数的字符:"4r"将把4个字符替换为一个换行符。

29.重复改动

"."命令会重复上一次做出的改动。"."命令会重复你做出的所有修改,除了"u"命令CTRL-R和以冒号开头的命令。"."需要在Normal模式下执行,它重复的是命令,而不是被改动的内容,

30.Visual模式

按"v"可以进入Visual模式。移动光标以覆盖你想操纵的文本范围。同时被选中的文本会以高亮显示。最后键入操作符命令。

31.移动文本

以"d"或"x"这样的命令删除文本时,被删除的内容还是被保存了起来。你还可以用p命令把它取回来。"P"命令是把被去回的内容放在光标之前,"p"则是放在光标之后。对于以"dd"删除的整行内容,"P"会把它置于当前行的上一行。"p"则是至于当前行的后一行。也可以对命令"p"和"P"命令使用命令记数。它的效果是同样的内容被取回指定的次数。这样一来"dd"之后的"3p"就可以把被删除行的3 份副本放到当前位置。

命令"xp"将光标所在的字符与后一个字符交换。

32.复制文本(VIM编辑器内复制)

"y"操作符命令会把文本复制到一个寄存器3中。然后可以用"p"命令把它取回。因为"y"是一个操作符命令,所以你可以用"yw"来复制一个word. 同样可以使用命令记数。如下例中用"y2w"命令复制两个word,"yy"命令复制一整行,"Y"也是复制整行的内容,复制当前光标至行尾的命令是"y$"。

33.文本对象

"diw" 删除当前光标所在的word(不包括空白字符) "daw" 删除当前光标所在的word(包括空白字符)

34.快捷命令

x 删除当前光标下的字符("dl"的快捷命令)

X 删除当前光标之前的字符("dh"的快捷命令)

D 删除自当前光标至行尾的内容("d$"的快捷命令)

dw 删除自当前光标至下一个word的开头

db 删除自当前光标至前一个word的开始

diw 删除当前光标所在的word(不包括空白字符)

daw 删除当前光标所在的word(包括空白字符)

dG 删除当前行至文件尾的内容

dgg 删除当前行至文件头的内容

如果你用"c"命令代替"d"这些命令就都变成更改命令。使用"y"就是yank命令,如此类推。

35.编辑另一个文件

用命令":edit foo.txt",也可简写为":e foo.txt"。

36.文件列表

可以在启动Vim时就指定要编辑多个文件,用命令"vim one.c two.c three.c"。Vim将在启动后只显示第一个文件,完成该文件的编辑后,可以用令:":next"或":n"要保存工作成果并继续下一个文件的编辑,命令:":wnext"或":wn"可以合并这一过程。

37.显示当前正在编辑的文件

用命令":args"。

38.移动到另一个文件

用命令":previous" ":prev"回到上一个文件,合并保存步骤则是":wprevious" ":wprev"。要移到最后一个文件":last",到第一个":first".不过没有":wlast"或者":wfirst"这样的命令。可以在":next"和":previous"命令前面使用一个命令计数。

39.编辑另一个文件列表

不用重新启动Vim,就可以重新定义一个文件列表。命令":args five.c six.c seven.h"定义了要编辑的三个文件。

40.自动存盘

命令":set autowrite","set aw"。自动把内容写回文件: 如果文件被修改过,在每个:next、:rewind、:last、:first、:previous、:stop、:suspend、:tag、:!、:make、CTRL-] 和 CTRL-^命令时进行。

命令":set autowriteall","set awa"。和 'autowrite' 类似,但也适用于":edit"、":enew"、":quit"、":qall"、":exit"、":xit"、":recover" 和关闭 Vim 窗口。置位本选项也意味着 Vim 的行为就像打开 'autowrite' 一样。

41.切换到另一文件

要在两个文件间快速切换,使用CTRL-^。

42.文件标记

以大写字母命名的标记。它们是全局标记,它们可以用在任何文件中。比如,正在编辑"fab1.java",用命令"50%mF"在文件的中间设置一个名为F的标记。然后在"fab2.java"文件中,用命令"GnB"在最后一行设置名为B的标记。在可以用"F"命令跳转到文件"fab1.java"的半中间。或者编辑另一个文件,"'B"命令会再把你带回文件"fab2.java"的最后一行。

要知道某个标记所代表的位置是什么,可以将该标记的名字作为"marks"命令的参数":marks M"或者连续跟上几个参数":marks MJK"

可以用CTRL-O和CTRL-I可以跳转到较早的位置和靠后的某位置。

43.查看文件

仅是查看文件,不向文件写入内容,可以用只读形式编辑文件。用命令:

vim -R file。如果是想强制性地避免对文件进行修改,可以用命令:

vim -M file。

44.更改文件名

将现有文件存成新的文件,用命令":sav(eas) move.c"。如果想改变当前正在编辑的文件名,但不想保存该文件,就可以用命令:":f(ile) move.c"。

45.分割一个窗口

打开一个新窗口最简单的办法就是使用命令:":split"。CTRL-W 命令可以切换当前活动窗口。

46.关闭窗口

用命令:"close".可以关闭当前窗口。实际上,任何退出文件编辑的命令":quit"和"ZZ"都会关闭窗口,但是用":close"可以阻止你关闭最后一个Vim,以免以意外地整个关闭了Vim。

47.关闭除当前窗口外的所有其他窗口

用命令:":only",关闭除当前窗口外的所有其它窗口。如果这些窗口中有被修改过的,你会得到一个错误信息,同时那个窗口会被留下来。

48.为另一个文件分隔出一个窗口

命令":split two.c"可以打开第二个窗口同时在新打开的窗口中开始编辑作为

参数的文件。如果要打开一个新窗口并开始编辑一个空的缓冲区,使用命令:":new"。

49.垂直分割

用命令":vsplit或::vsplit two.c"。同样有一个对应的":vnew"命令,用于垂直分隔窗口并在其中打开一个新的空缓冲区。

50.切换窗口

CTRL-W h 到左边的窗口

CTRL-W j 到下面的窗口

CTRL-W k 到上面的窗口

CTRL-W l 到右边的窗口

CTRL-W t 到顶部窗口

CTRL-W b 到底部窗口

51.针对所有窗口操作的命令

":qall"放弃所有操作并退出,":wall"保存所有,":wqall"保存所有并退出。

52.为每一个文件打开一个窗口

使用"-o"选项可以让Vim为每一个文件打开一个窗口:

"vim -o one.txt two.txt three.txt"。

53.使用vimdiff查看不同

"vimdiff main.c~ main.c",另一种进入diff模式的办法可以在Vim运行中操作。编辑文件"main.c",然后打开另一个分隔窗口显示其不同:

":edit main.c"

":vertical diffpatch main.c.diff"。

54.页签

命令":tabe(dit) thatfile"在一个窗口中打开"thatfile",该窗口占据着整个的Vim显示区域。命令":tab split/new"结果是新建了一个拥有一个窗口的页签。以用"gt"命令在不同的页签间切换。

linux下如何将一个新增文件加入到一个压缩文件中

1、连接上相应的linux主机,进入到等待输入shell指令的linux命令行状态下。

2、在linux命令行下输入shell指令:tar -uf test.tar 1.txt -u。

3、键盘按“回车键”运行shell指令,此时会看到1.txt被追加到了test.tag中。

linux解压命令tar

tar

-c: 建立压缩档案

-x:解压

-t:查看内容

-r:向压缩归档文件末尾追加文件

-u:更新原压缩包中的文件

这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

-z:有gzip属性的

-j:有bz2属性的

-Z:有compress属性的

-v:显示所有过程

-O:将文件解开到标准输出

下面的参数-f是必须的

-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

# tar -cf all.tar *.jpg

这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。

# tar -rf all.tar *.gif

这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。

# tar -uf all.tar logo.gif

这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。

# tar -tf all.tar

这条命令是列出all.tar包中所有文件,-t是列出文件的意思

# tar -xf all.tar

这条命令是解出all.tar包中所有文件,-t是解开的意思

压缩

tar -cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg

tar -czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz

tar -cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2

tar -cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z

rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux

zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux

解压

tar -xvf file.tar //解压 tar包

tar -xzvf file.tar.gz //解压tar.gz

tar -xjvf file.tar.bz2 //解压 tar.bz2

tar -xZvf file.tar.Z //解压tar.Z

unrar e file.rar //解压rar

unzip file.zip //解压zip

总结

1、*.tar 用 tar -xvf 解压

2、*.gz 用 gzip -d或者gunzip 解压

3、*.tar.gz和*.tgz 用 tar -xzf 解压

4、*.bz2 用 bzip2 -d或者用bunzip2 解压

5、*.tar.bz2用tar -xjf 解压

6、*.Z 用 uncompress 解压

7、*.tar.Z 用tar -xZf 解压

8、*.rar 用 unrar e解压

9、*.zip 用 unzip 解压

解压jdk到指定文件夹:

tar -xzvf jdk-8u131-linux-x64.tar.gz -C /usr/local/java

root@ubuntu:~# tar --help

用法: tar [选项...] [FILE]...

GNU 'tar' saves many files together into a single tape or disk archive, and can

restore individual files from the archive.

Examples:

tar -cf archive.tar foo bar # Create archive.tar from files foo and bar.

tar -tvf archive.tar # List all files in archive.tar verbosely.

tar -xf archive.tar # Extract all files from archive.tar.

主操作模式:

-A, --catenate, --concatenate 追加 tar 文件至归档

-c, --create 创建一个新归档

-d, --diff, --compare 找出归档和文件系统的差异

--delete 从归档(非磁带!)中删除

-r, --append 追加文件至归档结尾

-t, --list 列出归档内容

--test-label 测试归档卷标并退出

-u, --update 仅追加比归档中副本更新的文件

-x, --extract, --get 从归档中解出文件

操作修饰符:

--check-device 当创建增量归档时检查设备号(默认)

-g, --listed-incremental=FILE 处理新式的 GNU 格式的增量备份

-G, --incremental 处理老式的 GNU 格式的增量备份

--ignore-failed-read

当遇上不可读文件时不要以非零值退出

--level=NUMBER 所创建的增量列表归档的输出级别

-n, --seek 归档可检索

--no-check-device 当创建增量归档时不要检查设备号

--no-seek 归档不可检索

--occurrence[=NUMBER] 仅处理归档中每个文件的第 NUMBER

个事件;仅当与以下子命令 --delete,

--diff, --extract 或是 --list

中的一个联合使用时,此选项才有效。而且不管文件列表是以命令行形式给出或是通过

-T 选项指定的;NUMBER 值默认为 1

--sparse-version=MAJOR[.MINOR]

设置所用的离散格式版本(隐含

--sparse)

-S, --sparse 高效处理离散文件

重写控制:

-k, --keep-old-files don't replace existing files when extracting,

treat them as errors

--keep-directory-symlink preserve existing symlinks to directories when

extracting

--keep-newer-files

不要替换比归档中副本更新的已存在的文件

--no-overwrite-dir 保留已存在目录的元数据

--one-top-level[=DIR] create a subdirectory to avoid having loose files

extracted

--overwrite 解压时重写存在的文件

--overwrite-dir 解压时重写已存在目录的元数据(默认)

--recursive-unlink 解压目录之前先清除目录层次

--remove-files 在添加文件至归档后删除它们

--skip-old-files don't replace existing files when extracting,

silently skip over them

-U, --unlink-first 在解压要重写的文件之前先删除它们

-W, --verify 在写入以后尝试校验归档

选择输出流:

--ignore-command-error 忽略子进程的退出代码

--no-ignore-command-error

将子进程的非零退出代码认为发生错误

-O, --to-stdout 解压文件至标准输出

--to-command=COMMAND

将解压的文件通过管道传送至另一个程序

操作文件属性:

--atime-preserve[=METHOD]

在输出的文件上保留访问时间,要么通过在读取(默认

METHOD=‘replace’)后还原时间,要不就不要在第一次(METHOD=‘system’)设置时间

--clamp-mtime only set time when the file is more recent than

what was given with --mtime

--delay-directory-restore

直到解压结束才设置修改时间和所解目录的权限

--group=名称 强制将 NAME

作为所添加的文件的组所有者

--mode=CHANGES 强制将所添加的文件(符号)更改为权限

CHANGES

--mtime=DATE-OR-FILE 从 DATE-OR-FILE 中为添加的文件设置

mtime

-m, --touch 不要解压文件的修改时间

--no-delay-directory-restore

取消 --delay-directory-restore 选项的效果

--no-same-owner

将文件解压为您所有(普通用户默认此项)

--no-same-permissions

从归档中解压权限时使用用户的掩码位(默认为普通用户服务)

--numeric-owner 总是以数字代表用户/组的名称

--owner=名称 强制将 NAME

作为所添加的文件的所有者

-p, --preserve-permissions, --same-permissions

解压文件权限信息(默认只为超级用户服务)

--preserve 与 -p 和 -s 一样

--same-owner

尝试解压时保持所有者关系一致(超级用户默认此项)

-s, --preserve-order, --same-order

member arguments are listed in the same order as

the files in the archive

--sort=ORDER directory sorting order: none (default), name or

inode

Handling of extended file attributes:

--acls Enable the POSIX ACLs support

--no-acls Disable the POSIX ACLs support

--no-selinux Disable the SELinux context support

--no-xattrs Disable extended attributes support

--selinux Enable the SELinux context support

--xattrs Enable extended attributes support

--xattrs-exclude=MASK specify the exclude pattern for xattr keys

--xattrs-include=MASK specify the include pattern for xattr keys

设备选择和切换:

-f, --file=ARCHIVE 使用归档文件或 ARCHIVE 设备

--force-local

即使归档文件存在副本还是把它认为是本地归档

-F, --info-script=名称, --new-volume-script=名称

在每卷磁带最后运行脚本(隐含 -M)

-L, --tape-length=NUMBER 写入 NUMBER × 1024 字节后更换磁带

-M, --multi-volume 创建/列出/解压多卷归档文件

--rmt-command=COMMAND 使用指定的 rmt COMMAND 代替 rmt

--rsh-command=COMMAND 使用远程 COMMAND 代替 rsh

--volno-file=FILE 使用/更新 FILE 中的卷数

设备分块:

-b, --blocking-factor=BLOCKS 每个记录 BLOCKS x 512 字节

-B, --read-full-records 读取时重新分块(只对 4.2BSD 管道有效)

-i, --ignore-zeros 忽略归档中的零字节块(即文件结尾)

--record-size=NUMBER 每个记录的字节数 NUMBER,乘以 512

选择归档格式:

-H, --format=FORMAT 创建指定格式的归档

FORMAT 是以下格式中的一种:

gnu GNU tar 1.13.x 格式

oldgnu GNU 格式 as per tar = 1.12

pax POSIX 1003.1-2001 (pax) 格式

posix 等同于 pax

ustar POSIX 1003.1-1988 (ustar) 格式

v7 old V7 tar 格式

--old-archive, --portability

等同于 --format=v7

--pax-option=关键字[[:]=值][,关键字[[:]=值]]...

控制 pax 关键字

--posix 等同于 --format=posix

-V, --label=TEXT 创建带有卷名 TEXT

的归档;在列出/解压时,使用 TEXT

作为卷名的模式串

压缩选项:

-a, --auto-compress 使用归档后缀名来决定压缩程序

-I, --use-compress-program=PROG

通过 PROG 过滤(必须是能接受 -d

选项的程序)

-j, --bzip2 通过 bzip2 过滤归档

-J, --xz 通过 xz 过滤归档

--lzip 通过 lzip 过滤归档

--lzma 通过 xz 过滤归档

--lzop 通过 xz 过滤归档

--no-auto-compress 不使用归档后缀名来决定压缩程序

-z, --gzip, --gunzip, --ungzip 通过 gzip 过滤归档

-Z, --compress, --uncompress 通过 compress 过滤归档

本地文件选择:

--add-file=FILE 添加指定的 FILE 至归档(如果名字以 -

开始会很有用的)

--backup[=CONTROL] 在删除前备份,选择 CONTROL 版本

-C, --directory=DIR 改变至目录 DIR

--exclude=PATTERN 排除以 PATTERN 指定的文件

--exclude-backups 排除备份和锁文件

--exclude-caches 除标识文件本身外,排除包含

CACHEDIR.TAG 的目录中的内容

--exclude-caches-all 排除包含 CACHEDIR.TAG 的目录

--exclude-caches-under 排除包含 CACHEDIR.TAG

的目录中所有内容

--exclude-ignore=FILE read exclude patterns for each directory from

FILE, if it exists

--exclude-ignore-recursive=FILE

read exclude patterns for each directory and its

subdirectories from FILE, if it exists

--exclude-tag=FILE 除 FILE 自身外,排除包含 FILE

的目录中的内容

--exclude-tag-all=FILE 排除包含 FILE 的目录

--exclude-tag-under=FILE 排除包含 FILE 的目录中的所有内容

--exclude-vcs 排除版本控制系统目录

--exclude-vcs-ignores read exclude patterns from the VCS ignore files

-h, --dereference

跟踪符号链接;将它们所指向的文件归档并输出

--hard-dereference

跟踪硬链接;将它们所指向的文件归档并输出

-K, --starting-file=MEMBER-NAME

begin at member MEMBER-NAME when reading the

archive

--newer-mtime=DATE 当只有数据改变时比较数据和时间

--no-null 禁用上一次的效果 --null 选项

--no-recursion 避免目录中的自动降级

--no-unquote do not unquote input file or member names

--null -T 读取以空终止的名字,-C 禁用

-N, --newer=DATE-OR-FILE, --after-date=DATE-OR-FILE

只保存比 DATE-OR-FILE 更新的文件

--one-file-system 创建归档时保存在本地文件系统中

-P, --absolute-names don't strip leading '/'s from file names

--recursion 目录递归(默认)

--suffix=STRING 在删除前备份,除非被环境变量

SIMPLE_BACKUP_SUFFIX

覆盖,否则覆盖常用后缀(‘’)

-T, --files-from=FILE 从 FILE

中获取文件名来解压或创建文件

--unquote unquote input file or member names (default)

-X, --exclude-from=FILE 排除 FILE 中列出的模式串

文件名变换:

--strip-components=NUMBER 解压时从文件名中清除 NUMBER

个引导部分

--transform=EXPRESSION, --xform=EXPRESSION

使用 sed 代替 EXPRESSION

来进行文件名变换

文件名匹配选项(同时影响排除和包括模式串):

--anchored 模式串匹配文件名头部

--ignore-case 忽略大小写

--no-anchored patterns match after any '/' (default for

exclusion)

--no-ignore-case 匹配大小写(默认)

--no-wildcards 逐字匹配字符串

--no-wildcards-match-slash wildcards do not match '/'

--wildcards 使用通配符(默认对 exclusion )

--wildcards-match-slash wildcards match '/' (default for exclusion)

提示性输出:

--checkpoint[=NUMBER] 每隔 NUMBER

个记录显示进度信息(默认为 10 个)

--checkpoint-action=ACTION 在每个检查点上执行 ACTION

--full-time 按文件原本时间格式打印

--index-file=FILE 将详细输出发送至 FILE

-l, --check-links

只要不是所有链接都被输出就打印信息

--no-quote-chars=STRING 禁用来自 STRING 的字符引用

--quote-chars=STRING 来自 STRING 的额外的引用字符

--quoting-style=STYLE 设置名称引用风格;有效的 STYLE

值请参阅以下说明

-R, --block-number 每个信息都显示归档内的块数

--show-defaults 显示 tar 默认选项

--show-omitted-dirs

列表或解压时,列出每个不匹配查找标准的目录

--show-snapshot-field-ranges

show valid ranges for snapshot-file fields

--show-transformed-names, --show-stored-names

显示变换后的文件名或归档名

--totals[=SIGNAL] 处理归档后打印出总字节数;当此

SIGNAL 被触发时带参数 -

打印总字节数;允许的信号为:

SIGHUP,SIGQUIT,SIGINT,SIGUSR1 和

SIGUSR2;同时也接受不带 SIG

前缀的信号名称

--utc 以 UTC 格式打印文件修改时间

-v, --verbose 详细地列出处理的文件

--warning=KEYWORD 警告控制:

-w, --interactive, --confirmation

每次操作都要求确认

兼容性选项:

-o 创建归档时,相当于

--old-archive;展开归档时,相当于

--no-same-owner

其它选项:

-?, --help 显示此帮助列表

--restrict 禁用某些潜在的有危险的选项

--usage 显示简短的用法说明

--version 打印程序版本

长选项和相应短选项具有相同的强制参数或可选参数。

The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.

The version control may be set with --backup or VERSION_CONTROL, values are:

none, off never make backups

t, numbered make numbered backups

nil, existing numbered if numbered backups exist, simple otherwise

never, simple always make simple backups

--quoting-style 选项的有效参数为:

literal

shell

shell-always

c

c-maybe

escape

locale

clocale

此 tar 默认为:

--format=gnu -f- -b20 --quoting-style=escape --rmt-command=/usr/lib/tar/rmt

--rsh-command=/usr/bin/rsh


标题名称:linuxtag命令的简单介绍
本文网址:http://njwzjz.com/article/dssgjeh.html