AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-117906

yael's questions

Martin Hope
yael
Asked: 2013-05-09 08:57:01 +0800 CST

linux + 如何识别文件是否由链接指向

  • 4

我创建名为 - 192.9.200.1 的新文件

    touch 192.9.200.1

然后我创建将指向 192.9.200.1 文件的新链接

    ln -s 192.9.200.1 file

所以最后我得到:

     ls -ltr /tmp

    -rw-r--r--  1 root root        0 May  8 19:39 192.9.200.1
    lrwxrwxrwx  1 root root       11 May  8 19:39 file -> 192.9.200.1

但是当我对 192.9.200.1 文件执行ls -ltr时,我看不到其他链接是否指向 192.9.200.1

     ls -ltr 192.9.200.1
      -rw-r--r-- 1 root root 0 May  8 19:39 192.9.200.1

识别文件或目录是否有链接的方法是什么,

  • 备注我不想在 /tmp 目录下执行 ls -ltr来查找链接!
linux
  • 2 个回答
  • 4324 Views
Martin Hope
yael
Asked: 2013-05-09 03:48:45 +0800 CST

sed + 如何删除特定字符后的最后一个字符串

  • 2

如何删除“。”之后的最后一个字符串 字符包括“.” 角色本身

在Linux/Solaris操作系统下可以用sed实现

变更前IP地址示例

      192.9.200.1     ( need to remove the .1 )

预期成绩

      192.9.200

其他例子

      100.2.2.101FFF

预期成绩

      100.2.2
linux
  • 2 个回答
  • 18324 Views
Martin Hope
yael
Asked: 2013-05-03 06:55:16 +0800 CST

rm + 如何删除带有特殊字符的文件[重复]

  • 3
这个问题在这里已经有了答案:
如何 cd 进入名称为“-2”(以连字符开头)的目录? (6 个答案)
9 年前关闭。

我的 linux 机器上有这个文件:

 ----------9976723563nneh4_-----192.9.200.4

我试图删除这个文件,但我不能在这里看到:

需要向 rm 添加什么才能删除此文件?

rm "----------9976723563nneh4_-----192.9.200.4"
rm: illegal option -- --------9976723563nneh4_-----192.9.200.4
usage: rm [-fiRr] file ...

.

rm '----------9976723563nneh4_-----192.9.200.4'
rm: illegal option -- --------9976723563nneh4_-----192.9.200.4
usage: rm [-fiRr] file ...
linux
  • 2 个回答
  • 2982 Views
Martin Hope
yael
Asked: 2013-05-03 03:16:49 +0800 CST

linux + 从文件中删除重复的 IP

  • 0

从文件中删除重复 IP 的最佳方法是什么

我使用命令:

        sort file | uniq

但我不确定这是否是最好的方法,也许我错过了什么?

备注:我的文件包含两个字段

档案范例

 172.17.200.1 3.3.3.3
 172.17.200.1 3.3.3.3
 255.255.255.0 255.255.255.111
 255.255.255.0 255.255.255.111
 172.17.200.2 3.3.3.4
 255.255.255.0 255.255.255.111
 172.17.200.3 3.3.3.5
 255.255.255.0 255.255.255.111
 172.17.200.4 3.3.3.7
 255.255.255.0 255.255.255.111
 172.17.200.5 3.3.3.8
 255.255.255.0 255.255.255.111
 255.255.255.0 255.255.255.111
 172.17.200.1 3.3.3.3
 255.255.255.0 255.255.255.111
 172.17.200.2 3.3.3.4
 255.255.255.0 255.255.255.111
 172.17.200.3 3.3.3.5
 255.255.255.0 255.255.255.111
 172.17.200.4 3.3.3.7
 255.255.255.0 255.255.255.111
 172.17.200.5 3.3.3.8
 255.255.255.0 255.255.255.111
 255.255.255.0 255.255.255.111
linux
  • 2 个回答
  • 2175 Views
Martin Hope
yael
Asked: 2013-05-03 00:22:27 +0800 CST

Linux + Perl 一行代码的退出状态

  • 1

我在我的 ksh 脚本中使用 Perl 单行代码。

有时需要从 Perl 单行程序中获取退出状态,以验证 Perl 单行程序是否成功。

例如,我需要验证Perl 一行代码中的“print”是否成功。

但是在这两种情况下,即使 Perl 不匹配单词“AAA 和 BBB”,Perl 也会以状态 0 退出。

也许通过更改我的代码,我可以在 Perl 成功匹配时获得退出状态 0 。当 Perl 不匹配单词“AAA 和 BBB”时获得退出状态 1 。

这可能吗?

more file
AAA BBB


perl -ne '/AAA/ && /BBB/ && print' file
AAA BBB

echo $?
0

 

more file1
ZZZ

perl -ne '/AAA/ && /BBB/ && print' file1
echo $?
 0
linux
  • 1 个回答
  • 1539 Views
Martin Hope
yael
Asked: 2013-02-22 05:02:53 +0800 CST

linux/solaris 在文件中每一行的开头插入日期和时间

  • -1

我想在某个文件的每一行开头添加日期和时间

我使用 sed 来在文件中的每一行之前添加日期和时间

请建议我需要在我的 sed 中更新什么以支持此操作,

我可以用 awk 或 perl one liner 等接受其他解决方案......

# date="[`date +%d"/"%b"/"%G"-"%T`]"
# echo $date
[21/Feb/2013-14:07:58]
#  sed "s/^/$date /" file     
sed: command garbled: s/^/[21/Feb/2013-14:07:58] /

例子

编辑前的文件

 param1=3478374
 param2=34128374
 param3=34783743

编辑后的文件

 [21/Feb/2013-14:07:58] param1=3478374
 [21/Feb/2013-14:07:58] param2=34128374
 [21/Feb/2013-14:07:58] param3=34783743
linux
  • 2 个回答
  • 1322 Views
Martin Hope
yael
Asked: 2013-02-22 02:07:31 +0800 CST

使用一个 sed 命令替换两个字符

  • 6

我正在尝试使用一个 sed 命令删除=和字符:]

# echo "A=[A]" | sed s'/[=\]]/ /g'
A=[A]

这个语法有问题吗?

我期待 sed 的以下结果

# echo "A=[A]" | ....sed 
A [A
linux
  • 3 个回答
  • 9688 Views
Martin Hope
yael
Asked: 2013-02-20 01:15:44 +0800 CST

case + 如何实现 equal or less or greater in case 语法

  • -2

我的目标是使用(仅使用 - case + esac )验证数字范围,并打印范围

所以例如

如果数字在 0-80 之间,将打印 case

 >=0<=80

或者如果范围在 81-100 之间,那么将打印 case

 >=81<=100

等等....

只有当数字在 0-9 之间时,我的脚本打印问题才 >=0<=90?

如何修复我的脚本,使其根据数字范围打印?

#!/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 
linux
  • 1 个回答
  • 1172 Views
Martin Hope
yael
Asked: 2013-02-08 03:36:47 +0800 CST

当参数中有 IP 地址时,grep 到 IP 地址

  • 0

我需要 grep 到 IP 地址(如下例),我使用 ksh 脚本,

    #  ifconfig -a |  /usr/xpg4/bin/grep   "100\.106\.2\.120 "
    inet 100.106.2.120 netmask ffffff00 broadcast 100.106.2.255

但如何从参数 (IP_ADDRESS) 中获取 IP 地址?

  • 备注 - IP 地址可以是任何 IP

在这种情况下如何添加反斜杠

IP_ADDRESS=192.2.34.2 或 IP_ADDRESS=192.2.34.20 ... 等

    #  ifconfig -a |  /usr/xpg4/bin/grep   "$IP_ADDRESS "
linux
  • 1 个回答
  • 550 Views
Martin Hope
yael
Asked: 2013-01-17 04:00:48 +0800 CST

如何查看完整详细信息的流程状态

  • 1

我运行脚本 - my_script.ksh作为带有 5 个长参数的进程

在我的 solaris/linux 机器上(示例 1),

后来我验证了这个过程

 ps -ef | grep  my_script.ksh 

我不明白我没有从ps -ef获得所有参数的方式?, (见例2)

或者也许 ps 命令有显示长行的限制?,或者可能需要编写带有一些标志的 ps 命令,以便显示所有参数?

需要做什么才能看到ps -ef命令的所有参数?

示例 1 (使用相关参数运行my_script.ksh )

           #  ( /tmp/my_script.ksh PATH1=/usr/lib/efcode/sparcv9/efdaemon PATH2=/etc/opt/VO/share/conf/nnmet/mib/Fore-pre802dot1Q-VLAN-MIB.mib -scan-files -ignore-simbolic-links -give-full-file-details ) &
 [1]     18942

示例 2(验证脚本进程,但看不到所有参数?)

       # ps -ef | grep my_script.ksh 
root 18942 11889   0 13:22:20 pts/1       0:00 /bin/ksh /tmp/my_script.ksh PATH1=/usr/lib/efcode/sparcv9/efdaemon PATH2=/etc/o     
linux
  • 2 个回答
  • 4009 Views
Martin Hope
yael
Asked: 2013-01-16 05:19:53 +0800 CST

我如何在 bash 或 ksh 中休眠一毫秒

  • 172

sleep 是一个非常流行的命令,我们可以从 1 秒开始睡眠:

# wait one second please 
sleep 1

但是如果我只需要等待 0.1 秒或 0.1 到 1 秒之间,还有什么选择呢?

  • 备注:在 linux 或 OS X 上sleep 0.XXX工作正常,但在 solarissleep 0.1或sleep 0.01- 非法语法
linux
  • 8 个回答
  • 384088 Views
Martin Hope
yael
Asked: 2013-01-10 23:38:59 +0800 CST

linux + from where uname -r 获取linux版本信息

  • -1

当我在 Linux 上键入 uname -r 命令时:

uname -r 

我得到以下信息:

2.6.18-274.7.1.el5PAE

我的问题是从哪个文件 uname -r 读取此信息,或者从哪里 uname -r 读取数据?

linux
  • 1 个回答
  • 1153 Views
Martin Hope
yael
Asked: 2013-01-10 05:30:56 +0800 CST

grep + 仅当值在行尾时才匹配值

  • 0

请告知我的代码有什么问题,(我在操作系统 linux 和 solaris 上运行这段代码)

我没有得到这条线:

    "file ended with .tmp"

例子:

我需要验证 $FILE 是否以.tmp或.old等结尾...

以下示例代码设置参数:FILE=hosts.tmp

所以我预计 grep 将匹配“.tmp ”,因为.tmp是最后一个字符

  • 与其他令牌相同,如“,TEMP”或“previos”或“-OLD”等

代码(ksh 脚本)

     TOKENS=".tmp .old .previous -log temp ,TEMP -OLD previos"

     FILE=hosts.tmp

      for TOKEN in ` echo $TOKENS `

        do

        [[ ` echo $FILE  | grep -c '$TOKEN$'  ` -eq 1 ]] && echo "file ended with $TOKEN"

        done
linux
  • 1 个回答
  • 413 Views
Martin Hope
yael
Asked: 2012-12-31 02:54:28 +0800 CST

shell:创建使用 IP 地址作为参数的快捷方式命令(别名或函数)

  • -1

我不确定我是否执行了以下非法或真实的

但我需要的是 - 创建一组准备好的命令
,所以如果我需要使用,例如将 IP 地址与 4 个八位字节匹配,我可以使用命令 - command_that_match_four_octet

如果我正确执行了以下操作,请提出建议,我想知道以下语法是否会引起麻烦。

[root@su1a /tmp]#  command_that_match_four_octet=" grep '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' "

[root@su1a /tmp]# command_that_match_three_three_octet=" grep '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' "

.

[root@su1a /tmp]# echo 23.4.5.1  | eval $command_that_match_four_octet
   23.4.5.1

[root@su1a /tmp]# echo 23.4.5 | eval $command_that_match_three_three_octet
   23.4.5
linux
  • 2 个回答
  • 510 Views
Martin Hope
yael
Asked: 2012-12-20 03:32:06 +0800 CST

grep + 正则表达式来匹配 uniq 号

  • 0

我的目标是验证 $FILE 是否是备份文件(备份文件以 xxxx.xx.xx.xx 结尾

备份文件示例

ls /etc/VRTSvcs/conf/config 

  main.cf.17Dec2012.09.10.14
  main.cf.17Dec2012.09.10.23
  main.cf.17Dec2012.09.10.31

不备份文件示例

  main.cf

我编写以下 ksh 脚本行以验证 $FILE 是否以 xxxx.xx.xx.xx 号结尾

.

     [[ ` echo  $FILE  | grep -v  '[0-9]\{4\}\.[0-9]\{2\}\.[0-9]\{2\}\.[0-9]\{2\}' `  -eq 0 ]] && echo Not Backup file

我设置了

  FILE="main.cf.17Dec2012.09.10.31" 

我在 Solaris/Linux 上运行这一行,但我得到“Not Backup file”,尽管 $FILE 以 2012.09.10.31 结尾

请告知我的 ksh 行有什么问题(需要修复什么)以匹配数字 - xxxx.xx.xx.xx

linux
  • 3 个回答
  • 726 Views
Martin Hope
yael
Asked: 2012-12-11 03:00:55 +0800 CST

根据主机名规则在文件中进行 Linux/Solaris 验证(主机名更改后)

  • 0

根据以下 Perl 命令

(此命令是 ksh 脚本的一部分)

我可以在 Linux 或 Solaris 中用新主机名替换旧主机名

 previos_machine_name=linux1a
 new_machine_name=Red_Hat_linux1a

 export previos_machine_name
 export new_machine_name

.

      perl -i -pe 'next if /^ *#/; s/(\b|[[:^alnum:]])$ENV{previos_machine_name}(\b|[[:^alnum:]])/$1$ENV{new_machine_name}$2/g'  file

解释:根据 perl 命令 - 我们不会在以下情况下替换主机名:

规则: [数字]||[字母]主机名[数字]||[字母]

我的问题

在我使用 Perl 命令以根据 Perl 命令中的“RULE”将所有旧主机名替换为新主机名之后

如何验证文件中不存在旧主机名?

例如

   previos_machine_name=linux1a

   new_machine_name=Red_Hat_linux1a

   more file

   AAARed_Hat_linux1a          verification should be ignore from this line
   @Red_Hat_linux1a$             verification should be match this line
   P=Red_Hat_linux1a            verification should be match this line
   XXXRed_Hat_linux1aZZZ         verification should be ignore from this line
   .
   .
   .
   .
linux
  • 1 个回答
  • 125 Views
Martin Hope
yael
Asked: 2012-11-28 06:52:14 +0800 CST

linux\solaris + 从文件中打印特定的日期格式

  • 0

主题 - 在 solaris 上以格式打印文件日期:yymmdd(yy - 年,mm - 月,dd - 日)

在 Linux 机器上,我键入以下命令以获取:文件日期
如下:

 ls -l --time-style=+%Y%m%d /etc/hosts | awk '{print $6}'
 20121107

.

请告知 Solaris 的语法是什么?,因为当我尝试在 Solaris 上运行它时出现错误:

.

  ls -l --time-style=+%Y%m%d /etc/hosts
  ls: illegal option -- time-style=+%Y%m%d
linux
  • 2 个回答
  • 2257 Views
Martin Hope
yael
Asked: 2012-11-28 01:34:13 +0800 CST

linux/solaris + 如何验证操作系统 (linux / solaris) 创建日期

  • 0

请指教 – 如何验证操作系统 (linux / solaris ) 安装创建日期

哪个文件/包/其他 - 可以很好地指示操作系统何时创建/安装?

例如

我在 2012 年 10 月 23 日安装了 linux 5.5,如何在我的 linux 中验证这个日期?(关于 solaris 10 的相同问题)

linux
  • 2 个回答
  • 620 Views
Martin Hope
yael
Asked: 2012-11-26 06:13:52 +0800 CST

linux/solaris 用一个命令杀死多个进程

  • 1

是否可以用一个命令杀死所有查找进程?

我不想杀死每个进程kill -9 25295,kill -9 11994等等。相反,我想要的是一种杀死所有查找进程的简单方法或命令(我的目标是在 linux 和 solaris 机器上执行此操作)。

$ ps -ef | grep find 
root 25295 25290   0 08:59:59 pts/1 0:01 find /etc -type f -exec grep -l 100.106.23.152 {} ; -print
root 11994 26144   0 09:04:18 pts/1 0:00 find /etc -type f -exec grep -l 100.106.23.153 {} ; -print
root 25366 25356   0 08:59:59 pts/1 0:01 find /etc -type f -exec grep -l 100.106.23.154 {} ; -print
root 26703 26658   0 09:00:05 pts/1 0:01 find /etc -type f -exec grep -l 100.106.23.155 {} ; -print
linux
  • 3 个回答
  • 6080 Views
Martin Hope
yael
Asked: 2012-11-19 05:52:33 +0800 CST

perl + sed + 删除以“#”开头的行

  • 1

请指教

我有 linux 和 solaris 机器,我需要在两个操作系统上都能工作的命令

我使用以下 perl 行来删除所有以“#”开头的行,为什么 perl 命令不起作用,

备注 - 还需要支持以空格或 TAB 开头然后是“#”的行

 perl -i -pe 'next if /^ *#/' file

.

   more file


   # aa a
       #  bbb 

      #xxx
linux
  • 1 个回答
  • 1133 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve