标签: shell

为什么 bash 将相邻的 SPACE 压缩为一个?

$ ourSite="super    user"
$ echo $outSite
super user
$ echo "$outSite"
super    user
Run Code Online (Sandbox Code Playgroud)

如果我们不使用双引号来引用变量,bash 会自动将相邻的空格压缩为一个。

我徘徊为什么bash要这样做?该变量只是一串字符,默认情况下将变量替换为原来的变量不是更好吗?

bash shell

1
推荐指数
1
解决办法
455
查看次数

如何从当前目录的所有子目录中递归删除所有 .exe 文件?

我有一个包含重要文件的 USB。然而,它在每个子文件夹中都渗透了一些不需要的 .exe 文件(可能是病毒)。由于我在 Linux 机器上,exe 文件不会影响我。但是我想删除它们(为了人身安全)。那么我如何使用 Linux 命令或 shell/AWK 或 Python 脚本来做到这一点。

linux script shell awk rm

1
推荐指数
1
解决办法
7795
查看次数

用户可以属于 Linux 中的隐藏组吗?

用户是否可能属于 Linux 中的组,但组名未列在/etc目录中的组文件中。如果是这样,有哪些例子?

linux unix shell

1
推荐指数
1
解决办法
1182
查看次数

-p 在 shell 脚本上做什么?

来自 shell 的 on -p [val] 是否以特定优先级启动进程?

linux shell

1
推荐指数
1
解决办法
1万
查看次数

awk 中的匹配字符串

如何搜索文件以查找具有 SRC= 的行,例如此处?我的意思是我如何使用 awk 在这个文件中找到源 IP 地址,例如

Mar 10 03:17:12 ubuntu kernel: [11045.721649] Type=ScanXMASIN=eth0 OUT= MAC=00:0c:29:a1:51:1c:00:0c:29:23:9d:e4:08:00 SRC=192.168.1.28 DST=192.168.1.27 LEN=40 TOS=0x00 PREC=0x00 TTL=47 ID=6603 PROTO=TCP SPT=47301 DPT=53 WINDOW=1024 RES=0x00 URG PSH FIN URGP=0 
Mar 10 03:17:12 ubuntu kernel: [11045.721702] Type=ScanXMASIN=eth0 OUT= MAC=00:0c:29:a1:51:1c:00:0c:29:23:9d:e4:08:00 SRC=192.168.1.30 DST=192.168.1.27 LEN=40 TOS=0x00 PREC=0x00 TTL=42 ID=6802 PROTO=TCP SPT=47301 DPT=5900 WINDOW=1024 RES=0x00 URG PSH FIN URGP=0 
Mar 10 03:17:32 ubuntu kernel: [11065.703937] Type=ScanACKIN=eth0 OUT= MAC=00:0c:29:a1:51:1c:00:0c:29:23:9d:e4:08:00 SRC=192.168.1.31 DST=192.168.1.27 LEN=40 TOS=0x00 PREC=0x00 TTL=40 ID=62992 PROTO=TCP SPT=47301 DPT=1521 WINDOW=1024 RES=0x00 URG PSH …
Run Code Online (Sandbox Code Playgroud)

bash shell awk

1
推荐指数
1
解决办法
1400
查看次数

Unix Date 命令不适用于少数服务器

我试图在昨天的 unix 服务器中执行 date 命令。尝试的命令是:

date --date="1 day ago"
date --date="1 days ago"  
date --date="yesterday"
date --date="-1 day"
Run Code Online (Sandbox Code Playgroud)

这些命令在服务器中工作,但相同的命令在其他少数服务器中不起作用,其中 date 正确打印当前日期。谁能建议其他服务器可能有什么问题?我收到如下错误:illegal option -- date=1 day ago

服务器详情:SunOS wupsa02a0014 5.10 Generic_147440-15 sun4u sparc SUNW,SPARC-Enterprise

unix shell date

1
推荐指数
1
解决办法
3279
查看次数

环境变量在 Linux (Fedora) 上不断变回原来的形式

我有一个 JAVA_HOME 变量,做 >echo $JAVA_HOME"old/path/to/my/jdk.1.7". 我去终端并执行一个export JAVA_HOME=new/path/to/my/jdk.1.8.0在终端会话期间工作正常的操作,但是一旦我启动一个新的选项卡/终端实例并执行 >echo $JAVA_HOME它给我:old/path/to/my/jdk.1.7。我可能做错了什么。

linux shell

1
推荐指数
1
解决办法
2703
查看次数

获取目录中不同文件结尾的列表(UNIX shell)

我有一个目录,其中包含许多不同格式的图像文件。我想查看该目录中所有不同文件结尾的列表,以便我可以看到存在哪种图像格式。所以假设只有png,gifjpg文件,我想要的输出看起来像:

png
gif
jpg
Run Code Online (Sandbox Code Playgroud)

我知道如何使用lsand获取所有文件结尾的列表 cut,但我不知道如何使其仅包含唯一条目。有没有办法只使用 shell 工具来做到这一点,或者我是否必须编写一个小的 python 脚本或类似的脚本?

linux shell filenames

1
推荐指数
1
解决办法
1943
查看次数

如何将回声结果保存到变量中?

我有一个s3cmd ls --list-md5命令的输出。

    2013-05-22 12:20   1965154   41eae9b40d23de2f02bf07635870f6d0  s3://company-backup/company/amazon/ip-11-11-111-11/backup_server245/app.20121117040001.gz
    2013-05-22 12:20  11456836   541b1bf78682f48867cc99dbb53c4c3a  s3://company-backup/company/amazon/ip-11-11-111-11/backup_server245/app.20121118040001.gz
    ..
Run Code Online (Sandbox Code Playgroud)

我正在尝试验证md5sum来自存储桶中的对象是否与md5sum本地机器中的对象匹配。因此,我需要将hash结果作为fourth列,将文件名作为fifth列。

像那样:

41eae9b40d23de2f02bf07635870f6d0  s3://company-backup/company/amazon/ip-11-11-111-11/backup_server245/app.20121117040001.gz
Run Code Online (Sandbox Code Playgroud)

但我只需要文件名,因此我使用basename命令(我只是不知道如何在这里使用它,但我会弄清楚),最后看起来像这样:

s3=`s3cmd ls --list-md5 s3://company-backup/company/amazon/ip-11-11-111-11/backup_server245/`;
echo "$s3";

echo "$s3" |  tr -s ' ' | cut -d ' ' -f 4;
echo "$s3" |  tr -s ' ' | cut -d ' ' -f 5;
Run Code Online (Sandbox Code Playgroud)

现在我需要将结果存储echo's在相同的变量中,如下所示:

41eae9b40d23de2f02bf07635870f6d0 app.20121117040001.gz
Run Code Online (Sandbox Code Playgroud)

所以我可以将结果s3cmd ls --list-md5sum与我md5sum *.gz在本地运行的结果进行比较。 …

linux bash shell s3cmd

1
推荐指数
1
解决办法
1820
查看次数

目录/ETC 已移动!— Ubuntu 13.04

我将我的/etc目录移动到 Dropbox 以希望同步两个计算机环境,这是一个糟糕的举动。移动/etc目录后,任何 sudo 命令都会响应“这个 UID 1000 是谁?”。

基本上我杀死了我的用户并杀死了所有启动。现在我无法启动我的系统。

请帮忙。在启动过程中是否有任何可通过 GRUB 命令行的可启动工具或方法可以访问我的文件。

我只需要跑

mv /home/user/Dropbox Files/etc /etc
Run Code Online (Sandbox Code Playgroud)

无论如何,我可以在启动期间通过 GRUB 命令行执行此操作吗?标准终端命令似乎不起作用。

linux shell grub command-line ubuntu

1
推荐指数
1
解决办法
200
查看次数

标签 统计

shell ×10

linux ×7

bash ×3

awk ×2

unix ×2

command-line ×1

date ×1

filenames ×1

grub ×1

rm ×1

s3cmd ×1

script ×1

ubuntu ×1