在Linux系统中,什么是tty?

安祖 提交于 周一, 06/17/2019 - 17:49

tty是电传打字机(TeleTYpewriter)这个词的缩写(abbrevation)。tty是Unix和类Unix操作系统(operating system)中的命令(command),用于列印(print)出终端(terminal)所连接到的标准输入(standard input)之名称(name)。

如果你在终端的命令行(command line)中执行tty命令,你可能会看到以下内容: $tty /dev/ttys000 其中"/dev/ttys000"就是当前终端所连接的标准输入之名称了。

你可以做一下以下实验来了解一下,就会更明白。首先您可以同一时间打开两个终端(terminal)应用(application),然后分别在两个终端窗口(terminal window)的命令行中键入tty以查看其标准输入之名称。知道了各自的标准输入之名称之后,你就可以尝试从一个终端窗口中输出到另一个终端窗口。例如,如果键入tty,在一个窗口中看到/dev/ttys000,而在另一个窗口中看到/dev/ttys001,则可以尝试如下:

终端(一)

$ tty
/dev/ttys000
$ echo 'hello' > /dev/ttys001

终端(二)

标签

为什么我在执行Durpal update.php时看到以下错误?

安祖 提交于 周二, 06/11/2019 - 22:42

当您尝试通过URL访问update.php时出现错误消息(error message):

In order to run update.php you need to either have "Administer software updates" permission or have set $settings['update_free_access'] in your settings.php.
这是因为您没有获得管理员权限(adminstrator privilege)。我们需要记住,由于Durpal网站的安全保护,只有管理员可以运行update.php。 如果你遇到这样的情况,您可以先使用管理员帐户登录站点,然后再次运行update.php。但是,由于某种原因,若您已经无法再次登录该站点,您可以尝试修改sites/settings.php中的"$settings ['update_free_access']"选项,然后再次访问update.php。请注意,此选项将允许每个人访问update.php。 因此,在完成更新过程后,您必须将选项更改回其原始默认值(default value)。

标签

在macOS系统中,如何将终端命令输出复制到系统剪贴板?

安祖 提交于 周三, 06/05/2019 - 10:50

在macOS系统中,如何将终端命令(terminal command)输出复制(copy)到系统剪贴板(clipboard)?答案是我们可以使用pbcopy命令。

例如,若您想知道文件B是否包含文件A中所列出的内容,您会使用grep命令,例如:

$ grep -f fileA fileB

通常您会看到grep命令会把结果立即输出到屏幕。但有时,您可以希望把输出结果保留下来,最常见的做法是将结果生成一个文件存档,例如:

$ grep -f fileA fileB > output.txt

在上面的示例中,终端命令输出将被定向到名为"output.txt"的文件。

但是,如果您希望将输出结果直接复制到Excel电子表格中时,您会发觉若果把输出直接输出到系统剪贴板(clipboard)更为放便和直接了当。在这种情况下,您可以使用pbcopy命令(如下所示)。

$ grep -f fileA fileB | pbcopy

上面的命令将捕获所有命令行输出到系统剪贴板应用程序。

在Windows操作系统中,您可以使用clip.exe命令执行相同操作。在这种情况下,您需要运行以下命令:

标签

如何在HTML网页中使用javascript语言播放音频档案?

安祖 提交于 周日, 06/02/2019 - 14:41

以下是如何使用javascript语言将一个音频档案(audio file)在HTML网页中播放的示例。在示例中,我们首先使用HTML声明(declare)这个音频档案元素,然后我们创建两个"on_click"事件(event)以触发(trigger)两个基于javascript的动作(action),即播放(play)和停止(pause)播放音频文件的动作。对于javascript部分,我们使用音频档案对象(object)的播放和暂停函数(function)来调用和暂停音频档案的播放。

标签

了解Perl文件测试操作符以检查文件的各种特征

安祖 提交于 周二, 05/28/2019 - 18:13

一个文件在系统中存在,具有各种特征。在本教程中,您将了解利用Perl语言中的文件测试操作符(file test operator)以检查文件的各种特征。为什么要了解文件的特征?原因是往往在编程中针对文件读取(read)或写入(write)之前,检查文件是否存在且可读(readable)或可写(writable)等特征是很重要的。要执行这些任务,可使用Perl语言中所提供的文件测试运算符。

文件测试运算符是返回true或false值的逻辑运算符(logic operator)。例如,要检查文件是否存在,可使用-e运算符,如下所示:

#!/usr/bin/perl
use warnings;
use strict;
my $filename ='file.txt';
if (-e $filename) {
   print ("File $filename exists\n");
} else {
   print ("File $filename not exists\n");
}
exit;

文件测试运算符-e接受文件名或文件句柄(file handle)作为参数(parameter)。以下列表对常见的文件测试运算符提供了说明:

标签

可以使用Javascript将HTML代码放入textarea元素中显示吗?

安祖 提交于 周五, 05/24/2019 - 13:30

考虑到你有一个textarea元素,你想把一字符串(string)放入在textarea元素内,而该字串又含有HTML代码,如下所示。

HTML:

<textarea id="myTextarea"></textarea>

Javascript:

document.getElementById("myTextarea").value = "<b>This is my testarea string.</b>";

但是,你发现这样是无法正常工作的。看来标题所说的是做不到!在网上搜了一搜,却发现了另一解决方案。就是考虑使用HTML的div标签和配以contentediable选项,来替代textarea元素。示例如下:

<div contenteditable="true">
</div>

即是说,如果你想使用Javascript动态地在textarea元素中显示含有HTML代码的字符串,你唯一的选择是放弃使用textarea元素,你需要切换到使用div元素来完成你的输入框了。

标签

如何在JavaScript字串变量中删除换行符号?

安祖 提交于 周三, 05/22/2019 - 21:25

如果您需要使用JavaScript,又在字符串(string)变量(variable)中发现了有存在换行符号(new line chracter)的可能性,而其存在又可能影响下一步的操作,则应该主动地把它们请除。你可以考虑使用以下有关字符串的一个方法:

replace(regexp/ substr, newstring)

replace()方法搜索子字符串(substring)(或正则表达式(regexp))与字符串之间的匹配,并用新的子字符串(newstring)替换匹配的子字符串。文本中的换行符通常表示为:

\r\n - 在Windows计算机上
\r\n - 在Apple计算机上
\n - 在Linux作业系统上

要使用JavaScript把字符串中的换行符删除,请参阅以下示例:

//删除所有3种类型的换行符
str = str.replace(/(\r\n|\n|\r)/gm, '');

标签

用Perl单行小程序打印从1到10000之间的素数

安祖 提交于 周二, 05/21/2019 - 20:50

单行小程序(one-liner)在Perl语言世界中很受欢迎,因为它快速方便,也可以在命令行(command line)上直接运行。以下介绍一个单行小程序,它以一行的Perl程序就把1到10000以内出现的所有素数(prime number)列印出来。

perl -e 'skip: foreach my $i (2..10000) { foreach my $j (2..$j-1) { next skip if $i % $j == 0 }; print $i." "; } say;'

在下文中,我尝试简要地解释一下这个Perl单行小程序是如何工作的。

首先,选项"-e"允许您定义要由Perl编译器(complier)执行的Perl代码。您可以根据需要,譲编译器执行任意数量的命令行,只要你使用"-e"选项,并使用Perl代码跟随它,例如:

$ perl -e 'print "Hello";' -e 'print "World";' -e 'print "\n";'

跟随着的是从数字2到10000𥚃进行循环(loop),因为我们知道数字1不是素数,我们在这里可忽略了它,所以我们只需要由2到10000之间的所有数字来进行循环。

标签