Unix & Linux

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


4
恢复ext4超级块
最近,我的外部硬盘驱动器机箱发生故障(硬盘驱动器本身在另一个机箱中加电)。但是,结果是其EXT4文件系统似乎已损坏。 该驱动器具有单个分区,并使用GPT分区表(带有标签ears)。 fdisk -l /dev/sdb 显示: Device Boot Start End Blocks Id System /dev/sdb1 1 1953525167 976762583+ ee GPT testdisk 显示该分区是完整的: 1 P MS Data 2049 1953524952 1953522904 [ears] ...但是分区无法挂载: $ sudo mount /dev/sdb1 a mount: you must specify the filesystem type $ sudo mount -t ext4 /dev/sdb1 a mount: …


3
重击:双等于vs -eq
我正在bash中进行整数比较(试图查看用户是否以root用户身份运行),并且发现了两种不同的实现方式: 双重等于: if [ $UID == 0 ] then fi -eq if [ $UID -eq 0 ] then fi 我知道bash中没有> =或<=,只有-ge和-le,所以为什么==会有一个-eq? 双方比较的方式是否有所不同?
47 bash  shell  arithmetic 

10
如何找出我用于连接互联网的接口?
根据ifconfig我有eth0和wlan0,我可以ping google.com。我如何找出(对于普通用户而不是root用户)哪个接口处于活动状态,例如,ping(或强制ping不是强制性的)使用了哪个接口? 注意:使用Ubuntu 11.04或Fedora 14
47 linux  routing 

10
如何通过目录递归计算所有文件
我想查看子目录中有多少文件,以找出所有inode用法在系统上的位置。有点像我会这样做以节省空间 du -sh /* 这将为我提供根目录中使用的空间,但是在这种情况下,我需要文件的数量而不是大小。

19
是否有用于处理csv文件的强大命令行工具?
我使用CSV文件,有时需要从命令行快速检查行或列的内容。在许多情况下cut,head,tail,和朋友将做的工作; 但是,割伤无法轻松应对以下情况 "this, is the first entry", this is the second, 34.5 在这里,第一个逗号是第一个字段的一部分,但cut -d, -f1不同意。在我自己编写解决方案之前,我想知道是否有人知道用于此工作的好工具。它至少必须能够处理上面的示例,并从CSV格式的文件返回一列。其他理想的功能包括根据第一行中给出的列名选择列的能力,对其他引用样式的支持以及对制表符分隔文件的支持。 如果您不了解这样的工具,但是对使用Bash,Perl或Python或其他常见脚本语言实现这样的程序有建议,那么我不会介意这样的建议。


5
SSH:如何禁用弱密码?
我组织的安全团队告诉我们,禁用弱密码,因为它们会发出弱密钥。 arcfour arcfour128 arcfour256 但是我尝试在ssh_config和sshd_config文件中寻找这些密码,但发现它们已注释。 grep arcfour * ssh_config:# Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc 我应该在哪里检查禁用SSH的这些密码?
47 ssh  encryption 


2
Git子模块显示新的提交,子模块状态表明什么都没提交
在git存储库中,我设置了.gitmodules文件以引用github存储库: [submodule "src/repo"] path = src/repo url = repourl 当我在此仓库上“ git status”时,它显示: On branch master Your branch is up-to-date with 'origin/master'. Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: src/repo (new …
47 git 

7
如何在顶部查看特定过程
top上是否有相对灵活的选项来跟踪特定过程? 理想情况下是通过人类可读的值来识别过程?例如chrome或java。 换句话说,我想查看顶部提供的所有典型信息,但要将结果过滤到提供的参数即。'chrome'或'java'
47 process  top 

3
什么定义了命令单个参数的最大大小?
我的印象是,这里单个参数的最大长度不是问题,而是整个参数数组的总大小加上环境的大小(最大为)ARG_MAX。因此,我认为类似以下内容的方法将会成功: env_size=$(cat /proc/$$/environ | wc -c) (( arg_size = $(getconf ARG_MAX) - $env_size - 100 )) /bin/echo $(tr -dc [:alnum:] </dev/urandom | head -c $arg_size) >/dev/null 这样- 100就足以解决shell中环境大小与echo进程之间的差异。相反,我得到了错误: bash: /bin/echo: Argument list too long 玩了一段时间后,我发现最大值比整数小了一个十六进制数量级: /bin/echo \ $(tr -dc [:alnum:] </dev/urandom | head -c $(($(getconf ARG_MAX)/16-1))) \ >/dev/null 减一时,错误返回。似乎单个参数的最大值实际上是,ARG_MAX/16并且将-1空字节放在参数数组中字符串的末尾。 另一个问题是,当重复参数时,参数数组的总大小可能更接近ARG_MAX,但仍然不够大: …
47 kernel  echo  arguments 


2
有没有简单的方法可以“重新启动” tmux窗格?
假设我有一个tmux(1.7)窗口,如下所示: ________________________ | 1 | | | |-----------+------------| | 2 | 3 | |___________|____________| 现在,垂直尺寸已经过自定义,因此绝不是默认布局之一。 有时,当程序卡住或重新引导通过进行连接的计算机时ssh,窗格将“挂起”。也就是说,除了kill-pane看起来可行之外,别无其他。 但是,由于没有简单的方法可以在窗格#1被创建后在拆分配置之上进行重建kill-pane,因此我想“重新启动”它。
47 tmux 

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.