1. 常用系统命令
1.echo命令
echo命令用于在终端输出字符串或变量提取后的值,格式为“echo [字符串 | $变量]”。
[hadoop@hadoopmaster ~]$ echo $JAVA_HOME /usr/local/jdk [hadoop@hadoopmaster ~]$ echo 'aaaa' aaaa
2.date命令
date命令用于显示及设置系统的时间或日期,格式为 "date [选项 ][ +指定的格式 ] "。注意:有“+”不能省。
date命令中的参数以及作用:
参数 | 作用 |
---|---|
%t | 跳格[Tab键] |
%H | 小时(00~23) |
%I | 小时(00~12) |
%M | 分钟(00~59) |
%S | 秒(00~59) |
%j | 今年中的第几天 |
获取日期:
[hadoop@hadoopmaster ~]$ date 2019年 01月 25日 星期五 16:59:34 CST
格式化日期:
[hadoop@hadoopmaster ~]$ date "+%Y-%m-%d %H:%M:%S" 2019-01-25 16:59:51
重置系统日期:
[root@hadoopmaster hadoop]# date -s "2019-05-19 00:00:00" 2019年 05月 19日 星期日 00:00:00 CST
今天是今年中的第几天:
[root@hadoopmaster hadoop]# date "+%j" 139
3. ps命令
ps命令用于查看系统中的进程状态 。
ps命令的参数以及作用
参数 | 作用 |
---|---|
-a | 显示所有进程(包括其他用户的进程) |
-u | 用户以及其他详细信息 |
-x | 显示没有控制终端的进程 |
[hadoop@hadoopmaster ~]$ ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.0 19360 548 ? Ss May18 0:01 /sbin/init root 2 0.0 0.0 0 0 ? S May18 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? S May18 0:00 [migration/0] root 4 0.0 0.0 0 0 ? S May18 0:00 [ksoftirqd/0] root 5 0.0 0.0 0 0 ? S May18 0:00 [stopper/0] root 6 0.0 0.0 0 0 ? S May18 0:00 [watchdog/0] root 7 0.0 0.0 0 0 ? R May18 0:26 [events/0]
上述输出信息每一列含义分别为:
USER | PID | %CPU | %MEM | VSZ | RSS | TTY | STAT | START | TIME | COMMAND |
---|---|---|---|---|---|---|---|---|---|---|
进程的所有者 | 进程ID号 | 运算器占用率 | 内存占用率 | 虚拟内存使用量(单位是KB) | 占用的固定内存量(单位是KB) | 所在终端 | 进程状态 | 被启动的时间 | 实际使用CPU的时间 | 命令名称与参数 |
一般使用该命令都会在其后使用管道,比如查找所有tomcat进程:
ps aux|grep tomcat
4. top命令
top命令用于动态地监视进程活动与系统负载等信息,其格式为top。
[hadoop@hadoopmaster ~]$ top top - 00:22:20 up 8:04, 2 users, load average: 0.16, 0.17, 0.15 Tasks: 101 total, 1 running, 100 sleeping, 0 stopped, 0 zombie Cpu(s): 0.0%us, 0.3%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 1012080k total, 896340k used, 115740k free, 11144k buffers Swap: 2031612k total, 1442712k used, 588900k free, 144732k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2417 hadoop 20 0 3201m 408m 6936 S 0.7 41.4 5:31.06 java 4617 hadoop 20 0 99.7m 1836 860 S 0.3 0.2 0:00.04 sshd 1 root 20 0 19360 568 352 S 0.0 0.1 0:01.36 init 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd 3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0 4 root 20 0 0 0 0 S 0.0 0.0 0:00.74 ksoftirqd/0 5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 stopper/0 6 root RT 0 0 0 0 S 0.0 0.0 0:00.09 watchdog/0 7 root 20 0 0 0 0 S 0.0 0.0 0:27.28 events/0 8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 events/0 9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 events_long/0 10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 events_power_ef 11 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cgroup
top命令相当于windows中的任务管理器。
第一行显示了系统运行时间,登录用户数,系统负载(三个数值分别为1分钟、5分钟、15分钟内的平均值,数值越小意味着负载越低 );
第二行中显示了在运行的总任务数,运行状态;
第三行显示了CPU的负载情况;
第四行显示了当前内存使用情况;
第五行显示了虚拟内存使用情况。
5. ifconfig 命令
ifconfig命令用于获取网卡配置与网络状态等信息,格式为“ifconfig [网络设备][参数]”。
[hadoop@hadoopmaster ~]$ ifconfig docker0 Link encap:Ethernet HWaddr 00:00:00:00:00:00 inet addr:172.17.42.1 Bcast:0.0.0.0 Mask:255.255.0.0 inet6 addr: fe80::24:5ff:fee7:7513/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:3 errors:0 dropped:0 overruns:0 frame:0 TX packets:6 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:216 (216.0 b) TX bytes:468 (468.0 b) eth0 Link encap:Ethernet HWaddr 00:0C:29:27:60:F6 inet addr:192.168.238.128 Bcast:192.168.238.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe27:60f6/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:454233 errors:0 dropped:0 overruns:0 frame:0 TX packets:118207 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:587460812 (560.2 MiB) TX bytes:46314002 (44.1 MiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:544555 errors:0 dropped:0 overruns:0 frame:0 TX packets:544555 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:134915880 (128.6 MiB) TX bytes:134915880 (128.6 MiB)
6. free 命令
free用于显示当前系统中内存的使用量信息,格式为“free [-h]”。
[hadoop@hadoopmaster ~]$ free -h total used free shared buffers cached Mem: 988M 867M 120M 28K 11M 141M -/+ buffers/cache: 714M 274M Swap: 1.9G 1.4G 575M
7. history 查看当前用户最近的操作命令
执行history命令能显示出当前用户在本地计算机中执行过的最近1000条命令记录。如果觉得1000不够用,还可以自定义/etc/profile文件中的HISTSIZE变量值。在使用history命令时,如果使用-c参数则会清空所有的命令历史记录。还可以使用“!编码数字”的方式来重复执行某一次的命令 。
[hadoop@hadoopmaster ~]$ history|more 15 les mapred-site.xml 16 less mapred-site.xml 17 less hdfs-site.xml 18 cd .. 19 cd . 20 cd .. 21 cd zookeeper 22 cd bin 23 zkServer.sh stop 24 zkServer.sh status 25 zkServer.sh start 26 zkServer.sh status 27 jps 28 ls
2. 常用工作目录切换命令
1. cd 命令
cd ~ 切换到当前用户家目录
cd / 切换到根目录
cd … 切换到上一级目录
cd 目录名 切换到某个目录中
2. pwd 命令
显示当前所处的操作路径。
[hadoop@hadoopmaster ~]$ pwd /home/hadoop
3. ls
ls命令用于显示目录中的文件。
ls -a 可以查看当前目录中全部文件,包括隐藏的。
ls -la 可以查看所有文件的属性,大小信息。
3. 文本编辑查看相关命令
1. vim 命令
vim命令十分强大,不是几句话能概括完的,这里仅介绍基本使用方式。
编辑文件:vim fileName。当文件存在的时候,进入编辑模式,文件不存在会新建一个空文件。
进入文件之后,使用i
进入编辑模式,然后就可以编辑文件了。
编辑完成之后,保存,退出,先按:
,然后输入wq
表示保存并退出。
2. cat 命令
cat命令用于查看纯文本文件(内容较少的),格式为“cat [选项][文件]”。
cat -n fileName ,-n 可用于显示行号。
[hadoop@hadoopmaster doc]$ cat -n LICENSE.md 1 Scala is licensed under the [BSD 3-Clause License](http://opensource.org/licenses/BSD-3-Clause). 2 3 ## Scala License 4 5 Copyright (c) 2002-2018 EPFL 6 7 Copyright (c) 2011-2018 Lightbend, Inc. 8 9 All rights reserved. 10 11 Redistribution and use in source and binary forms, with or without modification, 12 are permitted provided that the following conditions are met:
more 命令
more命令用于查看纯文本文件(内容较多的),格式为“more [选项]文件”。
tail 命令
tail命令用于查看纯文本文档的后N行或持续刷新内容,格式为“tail [选项][文件]”。
tail -f 文件名 可以持续刷新最新的文件;
tail -n 行数 文件名 可以只看最后的n行;
wc命令
wc命令用于统计指定文本的行数、字数、字节数,格式为“wc [参数] 文本”。
wc的参数以及作用
参数 | 作用 |
---|---|
-l | 只显示行数 |
-w | 只显示单词数 |
-c | 只显示字节数 |
cut 命令
cut命令用于按“列”提取文本字符,格式为“cut [参数] 文本”。
-f 用来设置需要查看的列,f1 表示第一列,f2第二列。
-d 设置间隔符号,即用什么符号来拆分列。
比如说,有如下文本:
[hadoop@hadoopmaster doc]$ less /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin gopher:x:13:30:gopher:/var/gopher:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin saslauth:x:499:76:Saslauthd user:/var/empty/saslauth:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin hadoop:x:500:500::/home/hadoop:/bin/bash mysql:x:501:502::/home/mysql:/bin/bash ntp:x:38:38::/etc/ntp:/sbin/nologin
我们想提取第一列的用户名:
[hadoop@hadoopmaster doc]$ cut -d: -f1 /etc/passwd root bin daemon adm lp sync shutdown halt mail uucp operator games gopher ftp nobody dbus vcsa saslauth postfix sshd hadoop mysql ntp
4. 文件目录管理
cp 复制
cp命令用于复制文件或目录,格式为“cp [选项] 源文件 目标文件”。
cp命令的参数及其作用:
参数 | 作用 |
---|---|
-p | 保留原始文件的属性 |
-d | 若对象为“链接文件”,则保留该“链接文件”的属性 |
-r | 递归持续复制(用于目录) |
-i | 若目标文件存在则询问是否覆盖 |
-a | 相当于-pdr(p、d、r为上述参数) |
mkdir 创建目录
mkdir命令用于创建空白的目录,格式为“mkdir [选项] 目录”。
除了能创建单个空白目录外,mkdir命令还可以结合-p参数来递归创建出具有嵌套叠层关系的文件目录。
[hadoop@hadoopmaster doc]$ mkdir folder [hadoop@hadoopmaster doc]$ mkdir -p foler/1/2
touch
touch命令用于创建空白文件或设置文件的时间,格式为“touch [选项][文件]”。
对touch命令来讲,有难度的操作主要是体现在设置文件内容的修改时间(mtime)、文件权限或属性的更改时间(ctime)与文件的读取时间(atime)上面。
touch命令的参数及其作用
参数 | 作用 |
---|---|
-a | 仅修改“读取时间”(atime) |
-m | 仅修改“修改时间”(mtime) |
-d | 同时修改atime与mtime |
[hadoop@hadoopmaster ~]$ touch -d '2019-05-22 8:23:12' file.txt [hadoop@hadoopmaster ~]$ ls -l file.txt -rw-rw-r--. 1 hadoop hadoop 0 5月 22 2019 file.txt
mv 命令
mv命令用于剪切文件或将文件重命名,格式为“mv [选项] 源文件 [目标路径|目标文件名]”。
剪切操作不同于复制操作,因为它会默认把源文件删除掉,只保留剪切后的文件。如果在同一个目录中对一个文件进行剪切操作,其实也就是对其进行重命名 。
[hadoop@hadoopmaster ~]$ ls anaconda-ks.cfg calllog derby.log file.txt [hadoop@hadoopmaster ~]$ rm anaconda-ks.cfg [hadoop@hadoopmaster ~]$ ls calllog derby.log file.txt [hadoop@hadoopmaster ~]$ mv file.txt file.bak [hadoop@hadoopmaster ~]$ ls calllog derby.log file.bak
file命令
file命令用于查看文件的类型,格式为“file 文件名”。
在Linux系统中,由于文本、目录、设备等所有这些一切都统称为文件,而我们又不能单凭后缀就知道具体的文件类型,这时就需要使用file命令来查看文件类型了。
[hadoop@hadoopmaster local]$ file sbin sbin: directory [hadoop@hadoopmaster local]$ file user.txt user.txt: UTF-8 Unicode text
5. 搜索相关命令
find
find命令用于按照指定条件来查找文件,格式为“find [查找路径] 寻找条件 操作”。
这是一个很重要的命令哈,Linux中一切皆文件,当你想找任何文件而不知道他在哪里的时候,find都可以派上用场。
因为find的用法非常多,这里只介绍常用的用法,具体的请参看man。
1.根据文件名模糊匹配:
[hadoop@hadoopmaster local]$ find user.txt -ls 797522 4 -rw-rw-r-- 1 hadoop hadoop 599 1月 9 22:24 user.txt
find不指定查找路径的时候,默认是在当前路径下查找文件的。
指定查找路径:
[hadoop@hadoopmaster /]$ find /usr/local/ -name 'scala-library.jar' /usr/local/scala/lib/scala-library.jar
2.根据属主,属组查找
-user username:查找属主是xx的文件 -group group:查找属组的xx文件 -uid useruid:查找uid号的文件 -gid groupid:查找gid号的文件 -nouser:查找没有属主的文件,即文件存在但是 user已被删除 -nogroup:查找没有属组的文件
[hadoop@hadoopmaster local]$ find -user root -ls 784923 4 drwxrwxr-x 26 root root 4096 1月 25 10:19 . 784955 4 drwxrwxr-x 2 root root 4096 9月 23 2011 ./src 784931 4 drwxrwxr-x 2 root root 4096 9月 23 2011 ./sbin 784928 4 drwxrwxr-x 2 root root 4096 9月 23 2011 ./lib 784929 4 drwxrwxr-x 2 root root 4096 9月 23 2011 ./lib64 784925 4 drwxrwxr-x 2 root root 4096 9月 23 2011 ./etc 784927 4 drwxrwxr-x 2 root root 4096 9月 23 2011 ./include 784926 4 drwxrwxr-x 2 root root 4096 9月 23 2011 ./games 784930 4 drwxrwxr-x 2 root root 4096 9月 23 2011 ./libexec 784924 4 drwxrwxr-x 2 root root 4096 9月 23 2011 ./bin 784932 4 drwxrwxr-x 5 root root 4096 9月 2 2018 ./share 784934 4 drwxrwxr-x 2 root root 4096 9月 23 2011 ./share/info 784935 4 drwxrwxr-x 21 root root 4096 9月 2 2018 ./share/man 784953 4 drwxrwxr-x 2 root root 4096 9月 23 2011 ./share/man/man9x 784941 4 drwxrwxr-x 2 root root 4096 9月 23 2011 ./share/man/man3x 784944 4 drwxrwxr-x 2 root root 4096 9月 23 2011 ./share/man/man5 784937 4 drwxrwxr-x 2 root root 4096 9月 23 2011 ./share/man/man1x 784936 4 drwxrwxr-x 2 root root 4096 9月 23 2011 ./share/man/man1 784938 4 drwxrwxr-x 2 root root 4096 9月 23 2011 ./share/man/man2 784947 4 drwxrwxr-x 2 root root 4096 9月 23 2011 ./share/man/man6x 784940 4 drwxrwxr-x 2 root root 4096 9月 23 2011 ./share/man/man3 784954 4 drwxrwxr-x 2 root root 4096 9月 23 2011 ./share/man/mann
3.根据文件类型查找
-type f:普通文件 -type d:目录文件 -type l:符号链接文件 -type s:套接字文件 -type b:块设备文件 -type c:字符设备文件 -type p:管道文件
[hadoop@hadoopmaster local]$ find -type d -ls|more 784923 4 drwxrwxr-x 26 root root 4096 1月 25 10:19 . 796766 4 drwxrwxr-x 7 hadoop hadoop 4096 10月 8 2018 ./flume 796874 4 drwxr-xr-x 2 hadoop hadoop 4096 10月 9 2018 ./flume/conf 796889 4 drwxr-xr-x 10 hadoop hadoop 4096 9月 15 2017 ./flume/docs 796905 4 drwxr-xr-x 2 hadoop hadoop 4096 10月 8 2018 ./flume/docs/js 796903 4 drwxr-xr-x 3 hadoop hadoop 4096 10月 8 2018 ./flume/docs/images 796904 4 drwxr-xr-x 2 hadoop hadoop 4096 10月 8 2018 ./flume/docs/images/logos 796891 4 drwxr-xr-x 2 hadoop hadoop 4096 10月 8 2018 ./flume/docs/_images 796894 4 drwxr-xr-x 4 hadoop hadoop 4096 10月 8 2018 ./flume/docs/apidocs 796895 4 drwxr-xr-x 3 hadoop hadoop 4096 9月 15 2017 ./flume/docs/apidocs/com 796896 4 drwxr-xr-x 3 hadoop hadoop 4096 9月 15 2017 ./flume/docs/apidocs/com/cloudera 796897 4 drwxr-xr-x 3 hadoop hadoop 4096 9月 15 2017 ./flume/docs/apidocs/com/cloudera/flume 796898 4 drwxr-xr-x 3 hadoop hadoop 4096 9月 15 2017 ./flume/docs/apidocs/com/cloudera/flume/handlers 796899 4 drwxr-xr-x 3 hadoop hadoop 4096 10月 8 2018 ./flume/docs/apidocs/com/cloudera/flume/handlers/thr ift
处理动作:
-print:打印到屏幕 -ls:查找到的文件 进行 ls -delete:删除查找到的文件 -ok command {}\; 对查找的文件执行由command指定的命令,交互式 -exec command {}\;同上,非交互式 {}:代表前面find找到的 文件名称本身 例如: find ./ -type f -exec cp {} {}.bak \; 将查找到的文件都复制出一个.bak文件
grep
grep命令用于在文本中执行关键词搜索,并显示匹配的结果,格式为“grep [选项][文件]”。grep命令的参数及其作用如表2-15所示。
grep命令的参数及其作用:
参数 | 作用 |
---|---|
-b | 将可执行文件(binary)当作文本文件(text)来搜索 |
-c | 仅显示找到的行数 |
-i | 忽略大小写 |
-n | 显示行号 |
-v | 反向选择——仅列出没有“关键词”的行。 |
grep命令最直接的用法就是:grep 关键字 文件名。日常开发中使用频率比较高。
6. 打包与压缩命令
Linux 上的压缩包文件格式,除了 Windows 最常见的*.zip、*.rar、*.7z 后缀的压缩文件,还有* .gz、.xz、.bz2、.tar、.tar.gz、*.tar.xz、*tar.bz2。
文件后缀名 | 说明 |
---|---|
*.zip | zip 程序打包压缩的文件 |
*.rar | rar 程序压缩的文件 |
*.7z | 7zip 程序压缩的文件 |
*.tar | tar 程序打包,未压缩的文件 |
*.gz | gzip 程序 (GNU zip) 压缩的文件 |
*.xz | xz 程序压缩的文件 |
*.bz2 | tar 打包,gzip 程序压缩的文件 |
*.tar.gz | tar打包,gzip程序压缩的文件 |
*.tar.xz | tar打包,xz程序压缩的文件 |
*.tar.bz2 | tar打包,bzip2程序压缩的文件 |
*.tar.7z | tar打包,7z程序压缩的文件 |
归结起来可以用三个命令来操作:zip,rar,tar。
6.1 使用zip命令
1.使用zip打包:
将 zookeeper目录打包成一个文件,-r 表示递归打包包含子目录的全部内容,-q 表示安静模式,-o 表示输出文件,其后紧跟打包输出文件名:
# 使用 du 命令查看打包后文件的大小 # 使用 file 命令查看文件大小和类型 [hadoop@hadoopmaster local]$ zip -r -q -o zook.zip zookeeper [hadoop@hadoopmaster local]$ du -h zook.zip 39M zook.zip [hadoop@hadoopmaster local]$ file zook.zip zook.zip: Zip archive data, at least v1.0 to extract
2.设置压缩级别为9和1(9最大,1最小),重新打包:
[hadoop@hadoopmaster local]$ zip -r -9 -q -o zook.zip zookeeper
3.创建加密zip包
使用-e参数可以创建加密压缩包。
[hadoop@hadoopmaster local]$ zip -r -q -o -e zook.zip zookeeper Enter password: Verify password:
注意: 关于 zip 命令,因为 Windows 系统与 Linux/Unix 在文本文件格式上的一些兼容问题,比如换行符(为不可见字符),在 Windows 为 CR+LF(Carriage-Return+Line-Feed:回车加换行),而在 Linux/Unix 上为 LF(换行),所以如果在不加处理的情况下,在 Linux 上编辑的文本,在 Windows 系统上打开可能看起来是没有换行的。如果你想让你在 Linux 创建的 zip 压缩文件在 Windows 上解压后没有任何问题,那么你还需要对命令做一些修改 shell 中的变量有不同类型,可参与运算,有作用域限定 。
使用 -l 参数将 LF 转换为 CR+LF:
[hadoop@hadoopmaster local]$ zip -r -l -o zook.zip zookeeper
4.使用 unzip 命令解压缩 zip 文件
使用安静模式将文件解压到当前目录 [root@hadoopmaster local]# unzip -q zook.zip 使用安静模式将文件解压到指定目录 [root@hadoopmaster local]# unzip -q zook.zip -d ss 不想解压,只想查看压缩包内容 unzip -l zook.zip
6.2 使用rar命令
打rar包:
#使用a参数添加一个目录~到一个归档文件中,如果该文件不存在就会自动创建 [hadoop@hadoopmaster local]$ rar a zook.rar zookeeper #从指定rar包中删除某个文件 [hadoop@hadoopmaster local]$ rar d zook.rar a.txt
解压rar包:
#全路径解压 [hadoop@hadoopmaster local]$ unrar x zook.rar #指定路径解压 [hadoop@hadoopmaster local]$ unrar e zook.rar tmp/
6.3 tar打包命令
在 Linux 上面更常用的是 tar 工具,tar 原本只是一个打包工具,只是同时还是实现了对 7z,gzip,xz,bzip2 等工具的支持,这些压缩工具本身只能实现对文件或目录(单独压缩目录中的文件)的压缩,没有实现对文件的打包压缩,所以我们也无需再单独去学习其他几个工具,tar 的解压和压缩都是同一个命令,只需参数不同,使用比较方便。
tar 常用命令参数:
-c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
-z:有gzip属性的 -j:有bz2属性的 -Z:有compress属性的 -v:显示所有过程 -O:将文件解开到标准输出
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
1.创建一个tar包,将目录打包成.gz 格式
#将tmp目录打包成.gz文件 #参数的含义是:创建一个压缩包,格式为gzip,显示创建过程,使用自定义的文件名 [hadoop@hadoopmaster local]$ tar -czvf mytmp.tar.gz tmp tmp/ tmp/user.txt
2.解压
[hadoop@hadoopmaster local]$ tar -zxvf mytmp.tar.gz
3.解压到指定目录
[hadoop@hadoopmaster local]$ tar -zxvf mytmp.tar.gz -C mytmp1
初学总会对不同的格式要使用哪种命令搞混,这里有一个总结:
- *.tar 用 tar -xvf 解压
- *.gz 用 gzip -d或者gunzip 解压
- .tar.gz和.tgz 用 tar -xzf 解压
- *.bz2 用 bzip2 -d或者用bunzip2 解压
- *.tar.bz2用tar -xjf 解压
- *.Z 用 uncompress 解压
- *.tar.Z 用tar -xZf 解压
- *.rar 用 unrar e解压
- *.zip 用 unzip 解压
来源:https://www.cnblogs.com/rickiyang/p/11074166.html