分类 技术 下的文章

我想要解压一个tar文件到一个叫/tmp/data的指定目录。我该如何在Linux或者类Unix的系统中使用tar命令解压一个tar文件到不同的目录中?

你不必使用cd命令切换到其他的目录并解压。可以使用下面的语法解压一个文件:

语法

典型Unix tar语法:

tar -xf file.name.tar -C /path/to/directory

GNU/tar 语法:

tar xf file.tar -C /path/to/directory

tar xf file.tar --directory /path/to/directory

示例:解压文件到另一个目录中

在本例中。我解压$HOME/etc.backup.tar到/tmp/data目录中。首先,需要手动创建这个目录,输入:

mkdir /tmp/data

要解压$HOME/etc.backup.tar 到/tmp/data中,输入:

tar -xf $HOME/etc.backup.tar -C /tmp/data

要看到进度,使用-v选项:

tar -xvf $HOME/etc.backup.tar -C /tmp/data

示例输出:

Gif 01: tar Command Extract Archive To Different Directory Command

Gif 01: tar命令解压文件到不同的目录

你也可以指定解压的文件:

tar -xvf $HOME/etc.backup.tar file1 file2 file3 dir1 -C /tmp/data

要解压foo.tar.gz(.tgz扩展文件)包到/tmp/bar中,输入:

mkdir /tmp/bar
tar -zxvf foo.tar.gz -C /tmp/bar

要解压foo.tar.bz2(.tbz, .tbz2 和 .tb2 扩展文件)包到/tmp/bar中,输入:

mkdir /tmp/bar
tar -jxvf foo.tar.bz2  -C /tmp/bar

via: http://www.cyberciti.biz/faq/howto-extract-tar-file-to-specific-directory-on-unixlinux/

作者:nixCraft 译者:geekpi 校对:Caroline

本文由 LCTT 原创翻译,Linux中国 荣誉推出

Jetty 是一款纯Java的HTTP (Web) 服务器和Java Servlet容器。 通常在更大的网络框架中,Jetty经常用于设备间的通信,而其他Web服务器通常给“人类”传递文件 :D。Jetty是一个Eclipse基金会的免费开源项目。这个Web服务器用于如Apache ActiveMQ、 Alfresco、 Apache Geronimo、 Apache Maven、 Apache Spark、Google App Engine、 Eclipse、 FUSE、 Twitter的 Streaming API 和 Zimbra中。

这篇文章会介绍‘如何在CentOS服务器中安装Jetty服务器’。

首先我们要用下面的命令安装JDK:

yum -y install java-1.7.0-openjdk wget

JDK安装之后,我们就可以下载最新版本的Jetty了:

wget http://download.eclipse.org/jetty/stable-9/dist/jetty-distribution-9.2.5.v20141112.tar.gz

解压并移动下载的包到/opt:

tar zxvf jetty-distribution-9.2.5.v20141112.tar.gz -C /opt/

重命名文件夹名为jetty:

mv /opt/jetty-distribution-9.2.5.v20141112/ /opt/jetty

创建一个jetty用户:

useradd -m jetty

改变jetty文件夹的所属用户:

chown -R jetty:jetty /opt/jetty/

为jetty.sh创建一个软链接到 /etc/init.d directory 来创建一个启动脚本文件:

ln -s /opt/jetty/bin/jetty.sh /etc/init.d/jetty

添加脚本:

chkconfig --add jetty

是jetty在系统启动时启动:

chkconfig --level 345 jetty on

使用你最喜欢的文本编辑器打开 /etc/default/jetty 并修改端口和监听地址:

vi /etc/default/jetty

JETTY_HOME=/opt/jetty
JETTY_USER=jetty
JETTY_PORT=8080
JETTY_HOST=50.116.24.78
JETTY_LOGS=/opt/jetty/logs/

*我们完成了安装,现在可以启动jetty服务了 *

service jetty start

完成了!

现在你可以在 http://<你的 IP 地址>:8080 中访问了

就是这样。

干杯!!


via: http://www.unixmen.com/install-jetty-web-server-centos-7/

作者:Jijo 译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

问题: 我听说一个好东西Kingsoft Office(译注:就是WPS),所以我想在我的Linux上试试。我怎样才能安装Kingsoft Office呢?

Kingsoft Office 是一套办公套件,支持多个平台,包括Windows, Linux, iOS 和 Android。它包含三个组件:Writer(WPS文字)用来文字处理,Presentation(WPS演示)支持幻灯片,Spereadsheets(WPS表格)是电子表格。其使用免费增值模式,其中基础版本是免费使用。比较其他的linux办公套件,如LibreOffice、 OpenOffice,其最大优势在于,Kingsoft Office能最好的兼容微软的Office(译注:版权问题?了解下wps和Office的历史问题,可以得到一些结论)。因此如果你需要在windows和linux平台间交互,Kingsoft office是一个很好的选择。

CentOS, Fedora 或 RHEL中安装Kingsoft Office

官方页面下载RPM文件.官方RPM包只支持32位版本linux,但是你可以在64位中安装。

需要使用yum命令并用"localinstall"选项来本地安装这个RPM包

$ sudo yum localinstall kingsoft-office-9.1.0.4244-0.1.a12p3.i686.rpm 

注意不要使用rpm命令安装。否者,你会得到依赖错误,而且很难解决:

错误: 依赖失败:
        libICE.so.6 is needed by kingsoft-office-9.1.0.4244-0.1.a12p3.i686
        libSM.so.6 is needed by kingsoft-office-9.1.0.4244-0.1.a12p3.i686
        libX11.so.6 is needed by kingsoft-office-9.1.0.4244-0.1.a12p3.i686
        libXext.so.6 is needed by kingsoft-office-9.1.0.4244-0.1.a12p3.i686
        libXrender.so.1 is needed by kingsoft-office-9.1.0.4244-0.1.a12p3.i686
        libc.so.6 is needed by kingsoft-office-9.1.0.4244-0.1.a12p3.i686

基于Red Hat的发行版有多重库支持。如果你要想安装的RPM包是32位的并有32位库依赖(你的系统是64位的),一个很好的解决方法就是使用yum来安装。只要RPM在构建时候已经添加所有依赖关系,yum就可以自动使用yum库解决依赖关系。

Debian, Ubuntu 和 Linux Mint 中安装Kingsoft Office

官方页面下载DEB包。官方RPM包同样只支持32位版本linux,但是你可以在64位中安装。

DEB包同样遇到一堆依赖。因此使用gdebi命令来代替dpkg来自动解决依赖。

$ sudo apt-get install gdebi-core
$ sudo gdebi kingsoft-office_9.1.0.4244~a12p3_i386.deb 

启动 Kingsoft Office

安装完成后,你就可以在桌面管理器轻松启动Witer(WPS文字), Presentation(WPS演示), and Spreadsheets(WPS表格),如下图。

Ubuntu Unity中:

GNOME桌面中:

不但如此,你也可以在命令行中启动Kingsoft Office。

启动Wirter(WPS文字),使用这个命令:

$ wps (译注:原文丢失此命令)

启动Presentation(WPS演示),使用这个命令:

$ wpp 

启动Spreadsheets(WPS表格),使用这个命令:

$ et 


via: http://ask.xmodulo.com/install-kingsoft-office-linux.html

译者:Vic020/VicYu 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

问:1 如何查看当前的Linux服务器的运行级别?

答: 'who -r' 和 'runlevel' 命令可以用来查看当前的Linux服务器的运行级别。

问:2 如何查看Linux的默认网关?

答: 用 "route -n" 和 "netstat -nr" 命令,我们可以查看默认网关。除了默认的网关信息,这两个命令还可以显示当前的路由表。

问:3 如何在Linux上重建初始化内存盘镜像文件?

答: 在CentOS 5.X / RHEL 5.X中,可以用mkinitrd命令来创建初始化内存盘文件,举例如下:

# mkinitrd -f -v /boot/initrd-$(uname -r).img $(uname -r)

如果你想要给特定的内核版本创建初始化内存盘,你就用所需的内核名替换掉 'uname -r' 。

在CentOS 6.X / RHEL 6.X中,则用dracut命令来创建初始化内存盘文件,举例如下:

# dracut -f

以上命令能给当前的系统版本创建初始化内存盘,给特定的内核版本重建初始化内存盘文件则使用以下命令:

# dracut -f initramfs-2.x.xx-xx.el6.x86_64.img 2.x.xx-xx.el6.x86_64

问:4 cpio命令是什么?

答: cpio就是复制入和复制出的意思。cpio可以向一个归档文件(或单个文件)复制文件、列表,还可以从中提取文件。

问:5 patch命令是什么?如何使用?

答: 顾名思义,patch命令就是用来将修改(或补丁)写进文本文件里。patch命令通常是接收diff的输出并把文件的旧版本转换为新版本。举个例子,Linux内核源代码由百万行代码文件构成,所以无论何时,任何代码贡献者贡献出代码,只需发送改动的部分而不是整个源代码,然后接收者用patch命令将改动写进原始的源代码里。

创建一个diff文件给patch使用,

# diff -Naur old_file new_file > diff_file

旧文件和新文件要么都是单个的文件要么都是包含文件的目录,-r参数支持目录树递归。

一旦diff文件创建好,我们就能在旧的文件上打上补丁,把它变成新文件:

# patch < diff_file

问:6 aspell有什么用 ?

答: 顾名思义,aspell就是Linux操作系统上的一款交互式拼写检查器。aspell命令继任了更早的一个名为ispell的程序,并且作为一款免费替代品 ,最重要的是它非常好用。当aspell程序主要被其它一些需要拼写检查能力的程序所使用的时候,在命令行中作为一个独立运行的工具的它也能十分有效。

问:7 如何从命令行查看域SPF记录?

答: 我们可以用dig命令来查看域SPF记录。举例如下:

linuxtechi@localhost:~$ dig -t TXT google.com

问:8 如何识别Linux系统中指定文件(/etc/fstab)的关联包?

答:

# rpm -qf /etc/fstab

以上命令能列出提供"/etc/fstab"这个文件的包。

问:9 哪条命令用来查看bond0的状态?

答:

cat /proc/net/bonding/bond0

问:10 Linux系统中的/proc文件系统有什么用?

答: /proc文件系统是一个基于内存的文件系统,其维护着关于当前正在运行的内核状态信息,其中包括CPU、内存、分区划分、I/O地址、直接内存访问通道和正在运行的进程。这个文件系统所代表的并不是各种实际存储信息的文件,它们指向的是内存里的信息。/proc文件系统是由系统自动维护的。

问:11 如何在/usr目录下找出大小超过10MB的文件?

答:

# find /usr -size +10M

问:12 如何在/home目录下找出120天之前被修改过的文件?

答:

# find /home -mtime +120

问:13 如何在/var目录下找出90天之内未被访问过的文件?

答:

# find /var \! -atime -90

问:14 在整个目录树下查找文件"core",如发现则无需提示直接删除它们。

答:

# find / -name core -exec rm {} \;

问:15 strings命令有什么作用?

答: strings命令用来提取和显示非文本文件中的文本字符串。(LCTT 译注:当用来分析你系统上莫名其妙出现的二进制程序时,可以从中找到可疑的文件访问,对于追查入侵有用处)

问:16 tee 过滤器有什么作用 ?

答: tee 过滤器用来向多个目标发送输出内容。如果用于管道的话,它可以将输出复制一份到一个文件,并复制另外一份到屏幕上(或一些其它程序)。

linuxtechi@localhost:~$ ll /etc | nl | tee /tmp/ll.out

在以上例子中,从ll输出可以捕获到 /tmp/ll.out 文件中,并且同样在屏幕上显示了出来。

问:17 export PS1 = "$LOGNAME@hostname:\$PWD:" 这条命令是在做什么?

答: 这条export命令会更改登录提示符来显示用户名、本机名和当前工作目录。

问:18 ll | awk '{print $3,"owns",$9}' 这条命令是在做什么?

答: 这条ll命令会显示这些文件的文件名和它们的拥有者。

问:19 :Linux中的at命令有什么用?

答: at命令用来安排一个程序在未来的做一次一次性执行。所有提交的任务都被放在 /var/spool/at 目录下并且到了执行时间的时候通过atd守护进程来执行。

问:20 linux中lspci命令的作用是什么?

答: lspci命令用来显示你的系统上PCI总线和附加设备的信息。指定-v,-vv或-vvv来获取越来越详细的输出,加上-r参数的话,命令的输出则会更具有易读性。


via: http://www.linuxtechi.com/20-linux-commands-interview-questions-answers/

作者:Pradeep Kumar 译者:ZTinoZ 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

date-time

无论我是要在醒来时发个关于澳大利亚的 Chromebook 销售已经售罄的推特,还是要记着和Ohso的半个开发商山姆陈进行Skype通话,我大脑都需要同时工作在多个时区下。

那里头有个问题,如果你认识我,你会知道我的脑容量也就那么丁点,跟金鱼差不多,里头却塞着像Windows Vista这样一个臃肿货(也就是,不是很好)。我几乎记不得昨天之前的事情,更记不得我的门和金门大桥脚之间的时间差!

作为臂助,我使用一些小部件和菜单项来让我保持同步。在我常规工作日的空间里,我在多个操作系统间游弋,涵盖移动系统和桌面系统,但只有一个可以让我最快速便捷地设置“世界时钟”。

它的名字就是我们标题上提到的那个。

添加世界时钟到Ubuntu日期/时间小应用

Unity中默认的日期-时间指示器提供了添加并查看多个时区的支持,不需要附加组件,不需要额外的包。

  1. 点击时钟小应用,然后选择‘时间和日期设置’条目
  2. 在‘时钟’标签中,选中‘其它位置的时间’选框
  3. 点击‘选择位置’按钮
  4. 点击‘+’,然后输入位置名称

其它桌面环境

KDE Plasma中默认的时钟小应用有类似的功能,其它功能如下:

  1. 在数字时钟小部件上右击,然后选择‘数字时钟设置
  2. 点击‘时区’项
  3. 在搜索区输入城市名
  4. 点击‘确定

GNOME Shell的可扩展特性可以看到有许多世界时钟选项可用,可以用它的默认时间表填补左边的空白,我个人喜欢‘多个时钟’。对于Cinnamon桌面而言也是一样的,它的‘面板小部件’仓库有丰富的可选部件,如超级顺滑的“世界时钟日历”。

World Clock Calendar in Cinnamon 2.4

Cinnamon 2.4中的世界时钟日历

XFCELXDE就不那么慷慨了,除了自带的“工作区”作为多个时钟添加到面板外,每个都需要手动配置以指定位置。两个都支持‘指示器小部件’,所以,如果你不用Unity的话,你可以安装/添加单独的日期/时间指示器。

Budgie还刚初出茅庐,不足以胜任这种角落里的需求,因为Pantheon我还没试过——希望你们通过评论来让我知道得更多。

桌面应用、部件和Conky主题

当然,面板小部件只是收纳其它国家多个时区的一种方式。如果你不满意通过面板去访问,那里还有各种各样的桌面应用可供使用,其中许多都可以跨版本,甚至跨平台使用。

GNOME时钟就是这样一个应用,在Ubuntu 14.04 LTS及其后续版本中,你可以通过Ubuntu软件中心直接安装。Conky是一个很有潜力的备选(尽管我还没发现有哪个预制主题为此目的设计),而其它像日历时钟这样轻量级的Chrome应用可以在任何安装有Chrome这个免费浏览器的地方工作。

你也关注时区吗?如果是,你使用什么应用、采用什么方法或者小部件让它显示在顶层呢?


via: http://www.omgubuntu.co.uk/2014/12/add-time-zones-world-clock-ubuntu

作者:Joey-Elijah Sneddon 译者:GOLinux 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

问题: 我知道在Linux上我可以用df命令来查看磁盘使用空间。你能告诉我df命令的实际例子使我可以最大限度得利用它吗?

对于磁盘存储方面,有很多命令行或基于GUI的工具,它可以告诉你关于当前磁盘空间的使用情况。这些工具用各种人们可读的格式展示磁盘利用率的详细信息,比如易于理解的总结,详细的统计信息或直观的可视化报告。如果你只想知道不同文件系统有多少空闲的磁盘空间,那么df命令可能是你所需要的。

df命令可以展示任何“mounted”文件系统的磁盘利用率。该命令可以用不同的方式调用。这里有一些有用的 df 命令例子.

用人们可读的方式展示

默认情况下,df命令用1K为块来展示磁盘空间,这看起来不是很直观。“-h”参数使df用更可读的方式打印磁盘空间(例如 100K,200M,3G)。

$ df -h

Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/ubuntu-root  909G  565G  299G  66% /
none                     4.0K     0  4.0K   0% /sys/fs/cgroup
udev                     3.9G  4.0K  3.9G   1% /dev
tmpfs                    785M  1.2M  784M   1% /run
none                     5.0M     0  5.0M   0% /run/lock
none                     3.9G   63M  3.8G   2% /run/shm
none                     100M   48K  100M   1% /run/user
/dev/sda1                228M   98M  118M  46% /boot

展示Inode使用情况

当你监视磁盘使用情况时,你必须注意的不仅仅是磁盘空间还有“inode”的使用情况。在Linux中,inode是用来存储特定文件的元数据的一种数据结构,在创建一个文件系统时,inode的预先定义数量将被分配。这意味着,一个文件系统可能耗尽空间不只是因为大文件用完了所有可用空间,也可能是因为很多小文件用完了所有可能的inode。用“-i”选项展示inode使用情况。

$ df -i

Filesystem                Inodes   IUsed    IFree IUse% Mounted on
/dev/mapper/ubuntu-root 60514304 1217535 59296769    3% /
none                     1004417      13  1004404    1% /sys/fs/cgroup
udev                     1000623     552  1000071    1% /dev
tmpfs                    1004417     608  1003809    1% /run
none                     1004417      11  1004406    1% /run/lock
none                     1004417     288  1004129    1% /run/shm
none                     1004417      28  1004389    1% /run/user
/dev/sda1                 124496     346   124150    1% /boot

展示磁盘总利用率

默认情况下, df命令显示磁盘的单个文件系统的利用率。如果你想知道的所有文件系统的总磁盘使用量,增加“ --total ”选项(见最下面的汇总行)。

$ df -h --total

Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/ubuntu-root  909G  565G  299G  66% /
none                     4.0K     0  4.0K   0% /sys/fs/cgroup
udev                     3.9G  4.0K  3.9G   1% /dev
tmpfs                    785M  1.2M  784M   1% /run
none                     5.0M     0  5.0M   0% /run/lock
none                     3.9G   62M  3.8G   2% /run/shm
none                     100M   48K  100M   1% /run/user
/dev/sda1                228M   98M  118M  46% /boot
total                    918G  565G  307G  65% -

展示文件系统类型

默认情况下,df命令不显示文件系统类型信息。用“-T”选项来添加文件系统信息到输出中。

$ df -T

Filesystem              Type     1K-blocks      Used Available Use% Mounted on
/dev/mapper/ubuntu-root ext4     952893348 591583292 312882844  66% /
none                    tmpfs            4         0         4   0% /sys/fs/cgroup
udev                    devtmpfs   4002492         4   4002488   1% /dev
tmpfs                   tmpfs       803536      1196    802340   1% /run
none                    tmpfs         5120         0      5120   0% /run/lock
none                    tmpfs      4017668     60176   3957492   2% /run/shm
none                    tmpfs       102400        48    102352   1% /run/user
/dev/sda1               ext2        233191    100025    120725  46% /boot

包含或排除特定的文件系统类型

如果你想知道特定文件系统类型的剩余空间,用“-t ”选项。你可以多次使用这个选项来包含更多的文件系统类型。

$ df -t ext2 -t ext4

Filesystem              1K-blocks      Used Available Use% Mounted on
/dev/mapper/ubuntu-root 952893348 591583380 312882756  66% /
/dev/sda1                  233191    100025    120725  46% /boot

排除特定的文件系统类型,用“-x ”选项。同样,你可以用这个选项多次来排除多种文件系统类型。

$ df -x tmpfs

显示一个具体的挂载点磁盘使用情况

如果你用df指定一个挂载点,它将报告挂载在那个地方的文件系统的磁盘使用情况。如果你指定一个普通文件(或一个目录)而不是一个挂载点,df将显示包含这个文件(或目录)的文件系统的磁盘利用率。

$ df /

Filesystem              1K-blocks      Used Available Use% Mounted on
/dev/mapper/ubuntu-root 952893348 591583528 312882608  66% /

$ df /home/dev

Filesystem              1K-blocks      Used Available Use% Mounted on
/dev/mapper/ubuntu-root 952893348 591583528 312882608  66% /

显示虚拟文件系统的信息

如果你想显示所有已经存在的文件系统(包括虚拟文件系统)的磁盘空间信息,用“-a”选项。这里,虚拟文件系统是指没有相对应的物理设备的假文件系统,例如,tmpfs,cgroup虚拟文件系统或FUSE文件安系统。这些虚拟文件系统大小为0,不用“-a”选项将不会被报告出来。

$ df -a

Filesystem              1K-blocks      Used Available Use% Mounted on
/dev/mapper/ubuntu-root 952893348 591578716 312887420  66% /
proc                            0         0         0    - /proc
sysfs                           0         0         0    - /sys
none                            4         0         4   0% /sys/fs/cgroup
none                            0         0         0    - /sys/fs/fuse/connections
none                            0         0         0    - /sys/kernel/debug
none                            0         0         0    - /sys/kernel/security
udev                      4002492         4   4002488   1% /dev
devpts                          0         0         0    - /dev/pts
tmpfs                      803536      1196    802340   1% /run
none                         5120         0      5120   0% /run/lock
none                      4017668     58144   3959524   2% /run/shm
none                       102400        48    102352   1% /run/user
none                            0         0         0    - /sys/fs/pstore
cgroup                          0         0         0    - /sys/fs/cgroup/cpuset
cgroup                          0         0         0    - /sys/fs/cgroup/hugetlb
/dev/sda1                  233191    100025    120725  46% /boot
vmware-vmblock                  0         0         0    - /run/vmblock-fuse

via: http://ask.xmodulo.com/check-disk-space-linux-df-command.html

译者:mtunique 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出