当我使用该type命令来确定cat是 shell 内置程序还是外部程序时,我得到以下输出:
-$ type cat
cat is hashed (/bin/cat)
-$
Run Code Online (Sandbox Code Playgroud)
这是否意味着这cat是一个外部程序/bin/cat?
我很困惑,因为当我检查下面的输出时,echo我看到它既是built-in一个程序,又是一个程序/bin/echo
-$ type echo
echo is a shell builtin
-$ which echo
/bin/echo
-$
Run Code Online (Sandbox Code Playgroud)
所以我不能使用/bin/cat必然意味着外部程序的逻辑,因为 echo/bin/echo仍然是内置的。
那我怎么知道是什么cat?内置还是外置?
在谷歌搜索后,我发现我们可以telnet将网络服务器连接到其 http 端口并用于GET检索 html 页面。
例如:
$ telnet web-server-name 80
Run Code Online (Sandbox Code Playgroud)
但我无法理解这怎么可能?
我认为如果端口 80 用于 http 服务器,那么端口 80 只会侦听http请求。但是我怎么能telnet到一个HTTP端口呢?
不是telnet和HTTP两个不同的协议吗?
如何使用lvm或任何其他实用程序检查逻辑卷的文件系统类型?
例如,如果我的逻辑卷是/dev/vg1/lv1那么如何检查它的文件系统类型?
我ext4在逻辑卷中使用mkfs -t ext4 /dev/vg1/lv1. 但是不知道怎么验证。我看不到瘦的任何选项lvm?
下面是我在 gnu parted 中显示的硬盘:
(parted) print free
Model: ATA HGST HTS541075A9 (scsi)
Disk /dev/sda: 750GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name
17.4kB 1049kB 1031kB Free Space
1 1049kB 538MB 537MB fat32 EFI System Partition boot
2 538MB 468GB 467GB ext4
468GB 520GB 52.4GB Free Space
6 520GB 527GB 6353MB linux-swap(v1)
4 527GB 527GB 524MB ext4
5 527GB 744GB 217GB lvm
3 744GB 750GB 6352MB
750GB 750GB 892kB Free Space
(parted)
Run Code Online (Sandbox Code Playgroud)
你可以看到我有 52.4GB …
我知道我们可以mail在终端中使用命令mail以交互模式开始使用程序。
但是,我想以mail非交互方式使用命令阅读电子邮件。
有没有类似的命令
$ mail -optionToReadMail -mailNumber 1;
Run Code Online (Sandbox Code Playgroud)
这将在 stdout 中显示电子邮件的内容?
当我输入ls命令时,我得到以下输出。
-$ ls
aNode ANode bNode BNode cNode CNode DUMP file1 hello.txt TEST.txt
-$
Run Code Online (Sandbox Code Playgroud)
如所看到的,上面的输出是one已线filenames由separeted spaces。
接下来当我grep用来查找匹配项时。
我期待如果找到匹配项,那么将打印整行。
但是,相反,grep 只打印匹配项,而不打印包含匹配项的整行。请参阅下文。
-$ ls | grep 'aNode'
aNode
-$
Run Code Online (Sandbox Code Playgroud)
为什么会这样?为什么grep 不打印整行?
我如何使用“POSIX BRE”或“POSIX ERE”正则表达式匹配的字符串(线或字),它不具有bak在结束了吗?
我想做一个ls | egrep '<regex>'查找文件bak名末尾没有的所有文件。
例如,如果有三个文件file1、file2_bak、 和bak_file3,则正则表达式应该只匹配file1和bak_file3(而不是file2_bak)。
我知道这可以用 来完成ls | grep -v 'bak$',但我想在不使用or-v选项的情况下做到这一点。我不想使用,因为这只是关于 POSIX 正则表达式的理论/学术问题。grepegrep-v
这就是我匹配最后确实有的文件名bak的方式:
$ ls | egrep 'bak$'
file2_bak
$
Run Code Online (Sandbox Code Playgroud)
上面的正则表达式, bak$, 匹配最后有的所有字符串bak。但我怎么能写一个匹配所有的字符串正则表达式都没有具备 bak在结束了吗?