Unix & Linux

Linux,FreeBSD和其他类似Un * x的操作系统用户的问答

12
延迟将数据写入磁盘的背后原理是什么?
在Linux中,命令的完成执行(例如cp或dd不代表已将数据写入设备)。例如,必须调用sync或调用驱动器上的“安全删除”或“弹出”功能。 这种方法背后的哲学是什么?为什么不立即写入数据?是否存在由于I / O错误而导致写入失败的危险?

6
使用SCP时出错:“不是常规文件”
我已经搜索了一段时间,但找不到常规文件的定义。我的路径是永久性的(我从开始/),并且我正在连接 scp root@IP: /path/to/picture.jpg 要求输入密码,然后... scp: .: not a regular file
72 scp 

4
我如何完全使对/ dev / null /的cronjob静音?
在我的Ubuntu-Desktop和debian服务器上,我有一个需要每分钟执行一次的脚本(该脚本调用我的在线在线Browsergame的分钟记录)。 问题在于,在debian派生产品上,cron /var/log/syslog每次执行时都会记录日志。我最终看到一遍又一遍地重复执行它的消息/var/log/syslog: Nov 11 16:50:01 eclabs /USR/SBIN/CRON[31636]: (root) CMD (/usr/bin/w3m -no-cookie http://www.spacetrace.org/secret_script.php > /dev/null 2>&1) 我知道,为了抑制程序的输出,我可以将其重定向到/dev/null,例如,隐藏程序中的所有错误和警告消息,可以在crontab中创建这样的一行 * * * * * root /usr/local/sbin/mycommand.sh > /dev/null 但是我想运行一个cronjob并确保所有生成的输出或错误都通过管道传递给NULL,因此它不会在syslog中生成任何消息,也不会生成任何电子邮件 编辑: 有一种解决方案可以通过更改更改将cron日志重定向到此处建议的单独日志中/etc/syslog.conf 但是缺点是,然后所有cronjobs的ALL输出都将被重定向。 我可以以某种方式仅将单个cronjob重定向到单独的日志文件吗?最好是在cron.hourly文件本身内部可配置。

3
如何测试Shell脚本的POSIX兼容性?
考虑到POSIX是所有unice中最通用的标准,我很想知道是否有专门支持它的shell。尽管大多数现代Shell提供对POSIX的支持(并且可以毫无问题地运行POSIX兼容脚本),但它们在指出不兼容功能方面表现不佳。 是否有仅实现POSIX和POSIX的外壳,以至于它会为任何不兼容的功能抛出错误? 编辑我想澄清的是,我并不是在寻求有关编写可移植Shell脚本的一般提示。评论中提到的相关问题已经解决了这一问题。当我发现bash有一个--posix选择但只发现它只影响某些初始化行为时,我想到了这个问题,而这并不是我要寻找的。

4
“保留以下软件包”是什么意思?
执行此操作时apt-get upgrade,有时会收到一条消息,指出“以下软件包已保留”。例如: $ sudo apt-get upgrade Reading package lists... Done Building dependency tree Reading state information... Done The following packages have been kept back: linux-headers-server linux-image-server linux-server 0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded. 这到底是什么意思?显然,这些软件包已被保留并且没有安装,但是为什么呢? 接下来的问题是:如何升级这些保留的软件包?
72 apt  upgrade 

7
设置和购物-为什么要两个?
set并且shopt都是控制各种选项的shell内置程序。我经常忘记由哪个命令设置哪些选项,以及设置/取消设置哪些选项(set -o/+o,shopt -s/-u)。为什么会有两个不同的命令看似执行相同的操作(并且具有不同的参数来执行此操作)?有什么简单的方法/助记符来记住哪个选项与哪个命令一起使用?
72 bash  settings  shopt 

4
内置命令与非内置命令有什么区别?
内置命令和另一个名义上可以做相同事情的命令之间有本质上的区别吗? 例如。内建函数是否获得“特殊”待遇?...运行它们的开销较少吗?..或者它们只是简单地“内置”;像您的汽车仪表板? ...并且这些内置函数有明确的列表(当前列表)吗?

7
如何使用命令行更改音量?
我试图使用我的编程脚本来控制音量。如何在Fedora 15,Ubuntu Linux中执行以下操作? 静音/取消静音 调高音量和调低音量 注意:请注意,我使用Web USB麦克风/扬声器以及模拟麦克风/扬声器。我想适用于所有人。

5
从Vim内部成为根
有时我会在/etc使用Vim时开始编辑配置文件,但忘记了使用它sudo来启动Vim。不可避免的结果是,在完成编辑后,我遇到了可怕的通知,即我无权保存文件。 大多数情况下,编辑量很小,以至于我退出Vim并再次以root身份进行整个操作。我当然可以保存到可以写入的位置,然后以root身份复制,但这也有些烦人。 但是我敢肯定,sudo从Vim内部成为root或使用它的简便方法,而不必放弃所做的更改。如果该方法不依赖于sudo为用户设置,那就更好了。
72 vim  sudo  root 

3
用户空间和内核空间之间有什么区别?
当代表用户程序(即系统调用)执行内核时,是否使用了内核空间?还是所有内核线程(例如调度程序)的地址空间? 如果是第一个,则意味着普通用户程序不能拥有超过3GB的内存(如果划分为3GB + 1GB)?另外,在那种情况下内核如何使用高级内存,因为逻辑上将映射1GB内核空间,因此高级内存中的页面将映射到哪个虚拟内存地址?
72 linux  kernel  drivers 

4
在OS X中修复或替代mktemp
我正在查看其他人使用的bash脚本mktemp: TEMP=`mktemp --directory` 但是,此行在我的机器(OS X 10.6)上不起作用。 我将如何修复此行,使其与跨un * x平台兼容?编辑:替代命令也将足够。

6
我可以设置系统邮件以使用外部SMTP服务器吗?
是否可以在Linux机器上设置系统邮件,以通过其他smtp服务器发送邮件-甚至可以通过身份验证发送邮件?如果是这样,我该怎么做? 如果不清楚,请举个例子。如果我在命令行输入: cat body.txt | mail -s "just a test" myfriend@hisdomain.com 是否可以通过外部SMTP服务器(例如G-mail)发送邮件? 我不是在寻找“通过命令行从gmail发送邮件的方法”,而是在配置整个系统以使用特定的SMTP服务器或SMTP服务器上的一个帐户(可能覆盖发件人地址)的选项。
72 linux  smtp  email 

8
$ *和$ @有什么区别?
考虑以下代码: foo () { echo $* } bar () { echo $@ } foo 1 2 3 4 bar 1 2 3 4 它输出: 1 2 3 4 1 2 3 4 我正在使用Ksh88,但是我也对其他常见的shell感兴趣。如果您碰巧知道特定外壳的任何特殊性,请提及它们。 我在Solaris的Ksh手册页中发现了以下问题: $ *和$ @的含义在不加引号或用作参数分配值或文件名时相同。但是,当用作命令参数时,$ *等效于``$ 1d $ 2d ...'',其中d是IFS变量的第一个字符,而$ @等效于$ 1 $ 2 .... 我尝试修改IFS变量,但没有修改输出。也许我做错了什么?
72 shell  quoting  ksh  arguments 


9
在Ubuntu中更改Python3默认版本
我正在使用Ubuntu 16.04 LTS。我已经python3安装好了。安装了两个版本,python 3.4.3和python 3.6。每当我使用python3命令时,python 3.4.3默认情况下都会使用它。我想搭配python 3.6使用python3。 python3 --version 表演 version 3.4.3 我正在安装ansible支持version > 3.5。因此,每当我在终端中键入ansible时,由于python 3.4
72 ubuntu  python  python3 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.