Articles of bash

防止“cd”记住遍历的符号链接

假设你有目录〜/ mytool,它们可以连接到/ usr / local / mytool。 然后, cd mytool将当前目录保留为〜/ mytool,这可能会导致脚本的行为不正确。 有没有办法避免这种行为? 用一些Googlesearch,我看到你可以做到这一点如下: cd $1 ; cd `pwd -P` 有没有切换到“CD”? 环境variables?

将文件从子文件夹移到当前文件夹

说我在Ubuntu服务器上的文件是这样的: /folder1/folder2/ 我目前在folder1 ,并且我想将所有文件/文件夹(recursion)从folder2到当前文件夹。 我怎样才能做到这一点?

与用python做系统pipe理员的事情混淆

我在bash里做备份,而且我还写了其他几个bash脚本。 我想转移到Python,因为我需要学习人工智能技术的Python,我总是推迟。 由于我必须经常做系统pipe理的事情,所以我想如果我在python中做事情,那么它会擅长python。 现在我很困惑, 1)我已经看到,我可以在bash中执行一行,但是在python中,我需要编写15行代码来执行tar文件备份。 sed,awk可以在python中过滤文件,我必须写更多的行。 所以我的问题是我走错了路。 python是否真的用于系统pipe理员的事情或不。 对我来说,就像在J2EE中创build一个5页的静态网站,而不是使用纯HTML。 2)我想知道为什么人应该selectpython如果bash可以做任何事情。 我只是在讨论系统pipe理员的事情。 所以我需要知道我是通过尝试使用Python来杀死自己还是仅仅因为我还在学习,我发现它很难? 我只是想知道python是否真的意味着备份,检查日志文件等。

SSH – 运行一个命令,然后给我一个shell

这个问题让我想起了我自己的一个问题 。 我想创build一个ssh到机器的别名,运行一个命令(在这种情况下, cd到提供的path),然后给我一个shell。 我已经运行了一百个这样的变体: $ ssh user@machine 'cd /some/path/ && bash -i -l' 这是我可以做的最好的。 它给了我一个正确的目录bash提示符,但没有作业控制,没有能力使用箭头键(和一些其他的快捷键)。 是否有捷径可寻? 我不能在我的bashrc或者configuration文件的末尾轻松地做到这一点,因为我想要去的path会有所不同(我会把它作为别名的parameter passing),偶尔我甚至会ssh到那台机器根本不想去任何奇怪的 – 主目录是好的。

使用命令行工具对sorting序列中的重复项进行计数

我有一个命令(cmd1),通过日志文件greps过滤出一组数字。 数字是随机的顺序,所以我使用sort -gr来获得一个反向sorting的数字列表。 这个sorting列表中可能有重复。 我需要find该列表中每个唯一编号的计数。 例如,如果cmd1的输出是 100 100 100 99 99 26 25 24 24 我需要另一个命令,我可以pipe上述输出,以便我得到: 100 3 99 2 26 1 25 1 24 2

下面的bash脚本有什么错误?

我在脚本中写了下面一行,但是没有给variablesa赋值 a= grep -n mark /etc/samba/smb.conf |cut -d: f1 我在variablesa中的smb.conf中存在标记string的行号。 但是variables的值是null。 可能是什么问题

仅在bash中列出linux分区名称

Linux上的df列出分区上的以下统计信息。 -bash-4.1#df 文件系统1K块已用可用使用%挂载 / dev / sda3 1918217320 1473337340 347440136 81%/ tmpfs 32970328 0 32970328 0%/ dev / shm / dev / sda1 482214 148534 308781 33%/ boot / dev / sdd1 1922860884 1638599284 186585876 90%/ disk5 / dev / sdc1 1922858352 1474925416 350257336 81%/ disk2 / dev / sdb1 1922858352 1028783752 796399000 57%/ disk4 […]

testing在不使用nmap的情况下是否在内部networking中使用IP

我可以使用nmap来执行端口扫描,以testing给定的IP是否被使用,例如 nmap -PR 192.168.1.9 然而,大多数服务器没有安装nmap,是否有可能没有安装nmap有相同的结果(例如检查是否使用特定的IP)?

如何在Linux中recursion地将CHMOD命令应用于任何具有特定名称的文件?

我需要知道如何将CHMOD命令仅应用于具有特定名称的文件recursion? chmod 755 -R filename 像上面的东西,但它应该适用于任何子filename夹中存在的任何文件名。

AWK和包含空格的文件名。

我试图用awkparsing文件来改变他们的名字。 一切都很顺利,直到我开始做这个与文件名空间的文件。 文件名是类似11237_712312955_2012-01-04 18_31_03.wav ,我想从文件名replaceWAV。 这是我的代码的例子: ls | awk -F\. '{print $1}' 我在控制台运行后,事情是好的,我没有扩展名的文件名。 例如:文件11237_712312955_2012-01-04 18_31_03.wav 在ls | awk -F\. '{print $1}' ls | awk -F\. '{print $1}' 控制台中的ls | awk -F\. '{print $1}'我正在创build: 11237_712312955_2012-01-04 18_31_03 ,这是正确的。 但是当我把它写在我的脚本中时: #!/bin/bash for i in $(ls); do FILENAME= echo $i | awk -F\. '{print $1}' ; #problematic line echo […]