Unix & Linux

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

2
cp:无效选项-'o'
我正在GitHub上安装脚本,步骤之一是: cp sources/openssl/1.0.1p/Android.mk -o sources/openssl/$OPENSSL_VERSION/Android.mk 但是我的终端抛出了一个错误 cp: invalid option -- 'o' 我检查man cp了我的Ubuntu,没有选择-o。这是MAC OS吗?代表什么cp -o?
8 cp 

2
使用N时会被sed输出混淆。有人可以解释这些结果吗?
我正在学习sed。直到我遇到N(接下来的多行),一切似乎都很好。我出于练习/理解/上下文的目的创建了此文件(guide.txt)。这是该文件的内容... This guide is meant to walk you through a day as a Network Administrator. By the end, hopefully you will be better equipped to perform your duties as a Network Administrator and maybe even enjoy being a Network Administrator that much more. Network Administrator Network Administrator I'm a Network …
8 sed 


2
修复坏块
得到之后 WARNING: Your hard drive is failing Device: /dev/sdb [SAT], 1 Offline uncorrectable sectors 我跑 $ sudo smartctl -a /dev/sdb smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.10.0-514.26.2.el7.x86_64] (local build) Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION === Device Model: KingDian S200 60GB Serial Number: 2017022100551 LU …

4
使用IFS分割字串
我已经编写了一个示例脚本来拆分字符串,但是无法正常工作 #!/bin/bash IN="One-XX-X-17.0.0" IFS='-' read -r -a ADDR <<< "$IN" for i in "${ADDR[@]}"; do echo "Element:$i" done #split 17.0.0 into NUM IFS='.' read -a array <<<${ADDR[3]}; for element in "${array[@]}" do echo "Num:$element" done 输出 One XX X 17.0.0 17 0 0 但我希望输出为: One XX X 17.0.0 17 0 …


8
按文件的基本名称对文件的路径名数组进行排序
假设我有存储在数组中的文件的路径名列表 filearray=("dir1/0010.pdf" "dir2/0003.pdf" "dir3/0040.pdf" ) 我想根据文件名的基本名称以数字顺序对数组中的元素进行排序 sortedfilearray=("dir2/0003.pdf" "dir1/0010.pdf" "dir3/0040.pdf") 我怎样才能做到这一点? 我只能对它们的基本名称部分进行排序: basenames=() for file in "${filearray[@]}" do filename=${file##*/} basenames+=(${filename%.*}) done sortedbasenamearr=($(printf '%s\n' "${basenames[@]}" | sort -n)) 我在想 创建一个关联数组,其键是基名,值是路径名,因此对路径名的访问总是通过基名完成的。 仅为基名创建另一个数组,然后将其应用于基sort名数组。 谢谢。
8 bash  filenames  sort  array 

4
Linux本地目录权限作为非root用户的问号
好的,那是新的。我已经看到过类似的情况,包括存储设备故障,远程存储(SAN,NAS)故障,我想我什至也看到过由挂载权限引起的类似情况。但这是我第一次看到这种情况发生在与homedir相同的文件系统上。 我对此感到很好奇...什么样的渗透在这里?绝对不会挂载(我在同一个ext4文件系统上),而不是SELinux,而不是ACL。然后呢? 我不记得如何创建此目录。它可能是由某种软件创建的。 对我来说,最奇怪的部分是甚至不允许目录查看其或其父级的信息(最后一个命令)... Linux Mint Sarah user01@MyPC ~/somedirectory $ ls -l ./deploy_dir/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/bin/D\: ls: negaliu pasiekti './deploy_dir/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/bin/D:/workspace': Permission denied viso 0 d????????? ? ? ? ? ? workspace user01@MyPC ~/somedirectory $ ls -ld ./deploy_dir/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/bin/D\: drw-r--r-- 3 user01 user01 4096 Rgs 27 2016 ./deploy_dir/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/bin/D: user01@MyPC ~/somedirectory $ user01@MyPC ~/somedirectory $ user01@MyPC …

1
我应该将O_PATH用于什么,以及如何使用?
我使用的是基于Linux 4.x的发行版,最近我注意到内核的open()系统调用支持O_PATHopen标志。 尽管man它的页面上确实列出了可以在理论上使用的系统调用列表,但我不太了解这个想法是什么。我是否open(O_PATH)仅目录,而不是文件?如果可以,为什么要使用文件描述符而不是目录路径?同样,那里列出的大多数系统调用似乎都不是目录所特有的。因此,我是否还会打开常规文件O_PATH以某种方式获取其目录作为文件描述符?还是要为它们获取文件描述符,但功能有限? 有人可以O_PATH对我们应该使用的内容,用途以及用途进行有力的解释吗? 笔记: 除非必要,否则无需描述它的演变历史(相关的手册页提到Linux 2.6.x,3.5和3.6中的更改)-我只关心现在的情况。 我知道,请不要告诉我只使用libc或其他更高级别的设施。

3
优化GNU grep
我正在使用grep -E带有PATTERN文件的egrep()。(-f path/to/file)。 这是在文本流的无限循环中完成的。这意味着我无法立即累积所有输入并将其传递给grep(如*.log)。 有没有一种方法可以使grep从PATTERN文件中“保存”正在构建的NFA,以便下次运行? 我已经搜索过Google并没有运气地阅读文档。 我会尝试多解释一下。我需要使用正则表达式找到固定数量的字符串(这不是问题的一部分,但可以提出其他建议),例如IP地址,域等。搜索是在Internet的feed上完成的。您可以将其视为文本流。grep由于它是流,因此无法使用所有输入。我可以累积大量流并grep在其上使用(因此不在grep每行上使用),但这也很有限(比如说30秒钟)。 我知道grep正在根据其所有模式(从文件中)构建NFA。因此,我的问题是:grep由于它不会改变,我可以告诉它保存该NFA以便下次运行吗?这样可以节省我每次构建NFA的时间。
8 grep 

3
从另一个数组引用bash数组变量
我想编写一个脚本来引用另一个包含这些数组变量名的数组。 到目前为止,这是我的代码: #!/bin/bash array1=('array1string1' 'array1string2') array2=('array2string1' 'array2string2') array_names=('array1' 'array2') for a in ${array_names[@]} do for b in ${a[@]} do echo $b done done 我希望输出扫描这两个数组(从外部for循环)并在内部for循环中打印相应的字符串,从而调用echo。我当前的输出只是向我显示: array1 array2 对此,我将不胜感激。谢谢!

1
如何使Samsung Galaxy S5与Debian 9上的MTP配合使用?
因此,我尝试使用MTP而不是KDE Con​​nect在具有Android的Samsung Galaxy S5和我的Debian9 / KDE计算机之间共享文件。 问题是我不断得到: mtp协议的进程意外终止。 尝试复制文件时。 也常说 找不到存储。也许您需要解锁设备? 尝试了一段时间后,我可以在海豚中查看手机的某些内容:每当手机上的对话框要求它时,请按“允许”,同时尝试在海豚中打开它以将其正确检测为Samsung Galaxy S5。 我曾经可以成功复制一堆图像。 我已经尝试过了sudo apt-get install --reinstall libmtp-common。syslog具有以下内容: usb 1-5: usbfs: process 7907 (mtp.so) did not claim interface 0 before use usb 1-5: reset high-speed USB device number 35 using xhci_hcd usb 1-5: usbfs: process 7909 (mtp.so) did …

1
nscd和sssd之间的区别
对于Linux名称服务缓存守护程序(NSCD)和系统安全服务守护程序(SSSD)之间的差异,相当困惑。据我了解,两者都用于在本地计算机上缓存身份验证查询信息,而且看起来两者都可以在同一台计算机上使用。 两者之间有什么区别,在哪种情况下应同时使用? https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/usingnscd-sssd.html
8 linux  rhel 

5
使用排序将文件名中的单词按字母顺序排序?
在阅读有关bash中的批量重命名文件的教程并使用sort命令对文件内容进行排序时,我还无法弄清楚如何将两者结合起来。 我有一个目录,该目录的内容使用文件名中的标签进行排序,类似于TagSpaces程序处理事物的方式。创建或下载文件名时,我会在文件名的末尾添加任何我能想到的标签。这是一个例子: Sunrise (2) #wallpaper #4k #googleimages.jpg 现在,我想浏览所有这些文件并重命名它们,以便标签按字母顺序排序,而不会影响标签之前或之后的任何内容(例如,图片的标题或文件扩展名)。因此,以上内容将变为: Sunrise (2) #4k #googleimages #wallpaper.jpg 我该如何完成?我什至不知道如何将文件名而不是其内容传递给类似的命令sort,然后可以将其输出传递给mv。
8 bash  rename  sort 

2
为什么END键没有terminfo条目?
在Debian系统上,END按键会生成^[[F: $ showkey -a Press any keys - Ctrl-D will terminate this program ^[[F 27 0033 0x1b 91 0133 0x5b 70 0106 0x46 但是,为什么此键盘和弦不在terminfo中? $ infocmp -1 | grep end kend=\EOF, 但是,ncurses设法正确地将其识别为KEY_END。怎么样? TERM 是 xterm-256color 顺便说一句,拥有kend而end不是正义的动机是end什么?(与khome和相同home) 编辑 正如JohanMyréen的评论中所说,khome字符串是按Home键产生的序列。但是在Debian上按Home键会产生home。为什么? $ showkey -a Press any keys - Ctrl-D will terminate this program …

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.