技术

Linux有问必答:如何在curl中设置自定义的HTTP头

Linux有问必答:如何在curl中设置自定义的HTTP头

问题:我正尝试使用curl命令获取一个URL,但除此之外我还想在传出的HTTP请求中设置一些自定义的头部字段。我如何能够在curl中使用自定义的HTTP头呢? curl是一个强大的命令行工具,它可以通过网络将信息传递给服务器或者从服务器获取数据。他支持很多的传输协议,尤其是HTTP/HTTPS以及其他诸如FTP/FTPS, RTSP, POP3/POP3S, SCP, IMAP/IMAPS协议等。当你使用curl向一个URL发送HTTP请求的时候,它会使用一个默认只包含必要的头部字段(如:User-Agent, Host, and Accept)的HTTP头。 在一些个例中,或许你想要在一个HTTP请求中覆盖掉默
3种方法来创建轻量、持久化的Xubuntu Linux USB系统盘

3种方法来创建轻量、持久化的Xubuntu Linux USB系统盘

这个教程为你介绍如何使用Xubuntu Linux创建一个轻量并且持久化的Linux USB系统盘。为什么要这样做呢,这里有5个很好的理由:1.你想要在你的电脑上安装一个轻量并且功能完善的Linux版本。 2.你的电脑没有硬盘,那么一个Linux USB系统盘就可以让这台电脑摆脱被扔到垃圾堆的命运。 3.你想体验一下Linux,但是你却不想花太多的时间去准备。
Linux有问必答:如何修复Chrome的"Your profile could not be opened correctly"

Linux有问必答:如何修复Chrome的"Your profile could not be opened correctly"

提问:当我在linux打开Google Chrome 浏览器时,我已经几次收到弹出窗口,提示我的配置文件没有被正确打开(Your profile could not be opened correctly.)。每次我打开Chrome都要弹出来,我应该如何修复这个问题? 当你在你的Chrome上看见"Your profile could not be opened correctly"错误信息时,从某种程度上讲,那是因为你的Chrome配置文件数据已经损坏。这个问题经常发生在手动升级Google Chrome的时候。 修复取决于到底哪个文件损坏,你可以试试下面的几个方法。 方法一 关掉所有Chrome窗口和标签页。 进入~/.config/google-chr
怎样在 Linux 系统中恢复已删除文件

怎样在 Linux 系统中恢复已删除文件

当用户意外地删除了一个仍然需要的文件时,大多数情况下,是没有简便的方法可以重新找回或重建这个文件。不过,幸运的是文件是可以通过一些方法恢复的。当用户删除了一个文件,该文件并没有消失,只是被隐藏了一段时间。 这里将解释它是如何工作的。在一个文件系统中,有一个叫做 文件分配表 的东西,这个表跟踪文件在存储单元(如硬盘, MicroSD 卡,闪存驱动器等等)中的位置。当一个文件被删除,文件系统将会在文件分配表中执行以下两个任务之一:这个文件在文件分配表上的条目被标记为 自由空间 或删除文件分配表里这个文件的条目,且
如何在 Ubuntu 14.04 里面配置 chroot 环境

如何在 Ubuntu 14.04 里面配置 chroot 环境

你可能会有很多理由想要把一个应用、一个用户或者一个环境与你的 linux 系统隔离开来。不同的操作系统有不同的实现方式,而在 linux 中,一个典型的方式就是 chroot 环境。 在这份教程中,我会一步一步指导你怎么使用 chroot 命令去配置一个与真实系统分离出来的独立环境。这个功能主要可以用于测试项目,以下这些步骤都在 Ubuntu 14.04 虚拟专用服务器(VPS)上执行。 学会快速搭建一个简单的 chroot 环境是一项非常实用的技能,绝大多数系统管理员都能从中受益。 Chroot 环境 一个 chroot 环境就是通过系统调用,将一个本地目录临时变成根
apt-get 和 apt-cache 命令实例展示

apt-get 和 apt-cache 命令实例展示

apt-get和apt-cache是Ubuntu Linux中的命令行下的包管理工具。 apt-get的GUI版本是Synaptic包管理器。本篇中我们会展示apt-get和apt-cache命令的15个不同例子。 示例:1 列出所有可用包 linuxtechi@localhost:~$ apt-cache pkgnames account-plugin-yahoojp ceph-fuse dvd+rw-tools e3 gnome-commander-data grub-gfxpayload-lists gweled ………………………………… 示例:2 用关键字搜索包 这个命令在你不确定包名时很有用,只要在apt-cache(LCTT 译注:这里原文是apt-get,应为笔误)后面输入与包相关的关键字即可。
如何在Ubuntu Server 14.04 LTS(Trusty) 上安装Ghost

如何在Ubuntu Server 14.04 LTS(Trusty) 上安装Ghost

今天我们将会在Ubuntu Server 14.04 LTS (Trusty)上安装一个博客平台Ghost。 Ghost是一款设计优美的发布平台,很容易使用且对任何人都免费。它是免费的开源软件(FOSS),它的源码在Github上。截至2015年1月(LCTT 译注:原文为2014,应为2015),它的界面很简单还有分析面板。编辑使用的是很便利的分屏显示。 因此有了这篇步骤明确的在Ubuntu Server上安装Ghost的教程: 1. 升级Ubuntu 第一步是运行Ubuntu软件升级并安装一系列需要的额外包。 sudo apt-get update sudo apt-get upgrade -y sudo aptitude install -y build-essential zi
如何在RedHat/CentOS 7.x中使用nmcli管理网络

如何在RedHat/CentOS 7.x中使用nmcli管理网络

Red Hat Enterprise Linux 7和CentOS 7的一个新特性是默认的网络服务由NetworkManager提供,这是一个动态的网络控制和配置守护进程,它在网络设备和连接可用时保持链接正常,同时也提供了典型的ifcfg类型的配置文件。NetworkManager可以用于下面这些连接:Ethernet、 VLANs、桥接、Bonds、Teams、 Wi-Fi、 移动宽带 (比如 3G)和IP-over-InfiniBand(IPoIB)。 NetworkManager可以由命令行工具nmcli控制。 nmcli的通常用法 nmcli的通常语法是: # nmcli OBJECT { COMMAND | help } 一件很酷的事情是你可以使用tab键来补全操作,这样你在何
Linux有问必答:如何在Linux下重命名多个文件

Linux有问必答:如何在Linux下重命名多个文件

提问:我知道我可以用mv命令重命名文件。但是当我想重命名很多文件怎么办?如果为每个文件都这么做将会是很乏味的。有没有办法一次性重命名多个文件? 在Linux中,当你想要改变一个文件名,使用mv命令就好了。然而mv不能使用通配符重命名多个文件。可以用sed、awk或者与xargs结合使用来处理多个文件的情况。然而,这些命令行即繁琐又不友好,并且如果不小心的话还很容易出错。你不会想要撤销1000个文件的错误名吧! 当你想要重命名多个文件的时候,rename 工具或许是最简单、最安全和最强大的命令行工具。这个rename命令实际上是一个Perl
Linux有问必答-如何在Linux中安装Go语言

Linux有问必答-如何在Linux中安装Go语言

Go (也叫 "golang")是一款由Google最初开发的编程语言。它的诞生有几个设计原则:简单、安全、速度。Go语言发行版拥有各种调试、测试、调优和代码审查工具。如今Go语言和它的工具链在大多数Linux发行版的基础仓库都可用,用默认的包管理器就可以安装。
如何解压 tar 文件到不同的目录中

如何解压 tar 文件到不同的目录中

我想要解压一个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/
20条Linux命令面试问答

20条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) 如果你想要给特定的内核版本创建初始化内存盘,你就用所需
在 Linux 下你所不知道的 df 命令的那些功能

在 Linux 下你所不知道的 df 命令的那些功能

问题: 我知道在Linux上我可以用df命令来查看磁盘使用空间。你能告诉我df命令的实际例子使我可以最大限度得利用它吗? 对于磁盘存储方面,有很多命令行或基于GUI的工具,它可以告诉你关于当前磁盘空间的使用情况。这些工具用各种人们可读的格式展示磁盘利用率的详细信息,比如易于理解的总结,详细的统计信息或直观的可视化报告。如果你只想知道不同文件系统有多少空闲的磁盘空间,那么df命令可能是你所需要的。 df命令可以展示任何mounted文件系统的磁盘利用率。该命令可以用不同的方式调用。这里有一些有用的 df 命令例子. 用人们可读
检测 Linux 内存使用情况的 free 命令的10个例子

检测 Linux 内存使用情况的 free 命令的10个例子

Linux是最有名的开源操作系统之一,它拥有着极其巨大的命令集。确定物理内存和交换内存所有可用空间的最重要、也是唯一的方法是使用free命令。 Linux free命令可以给出类Linux/Unix操作系统中物理内存和交换内存的总使用量、可用量及内核使用的缓冲区情况。 这篇文章提供一些各种参数选项的free命令,这些命令对于你更好地利用你的内存会有帮助。 1. 显示你的系统内存 free命令用于检测物理内存和交换内存已使用量和可用量(默认单位为KB)。下面演示命令的使用情况。 # free total used free shared buffers cached Mem: 1021628 912548
如何在终端下以后台模式运行Linux程序

如何在终端下以后台模式运行Linux程序

Linux终端窗口 这是一个简短但是非常有用的教程:它向你展示从终端运行Linux应用程序的同时,如何保证终端仍然可以操作。 在Linux中有许多方式可以打开一个终端,这主要取决于你的发行版的选择和桌面环境。 使用Ubuntu的话,你可以使用CTRL + ALT + T组合键打开一个终端。你也可以点击超级键(Windows键)打开一个终端窗口。在键盘上,打开Ubuntu Dash,然后搜索"TERM"。点击"Term"图标将会打开一个终端窗口。 其他诸如XFCE, KDE, LXDE, Cinnamon和MATE的桌面环境,你将会在菜单中发现终端这个应用。还有一些发行版会把终端图标放在菜单项,
使用 nice、cpulimit 和 cgroups 限制 cpu 占用率

使用 nice、cpulimit 和 cgroups 限制 cpu 占用率

Linux内核是一名了不起的马戏表演者,它在进程和系统资源间小心地玩着杂耍,并保持系统的能够正常运转。 同时,内核也很公正:它将资源公平地分配给各个进程。 但是,如果你需要给一个重要进程提高优先级时,该怎么做呢? 或者是,如何降低一个进程的优先级? 又或者,如何限制一组进程所使用的资源呢? 答案是需要由用户来为内核指定进程的优先级 大部分进程启动时的优先级是相同的,因此Linux内核会公平地进行调度。 如果想让一个CPU密集型的进程运行在较低优先级,那么你就得事先配置好调度器。 下面介绍3种控制进程运行时间的方法:
10个重要的Linux ps命令实战

10个重要的Linux ps命令实战

Linux作为Unix的衍生操作系统,Linux内建有查看当前进程的工具ps。这个工具能在命令行中使用。 PS 命令是什么 查看它的man手册可以看到,ps命令能够给出当前系统中进程的快照。它能捕获系统在某一事件的进程状态。如果你想不断更新查看的这个状态,可以使用top命令。 ps命令支持三种使用的语法格式 UNIX 风格,选项可以组合在一起,并且选项前必须有-连字符 BSD 风格,选项可以组合在一起,但是选项前不能有-连字符 GNU 风格的长选项,选项前有两个-连字符 我们能够混用这几种风格,但是可能会发生冲突。本文使用 UNIX 风格的ps命令。
一个可以显示Linux命令运行进度的伟大工具

一个可以显示Linux命令运行进度的伟大工具

Coreutils Viewer(cv)是一个简单的程序,它可以用于显示任何核心组件命令(如:cp、mv、dd、tar、gzip、gunzip、cat、grep、fgrep、egrep、cut、sort、xz、exiting)的进度。它使用文件描述信息来确定一个命令的进度,比如cp命令。cv之美在于,它能够和其它Linux命令一起使用,比如你所知道的watch以及I/O重定向命令。这样,你就可以在脚本中使用,或者你能想到的所有方式,别让你的想象力束缚住你。 安装 你可以从cv的github仓库那儿下载所需的源文件。把zip文件下载下来后,将它解压缩,然后进入到解压后的文件夹。 该程序需要ncurse
在 Mac OS X 系统中创建用于 Mac 的 Ubuntu USB 启动盘

在 Mac OS X 系统中创建用于 Mac 的 Ubuntu USB 启动盘

上个月,在戴尔的服务中心丢失我的笔记本后,我买了一台 Macbook Air 笔记本。买回来后我首先做的一些事就是给机器装上双系统,使 Ubuntu Linux 和 Mac OS X 都可用。随后的文章我会介绍如何在 Macbook 上安装 Linux ,刚开始我们需要学习 如何在 Mac OS X 系统中创建用于 Mac 的 Ubuntu USB 启动盘。 在 Ubuntu 系统或 Windows 系统中创建可启动的 USB 是非常容易的,但在 Mac OS X 系统中就没这么简单了。这就是为什么 Ubuntu 的官方指南上,在 Mac 中安装 live Ubuntu 推荐使用光盘安装而不是 USB 的原因。考虑到我的 Macbook Air 既没
Calife:一个轻量级的sudo替代品

Calife:一个轻量级的sudo替代品

Calife会在登录为另外一个用户前输入自己的密码(如果没有提供登录名,默认是登录为root),在验证具有正确的权限后,就会切换到该用户及其组身份,并就会执行一个shell。如果 calife 是由 root 执行的,不需要密码,会执行一个所需的用户ID的shell。 所用的shell是用户自身所用的,除非在calife.auth配置文件中指定了某个shell。如果在命令行指定了-选项,就会读取该用户的环境文件,该shell就像是一个登录shell。这和su的惯常用法不同。 只有在calife.auth中指定的用户才能使用此方法通过calife成为另外一个用户。calife.auth安装位置处
Linux有问必答:Linux 中如何安装 7zip

Linux有问必答:Linux 中如何安装 7zip

问题: 我需要要从 ISO 映像中获取某些文件,为此我想要使用 7zip 程序。那么我应该如何安装 7zip 软件呢,? 7zip 是一款开源的归档应用程序,开始是为 Windows 系统而开发的。它能对多种格式的档案文件进行打包或解包处理,除了支持其原生的 7z 格式的文档外,还支持包括 XZ、GZIP、TAR、ZIP 和 BZIP2 等这些格式。 通常,7zip 也用来解压 RAR、DEB、RPM 和 ISO 等格式的文件。除了简单的归档功能,7zip 还具有支持 AES-256 算法加密以及自解压和建立多卷存档功能。在支持 POSIX 标准的系统上(Linux、Unix、BSD),原生的 7zip 程序被移
使用火焰图分析CPU性能回退问题

使用火焰图分析CPU性能回退问题

你能快速定位CPU性能回退的问题么? 如果你的工作环境非常复杂且变化快速,那么使用现有的工具是来定位这类问题是很具有挑战性的。当你花掉数周时间把根因找到时,代码已经又变更了好几轮,新的性能问题又冒了出来。 幸亏有了CPU火焰图(flame graphs),CPU使用率的问题一般都比较好定位。但要处理性能回退问题,就要在修改前后的火焰图之间,不断切换对比,来找出问题所在,这感觉就是像在太阳系中搜寻冥王星。虽然,这种方法可以解决问题,但我觉得应该会有更好的办法。 所以,下面就隆重介绍红/蓝差分火焰图(red/blue differential f
网络时间的那些事及 ntpq 详解

网络时间的那些事及 ntpq 详解

Gentoo(也许其他发行版也是?)中 "ntpq -p" 的 man page 只有简短的描述:打印出该服务器已知的节点列表和它们的状态概要信息。 我还没见到关于这个命令的说明文档,因此这里对此作一个总结,可以补充进 "man ntpq" man page 中。更多的细节见这里 ntpq 标准 NTP 请求程序(原作者),和 其他关于 man ntpq 的例子. NTP 是一个设计用于通过 udp 网络 (WAN 或者 LAN) 来同步计算机时钟的协议。引用 Wikipedia NTP: 网络时间协议(英语:Network Time Protocol,NTP)一种协议和软件实现,用于通过使用有网络延迟的报文交换网络同步计
不重启不当机!Linux内核热补丁的四种技术

不重启不当机!Linux内核热补丁的四种技术

供图: Shutterstock 有多种技术在竞争成为实现Linux内核热补丁的最优方案。 没人喜欢重启机器,尤其是涉及到一个内核问题的最新补丁程序。 为达到不重启的目的,目前有3个项目在朝这方面努力,将为大家提供内核升级时打热补丁的机制,这样就可以做到完全不重启机器。 Ksplice项目 首先要介绍的项目是Ksplice,它是热补丁技术的创始者,并于2008年建立了与项目同名的公司。Ksplice在替换新内核时,不需要预先修改;只需要一个diff文件,列出内核即将接受的修改即可。Ksplice公司免费提供软件,但技术支持是需要收费的,目前能够支持大部分
Linux有问必答:如何在Linux上安装内核头文件

Linux有问必答:如何在Linux上安装内核头文件

提问:我在安装一个设备驱动前先要安装内核头文件。怎样安装合适的内核头文件? 当你在编译一个设备驱动模块时,你需要在系统中安装内核头文件。内核头文件同样在你编译与内核直接链接的用户空间程序时需要。当你在这些情况下安装内核头文件时,你必须确保内核头文件精确地与你当前内核版本匹配(比如:3.13.0-24-generic)。 如果你的内核是发行版自带的内核版本,或者使用默认的包管理器的基础仓库升级的(比如:apt-ger、aptitude或者yum),你也可以使用包管理器来安装内核头文件。另一方面,如果下载的是kernel源码并且手动编译的,
一大波有用的 bash 别名和函数

一大波有用的 bash 别名和函数

作为一个命令行探索者,你或许发现你自己一遍又一遍重复同样的命令。如果你总是用ssh进入到同一台电脑,如果你总是将一连串命令连接起来,如果你总是用同样的参数运行一个程序,你也许希望在这种不断的重复中为你的生命节约下几秒钟。 解决方案是使用一个别名(alias)。正如你可能知道的,别名用一种让你的shell记住一个特定的命令并且给它一个新的名字的方式。不管怎么样,别名有一些限制,它只是shell命令的快捷方式,不能传递或者控制其中的参数。所以作为补充,bash 也允许你创建你自己的函数,这可能更长一些和复杂一点,它允许任意
十个 SCP 传输命令例子

十个 SCP 传输命令例子

Linux系统管理员应该很熟悉CLI环境,因为通常在Linux服务器中是不安装GUI的。SSH可能是Linux系统管理员通过远程方式安全管理服务器的最流行协议。在SSH命令中内置了一种叫SCP的命令,用来在服务器之间安全传输文件。 以下命令可以解读为:用username account拷贝 source file name到destination host上的destination folder里。 SCP命令的基本语法 scp source_file_name username@destination_host:destination_folder SCP命令有很多可以使用的参数,这里指的是每次都会用到的参数。 用-v参数来提供SCP进程的详细信息 不带参数的基本SCP
Linux有问必答:如何在CentOS上安装phpMyAdmin

Linux有问必答:如何在CentOS上安装phpMyAdmin

问题:我正在CentOS上运行一个MySQL/MariaDB服务,并且我想要通过网络接口来用phpMyAdmin来管理数据库。在CentOS上安装phpMyAdmin的最佳方法是什么? phpMyAdmin是一款以PHP为基础,基于Web的MySQL/MariaDB数据库管理工具。虽然已经存在着一些诸如Adminer的轻量级数据库管理工具, 但是phpMyAdmin还是更加广泛应用于网站管理员之中来进行各种MySQL/MariaDB的管理任务。它支持几乎所有MySQL数据库/表的相关操作,比如浏览、创建、复制、删除、重命名、更改,还有MySQL用户/权限管理和数据库导入/导出。以下就是如何在CentOS 6或7上安装phpM
使用 smem 可视化显示Linux内存使用情况

使用 smem 可视化显示Linux内存使用情况

物理内存不足对Linux桌面系统和服务器系统的性能影响都很大。当你的计算机变慢时,要做的第一件事就是释放内存。尤其是在多用户环境以及执行关键任务的服务器环境下,内存消耗会变得更加关键,因为多个用户和应用线程会同时竞争更多的内存空间。 如果要监测系统内各种资源的使用情况(比如说CPU或内存),图形化显示是一种高效的方法,通过图形界面可以快速分析各用户和进程的资源消耗情况。本教程将给大家介绍在linux下图形化分析内存使用情况的方法,使用到命令行工具是smem. 物理内存使用情况: RSS 、 PSS 和 USS 由于Linux使用到了虚
Linux有问必答——如何在Linux命令行中剪裁图像

Linux有问必答——如何在Linux命令行中剪裁图像

问题:我想要去除图像文件中的白色空白,有没有什么便捷的方法能在Linux命令行中对图像文件进行剪裁?答:当涉及到在Linux中转换或编辑图像文件时,ImageMagick毫无疑问是最为熟知的一体化软件之一。它包含了一整套命令行工具,用以显示、转换,或复制超过200中类型的光栅或矢量图像文件,所有这一切都在命令行下完成。ImageMagick可以用于多样化的图像编辑工作,如转换文件格式,添加特殊效果,添加文本,以及改变图像(调整大小、旋转、翻转、剪裁)。
Linux有问必答:如何修复“ImportError: No module named scapy.all”

Linux有问必答:如何修复“ImportError: No module named scapy.all”

问题:当我运行一个Python应用程序时,出现了这个提示消息ImportError: No module named scapy.all。我怎样才能修复这个导入错误呢? Scapy是一个用Python写的灵活的数据包生成及嗅探程序。使用Scapy,你可以完成创建任意数据包并发送到网络上、从网络上或转储文件中读取数据包、转换数据包等工作。使用Scapy的通用包处理能力,你可以很容易地完成像SYN扫描、TCP路由跟踪以及OS指纹检测之类的工作。你也可以通过Import,将Scapy整合到其它工具中。 该导入错误表明:你还没有在你的Linux系统上安装Scapy。下面介绍安装方法。 安装Scapy到
使用 GnuPG 加密签名来验证下载文件的可靠性和完整性

使用 GnuPG 加密签名来验证下载文件的可靠性和完整性

当你从网上下载一个文件后(比如:安装程序、ISO镜像或者一个压缩包),文件可能在不同的情况下发生了损坏,比如:由于线路传输错误、中断的下载、存储硬件错误、文件系统错误等等。除了这些错误,文件还可能在下载前或者下载中的攻击而被有意地篡改了。比如,一个攻破证书颁发机构的攻击者可以实施一个MITM攻击(中间人攻击),欺骗你从HTTPS网站上下载隐藏恶意软件的文件。 要保护你自己免受这些问题的困扰,建议你去验证从网上下载的文件的可靠性和完整性。特别是你下载了一个非常敏感的文件的时候)(比如:操作系统镜像、二进制应用
Linux 有问必答:在Linux上如何将文本文件转换成PDF格式

Linux 有问必答:在Linux上如何将文本文件转换成PDF格式

提问: 我想要将一个纯文本文件转换成PDF文档。在Linux命令行下是否有一个简单的方法将文本文件转换成PDF文件? 答:当你有一大堆文本文件要维护的时候,把它们转换成PDF文档会好一些。比如,PDF更适合打印,因为PDF文档有预定义布局。除此之外,还可以减少文档被意外修改的风险。
怎么样称得上是Linux下优秀的命令行计算器

怎么样称得上是Linux下优秀的命令行计算器

每个现代的Linux桌面发行版都预装着一个带有图形界面的计算器程序。不过如果你的工作区中全是命令行窗口,那么你一定会在其中的一个命令行窗口中处理一些数字相关的问题。或许你在寻找一款基于命令行的计算器程序。如果是这样的话,GNU bc(basic calculator的缩写)会是你不二的选择。当然Linux下有很多基于命令行的计算器应用,我认为GNU bc是功能最强大和最有用的。 在GNU时代之前,bc实际上是一个著名的精密计算语言。它的诞生要追溯到70年代的Unix时期了。最初bc作为一个语法和C语言相似的编程语言而著名。随着时间的改变,最开始的b
如何在 Linux 系统中创建一个云端加密文件系统

如何在 Linux 系统中创建一个云端加密文件系统

Amazon S3 和 Google Cloud Storage 之类的商业云存储服务以能承受的价格提供了高可用性、可扩展、无限容量的对象存储服务。为了加速这些云产品的广泛采用,这些提供商为他们的产品通过明确的 API 和 SDK 培养了一个良好的开发者生态系统。而基于云的文件系统便是这些活跃的开发者社区中的典型产品,已经有了好几个开源的实现。 S3QL 便是最流行的开源云端文件系统之一。它是一个基于 FUSE 的文件系统,提供了好几个商业或开源的云存储后端,比如 Amazon S3、Google Cloud Storage、Rackspace CloudFiles,还有 OpenStack。作为一个功能完
菜鸟教程:全面学习 pwd 命令

菜鸟教程:全面学习 pwd 命令

对于那些使用Linux命令行的人来说,pwd命令是非常有用的,它告诉你你现在在那个目录,从根目录(/)如何到达。特别是对于或许会在目录的切换间容易糊涂的Linux新手而言,pwd 可以拯救他们。 什么是pwd? pwd 代表的是Print Working Directory(打印当前目录)。如它的名字那样,pwd会打印出当前工作目录,或简单的来说就是当前用户所位于的目录。它会打印出以根目录 (/)为起点的完整目录名(绝对目录)。这条命令是一条shell内建命令,并且在大多数shell中都可以使用,如bash、Bourne shell,ksh、zsh等等。 pwd的基本语法: # pwd pwd的
Linux有问必答:如何检查Linux上的glibc版本

Linux有问必答:如何检查Linux上的glibc版本

问题:我需要找出我的Linux系统上的GNU C库(glibc)的版本,我怎样才能检查Linux上的glibc版本呢? GNU C库(glibc)是标准C库的GNU实现。glibc是GNU工具链的关键组件,用于和二进制工具和编译器一起使用,为目标架构生成用户空间应用程序。 当从源码进行构建时,一些Linux程序可能需要链接到某个特定版本的glibc。在这种情况下,你可能想要检查已安装的glibc信息以查看是否满足依赖关系。 这里介绍几种简单的方法,方便你检查Linux上的glibc版本。 方法一 下面给出了命令行下检查GNU C库的简单命令。 $ ldd –version 在本例中,gli
iproute2 对决 net-tools

iproute2 对决 net-tools

如今很多系统管理员依然通过组合使用诸如ifconfig、route、arp和netstat等命令行工具(统称为net-tools)来配置网络功能,解决网络故障。net-tools起源于BSD的TCP/IP工具箱,后来成为老版本Linux内核中配置网络功能的工具。但自2001年起,Linux社区已经对其停止维护。同时,一些Linux发行版比如Arch Linux和CentOS/RHEL 7则已经完全抛弃了net-tools,只支持iproute2。 作为网络配置工具的一份子,iproute2的出现旨在从功能上取代net-tools。net-tools通过procfs(/proc)和ioctl系统调用去访问和改变内核网络配置,而iproute2则通过netlink
Linux 有问必答:如何在wget中禁用HTTP转发

Linux 有问必答:如何在wget中禁用HTTP转发

提问: 当我用wget获取一个重定向到URL Y的URL X的时候,wget默认会自动获取URL Y。然而我想要强制获取不带重定向的URL X。我该如何禁用wget重定向URL的功能。 在HTTP标准中,重定向响应(带3XX的HTTP响应)说明请求的URL被移到了新的位置。重定向相应接着包含了目标重定向的URL。 像常规的HTTP客户端,wget支持URL重定向(也叫URL转发),意味着当你尝试下载一个重定向的URL时,wget会自动跟随URL重定向获取重定向后的资源。如果你由于一些原因想要禁用URL重定向,并停止3XX的状态码,你可以使用wget的–max-redirect=number选项。这个
Linux 有问必答:如何修复“hda-duplex not supported in this QEMU binary”

Linux 有问必答:如何修复“hda-duplex not supported in this QEMU binary”

提问: 当我尝试在虚拟机中安装一个新的Linux时,虚拟机不能启动且报了下面这个错误:"unsupported configuration: hda-duplex not supported in this QEMU binary."(不支持的配置:hda-duplex在此QEMU文件中不支持。) 我该如何修复? 这个错误可能来自一个当默认声卡型号不能被识别时的一个qemu bug。 无法完成安装:不支持的配置:hda-duplex在此QEMU文件中不支持 要解决这个问题,按照下面的做。 方案一: virt-manager 在virt-manager中,打开虚拟机的虚拟硬件详细菜单,进入声卡选项,改变默认的设备型号为ac97。 点击应用按钮
如何在 systemd 下管理Linux系统的时间和日期

如何在 systemd 下管理Linux系统的时间和日期

timedatectl是用来查询和修改系统时间和配置的Linux应用程序。它是systemd 系统服务管理的一部分,并且允许你检查和修改系统时钟的配置。 在这篇文章中,我们将涉及该小巧但十分重要应用程序的所有方面。 系统当前的时间状态 想要查看系统当前日期/时间,以及可使用不带任何参数的命令查看当前系统时间配置,可以这样: # timedatectl 输入的结果就像这样: 修改日期 想要修改系统日期,你可以简单地使用timedatectl设置时间命令,紧随命令的是YYYY-MM-DD格式的日期,YYYY代表年,MM代表2位数字的月份,DD代表2位数字的天。举个例子,
小白技巧:openSUSE设置服务服务通过防火墙

小白技巧:openSUSE设置服务服务通过防火墙

正如你所知道的,在openSUSE/SUSE系统上,不是所有的服务是激活并且默认允许的。例如,ssh服务是默认不允许通过防火墙的。当然,这是一个安全措施,但是有时我们必须需要ssh服务从远程地点来连接服务器。 这个小教程将会展示如何允许服务,不单是ssh,也包括所有其他的服务,如http,ftp等,通过服务器。我们可以使用YaST命令允许服务通过防火墙,YaST命令是openSUSE和其企业版,默认安装配置工具。 首先,在菜单中打开YaST控制中心。选择Security and Users(安全和用户) - Firewall(防火墙) 接下来,打开Allowed Services(已允许服
极速蜗牛:apt-fast

极速蜗牛:apt-fast

如果你在Debian或Ubuntu系统上经常感觉到apt-get 或 aptitude包安装速度过慢,那么这里就有几种改善这一情况的方法。你有没有考虑过改变正被使用的默认镜像站点?你有没有排除因特网连接的上游带宽成为瓶颈的可能? 如果不是这些原因,你可以尝试第三个选择:使用apt-fast工具。apt-fast实际上是一个围绕apt-get和aptitude所写的shell脚本容器,它能加速包的下载速度。apt-fast本质上采用aria2下载工具,这款工具能够以块的方式从多个镜像并行下载一个文件(就像BitTorrent下载)。 在Debian或Ubuntu上安装apt-fast 下面是在基于Debian的
Linux有问必答-如何创建和挂载XFS文件系统

Linux有问必答-如何创建和挂载XFS文件系统

问题: 我听说一个牛X的文件系统XFS,打算在我的磁盘上试试XFS。那格式化和挂载XFS文件系统的Linux命令是什么呢? XFS是高性能文件系统,SGI为他们的IRIX平台而设计。自从2001年移植到Linux内核上,由于它的高性能,XFS成为了许多企业级系统的首选,特别是有大量数据,需要结构化伸缩性和稳定性的。例如,RHEL/CentOS 7 和Oracle Linux将XFS作为默认文件系统,SUSE/openSUSE已经为XFS做了长期支持。 XFS有许多独特的性能提升功能使他从众多文件系统中脱颖而出,像可伸缩/并行 IO,元数据日志,热碎片整理,IO 暂停/恢复,延迟分配等。 如
小白技巧:如何从Ubuntu 14.04 LTS 升级到Ubuntu 14.10

小白技巧:如何从Ubuntu 14.04 LTS 升级到Ubuntu 14.10

想知道怎样从Ubuntu 14.04 LTS 升级到Ubuntu 14.10么? 这就是我们要讲的 Canonical不会强迫14.04的用户升级到14.10这个中间版本 但这并不意味着 你不能将你的坚如磐石的Trusty Tahr升级到(有点让人印象深刻的)Utopic Unicorn。 要得到非LTS版本的Ubuntu发布通知,你需要在软件和更新工具中选择。这个很直接。 打开 软件和更新 选择 更新 选项 进入有新版本Ubuntu时通知我的选项 在下拉菜单选项中将对于长期支持版本改成对于任何版本 切换后你会想快点更新。 现在准备就绪!Canonical此刻会弹出升级提示给用户(相比较普通的ISO镜像而
在 Ubuntu 14.10/14.04/13.10 上安装 LEMP 服务和 phpMyAdmin

在 Ubuntu 14.10/14.04/13.10 上安装 LEMP 服务和 phpMyAdmin

LEMP是一个操作系统和几个开源软件包的合称。缩写LEMP来自 Linux,Nginx(发音是 engine-x)HTTP服务器, MySQL数据库,和 PHP/ Perl/ Python的首字母。在这篇教程里,让我们看一下如何在 Ubuntu 14.10 上安装 Nginx,MySQL 或 MariaDB,PHP 和 phpMyAdmin。
Linux有问必答:如何修复“sshd error: could not load host key”

Linux有问必答:如何修复“sshd error: could not load host key”

问题:当我尝试SSH到一台远程服务器时,SSH客户端登陆失败并提示Connection closed by X.X.X.X。在SSH服务器那端,我看到这样的错误消息:sshd error: could not load host key.。这发生了什么问题,我怎样才能修复该错误? 该SSH连接错误的详细症状如下。 SSH客户端方面:当你尝试SSH到一台远程主机时,你没有看见登录屏幕,你的SSH连接就立即关闭,并提示此消息:Connection closed by X.X.X.X。 SSH服务器方面:在系统日志中,你看到如下错误消息(如,在Debian/Ubuntu上,/var/log/auth.log)。 Oct 16 08:59:45 openstack sshd: err
Linux 有问必答:在 Linux 如何更改文本文件的字符编码

Linux 有问必答:在 Linux 如何更改文本文件的字符编码

问题:在我的 Linux 系统中有一个编码为 iso-8859-1 的字幕文件,其中部分字符无法正常显示,我想把文本改为 utf8 编码。在 Linux 中, 有没有一个好的工具来转换文本文件的字符编码? 正如我们所知道的那样,电脑只能够处理低级的二进制值,并不能直接处理字符。当一个文本文件被存储时,文件中的每一个字符都被映射成二进制值,实际存储在硬盘中的正是这些二进制值。之后当程序打开文本文件时,所有二进制值都被读入并映射回原始的可读字符。只有当所有需要访问这个文件的程序都能够理解它的编码,即二进制值到字符的映射时,这个保存和
如何在Linux里使用xargs命令

如何在Linux里使用xargs命令

你是否遇到过这样的情况,需要一遍又一遍地对多个文件执行同样的操作?如果有过,那你肯定会深有感触这是多么的无聊和效率低下。还好有种简单的方式,可以在基于Unix的操作系统中使用xargs命令解决这个烦恼。通过这个命令你可以有效地处理多个文件,节省你的时间和精力。
SUSE Linux – Zypper 命令示例

SUSE Linux – Zypper 命令示例

Zypper是SUSE Linux中用于安装,升级,卸载,管理仓库、进行各种包查询的命令行接口。本篇将会讨论zypper的几个不同命令的例子。 语法: # zypper command 中括号中的部分可以不需要。执行zypper最简单的方法是输入 zypper 及 。 例子1:列出可用的全局选项和命令 打开终端,输入zypper并按回车,它会显示所有可用的全局选项和命令。 linux-xa3t:~ # zypper 例子2:获得zypper的某个命令的帮助 语法: zypper help linux-xa3t:~ # zypper help remove remove (rm) capability … Remove packages with specified capabilities. A