Unix & Linux

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

3
为什么在终端输出中看不到单位分隔符(ASCII 31)?
单位分隔符ASCII字符(ASCII 31,八进制37)在Vim中显示为^_。但是,如果我在终端上打印相同的文件,则该字符不可见。这会导致一行中的字段卡在一起: # In Vim and less: first field^_second field^_last field # cat the same file to terminal: cat delim.txt first fieldsecond fieldlast field # print 2nd field with awk cat delim.txt | awk 'BEGIN {FS = "\037"} {print $2}' second field 我想可以用cat -v使单元分隔符可见: cat -v delim.txt first field^_second field^_last …
17 terminal  ascii 

3
空投兼容
Linux中是否有任何东西可以实现使OS X中的Airdrop正常运行的功能?我对该程序不是很熟悉,所以我不确定它用于通信的协议。更新具体来说,我正在寻找一个程序,如果将其启动,我将能够像使用Airdrop一样接收和发送文件到OS X计算机。(这可能就像需要samba与Windows联网)
17 linux  networking  wifi 

3
“ eval”和“ source / dev / stdin”有什么区别?
在以下替代方案之间... 与eval。 comd="ls" eval "$comd" 与 source /dev/stdin printf "ls" | source /dev/stdin 与source /dev/stdin和( )或{ } ( printf "ls" ) | source /dev/stdin { printf "ls"; } | source /dev/stdin (当我们在printf中运行时{ },除了不使用subshel​​l之外,还有什么好处吗?) 它们之间有什么区别? 哪个是首选? 运行命令的首选方法是哪种?()还是{}?


9
一个bash函数像其他语言一样接受参数?
我有一个bash函数来设置$PATH这样- assign-path() { str=$1 # if the $PATH is empty, assign it directly. if [ -z $PATH ]; then PATH=$str; # if the $PATH does not contain the substring, append it with ':'. elif [[ $PATH != *$str* ]]; then PATH=$PATH:$str; fi } 但是问题是,我必须为不同的变量编写不同的函数(例如,为$CLASSPATHlike assign-classpath()等编写另一个函数)。我找不到将参数传递给bash函数的方法,这样我就可以通过引用来访问它。 如果我有类似的东西会更好- assign( bigstr, substr ) …
17 bash  bash-script 

3
如何使用`mv'强制覆盖非空目录
我想将一组文件/目录移动(而不是复制)到另一个目录,其中一些文件/目录的名称与目标目录中的文件/目录冲突。我的主要目标是移动文件,因此我可以忍受被覆盖的非空目录。 我目前正在使用mv ... destination,偶尔 mv:无法将“目标”移动到“ /目标/目标”:目录不为空 我尝试mv -f ... destination没有成功,并且由于我希望将文件从其原始位置删除,rsync因此似乎不合适。 另外,是否存在一个很好的解决方案,可以保留通过重命名以某种方式覆盖打算覆盖的文件?
17 files  rsync  rename 

1
是否保存setxkbmap设置?
我在将键盘设置设置为瑞典语时遇到麻烦,无法在树莓派上运行Raspbian。我已经尝试了一切,唯一有效的是命令setxkbmap se。 但这不会永久保存设置,并且重启后会恢复为默认设置。是否有命令永久保存这些设置?

3
如何停止sed添加额外的换行符
我正在运行以下2条sed命令。第一个在我想要的位置添加换行符,第二个在我想要的位置添加换行符,但是在文件的末尾还添加了一个额外的换行符,以前没有。 sed -e 's|\<LIST_G_STATEMENT>|&\ |g' ${XMLDIR}/statement_tmp_1.xml > ${XMLDIR}/statement_tmp_2.xml sed -e 's|\</LIST_G_STATEMENT>|&\ |g' ${XMLDIR}/statement_tmp_2.xml > ${XMLDIR}/statement_tmp_3.xml 使用od -c上的所有文件3给出了下面的输出。 statement_tmp_1.xml(\n文件末尾没有) 1314700 T A T E M E N T > < / L I S T _ 1314720 G _ S T A T E M E N T > < / …
17 sed 

3
lftp:登录,将文件放在远程目录中,然后在单个命令中退出:正确的引用帮助
我想用一次lftp -c完成一个整个会话(因为稍后我将从脚本中启动它),-e但我设法做到了,但是ofc却让我参与了我不想使用的交互式会话。 手动状态 -c commands Execute the given commands and exit. Commands can be separated with a semicolon, `&&' or `||'. Remember to quote the commands argument properly in the shell. This option must be used alone without other arguments. 但是我不明白我应该如何正确地将命令/交互引用和字符串在一起。 lftp -e "put -O remote/dir/ /local/file.txt" -u user,pass ftpsite.com …
17 shell  lftp 

2
ftp中的ls命令>不起作用!
我正在练习ftp,但遇到问题:ls命令在ftp>上不起作用。为什么?我在2台远程服务器上进行了检查,但是ls在其中任何一个上均不起作用,并且在执行ls时给出了不同的输出。请参阅下面的2个遥控器盒。 下面显示了我今天安装vsftpd的远程服务器。 ravbholua@ravbholua-Aspire-5315:~$ ftp rs Connected to ravi.com. 220 (vsFTPd 3.0.2) Name (rs:ravbholua): 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> pwd 257 "/home/ravbholua" ftp> ls 500 Illegal PORT command. ftp: bind: Address already in use ftp> …
17 vsftpd  pure-ftpd 

2
与cp从nfs-share复制文件到本地目录的cp相比,rsync非常慢(8到10倍)
我有一个全新安装的Ubuntu服务器,它应该是我们VM存储的新备份服务器。该服务器有4个网卡,其中2个为10Gbit(实际上是具有最新驱动程序的Intel x540-T2),用于连接到SAN。我将nfs共享安装在本地,并在复制包含约30个文件,约15个vm映像和相应日志文件的目录时比较了速度差异。映像的大小在8 GB到600 GB之间。 使用方法: cp -rf /mnt/nfs-share /backup-storage/ 因此,bmon的显示速度约为600 MiB / s。 使用 rsync -av /mnt/nfs-share /backup-storage/ bmon在最初的几秒钟内显示一些数据包,暂停约30秒钟,然后累积速度达到约60-75 MiB / s。CPU约为60%。 我应该/应该改变什么以使其rsync具有相同的性能cp?
17 ubuntu  rsync  performance  cp 

3
Debian默认安装了哪些软件包?该集有术语吗?为什么有些软件包是“自动安装”的,而有些却没有?
是否有术语指代Debian发行版自动安装的软件包的子集? 尽管它与软件包优先级有关,但事实并非如此,因为默认安装的软件包中有所有优先级的软件包。 而且,某些初始子集的程序包中的某些程序具有automatically installed标志,例如wireless-tools。因此,如果手动删除了初始子集的软件包(取决于它们),它们将被自动删除。我想知道,安装工具是否仅保留要考虑手动安装的软件包列表,并自动安装其依赖项? 回答前两个问题: 安装了核心的Debian实用程序后,Debian安装程序似乎会调用tasksel执行安装“任务”。其中典型的任务是“标准”任务和“笔记本电脑”任务。从 tasksel页面: “标准”任务 标准任务是Debian Installer使用的特殊任务。实际上,它取决于软件包的优先级。“标准系统”任务包括什么? tasksel --task-packages standard 这是一个智能搜索字符串,等于 aptitude search ~pstandard ~prequired ~pimportant -F%p 所以,tasksel安装standard,required和important包。 “笔记本电脑”任务 笔记本电脑任务是Debian安装程序使用的特殊任务,用于拉出笔记本电脑上有用的软件包: 无线工具 acpi支持 豆蔻 pi 申请人 Powertop 轻松的 apmd pcmciautils pm-utils 蟒蛇 可用自动 蓝牙 桌面 参见https://wiki.debian.org/DebianDesktop/Tasks

1
最小的MTA在本地传送邮件(对于cron)?
在笔记本电脑上,我设置了一个执行每周工作的cron。如果有什么要报告的,我想收到一封电子邮件。现在,我将KMail用作MUA,它能够从的Maildir目录中读取邮件~/.local/share/local-mail。因此,我希望将本地邮件传递到该文件夹​​(具有Maildir结构)。 我希望已经存在一个带有sendmail接口(echo "$REPORT" | mail -s "$SUBJECT" "$ME"可以使用它)的简单程序。安装exim或将邮件转发到我的远程邮件服务器被认为是多余的。 问题从服务器转发所有邮件的最简单方法?似乎是针对不适合我需求的远程转发(我需要本地递送)。这个旧的Gentoo线程最终导致在Perl中编写一个旧脚本。当然必须存在一个经过深思熟虑,简陋的程序吗? 有什么建议吗?我正在使用Arch Linux。

7
每行重复多次
希望文件中的每一行重复固定的次数。 例如,每行重复四次: a b c 变成: a a a a b b b b c c c c 我已经进行了一些搜索,沿着反向进行的过程中有很多问题和答案,例如,将重复的行合并为单行,也许还有一些关于通过再次打印将行加倍的问题。 在C语言中这样做很容易,但是我希望我对本机命令有更多的了解,因此我不必一直使用这种一次性的方法。

2
如何获得当前的终端名称?
如何获取当前的终端名称? 我的意思ps是TTY列中显示的名称,例如: root@dor-desktop:/home/dor/Documents/LAMP_setup/webs_install/do/install# ps aux | egrep 'mysql|(^USER)' USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND dor 2238 0.2 1.9 448052 79796 ? S 17:27 0:17 gedit /home/dor/Documents/LAMP_setup/webs_install/do/install/mysql.install /home/dor/Documents/LAMP_setup/webs_install/do/install/mysql.setup root 4975 0.1 0.5 324984 22876 ? S 18:12 0:04 gedit /usr/local/mysql/bin/mysqld_safe root 8160 0.0 0.0 4108 664 …
17 bash  terminal 

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.