Unix & Linux

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



6
/ opt和/ usr / local有什么区别?
根据文件系统层次结构标准,/opt用于“附加应用程序软件包的安装”。 /usr/local是“供系统管理员在本地安装软件时使用”。这些用例看起来非常相似。软件不包含的分布通常是默认配置为在安装/usr/local或/opt没有特别无缘无故为他们选择。 我是否缺少某些区别,或者两者都做同样的事情,但是出于历史原因而存在?

9
我什么时候不应该取消-9进程?
我总是很犹豫要运行kill -9,但是我看到其他管理员几乎都在定期运行。 我认为可能存在明智的中间立场,因此: 什么时候以及为什么要kill -9使用?什么时候,为什么不呢? 在做之前应该尝试什么? 什么样的调试“挂起”过程可能会引起更多问题?

13
关闭管道中的缓冲
我有一个脚本,它调用两个命令: long_running_command | print_progress 该long_running_command打印进度,但我不开心吧。我print_progress用来使其更美观(即,我将进度打印在一行中)。 问题:将管道连接到stdout还会激活4K缓冲区,到漂亮的打印程序不会得到任何东西……没有任何东西……没有任何东西 ……:) 如何禁用4K缓冲区long_running_command(不,我没有源)?
395 shell  pipe  buffer 

5
使用特定端口查找过程的PID?
我在Ubuntu系统上安装hadoop。当我启动它时,它报告端口9000繁忙。 我用了: netstat -nlp|grep 9000 看看是否存在这样的端口,我得到了: tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 但是,如何获取正在保存的进程的PID?
391 linux  process  ip  netstat 

4
在屏幕内滚动或暂停输出
在管理我工作的服务器时,我使用屏幕执行命令行任务。我通常运行小命令(主要是文件系统任务),但有时我运行更广泛的任务(例如DBA)。 这些任务的输出对我很重要。由于我在任务中使用Ubuntu和OS X(均为Terminal Windows),但仍需要使用屏幕,因此无法进行滚动,因此任何长输出(例如select中的500行表)对我来说都是不可见的。滚轮是不可能的。 当我说“滚动对于我来说是不可见的时,我的意思是: 我在考虑两种选择: 暂停(认为分页)某个命令的输出。输出开始时,它将让我阅读正在发生的事情,然后按“ Enter”,然后输出继续,直到没有其他显示。 在屏幕内滚动。但是我不知道这是否可能。 当然,我不知道这些选择是否确实可行。如果是的话,如何实现它们?其他替代方案将广受欢迎。


8
如何复制保留所有者和权限的文件夹?
因此,我要备份主文件夹,方法是将其复制到外部驱动器,如下所示: sudo cp -r /home/my_home /media/backup/my_home 结果,外部驱动器上的所有文件夹现在都归root:root。我如何cp保留原始文件的所有权和权限?
376 permissions  cp 

8
如何强制ssh客户端仅使用密码身份验证?
如果我使用来自例如:Ubuntu 11.04的pubkey auth,如何将ssh客户端设置为仅对服务器使用密码auth?(由于测试服务器上的密码才需要,我默认使用密钥登录) 我找到了一个方法: mv ~/.ssh/id_rsa ~/.ssh/id_rsa.backup mv ~/.ssh/id_rsa.pub ~/.ssh/id_rsa.pub.backup 现在提示输入密码,但是有什么正式方法吗?

7
如何找到Linux内核系统调用的实现?
我试图mkdir通过查看内核源代码来理解一个函数的工作原理。这是一种尝试了解内核内部结构并在各种功能之间导航的尝试。我知道mkdir在中定义sys/stat.h。我找到了原型: /* Create a new directory named PATH, with permission bits MODE. */ extern int mkdir (__const char *__path, __mode_t __mode) __THROW __nonnull ((1)); 现在,我需要查看在哪个C文件中实现此功能。从源目录,我尝试了 ack "int mkdir" 哪个显示 security/inode.c 103:static int mkdir(struct inode *dir, struct dentry *dentry, int mode) tools/perf/util/util.c 4:int mkdir_p(char *path, mode_t mode) tools/perf/util/util.h 259:int mkdir_p(char *path, …


15
Vim和Emacs的优缺点是什么?
您将如何比较这些编辑器?各自的优缺点是什么? [ 注意 ]那些“讨厌一个人而爱另一个人”或没有使用这两者的人并不想回答。
372 vim  emacs  vi 

3
刷新在vi(m)中打开的文件的更改内容
我有一个配置文件,该文件在vim中保持打开状态,但有时会在磁盘上更改,而这些更改不会反映在终端上。是否可以在不关闭并重新打开文件的情况下刷新屏幕上的内容?如果是这样,怎么办?
362 vim 

14
在Bash中,何时使用别名,何时编写脚本以及何时编写函数?
我花了将近10年的Linux使用时间问这个问题。这都是反复试验和随机的深夜互联网冲浪。 但是人们不需要10年的时间。如果我刚开始使用Linux,那么我想知道:什么时候使用别名,什么时候编写脚本,什么时候编写函数? 在涉及别名的地方,我将别名用于不带参数的非常简单的操作。 alias houston='cd /home/username/.scripts/' 这似乎很明显。但是有些人这样做: alias command="bash bashscriptname" (并将其添加到.bashrc文件中) 有充分的理由这样做吗?我真的很努力,但是我真的无法想到在任何情况下都需要这样做。因此,如果存在极端情况会有所作为,请在下面回答。 因为那是我要在PATH中放入内容的地方chmod +x,这是经过多年Linux反复试验之后出现的另一件事。 这将我带入下一个主题。举例来说,我添加了一个隐藏的文件夹(.scripts/只需添加一行到我的)主目录到我的PATH .bashrc(PATH=$PATH:/home/username/.scripts/),所以任何可执行文件中有自动的自动填充。 如果需要的话。 不过,我真的不需要那个吗?我只会将其用于非Shell语言,例如Python。 如果是外壳,我可以在相同的内部编写一个函数.bashrc: funcname () { somecommand -someARGS "$@" } 正如我所说,我通过反复试验发现了很多这样的问题。我只有在计算机死机时才真正看到功能的美,而当我周围的人不使用计算机时,我就不得不使用它们。 最终,我没有将整个脚本目录从一个计算机移动到另一个计算机,而是最终只用我自己的其他人替换了.bashrc,因为它们甚至从未进行任何修改。 但是我想念什么吗? 那么,您将如何告诉Linux新手何时使用别名,何时编写脚本以及何时编写函数? 如果不是很明显,我假设回答这个问题的人将使用所有三个选项。如果您仅使用别名,或仅使用脚本,或仅使用函数,或者仅使用别名和脚本,或者别名和函数或脚本和函数,则此问题并不是针对您的。

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.