我有多个硬盘连接到我的服务器,但我不确定 sdXY 中哪个是什么。如果我可以从终端看到我硬盘的序列号,我可以很容易地识别它们。
有什么办法可以从终端看到它们吗?
我写的时候会发生什么cat /proc/cpuinfo。这是通向操作系统的命名管道(或其他东西),它会动态读取 CPU 信息并在我每次调用它时生成该文本?
我希望列出 PID 当前正在侦听的所有端口。
您建议我如何获取有关流程的此类数据?
*nix 用户权限非常简单,但是当您在访问给定文件之前必须考虑所有父目录访问权限时,事情可能会变得混乱。如何检查用户是否有足够的权限?如果不是,那么哪个目录拒绝访问?
例如,假设一个 userjoe和文件/long/path/to/file.txt. 即使file.txtchmoded到777,joe还是要能访问/long/,然后/long/path/再/long/path/to/之前。我需要的是一种自动检查这一点的方法。如果joe没有访问权限,我也想知道他被拒绝的地方。也许他可以访问/long/,但不能/long/path/。
我最近在 shell 脚本中遇到了这个问题。
if ! kill -0 $(cat /path/to/file.pid); then
... do something ...
fi
Run Code Online (Sandbox Code Playgroud)
有什么作用kill -0 ...?
在我的 Ubuntu-Desktop 和我的 debian-server 上,我有一个需要每分钟执行一次的脚本(一个调用我的空间在线浏览器游戏的分钟的脚本)。
问题是 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)
Run Code Online (Sandbox Code Playgroud)
我知道为了抑制程序的输出,我可以将它重定向到/dev/null,例如隐藏程序中的所有错误和警告消息,我可以像这样在 crontab 中创建一行
* * * * * root /usr/local/sbin/mycommand.sh > /dev/null
Run Code Online (Sandbox Code Playgroud)
但我想运行一个 cronjob 并确保所有生成的输出或错误都通过管道传递到 NULL,因此它不会在系统日志中生成任何消息,也不会生成任何电子邮件
编辑:
有一个解决方案可以通过更改将 cron-logs 重定向到一个单独的日志,就像这里提出的那样/etc/syslog.conf
但缺点是,所有 cronjobs 的所有输出都被重定向。
我可以以某种方式只将单个 cronjob 重定向到单独的日志文件吗?最好在cron.hourly文件本身内部进行配置。
我想使用终端从我的谷歌驱动器下载一个文件夹?有没有办法做到这一点?我试过这个:
$ wget "https://drive.google.com/folderview?id=0B-Zc9K0k9q-WWUlqMXAyTG40MjA&usp=sharing"
Run Code Online (Sandbox Code Playgroud)
但它正在下载这个文本文件:folderview?id=0B-Zc9K0k9q-WdEY5a1BCUDBaejQ&usp=sharing. 有没有办法从终端下载谷歌驱动器文件夹?
在所有单元文件都在之前,/etc/systemd/system/但现在一些出现在/usr/lib/systemd/system(<- 在 CentOS 上,或/lib/systemd/system<- 在 Debian/Ubuntu 上),这些文件夹之间有什么区别?
据我所知,方括号通常用于将表达式括在 if else 语句中。
但我发现方括号没有“if”,如下所示:
[ -r /etc/profile.d/java.sh ] && . /etc/profile.d/java.sh
Run Code Online (Sandbox Code Playgroud)
在下面的脚本中。
#!/bin/bash### BEGIN INIT INFO
# Provides: jbossas7
# Required-Start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start/Stop JBoss AS 7
### END INIT INFO
# chkconfig: 35 92 1
## Include some script files in order to set and export environmental variables
## as well as add the appropriate executables to …Run Code Online (Sandbox Code Playgroud) 我这里有一个非常奇怪的情况。我的电脑工作正常,至少在大多数情况下,但有一件事情我无法处理。当我尝试从我的 Pendrive 复制文件时,一切正常——我得到了 16-19M/s ,它运行得很好。但是当我尝试将某些内容复制到同一个 Pendrive 时,我的 PC 死机了。鼠标指针停止移动一两秒钟,然后移动一点,然后再次停止。例如,在 Amarok 中播放某些东西时,声音就像机关枪。速度从500K/s跃升到15M/s,平均8M/s。仅当我将某些内容复制到 Pendrive 时才会发生这种情况。当复制过程完成后,一切恢复正常。
我尝试了一切——其他的随身碟、前面板上的不同 USB 端口或后面的那些端口,我什至更改了主板(前面板)上的 USB 引脚,但无论我把 USB 记忆棒放在哪里,它总是一样的。我尝试了不同的文件系统 - fat32, ext4. 我的笔记本电脑上的 Windows 设备没有问题。它必须是我的 PC 或系统中的某些东西。我不知道该找什么。我在独立的 Openbox 中使用 Debian 测试。我的电脑有点旧——Pentium D 3GHz、1GiB 内存、1.5TB WD Green 磁盘。如果您有什么可以帮助我解决这个问题的东西,我会很高兴听到这个消息。
我不知道我还应该提供什么信息,但是如果您需要什么,尽管问,我会尽快更新这篇文章。
我试图在 ubuntu 13.04 live cd 上重现这个问题。我安装了我的加密分区 + 加密交换并将我的 Pendrive 连接到 USB 端口。接下来我尝试启动一些应用程序,现在我有大约 820MiB 的 RAM 和大约 400MiB 的 SWAP。复制没有问题,根本没有冻结,一切都应该如此。所以,看起来是系统的故障,但究竟在哪里?什么会导致这种奇怪的行为?