我使用的系统在/usr/bin中安装了gnuplot。我没有root,但我需要更新版本的gnuplot,因此我将其安装到$HOME/usr/bin
我在路径中添加了$HOME/usr/bin,但是如果我只使用gnuplot命令,它仍然会执行/usr/bin中的路径。我不希望每次使用它时都必须指定$HOME/usr/bin/gnuplot
我如何告诉Linux使用我的主目录中的目录,而不是/usr/bin中的目录 可执行文件按路径顺序找到。您需要在路径前添加${HOME}/usr/bin,如下所示
为什么在我的(低端笔记本电脑)系统上用很少的负载生成一个1kib的文件需要5分钟?如何更快地生成随机二进制文件
$ time dd if=/dev/random of=random-file bs=1 count=1024
1024+0 records in
1024+0 records out
1024 bytes (1.0 kB) copied, 303.266 s, 0.0 kB/s
real 5m3.282s
user 0m0.000s
sys 0m0.004s
$
请
标签: Linux
stackpthreadsforkexec
我有一个关于Linux上进程堆栈大小的问题。该堆栈大小是否在链接时确定,并在ELF文件中编码
我写了一个程序,它按
pthread_attr_getstacksize(&attr, &stacksize);
如果我直接从shell运行这个程序,它给出的值大约是10MB。但是当我从一个属于多线程程序的线程执行它时,它给出了一个大约2MB的值
因此,我想知道哪些因素会影响从某个父进程派生的fork和exec-ed进程的堆栈大小。是否可以在运行时将父进程的堆栈大小设置为子进程之前的f
在bash中,当我回到历史中,编辑一些命令并运行它时,这个编辑过的命令被附加到历史中,原始命令保持不变。但偶尔我会设法影响原始命令,即我的编辑会替换历史上的原始命令。我不知道这是怎么发生的
有人能解释一下吗?我的目标是避免这种情况,因此对以前命令的任何编辑都会被附加到历史记录中,并且永远不会替换原始命令。怎么办
echo $HISTCONTROL
echo $HISTIGNORE
给你什么
编辑:
通过以下步骤,我能够重现类似于您所看到的行为:
在shell提示下,输入:
echo abcd
我正在使用cat*.txt将多个txt文件合并为一个,但我需要每个文件位于单独的一行
将文件与出现在新行上的每个文件合并的最佳方法是什么?您可以使用for循环遍历每个文件:
for file in *.txt
do
cat "$file"
echo
done > newfile
for filename in *.txt; do
# each time through the loop, ${filename} will hold the name
# of th
问题:我收到此错误消息:
导出:错误的解释器:没有这样的文件或目录
执行此bash脚本时:
#!/bin/bash
MONO_PREFIX=/opt/mono-2.6
GNOME_PREFIX=/opt/gnome-2.6
export DYLD_LIBRARY_PATH=$MONO_PREFIX/lib:$DYLD_LIBRARY_PATH
export LD_LIBRARY_PATH=$MONO_PREFIX/lib:$LD_LIBRARY_PATH
export C_INCLUDE_PAT
标签: Linux
file-permissions
是否有Linux命令或一系列命令允许我获取八进制(例如0644)格式文件的权限?调用fstat在文件上,在返回的结构中以st_模式查看。来自:
命令是“stat”(命令行),您可以通过fstat获取代码中的信息(请参阅“man2stat”)Try stat(1)
对于OSX:
$ stat -f %p myfile
100644
或者通常您只对以下内容感兴趣:
$ stat -f %Lp myfile
644
这要简洁得多,+1。为了不包括前导的zero:stat-c%a/etc/passw
这段来自linux的代码打算做什么?我如何以批处理文件格式编写相同的代码来完成相同的任务
create_db() {
echo -e "\nRe-creating database [$DB] . . .\n"
apps_id=`db2 list applications | grep $DB | cut -c25-30`
for i in $apps_id
do
db2 "force applications ($i)"
done
sleep 3
db2
我想从linux上的USB MIDI控制器读取MIDI输入。
我在这里找到了这组库,但我不知道它是否支持USB MIDI设备(要到下个月才能测试,还没有硬件)。
有没有人对MIDIO有一定的经验,或者,有没有人可以推荐另一个专门支持USB设备的文档化MIDI库
谢谢 看起来MIDIO可以在Linux下使用ALSA,所以我敢猜测,如果MIDI设备得到ALSA的支持,它将工作。看起来MIDIO可以在Linux下使用ALSA,所以我敢猜测,如果MIDI设备得到ALSA的支持,它将工作
嗨,Stackoverflow社区
我正在设计的shell脚本在这里面临一个问题
#!/bin/sh
while :
do
clear
echo "-----------------------------
-----------"
echo "***************Main Menu****************"
echo "----------------------------------------"
echo "1. Backup Word Document"
echo "
添加apt存储库ppa:ferramroberto/java,当我在bash脚本中提到它时,它会提示类似下面的命令
更多信息:
按[ENTER]继续,或按ctrl-c取消添加
如何为此编写脚本而不提示我们使用“-y”
echo | add-apt-repository ppa:ferramroberto/java
使用“-y”
在添加到存储库之前,它将提示。如何在将脚本添加到将提示的存储库之前编写脚本而不提示我们。如何在没有及时回答的情况下编写脚本,但问题不好。@Grant Garrison谢
我正在尝试从makefile运行服务器和客户端:
目标:
./server&
./client
问题是server&永远不会返回控件,即使我假设它应该在后台运行。它一直侦听从未调用的客户机,因为makefile似乎无法从服务器获取控制权。我怎样才能解决这个问题?。没有写入任何其他目标或脚本?server在后台运行。您可以使用命令fg将其置于前台。然后用Ctrl-C杀死它
或者这种方法:killall server您应该能够通过在一行上组合命令来实现这一点:
target:
我想从svn存储库中获取日志。现在,我可以通过两种方式来实现这一点,创建一个本地存储库并从那里获取svn日志。或者,第二,从DAV/HTTP服务的svn存储库中获取它
有没有办法直接从存储库文件夹获取svn日志?(里面有conf、db、gooks等的那个?)。如果我这样做
svn log <repodir>
我只得到一个空行作为回报
谢谢
有没有办法直接从存储库文件夹获取svn日志
使用文件:///协议
svn日志file:///D:/Repositories/HelloD:/Re
我已经在我的项目中使用Qt开发了一段时间,我们开始转向更面向线程的设计。在将一些GL渲染小部件移动到其他线程时,我发现了一些非常奇怪的行为。如果GL小部件在接受用户输入(如QTextEdit)的小部件获取焦点之前从另一个线程(boost线程或QThread)开始更新,则会出现如下XCB崩溃:
[xcb] Too much data requested from _XRead
[xcb] This is most likely caused by a broken X extension libr
我正在我的网站上测试一些文件类型识别,如果用户上传一个.txt文件,它会加载一个txt图标,如果他上传一个.jpg文件,它会加载另一个图标
我不想上传真正的wmv、avi、mp3、mp4和任何其他大文件,所以我在想:有没有一种方法可以用任何文件类型创建一个1KB的假文件
我使用的是Linux,所以更改文件扩展名显然不起作用。对于文本文件,touch会起作用。您可能希望通过解析文件扩展名来区分纯文本和(例如)C源代码
ImageMagick可以使用以下方法创建各种图像文件格式:
convert -
我正在linux计算机和另一台计算机之间建立连接以运行我的脚本。但是,一旦我关闭窗口,连接就会断开。在关闭窗口后,我应该如何使此连接继续。由于多个用户在另一台计算机上执行脚本,因此很难在每个用户之间建立连接时间..欢迎任何建议
我在命令行中编写的用于建立连接的命令是
java -jar /home/**/workspace/cli.jar -s https://******
-i /home/**/.ssh/id_rsa -description TESTS
-
我有一个文件夹,其中包含在计算机之间同步的文件。文件从计算机A上传后,我想将它们从计算机B的Dropbox文件夹复制到另一个文件夹。如何检测Dropbox文件夹何时更新?我可以定期检查Dropbox文件夹,但可能有更优雅的解决方案?签出,或者,一旦脚本检测到文件夹中的更改,您可以使用此工具之一运行脚本。如果选择incrond,则可以运行incrontab-e并添加如下内容:
/path/to/watched/dir IN_CLOSE_WRITE,IN_CREATE,IN_DELETE /path
几个月来,我一直在使用它作为公司SVN存储库的接口
然而,大约一周前,我的公司改变了他们的政策,只有通过Cisco VPN连接才能访问SVN
我在LinuxMintVM上连接到VPN没有问题(这是我编写代码的地方),但现在当我运行git svn dcommit以签入代码更改时,我不再能够通过身份验证
我试过:
rm-rf~/.subversion,以除去任何已保存的SVN身份验证凭据并强制其使用新凭据,但这似乎没有任何效果,也不会提示我输入新凭据,令人惊讶
在新创建的目录中启动并运行git s
我计划将ASP.NETMVC网站转换为ServiceStackRazor,目的是将其托管在Linux服务器上
为站点的静态内容提供服务的最佳解决方案是什么?Nginx背后的自托管守护进程可以吗,还是应该直接使用Nginx来提供服务?使用Mono FastCGI有哪些优点/缺点?如果您有机会使用nginx提供静态文件,这将始终是最有效的选择
这也是他们的很多事情。我同意Mythz,也这样做,但是你也应该考虑允许缓存这些静态文件来加速浏览你的客户端,减少你的服务器上的负载。
在我的nginx配置中,
我正在对各种Linux发行版进行分析。我想在以下场景中衡量Linux发行版的性能
1) 高CPU利用率
2) 高内存利用率
3) 高IO利用率
4) 高CPU IO等待
我想写C程序来实现每个场景,这样我就可以
单独或组合运行这些程序以测量性能。
我编写了一些示例c程序来加载CPU,但我需要c程序来处理其他场景。
任何编程帮助都将不胜感激
我正在对各种Linux发行版进行分析
除非您对所做的事情非常小心,否则您不可能以有意义的方式发现内核版本和发行版之间细微的性能差异。从仅仅运行程序的级别来看,
我编写了一个bash脚本,它将输入文件作为参数并读取它。
此文件包含指向所用其他文件的一些路径(相对于其位置)
我希望脚本转到包含输入文件的文件夹,以执行进一步的命令
因此,如何从输入文件中获取文件夹(以及仅获取文件夹?(在linux中)。要获取完整路径,请使用:
readlink -f relative/path/to/file
要获取文件的目录,请执行以下操作:
dirname relative/path/to/file
您还可以将这两者结合起来:
dirname $(readlink
我有一个文件,其中包含一行脚本((a:uuuuuuuuuuuuuuu,B:uuuuuuuuuuuuuuuuuuu,C:uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
我还有另外六个文本文件,每个文件包含500个随机数。我需要将这些随机数添加到第一个文件的空白处
也就是说,如果t1、t2、t3、t4、t5、t6是六个文件,那么它们的编号如下
t1 t2 t3 t4 t5 t6
2 32 34 213 23 5
因此,我的问题是,如果给定linux用户名和密码,我如何测试它是否是有效帐户?您可以使用影子文件验证给定密码对于给定用户名是否正确
在大多数现代发行版中,哈希密码存储在shadow文件/etc/shadow中(只有root用户才能读取)。作为root用户,从给定用户的阴影文件中提取行,如下所示:
cat /etc/shadow | grep username
您将看到如下内容:
username:$1$TrOIigLp$PUHL00kS5UY3CMVaiC0/g0:15020:0:99999:
我有许多打开的终端。现在我想设置一个环境变量,并希望该环境变量能够在所有打开的终端中生效(不需要退出shell并再次登录或任何其他额外命令(如source)使其生效)而不仅仅是设置环境变量的终端。
有什么想法吗?这取决于您使用的外壳类型。例如,在bash中,您可以
创建一个包含设置的文件~/.env
在~/.bashrc中,告诉每个终端在每次提示时获取文件源:
PROMPT_COMMAND='. ~/.env'
如果更改.env文件(例如,尝试echo TEST=1>~/.env),则在使
我在编译内核时遇到了这个错误
scripts/Makefile.build:44:/usr/src/linux-2.6.34.13/block/cmps/Makefile:没有这样的文件或目录
make[1]:*没有规则使目标“/usr/src/linux-2.6.34.13/block/cmps/Makefile”。停止
make::[block/cmps]错误2
尽管我在任何时候都没有在文件夹块中创建或尝试创建一个名为cmps的文件夹。我在以下目录/usr/src/linux-2.6.34.
通常,当我重定向从C Shell脚本运行的程序的输出时,或&都可以工作,但在CentOS v.2.16.0 5.8版(最终版)Gnome desktop中,基本输出重定向不起作用
当我尝试在我的C shell脚本中使用或>&将程序输出重定向到文本/日志文件时,我得到了一个空(空白)日志文件。是否有某种缓冲正在进行,或者为什么在我的C Shell脚本中使用它时它不起作用
作为记录,&在命令提示符/控制台上运行良好,但同样的语法在我的C Shell脚本中不起作用。有什么解决办法吗?我已经尝试了cat
在linux环境中部署nmon时,我尝试使用自己的脚本运行nmon时遇到问题
基于这个脚本,我需要执行命令“test.sh25”,变量由值2和5表示
#!/bin/bash
#sh test.sh variable1 variable2
./nmon -f -s$1 -c $2
total=$(( $1 * $2 ))
echo "------------------------------------------------"
echo -e "Providing $2 snapshots w
我必须scpa文件夹到AWS EC2。我的服务器运行的是Ubuntu 13.10服务器版。我正在使用以下命令:tylerschade@ubuntu:~/.ssh$scp-vr{key_file}{file}ubuntu@{ip}:~/{要进入的文件}。它通过大量日志记录进行响应,我已将问题隔离到以下几行:
debug1: Trying private key: /home/tylerschade/.ssh/id_rsa
debug1: Trying private key: /home/tyle
然而,我交叉编译了ARM内核而不是ARMHF(用于我的Cubietruck)。我遵循了本教程:
如何确定交叉编译的体系结构?在编译内核时,请在以下内容中提及编译的体系结构:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- EXTRAVERSION=-custom1 uImage
例如,这里是ARCH=arm,因此您正在为arm编译,如果它是x86,那么您将用x86替换它。检查目标板的架构
编辑:gnueabihf是用于armhf的。编译内核时
我想在第一个卸载程序完成的基础上卸载两个软件。也就是说,在完成第一个卸载程序之前,我不想启动第二个卸载程序
有谁能建议我如何实现这种情况吗
这就是我现在遵循的
卸载。sh:
if [ $exitval -eq 0 ] then
./uninstall1.sh
else
echo uninstall1.sh else loop
fi
result=$?
if [ $result -eq 0 ]
./uninstall2.sh
else
echo uninsta
我想知道你是否能帮我解决一个问题:
在python中,我一直试图将'>'赋予subprocess.Popen([])或subprocess.call([]),但不知何故它改变了在终端中输入它的方式。举个例子
终端命令:
iperf -s -u -y C > data.csv
Python代码:
import subprocess as sub
sub.Popen(['iperf', '-s', '-u', '-y', 'C', '>', 'data.csv'])
或
当我在终端
我对编写性能分析器感兴趣(只是为了好玩)。我希望跟踪Linux中的上下文切换,以便记录线程中的上下文切换和上下文切换之间的时间(属于正在分析的进程)。除了时间之外,我还想记录相关的调用堆栈(如果它们与以前记录的堆栈不同)
另外,我想知道在Linux上是否有类似于Windows的ETW的东西
PS:我试过在网上搜索,但找不到任何相关信息。这种方法似乎是使用基于计时器的信号,但我觉得这是不精确的。看一看(它在许多Linux发行版上都可用)。除其他外,它还可以使用仪器上下文切换,以便您可以获取该信息
正如本文所述,linux机器的内存最好是索引大小的1.5倍。因此,为了验证这一点,我尝试在不同的RAM分配卷中测试solr性能,并保持其他配置(即固态驱动器、8核处理器、64位)在这两种情况下相同
1) 最初,linux机器有32GB的RAm,我将其中的14GB分配给solr
export CATALINA_OPTS=“-Xms2048m-Xmx14336m-XX:+UseConMarkSweepGC-XX:+PrintGCApplicationStoppedTime-XX:+PrintGCD
标签: Linux
commandredhatsudo
当我更改$PATH时,sudo命令出现问题
问题:
-bash: id: command not found
-bash: tty: command not found
-bash: uname: command not found
[root@ol6 ~]# sudo
-bash: sudo: command not found
和echo$PATH
[root@ol6 ~]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/sb
我在Linux服务器上有magento网站(Varnish缓存),一些产品详细信息页面显示错误如下
错误503后端获取失败Guru冥想:XID:98757
我的网站IP是52.163.xxx.xx
请查找以下详细信息并帮助我解决此问题
/etc/default/varnish
DAEMON_OPTS="-a :8080 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
假设我们有一个bash脚本,如下所示:
echo test
ls -alh
pwd
echo test2
因此,文件上可以有任意数量的命令,每个命令生成或不生成自己的输出
然后,以如下方式运行上述文件/bin/bash-xe test.sh,将生成以下输出:
+ echo test
test
+ ls -alh
total 32
drwx------+ 6 daniels staff 204B Apr 3 23:33 .
drwxr-xr-x+ 64 daniels staff
我已经创建了一个脚本,使用我的Raspberry Pi Zero W和相机模块定期拍照。剧本很好,但我发现缺乏曝光。在阳光下,照片被冲掉或完全变成绿色
#!/bin/bash
COUNTER=$[$(cat /home/dacracot/pix/sequence) + 1]
SEQ=$(printf "%04d" $COUNTER)
echo $COUNTER > /home/dacracot/pix/sequence
raspistill -rot 90 -o /home/dacraco
我想根据所选grub菜单项执行不同的操作。为了实现这一点,我在/中创建了脚本script.sh,它应该写入/中的文件.txt
#!/bin/bash
echo "1" > /file.txt
并在内核行中添加init=/script.sh,编辑引导条目。这不起作用-关于只读文件系统和内核死机的通知。我还尝试在单独的分区上创建file.txt(在我的例子中是sda5)
但是,尽管文件被成功覆盖,我还是再次出现内核死机(内核死机-不同步:试图杀死init!exitcode=0
我对这个语句有问题,不知道为什么它不起作用,可能有语法问题,但不知道在哪里。脚本应该找到名为@tmp或带有点的数字的目录,找到匹配项后,删除它们。但这并没有发生
find /home/user/data/ -type d \( -name "*@tmp" -o -regex "[0-9\.\/]+" \) -exec rm -r {} \;
您正在寻找:
find . -type d \( -name '*@tmp*' -o -regex '.*/[0-9.]+' \) ...
@或t
我用awk和arp-scan命令制作了一个shell脚本来获取mac地址列表。我只想将mac地址剥离到最后4位,即(我只想打印字母yy)
尝试cut-d:-f5-
(选项含义:分隔符:和字段5及以上。)
编辑:或按要求在awk中编辑:
awk-F:'{print$5:“$6}”试试cut-d:-f5-
(选项含义:分隔符:和字段5及以上。)
编辑:或按要求在awk中编辑:
awk-F:'{print$5:“$6}”以下是一些
line=cx:bf:9c:a4:yy:yy
echo ${line:
我有以下文本文件:
ifile.txt
1.1 4.5
2.3 2.3
3.4 30.5
我想在开头添加一行(%file1),然后将其转换为.asc文件
我使用了以下命令:
(echo "%file1" ; cat ifile.txt) > ofile.asc
但结果如下:
ofile.asc
%file1
1.1 4.5^M
2.3 2.3^M
3.4 30.5^M
期望输出为:
ofile.asc
%file1
1.1 4.5
2.3 2.3
3.4 30.5
您可以使用tr
我有一个字符串“foo1.0_1.0”,我想根据第二个“.”后面的数字增加1,它可以是多个数字
以下是我的尝试:
str="foo1.0_1.0"
version="${str##*.}" # gives 0
new_version="$((version + 1))" # gives 1
echo "${str/${str##*.}/$new_version}" # gives foo1.1_1.0 (desired: foo1.0_1.1)
我对一些家庭作业有一个问题,所以基本上我们被要求创建一个bash脚本,它接受一个大于2的变量,并返回相同数量的斐波那契序列号,I.o。如果我给5,它将打印:
0 1 1 2 3
我做了一些研究,提出了一个独特的想法,我在网上什么地方都没见过(请记住我在python方面有一些经验),但我遇到了一个问题,所以基本上我在bash中使用了一个for表达式和两个变量来计算序列,我首先手动将它们设置为0和1(序列中的第一个和第二个数字)然后我将它们相加,同时更改它们的值
下面是代码:
#!/bin/bash
我已经使用Windows API在Windows中完成了事件订阅。因此,我必须在Linux中进行相同的事件订阅。但我没有得到任何与Linux中的事件订阅相关的数据。Linux真的支持事件订阅吗?你说的事件是什么意思?启动一个新进程、服务还是终止一个进程。像这样的事件
我是一名程序员。我使用GCC在Linux中编写C代码,它们可以正确运行。现在,我想使用Visual studio 2015在Windows系统中运行这些代码。但它总是显示一些错误和警告,如下所示:
1>f:\md\test_sm3_hmac_02\tools.h : warning C4819: The file contains a character that cannot be represented in the current code page (936). Save the
我有一个cron任务,它被设置为每天在低流量时间备份系统。但是,我需要一份月度报告来显示备份创建的时间以及备份是否成功。有人能帮我吗
我在虚拟机(虚拟机)中编译Linux内核,分配了4GB中的2个和8个CPU中的4个。我最初的编译大约花了8-9个小时,我也在使用make-j4优化。现在我向内核添加了一个简单的系统调用,只运行make-j4,它已经编译了3个小时了。我认为在初始编译之后,make只编译小的更改,但它似乎编译了所有内容(主要是驱动程序)。有什么方法可以加快这个编译过程吗
例如,我是否可以禁用一些我并不真正需要的驱动程序,例如,如果我只想实现一个简单的系统调用,我并不真正需要所有的网络驱动程序,也许这会加快速度?i、
我需要从一个特定的行grep文本
我不需要对整个文件进行grep,只需要一行
CATS\u COLOR\u TEST=$(grep FF0000“${STYLE\u FILENAME}”)
如何指定一行,例如,我需要31。您可以像这样使用单个awk:
CATS_COLOR_TEST=$(awk 'NR == 31 && /FF0000/' "$STYLE_FILENAME")
您可以像这样使用单awk:
CATS_COLOR_TEST=$(awk 'NR =
我发现如何通过这个执行机器代码,这很有趣。
但我想知道如何以C数组格式生成位置无关的代码数组
例如,我有一个函数
void fun(const char *ptr, int len)
{
//doing something, may call base C API, such as malloc/memset/printf
}
如何使用gcc或任何其他工具生成目标机器码数组?X86_64或arm64正常
当我克隆一个项目时,我立即执行了git status,一些文件显示为已编辑。
我用git diff.检查,所有编辑的文件都有相同的消息:“警告:CRLF将被LF替换”。
我甚至没有打开任何文件。
git签出。不起作用。
这怎么可能呢?在Linux新行标记上是\n,而在Windows上是\r\n,因此,当您克隆存储库时,操作系统会将\r\n更改为\n,您会看到差异ok,但在我同事的电脑上却没有发生这种情况:你是在Linux机器上,不是吗?(很难说,但你的标签中确实有,这在这里并不合适,但仍然是一个