标签: command-line-interface

在 PHP 中,如何检测正在从命令行运行的代码?

当我从命令行运行我的 PHP 脚本时,我收到以下通知。我认为原因是这些变量(如 SERVER_NAME)在没有浏览器的情况下运行时不适用。

在我的代码中,如何检测它是从命令行运行并跳过这些行,所以我不必看到这些通知?

我不想通过管道到 /dev/null 来阻止这些通知,我宁愿增强 PHP 代码。

david@ubuntu:/var/www/user$ php cron_email.php
PHP Deprecated:  Comments starting with '#' are deprecated in /etc/php5/cli/conf.d/mcrypt.ini on line 1 in Unknown on line 0
PHP Notice:  Undefined index: SERVER_NAME in /var/www/user/codestart.php on line 14
PHP Notice:  Undefined index: REMOTE_ADDR in /var/www/user/codestart.php on line 97
PHP Notice:  Undefined index: REQUEST_URI in /var/www/user/codestart.php on line 99
PHP Notice:  Undefined index: HTTP_REFERER in /var/www/user/codestart.php on line 100
PHP Notice:  Undefined index: REQUEST_METHOD in /var/www/user/codestart.php on line …
Run Code Online (Sandbox Code Playgroud)

command-line-interface

4
推荐指数
1
解决办法
3582
查看次数

在 Linux 中从命令行确定无线网络名称

我在家里和工作中都使用我的个人笔记本电脑,在这两种情况下我都安装了 nfs 共享。我想在每次打开笔记本电脑时自动安装这些共享。

我不能让它成为一个正常的启动命令来运行,因为无线连接需要大约半分钟才能定位网络并连接。

所以我想写一个脚本,每 5 秒检查一次我是否连接到网络以及网络的 essid 是什么,以便我可以安装适当的共享。

我查看了 iwconfig 和 ifconfig,但没有一个返回 essid,只有一个实际的 IP 地址。

ifconfig 返回...

eth0      Link encap:Ethernet  HWaddr 00:26:2d:a2:01:a8  
      UP BROADCAST MULTICAST  MTU:1500  Metric:1
      RX packets:0 errors:0 dropped:0 overruns:0 frame:0
      TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
      Interrupt:16 

eth1      Link encap:Ethernet  HWaddr f0:7b:cb:45:36:b2  
      inet addr:192.168.0.48  Bcast:192.168.3.255  Mask:255.255.252.0
      inet6 addr: fe80::f27b:cbff:fe45:36b2/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:30972 errors:0 dropped:0 overruns:0 frame:124824
      TX packets:31414 errors:16 dropped:0 …
Run Code Online (Sandbox Code Playgroud)

linux wifi command-line-interface

4
推荐指数
1
解决办法
1万
查看次数

我可以在 find 或 locate 中使用 ls 中的 -l 之类的标志吗?

有没有办法在使用 locate 或 find 命令时显示 -l 在 ls 中所做的所有信息(权限、日期等)?

command-line-interface

4
推荐指数
1
解决办法
482
查看次数

如何检查普通用户是否具有超级用户权限

我想检查普通用户是否具有超级用户权限(意味着 root 权限)。我的操作系统是 RHEL 6,我检查了/etc/passwd配置文件,但没有用。请告诉我在 Linux 机器中查找用户当前权限的任何方法。

linux redhat command-line-interface

4
推荐指数
1
解决办法
4万
查看次数

是否有 Unix 类型的命令可以杀死具有特定名称的所有进程?

我为 Ruby on Rails 应用程序运行了一个名为“delayed_job”的脚本。选项之一是使用单独的监视器 proc 运行此 proc。当主 proc 死亡时,监视器会产生一个新的。我也可以运行多个进程。每个都有自己的关联监控进程。

该脚本提供了一种杀死主进程而不是监视进程的方法。我想杀了他们所有人。

一个命令:

ps -ef|grep delayed
Run Code Online (Sandbox Code Playgroud)

产量:

42011    29423     1  0 Sep25 ?        00:00:02 delayed_job.0_monitor                
42011    29428     1  0 Sep25 ?        00:00:02 delayed_job.1_monitor                
42011    29434     1  0 Sep25 ?        00:00:02 delayed_job.2_monitor                
42011    29437     1  0 Sep25 ?        00:00:01 delayed_job.3_monitor                
42011    23359     1 10 Oct19 ?        03:12:49 delayed_job.0                        
42011     8607     1  5 Oct19 ?        00:58:42 delayed_job.3                        
42011    21442     1 44 12:31 ?        01:02:03 delayed_job.2                        
42011    23092     1  4 14:18 ?        00:01:22 delayed_job.1 …
Run Code Online (Sandbox Code Playgroud)

command-line-interface command

4
推荐指数
1
解决办法
6839
查看次数

如何运行命令并选择要使用的核心

我有一个要运行的命令(在这种情况下是一个 php5 脚本),我想知道是否有什么东西可以运行这个命令并选择要运行的核心。

我想要做的是为每个核心运行 1 个命令以使用我服务器的多个核心。

任何的想法?或者我必须用其他支持多核的语言重写脚本并直接在脚本中开发核心控件?

command-line-interface multi-core

4
推荐指数
2
解决办法
6916
查看次数

使用绝对路径压缩文件夹而不保留文件夹树

我正在尝试使用该zip -r命令来压缩包含两个文件的文件夹。我需要用两个文件传递文件夹的绝对路径(/path/to/my/files/),这会导致所有文件夹都被压缩,因为我只需要(files/)压缩最后一个文件夹及其内容,以便在解压缩文件时,只有一个文件夹和其中的两个文件。如何修改命令以便能够在仅保留最后一个文件夹的同时传递参数中的绝对路径?

ubuntu compression command-line-interface

4
推荐指数
1
解决办法
4216
查看次数

Windows 2k8 R2 - 属于另一个 OU 内的 1 个 OU 的 UserDN 是什么?

我想知道属于 1 个 OU,但该 OU 也属于另一个 OU 的用户的 UserDN(用户专有名称)是什么。

第一个 OU 的 UserDN:“CN=George Luong,OU=People,DC=quang,DC=com”

看图看看我想知道什么!

在此处输入图片说明

windows-server-2008 command-line-interface

4
推荐指数
1
解决办法
285
查看次数

从命令行生成 CPU、内存、磁盘和网络图

我想定期(例如使用 cron)生成一个图像(例如 png),其中包含 CPU 使用情况、内存使用情况、磁盘 I/O 负载和网络使用情况的图表。

我想要一些不太难看的东西,所以gnuplot图表有点粗糙,但如果这是唯一的选择,我还是会接受它。

经过半小时的谷歌搜索,我一直无法找到一个简单的工具来做到这一点,而无需进行大量配置。

我想过使用conky并要求它渲染到文件而不是在屏幕上显示图形,但是我找不到conky. 我想到的唯一解决方案是启动一个虚拟的 Xorg 会话,让 conky 运行它,并定期截取屏幕截图。

我还看到了大量关于使用dstat或类似工具的博客文章等,但这些生成的文本报告,而不是图表。

是否有一个命令行工具设置起来非常简单,可以生成(漂亮的)GPU 图形和类似的图形,而无需我进行大量配置?

就像是:

generategraph --cpu --interval 300 --output mygraph.png
Run Code Online (Sandbox Code Playgroud)

编辑:

迄今为止引用的其他工具(rrdtool、mrtg、zabbix、orca)的问题在于它们是专为全职网络管理员设计的企业级软件。我只想要一些简单的东西,我可以在一个小盒子上运行并在几秒钟内设置好,而不是花几天时间来配置它。

我刚刚意识到我问的是 serverfault 而不是我想要的超级用户,所以这解释了我得到的答案:) 谢谢大家,很抱歉浪费你的时间,我请求关闭这个问题/迁移到超级用户。

image command-line-interface graph

4
推荐指数
1
解决办法
2657
查看次数

在 Linux 上通过命令行使用正则表达式批量重命名目录

我在服务器上有一个文件夹,其中包含每天创建并按日期命名的目录,如下所示:

07-06-14
08-06-14
09-06-14
Run Code Online (Sandbox Code Playgroud)

等等。

在某些时候,我决定首选命名格式如下:2014-06-07 并且新文件夹使用该格式创建。所以现在该文件夹包含:旧格式的目录和新格式的目录。

如何将旧格式的目录批量重命名为新格式?

我试过这个: rename -n 's/(\d{2})\-(\d{2})\-(\d{2})\20$3-$2-$1//' *

但它抛出错误: Use of uninitialized value $2 in regexp compilation at (eval 1) line 1

linux debian command-line-interface rename batch

4
推荐指数
1
解决办法
4369
查看次数