Unix & Linux

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

3
根据文件的第5列值过滤.CSV文件,并将这些记录打印到新文件中
我有一个.CSV文件,格式如下: "column 1","column 2","column 3","column 4","column 5","column 6","column 7","column 8","column 9","column 10 "12310","42324564756","a simple string with a , comma","string with or, without commas","string 1","USD","12","70%","08/01/2013","" "23455","12312255564","string, with, multiple, commas","string with or, without commas","string 2","USD","433","70%","07/15/2013","" "23525","74535243123","string , with commas, and - hypens and: semicolans","string with or, without commas","string 1","CAND","744","70%","05/06/2013","" "46476","15467534544","lengthy string, with …
16 linux  sed  awk  csv  filter 

2
`adduser --disabled-login`有什么作用?
我要遵循的安装文档指示添加用户,如下所示: sudo adduser --disabled-login --gecos 'GitLab' git --disabled-login我搜索过的大多数手册页中都没有该标志。 我有两个用户,一个带有--disabled-login(foo),一个没有(git)。 据我所知,--disabled-login国旗没有任何作用。我仍然su可以同时向两个用户使用,并且都可以/bin/bash用作他们的登录外壳。 我唯一看到的区别是getent passwd禁用登录的用户的home文件夹之前有多余的逗号。有没有文件,我可以找到,表示什么这意味着。 root@gitlab:~# getent passwd git git:x:998:998:GitLab:/home/git:/bin/bash root@gitlab:~# getent passwd foo foo:x:1001:1002:GitLab,,,:/home/foo:/bin/bash 更新#1 我发现了另一个区别,一个用户*的密码为,另一个用户的密码为!: root@gitlab:~# getent shadow git git:*:15998:::::: root@gitlab:~# getent shadow foo foo:!:15998:0:99999:7::: --disabled-login在Ubuntu上到底能做什么?
16 useradd 

1
低级蓝牙实用程序
什么是Linux的蓝牙实用程序,可让我配对和取消配对设备,显示来自设备的消息,将消息发送到设备(希望使用文件系统完成!)并设置任何可用的标志? 我想到的应用程序是,我只想说10个微型蓝牙键盘,并映射每个键盘上的每个键以发送MIDI消息(显然,MIDI部分不是此OP的一部分)。
16 bluetooth 

4
我如何知道在Debian系统上是否“安装”了虚拟软件包?
有些包有一个Provides:标题。例如,postfixDebian Wheezy上的软件包具有Provides: mail-transport-agent。 mail-transport-agent物理上不存在的程序包被视为“虚拟”程序包。 在基于Debian的系统上,我如何知道某个给定的虚拟软件包是否已“安装”(或“提供”)?我可以列出每个“提供的”虚拟软件包吗? 提示:列出所有已安装或未安装的现有虚拟软件包,请执行以下操作:aptitude search "~v"

1
使用ProxyCommand和netcat模式时,让ssh从配置中解析主机名
我正在尝试设置一些通用选项来弹跳ssh连接。这是我的~/.ssh/config文件,简称: Host *%via ProxyCommand ssh gateway -W $(echo %h | cut -d%% -f1) %p Host gateway HostName gateway.example.com User username ForwardAgent yes IdentityFile keypathg Host target User username HostName target.example.com IdentityFile keypatht 当我利用*%via利用Host别名,我得到: % ssh -vvv target%via OpenSSH_5.9p1, OpenSSL 0.9.8y 5 Feb 2013 debug1: Reading configuration data /Users/myuser/.ssh/config debug1: /Users/myuser/.ssh/config …
16 ssh  proxy 

3
在Linux中等待命令使用?
#!/bin/bash function back() { sleep $1 exit $2 } back $1 $2 & b=$! if `wait $!`;then echo success else echo failure fi bash-3.00# ./back 300 0 failure bash-3.00# ./back 300 1 failure success当我发送0时,我原以为退出状态,但是我仍在failure。 另外,wait请勿等待300秒。相反,我立即收到消息。我认为这$!是$$我脚本中的直接子代。是不是 是否可以捕获wait like的退出状态exit_status=$(wait $!)? if ! ((exit_status));then echo sucess else failure fi

5
ssh_config:指定登录后要在远程计算机上执行的命令
这是我先前问题的扩展。ssh登录后,我需要在远程计算机上运行本地存储的命令(即mount /home)。目前,我正在使用: ssh -t mymachine.example.com 'mount /home ; /bin/bash' 可以正常运行,但是我想知道是否可以将此命令放入我的命令中,.ssh/config从而不必每次都键入它。我找到了一个LocalCommand选项,但没有任何RemoteCommand选择。 导入并将command-to-be-executed其存储在本地计算机上,因为它将包含打开加密磁盘的密码。这就是为什么我无法将命令放入.profile远程计算机的原因。
16 ssh 



1
Linux作为具有多个Internet提供商的路由器
Linux作为路由器:我有3个Internet提供商,每个提供商都有自己的调制解调器。 Provider1,网关地址为192.168.1.1, 已连接到Linux路由器eth1 / 192.168.1.2 Provider2,网关地址192.168.2.1 已连接到Linux路由器eth2 / 192.168.2.2 Provider3,网关地址192.168.3.1 已连接到Linux路由器eth3 / 192.168.3.2 ________ +------------+ / | | | +----------------------+ Provider 1 +--------| __ |192.168.1.2 |192.168.1.1 | / ___/ \_ +------+-------+ +------------+ | _/ \__ | eth1 | +------------+ / / \ eth0| |192.168.2.2 | | | |Client network -----+ …

2
如何检测磁盘是否正在寻找?
我可以使用多种工具来衡量当前流经系统的磁盘I / O的数量(例如iotop和iostat),但我很好奇是否可以轻松地检测到磁盘是否只需要少量的磁盘就寻找了很多东西。 I / O。 我知道;可以使用提取此信息blktrace,然后使用对其进行解码,btt但是这些操作有些笨拙,我希望有一个更简单的替代方法?
16 linux  disk  measure 

2
grep:显示一次文件名,然后显示带有行号的上下文
我们的源代码中遍布错误代码。使用grep可以很容易地找到它们,但是我想要一个find_code可以执行的bash函数(例如find_code ####),它将提供以下内容的输出: /home/user/path/to/source.c 85 imagine this is code 86 this is more code 87 { 88 nicely indented 89 errorCode = 1111 90 that's the line that matched! 91 ok this block is ending 92 } 93 } 这是我目前拥有的: find_code() { # "= " included to avoid matching unrelated number …

3
如何从头开始创建格式化的分区映像文件?
我需要创建一个只有一个分区的文件系统(无内容)(/dev/zero)。我尝试了以下命令序列: dd if=/dev/zero of=mountedImage.img bs=512 count=131072 fdisk mountedImage.img n p 2048 131072 基本上,我需要创建一个用零填充的64MB图像文件。然后,我使用fdisk一个新分区为新文件系统(最终应为FAT32)添加一个新分区,该分区从扇区开始2048并使用所有剩余的扇区。 losetup /dev/loop1 mountedImage.img mkfs -t vfat /dev/loop1 但是在这里我遇到了问题。如果我使用设置loop设备并对其进行格式化mkfs -t vfat,则会覆盖分区表,并将文件系统(FAT32)放置到磁盘上。我不需要使用FAT32格式化的整个磁盘,只需要我的主分区即可。 有人知道如何格式化原始磁盘映像的一个分区,而不是整个映像吗?



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.