小编cwd*_*cwd的帖子

什么是“邮件”,它是如何导航的?

该程序位于/usr/bin/mail. 执行后,Version 8.1.2 01/15/2001显示。

输入list产品:

Commands are:
next, alias, print, type, Type, Print, visual, top, touch, preserve, 
delete, dp, dt, undelete, unset, mail, mbox, pipe, |, more, page, More, 
Page, unread, Unread, !, copy, chdir, cd, save, source, set, shell, 
version, group, write, from, file, folder, folders, ?, z, headers, 
help, =, Reply, Respond, reply, respond, edit, echo, quit, list, xit, 
exit, size, hold, if, else, endif, alternates, ignore, discard, retain, 
saveignore, savediscard, saveretain, …
Run Code Online (Sandbox Code Playgroud)

linux mail-command

113
推荐指数
2
解决办法
17万
查看次数

拆分文件后再次加入文件的最佳方法是什么?

如果我有一个大文件并且需要将其拆分为 100 兆字节的块,我会这样做

split -b 100m myImage.iso
Run Code Online (Sandbox Code Playgroud)

这通常会给我类似的东西

xaa
xab
xac
xad
Run Code Online (Sandbox Code Playgroud)

为了让它们重新组合在一起,我一直在使用

cat x* > myImage.iso
Run Code Online (Sandbox Code Playgroud)

似乎应该有一种比读取一组文件中的每一行代码cat并将输出重定向到新文件更有效的方法。就像只打开两个文件、EOF从第一个文件中删除标记并将它们连接起来一样 - 无需浏览所有内容。

Windows/DOS 有一个用于二进制文件的复制命令。帮助中提到此命令旨在能够组合多个文件。它使用以下语法:(/b用于二进制模式)

copy /b file1 + file2 + file3 outputfile
Run Code Online (Sandbox Code Playgroud)

在 Linux 上是否有类似或更好的方法来加入大文件而不是 cat?

更新

看来这cat实际上是加入文件的正确方式和最佳方式。很高兴知道我一直在使用正确的命令 :) 感谢大家的反馈。

linux command-line iso split files

99
推荐指数
4
解决办法
15万
查看次数

如何在linux中通过id查找用户名?

该命令id可用于查找用户的uid,例如:

$ id -u ubuntu
1000
Run Code Online (Sandbox Code Playgroud)

是否有命令可以从 a 中查找用户名uid?我意识到这可以通过查看/etc/passwd文件来完成,但我问是否有一个现有的命令,特别是如果执行它的用户不是 root。

我不是在寻找当前用户的用户名,即我不是在寻找whoamilogname

这也让我想知道在共享网络托管上这是否是一项安全功能,还是我只是没有正确理解某些内容?

为了检查,/etc/passwd来自共享网络主机的文件:

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
pcap:x:77:77::/var/arpwatch:/sbin/nologin
rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin
mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin
smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin
oprofile:x:16:16:Special user account to be used by OProfile:/home/oprofile:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
avahi:x:70:70:Avahi daemon:/:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
haldaemon:x:68:68:HAL daemon:/:/sbin/nologin
xfs:x:43:43:X Font …
Run Code Online (Sandbox Code Playgroud)

linux users ubuntu uuid

99
推荐指数
4
解决办法
24万
查看次数

我可以设置系统邮件以使用外部 SMTP 服务器吗?

是否可以在 linux 机器上设置系统邮件以通过不同的 smtp 服务器发送 - 甚至可以进行身份​​验证?如果是这样,我该怎么做?

如果这还不清楚,让我们举个例子。如果我在命令行并输入:

cat body.txt | mail -s "just a test" myfriend@hisdomain.com
Run Code Online (Sandbox Code Playgroud)

是否可以通过外部 SMTP 服务器(例如 G-mail)发送?

我不是在寻找“一种从命令行从 gmail 发送邮件的方法”,而是一种将整个系统配置为使用特定 SMTP 服务器的选项,或者可能是 SMTP 服务器上的一个帐户(可能会覆盖发件人地址) .

linux smtp email

94
推荐指数
4
解决办法
33万
查看次数

如何删除 .bash_history 中的重复项,保留顺序?

我真的很喜欢使用control+r递归搜索我的命令历史记录。我发现了一些我喜欢与它一起使用的好选择:

# ignore duplicate commands, ignore commands starting with a space
export HISTCONTROL=erasedups:ignorespace

# keep the last 5000 entries
export HISTSIZE=5000

# append to the history instead of overwriting (good for multiple connections)
shopt -s histappend
Run Code Online (Sandbox Code Playgroud)

对我来说唯一的问题是erasedups只删除连续的重复项 - 所以使用这串命令:

ls
cd ~
ls
Run Code Online (Sandbox Code Playgroud)

ls命令实际上将被记录两次。我想过定期使用 cron 运行:

cat .bash_history | sort | uniq > temp.txt
mv temp.txt .bash_history
Run Code Online (Sandbox Code Playgroud)

这将实现删除重复项,但不幸的是顺序不会被保留。如果我不先sort处理文件,我不相信uniq可以正常工作。

如何删除 .bash_history 中的重复项,保留顺序?

额外学分:

.bash_history通过脚本覆盖文件有什么问题吗?例如,如果您删除了一个 apache 日志文件,我认为您需要发送一个 nohup / reset 信号 …

command-line bash command-history sort uniq

82
推荐指数
6
解决办法
4万
查看次数

如何在 shell 脚本中“导出”环境变量?

我有多个 Amazon EC2 账户,并希望能够$EC2_HOME使用脚本快速切换变量,例如。

我有一个如下设置的shell脚本:

#!/bin/sh
export EC2_HOME=/home/me/.ec2
echo $EC2_HOME
Run Code Online (Sandbox Code Playgroud)

当我运行脚本时,我知道EC2_HOME已设置,但我认为使用export会使变量在脚本完成后继续存在。它没有,因为运行echo $EC_HOME不会显示任何内容。

我知道这一定是非常初级的 Linux 脚本知识,但我不知道。我试图在没有运气的情况下寻找相关问题 - 如果这是重复的,我深表歉意。

shell bash shell-script environment-variables

80
推荐指数
2
解决办法
12万
查看次数

我可以更改 root 的电子邮件地址或将其转发到外部地址吗?

我在root用户的邮件帐户中收到了大量邮件。这似乎主要是来自cron脚本之类的报告和错误。我正在努力解决这些问题,甚至可能将它们通过管道传输到某种“仪表板” - 但在那之前我如何才能将这些消息发送到我的个人电子邮件帐户?

root monitoring email mail-transport-agent

75
推荐指数
2
解决办法
17万
查看次数

如何以高质量将 PNG 转换为 PDF 以使其不模糊或模糊?

有很多关于如何将 PDF 文件转换为 PNG 图像的问题,但我正在寻找一个漂亮清晰的 PNG 文件,并且基本上将其包装或嵌入到 PDF 文件中,而不会让它看起来模糊或模糊。

我意识到安装了 imagemagic 我可以做一个简单的转换,比如:

convert sample.png sample.pdf
Run Code Online (Sandbox Code Playgroud)

我还尝试了很多开关来设置深度和质量设置:

convert -quality 100 sample.png sample.pdf
Run Code Online (Sandbox Code Playgroud)

然而,PDF 仍然看起来模糊/模糊。

这是一个示例图像:

http://img406.imageshack.us/img406/6461/picture3mu.png

作为 png,它清脆干净。当我将其转换为 PDF 时,即使大小相同,它看起来也很模糊:

图片4.png http://img803.imageshack.us/img803/9969/picture4at.png

如何将 PNG 高质量转换为 PDF?

imagemagick image-manipulation

69
推荐指数
4
解决办法
11万
查看次数

如何找到所有不包含文本字符串的文件?

我可以使用什么简洁的命令来查找所有不包含文本字符串的文件?

我试过这个(使用 -v 来反转 grep 的参数)但没有运气:

find . -exec grep -v -l shared.php {} \;
Run Code Online (Sandbox Code Playgroud)

有人说这行得通:

find . ! -exec grep -l shared.php {} \;
Run Code Online (Sandbox Code Playgroud)

但它似乎对我不起作用。

这个页面有这个例子:

find ./logs -size +1c  > t._tmp
while read filename
do
     grep -q "Process Complete" $filename
     if [ $? -ne 0 ] ; then
             echo $filename
     fi
done < t._tmp
rm -f t_tmp
Run Code Online (Sandbox Code Playgroud)

但这很麻烦,而且一点也不简洁。

ps:我知道这grep -L *会做到这一点,但是我真正想知道的是如何将 find 命令与 grep 结合使用来排除文件。

pss:我也不确定如何让 grep 包含带有grep -L *语法的子目录,但我仍然想知道如何使用它find …

grep find recursive

45
推荐指数
3
解决办法
10万
查看次数

如何在 Linux 中更改用户的默认组?

作为 Linux 管理的新手,我对以下命令有点困惑:

useradd
usermod
groupadd
groupmod
Run Code Online (Sandbox Code Playgroud)

我刚刚读完Linux/Unix Administrator's handbook 中的用户管理书,但有些东西还是有点模糊。

基本上useradd看起来很简单:

useradd -c "David Hilbert" -d /home/math/hilbert -g faculty -G famous -m -s /bin/sh hilbert
Run Code Online (Sandbox Code Playgroud)

我可以使用 username 添加“David Hilbert” hilbert,设置他的默认目录、shell 和组。我认为这-g是他的主要/默认组,-G也是他的其他组。

所以这些是我的下一个问题:

  1. 如果组facultyfamous不存在,此命令是否仍然有效?它只会创造它们吗?
  2. 如果没有,我使用什么命令来创建新组?
  3. 如果我删除用户hilbert并且这些组中没有其他用户,他们还会存在吗?我应该删除它们吗?
  4. 运行useradd上面的命令后,如何从famous组中删除 David ,并将他的主要组重新分配到hilbert尚不存在的组?

linux users administration group

44
推荐指数
3
解决办法
19万
查看次数