Unix & Linux

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

3
Bash脚本;优化加工速度
我想知道是否有优化Bash脚本的一般准则。 例如,写循环比命令行更方便,但是系统处理起来也更快吗?例: for i in a b c; do echo $i; done echo a echo b echo c 有时人们针对同一问题提出不同的解决方案。例如,sed,cut,awk,和echo都能够从一个字符串中去除数字。我想知道您是否可以说数字位数越少,使用的速度就越快: 相同的命令,例如 STRING=abc.def echo ${STRING} | sed 's/.def//g' echo ${STRING} | sed '$s/....$//' 不同的命令,例如 STRING=abc.def echo ${STRING} | cut -d . -f 1 echo ${STRING} | sed 's/.def//g'

3
删除键在命令行上不起作用
**注意:我在SuperUser上问了同样的问题,但没有得到任何回应。我现在意识到这是一个针对此特定问题的更合适的论坛。* 在ksh shell中,Delete键在命令行上无法正常工作。当我按Delete时,我得到〜。 我如何能: 是否将“删除光标处的字符”功能绑定 到“删除键盘”按钮?(Control-D的行为类似于我期望的“删除”按钮,并且我尝试使用别名的尝试均未成功且可能很幼稚。) 将“ 移至行首 ”功能绑定到主键盘按钮?(控件A现在正在执行此操作,但我希望Home可以执行此操作。) 将“ 移至行尾 ”功能绑定到“结束 ”键盘按钮?(控件E现在执行此操作,但我想结束此操作。) 最终更新? 我偶然发现了一些行之有效的方法,但我不十分清楚为什么。这有效: bind '^[[3'=prefix-2 bind '^[[3~'=delete-char-forward 根据http://www.qnx.com/developers/docs/6.3.2/neutrino/utilities/k/ksh.html#bind, prefix-2 Key binding: ^X, ^[[ Introduces a 2-character command sequence. 所以我更新的问题是为什么我需要为此使用prefix-2?请为我翻译,以便我能理解,因此我不必再为此烦人了。 旧工作流程 更新 事实证明QNX中的ESC是^[。使用命令,bind '^[[3~'='delete-char-backward'我能够使光标用覆盖光标下的字符~。至少这是一些进步-我现在知道如何为Shell 拼写Delete Key。我在网上看到的大多数内容都说Delete键是^?,但是这似乎对我不起作用。另外,我要提一下我正在通过PuTTy访问此文件。 我不明白,因为Control D会执行我希望删除键执行的操作。我试图eot-or-delete再次将其绑定无济于事。 这应该很简单,对吧? 更新2: bind | grep prefix ^X = prefix-2 ^[ = …

1
声卡和HDMI都使用Intel HDA驱动程序时,声音不起作用。如何交换设备加载顺序?
我有一台Acer Aspire One 522上网本,其中有一个基于Conexant CX20584芯片组的Intel HDA声卡。尽管KDE在启动时确实会输出声音,但是Flash和其他可能寻找/dev/dsp设备的其他应用程序却无法通过它输出声音,从而带来了几乎无用的多媒体体验。 当我使用来检查我的ALSA播放设备时aplay -l,我可以看到主要音频设备被识别为卡1而不是0,而卡已被连接到HDMI: **** List of PLAYBACK Hardware Devices **** card 0: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: SB [HDA ATI SB], device 0: CONEXANT Analog [CONEXANT Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 …

4
Gedit无法保存在共享文件夹(Virtualbox)中
当我尝试使用Virtualbox(Debian)保存在共享文件夹中时,我在Gedit 2中收到“无法保存_意外错误:重命名临时文件时出错:文本文件忙”。我进行了搜索,显然这是Gedit问题。这些解决方案都不适合我。 是否可以创建一个Shell脚本(外部工具插件),将文件保存在其他位置,然后将其复制回Shell?因此,无论Gedit将临时文件(实时文件)存储在哪里,我都需要抓住它。 还是如果这不可能/行不通/不好的做法,有谁知道解决这个问题的好方法?我真的很喜欢Gedit,并且更喜欢使用它。 目前,这是我的脚本。我告诉外部工具不要保存而是将文档作为输入(stdin) bin="" while read LINE; do echo ${LINE} # do something with it here bin="${bin}${LINE}\n" done echo $bin > /home/me/data2/test.txt 它可以正常工作,但不保留选项卡。我只编辑纯文本文件。编辑:这似乎也跳过了最后一行


2
如何设置音乐文件的元数据?
在Windows中,音乐文件具有与他们相关的元数据,例如艺术家名称,专辑名称。该元数据如何存储。它是否像其他文件属性一样存储在文件系统中,还是Windows资源管理器使用MP3阅读器插件提取的MP3数据的一部分? 是否可以在Linux中读取/更改此信息?命令行可能吗? (我知道可以使用Rhythymbox或某些音乐播放器来设置这些属性,但我很好奇它们是否也可以直接设置。就像在Windows中一样,如果右键单击文件并打开属性对话框,则Windows本身会显示艺术家信息)
10 files  media  music 


4
百胜和推荐/建议的套餐
我想在我的Fedora系统上安装一个软件包,但是它有很多不合理的依赖项(我知道确实不需要它们)。 我曾经在Debian上工作,apt-get允许您系统地排除推荐和建议的软件包,仅安装严格要求的依赖项。 有没有办法做到百胜?
10 apt  yum  dependencies 

4
如何在Linux中为用户分配初始密码/默认密码?
我找到了说明如何设置用户密码的指南。我正在尝试使其自动化并向用户发送电子邮件,例如: userid created with password XYZ. request to change the initial password. 根据上面的文档,需要使用Python创建加密的密码,并将其输入以下usermod命令: usermod -p "<encrypted-password>" <username> 还有其他更简单的方法吗?我不想下载任何特殊的实用程序来执行此操作;应该尽可能地概括。 编辑:甚至上面链接中给定的方法似乎不适用于我: bash-3.00# python Python 2.4.6 (#1, Dec 13 2009, 23:43:51) [C] on sunos5 Type "help", "copyright", "credits" or "license" for more information. >>> import crypt; print crypt.crypt("<password>","<salt>") <sOMrcxm7pCPI >>> ^D bash-3.00# useradd …

2
在vconsole.conf中设置控制台字体无效(系统)
我正在尝试为新的Arch Linux安装(使用systemd)设置不同的默认控制台字体。 设置我vconsole.conf在/etc为这样: KEYMAP=us FONT=Lat2-Terminus16 我重新启动后,看到我新设置的控制台字体出现,只是在登录提示之前将其重置。 注意事项: 运行/usr/lib/systemd/systemd-vconsole-setup手动工作正常 systemctl status systemd-vconsole-setup.service 告诉我它已加载并且“活动(退出)” 我确实包括了consolefont挂钩mkinitcpio.conf

1
为什么“点”文件的大小为“。” 超过4096?
今天,我发现了一个4MB大小的“空”目录。 它没有可见的内容,所以我尝试了ls -lah。这向我显示了一些隐藏文件(不是很大)。在搜索目录如此大的原因时,我发现点文件(.)的大小为3.9MB。 什么存储在该文件中?这不仅是指向同一目录的链接吗? 这是外壳程序输出(匿名): -bash# more /proc/version Linux version 2.6.18-8.1.15.el5 (mockbuild@builder6.centos.org) (gcc version 4.1.1 20070105 (Red Hat 4.1.1-52)) #1 SMP Mon Oct 22 08:32:04 EDT 2007 -bash# pwd /data/foo/bar/tmp -bash# ls -lah total 4.1M drwxrwxrwx 3 nobody nobody 3.9M Nov 21 10:02 . drwxrwxrwx 16 nobody nobody 4.0K Aug …

1
跟踪Linux中“丢失”的内存使用情况
在Arch 3.6.7 x86_64内核上,我试图说明系统的内存使用情况,我看得越多,似乎就越有漏洞(在使用内存的核算中,不存在漏洞)。的用法)。 这是一个新启动的系统。除了systemd和sshd之外,没有太多的运行可以保持简单 $ ps aux | sort -n -k6 ... root 316 0.0 0.0 7884 812 tty1 Ss+ 14:37 0:00 /sbin/agetty --noclear tty1 38400 matt 682 0.0 0.0 24528 820 pts/0 S+ 15:09 0:00 sort -n -k6 dbus 309 0.0 0.0 17280 1284 ? Ss 14:37 0:00 /usr/bin/dbus-daemon …

1
了解长时间运行进程的ps经过时间格式
我在ps练习中使用命令来识别运行时间超过给定阈值的进程。 我正在使用以下模板来获取已知流程命令的经过时间: ps -eo etime,command | grep <something to identify a process> | grep -v grep | awk '{print $1}' 我注意到,对于运行时间较短的进程,etime(经过的时间)值采用格式minutes:seconds,因此,我可以轻松地确定进程运行了多长时间。 对于运行时间非常长的进程(几天之久),我不了解其格式。 我有一个MySQL服务器进程,htop显示已运行126个小时。 执行ps -eo etime,command | grep mysql | grep -v grep | awk '{print $1}'给出的值为9-03:35:32。 我最好的猜测是,这意味着9个小时,3小时35分钟32秒。我不知道9的单位是多少。 该过程已运行126个小时,约5.25天。这表明以上输出中的9不代表天。他们也不可以是半天,因为(9 * 12)小时+ 3小时+ 35分钟+ 32秒少于5天。 如何解释长时间运行的进程所经过的时间值?以上输出中的9伴随什么单位?
10 process  time  ps 


1
您如何增加MAXSYMLINKS
在python脚本中,我正在创建一堆链接在一起的符号链接。 例如:link1-> link2-> link3-> .......-> somefile.txt 我想知道如何将符号链接的最大数量更改为大于20?
10 linux  symlink  limit 

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.