Unix & Linux

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

3
case +如何在大小写语法中实现等于或小于或等于
我的目标是使用(仅使用case+ esac)验证数字范围,然后打印该范围。因此,例如: 如果数字介于0到80之间,请打印 >=0<=80 如果数字介于81到100之间,则打印 >=81<=100 等等 >=0<=90仅当数字介于0和9之间时,下面的脚本问题才会打印。如何修复脚本,以便根据数字范围打印正确的输出? #!/bin/ksh read number case $number in [0-80]) echo ">=0<=80";; [81-100]) echo ">=81<=100";; [101-120]) echo ">=101<=120";; [121-300]) echo ">=121<=300";; esac

4
如何在给定文件(多个)中删除行尾的空白?
我已经厌倦了源文件中无用的空间,甚至已经配置了vim来显示它们。 问题是我经常(如果不是总是)不得不与我的同伴开发人员一起处理无用的空间。 我只想扫描源文件(使用正则表达式)并从所有给定文件中删除空格。 我已经在网上搜索(“删除空格删除”等),但找不到有用的东西。

3
如何比较不同行中具有相同数据的两个xml文件?
我有两个文件具有相同的数据,但行不同。 文件1: <Identities> <Identity> <Id>048206031415072010Comcast.USR8JR</Id> <UID>ccp_test_79</UID> <DisplayName>JOSH CCP</DisplayName> <FirstName>JOSH</FirstName> <LastName>CCP</LastName> <Role>P</Role> <LoginStatus>C</LoginStatus> </Identity> <Identity> <Id>089612381523032011Comcast.USR1JR</Id> <UID>94701_account1</UID> <DisplayName>account1</DisplayName> <FirstName>account1</FirstName> <LastName>94701</LastName> <Role>S</Role> <LoginStatus>C</LoginStatus> </Identity> </Identities> 文件2: <Identities> <Identity> <Id>089612381523032011Comcast.USR1JR</Id> <UID>94701_account1</UID> <DisplayName>account1</DisplayName> <FirstName>account1</FirstName> <LastName>94701</LastName> <Role>S</Role> <LoginStatus>C</LoginStatus> </Identity> <Identity> <Id>048206031415072010Comcast.USR8JR</Id> <UID>ccp_test_79</UID> <DisplayName>JOSH CCP</DisplayName> <FirstName>JOSH</FirstName> <LastName>CCP</LastName> <Role>P</Role> <LoginStatus>C</LoginStatus> </Identity> </Identities> 如果我使用diff file1 file2命令,则会得到以下响应: 1,10d0 < …

1
tmux状态行顶部有空白行?
我有一个不错的tmux状态行,但是我不喜欢bash / command沿它顺畅运行。也就是说,如果屏幕已满,我将在状态行上方输入内容。 我希望在其上方插入一个换行符,这样我输入的内容就不会“触及”状态行。有什么办法吗? 例: 假设我的终端窗口很小,只有两行 bash>$ (cursor) 1: bash* 2: bash- 3: vim- 我将如何获得空白行以将状态栏与提示分开,例如: bash>$ (cursor) 1: bash* 2: bash- 3: vim-
9 terminal  tmux 


4
如何将btrfs文件系统克隆到其他介质中以保留快照的共享数据
我决定尝试btrfs突袭功能。我建立了一个btrfs sudo mkfs.btrfs -m raid10 -d raid10 /dev/sda9 /dev/sdb9 /dev/sdc9 /dev/sdd9 现在,我要克隆我现有的btrfs分区(位于linux-raid之上)。不能使用简单的cp -a,因为有40多个基于快照的备份(我希望保留这些备份),而我只会多次填满我可以多次备份的所有存储。 到目前为止,我可以看到两个选择: partclone.btrfs -s /path/to/original/fs -o /dev/sda9 -b 我想我也需要 btrfs balance start /dev/sda9 和 做到:cp -a尽可能多地增量复制到存储中,然后用于bedup对文件进行重复数据删除并循环。 什么是首选(即最佳实践)方法?我更喜欢第一个。它应该花费更少的时间。也许在任何此过程中都有一些邪恶的“陷阱”(当然,除了btrfs是试验性的事实之外) 第一个问题完全是不可能的。无论partclone.btrfs是多么棒的工具,它显然都不支持多设备文件系统。:-(
9 backup  btrfs 



3
主管不起作用
金田震惊了主管。我得到这个错误 unix:///var/run/supervisor.sock no such file 令人震惊的是文件在那里!我正在ec2上的ubuntu上运行。我也很讨厌将chmod设置为0777。 [supervisord] logfile=/var/log/supervisord.log ; (main log file;default $CWD/supervisord.log) logfile_maxbytes=50MB ; (max main logfile bytes b4 rotation;default 50MB) logfile_backups=10 ; (num of main logfile rotation backups;default 10) loglevel=debug ; (log level;default info; others: debug,warn,trace) pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid) nodaemon=false ; (start in foreground if true;default …

1
仅针对一个用户的更新替代
我正在使用共享服务器。在该服务器上安装了不同版本的Java: Selection Path Priority Status ------------------------------------------------------------ 0 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 auto mode * 1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 manual mode 2 /usr/lib/jvm/java-6-sun/jre/bin/java 63 manual mode 我想选择“第二个”选项,但是如果尝试这样做,它会抱怨我没有权限(我不是root用户)。 有没有办法在“用户空间”中做到这一点? Root用户能否使此首选项仅对我有效?

2
如何更改语言环境/编码,以避免在终端中出现奇怪的字符?
tree当我从Putty连接到ubuntu盒子并启动时,我已经安装了它tree: $ tree âââ html.vim -> xml.vim âââ js.vim -> xml.vim âââ xml.vim 代替这个: $ tree --charset=ANSII |-- html.vim -> xml.vim |-- js.vim -> xml.vim `-- xml.vim 例如,当我列出来自npm(的软件包管理器nodejs)的软件包时,我也会遇到此问题 $ npm list /home/monkey/scripts/chatter ââ⏠express@3.0.6 â âââ buffer-crc32@0.1.1 â âââ commander@0.6.1 â ââ⏠connect@2.7.2 â â âââ bytes@0.1.0 我该如何更改(从Putty或linux box)?

4
Unix文件系统结构的优点是什么
如果我在Linux(例如Debian / Gnu Linux)中安装应用程序,则该应用程序的文件将复制到文件系统中的许多不同目录中。 一些脚本进入/ usr / share .. / usr / local,另一些文件进入/ var .. / log .. etc /,依此类推。 对我而言,这是可以的,因为我了解了一些有关文件系统的知识,并且大多数目录都在其中存放文件以用于特定目的。这非常适合Unix哲学中的“一件事做好”。 但是我的问题是这种目录结构的优点是什么?还是仅仅是Unix时代的遗产。(例如,与使用Windows的情况相比,一个应用程序的所有文件都在一个特定的“文件夹”中)

2
我在Arch Linux中弄乱了系统时钟
我几天前安装了Arch。刚意识到日期/时间相差一天零一个小时。 我使用进行了更改timedatectl set-time。然后用来hwclock --systohc设置硬件时钟。之后,由于https证书错误,我无法进入某些网站,例如Gmail。我尝试更改时间,但没有成功。 我重新启动,然后遇到了问题,因为分区在不同的时间挂载,因此我fsck /dev/sda在分区上使用后可以启动。现在时钟不是问题,但我确实需要检查我的邮件。我不得不使用Facebook登录到stackexchange 密码。 帮帮我? 这就是Gmail的错误页面所说的内容: 该服务器的安全证书尚未生效!您试图访问gmail.com,但是服务器出示的证书尚未生效。没有信息可用于指示该证书是否可以信任。Chromium无法可靠地保证您与gmail.com进行通信,而不是与攻击者进行通信。您计算机的时钟当前设置为2012年1月10日,星期二,12:14:47 PM。看起来正确吗?如果不是,则应更正系统时钟,然后刷新此页面。 您无法继续,因为网站运营商已要求为此域提高安全性。

2
将OpenWRT配置为转发器[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Unix&Linux Stack Exchange 的主题。 2年前关闭。 在家里,我想配置一个无线路由器作为WI-FI信号扩展器。由于我的主要路由器是基于OpenWrt的(Backfire 10.1.3),因此我想将其用于此目的。 我调查了这个问题,发现wifi接口设置中有“访问点(WDS)”选项可用。我认为这看起来很有希望,尤其是因为我也设法以这种模式配置了其他路由器。 但是,将该选项“打开”没有任何作用。我尝试将另一端(WDS客户端)的BSSID手动添加到/ etc / config / wireless,但是没有用。我仍然不知道在哪里配置要配对的网络的安全设置(我的网络已WPA2加密)。 即将成为WDS客户端的调制解调器未运行OpenWRT,并且无法在此处安装它,因此,我尝试使用其当前的操作系统。但是,主要问题仍然在于配置OpenWRT端。 有任何想法吗? 编辑:找到了两个链接: http : //wiki.openwrt.org/doc/recipes/atheroswds https://forum.openwrt.org/viewtopic.php?id=11849 第一个没有提供太多信息,第二个已经过时了。似乎不起作用:(
9 wifi  openwrt 

1
CentOS:避免ALT-F4切换到控制台
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Unix&Linux Stack Exchange 的主题。 3年前关闭。 至少每个Linux系统,我与使用的惯例工作切换到非图形控制台Ctrl- - Alt,-F1 - 等等。CtrlAltF2 最近,我在计算机上安装了CentOS 6.3。该安装是非定制的,并使用Gnome 2。 令我惊讶的是Alt- F4切换到控制台。Alt- F1然后将您带回XServer。如何将键绑定更改为Ctrl- Alt而不是简单Alt? 它似乎也绕过了Gnome的按键绑定。在Gnome中,我尝试将Alt- 定义F4为关闭窗口,但它不起作用,但仍切换到控制台。

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.