我们可以很容易地修改用户名以及对应的家目录

为你的 Fedora 系统增添发音功能 | Linux 中国,fedoralinux

Fedora 工作站默认带有一个小软件,叫做 espeak。它是一个声音合成器 —— 也就是转换文本为声音的软件。-- Alessio Ciregia

本文导航◈ 运行 espeak22%编译自 |  
 作者 | Alessio Ciregia
 译者 | lujun9972

Fedora 工作站默认带有一个小软件,叫做 espeak。它是一个声音合成器 —— 也就是转换文本为声音的软件。

在当今这个世界,发音设备已经非常普遍了。在智能电话、Amazon Alexa,甚至火车站的公告栏中都有声音合成器。而且,现在合成声音已经跟人类的声音很类似了。我们生活在 80bandaid 的科幻电影里!

与前面提到的这些工具相比,espeak 的发音听起来有一点原始。但最终 espeak 可以产生不错的发音效果。而且不管你觉得它有没有用,至少它可以给你带来一些乐趣。

运行 espeak

你可以在命令行为 espeak 设置各种参数。包括:

◈ 振幅(-a)◈ 音高调整 (-p)◈ 读句子的速度 (-s)◈ 单词间的停顿时间 (-g

每个选项都能产生不同的效果,你可以通过调整它们来让发音更加清晰。

你也可以通过命令行选项来选择不同的变音。比如,-ven+m3 表示另一种英式男音,而 -ven+f1 表示英式女音。你也可以尝试其他语言的发音。运行下面命令可以查看支持的语言列表:

  1. espeak --voices

要注意,很多非英语的语言发音现在还处于实验阶段。

若要创建相应的 WAV 文件而不是真的讲出来,则可以使用 -w 选项:

  1. espeak -w out.wav "Audio file test"

espeak 还能读出文件的内容。

  1. espeak -f plaintextfile

你也可以通过标准输入传递要发音的文本。举个简单的例子,通过这种方式,你可以创建一个发音盒子,当事件发生时使用声音通知你。你的备份完成了?将下面命令添加到脚本的最后试试效果:

  1. echo "Backup completed" | espeak -s 160 -a 100 -g 4

假如有日志文件中出现错误了:

  1. tail -1F /your/log/file | grep --line-buffered 'ERROR' | espeak

或者你也可以创建一个报时钟表,每分钟报一次时:

  1. while true; do date +%S | grep '00' && date +%H:%M | espeak; sleep 1; done

你会发现,espeak 的使用场景仅仅受你的想象所限制。享受你这会发音的 Fedora 系统吧!


via: 

作者:Alessio Ciregia[2] 译者:lujun9972 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

LCTT 译者lujun9972 ? ? ? ?共计翻译:51 篇贡献时间:39 天

推荐文章

< 左右滑动查看相关文章 >

点击图片、输入文章 ID 或识别二维码直达

原文链接请访问“原文链接”获得可点击的文内链接、全尺寸原图和相关文章。

Pick:一款 Linux 上的命令行模糊搜索工具 | Linux 中国,pick模糊搜索

它允许用户通过 ncurses(3X) 界面来从一系列选项中进行选择,而且还支持模糊搜索的功能。当你想要选择某个名字中包含非英文字符的目录或文件时,这款工具就很有用了。

-- Sk

本文导航

◈ 安装 Pick11%

◈ 用法37%

编译自 |  
 作者 | Sk
 译者 | lujun9972

今天,我们要讲的是一款有趣的命令行工具,名叫 Pick。它允许用户通过 ncurses(3X) 界面来从一系列选项中进行选择,而且还支持模糊搜索的功能。当你想要选择某个名字中包含非英文字符的目录或文件时,这款工具就很有用了。你根本都无需学习如何输入非英文字符。借助 Pick,你可以很方便地进行搜索、选择,然后浏览该文件或进入该目录。你甚至无需输入任何字符来过滤文件/目录。这很适合那些有大量目录和文件的人来用。

安装 Pick

对 Arch Linux 及其衍生品来说,Pick 放在 AUR[1] 中。因此 Arch 用户可以使用类似 Pacaur[2],Packer[3],以及 Yaourt[4] 等 AUR 辅助工具来安装它。

pacaur -S pick

或者,

packer -S pick

或者,

yaourt -S pick

Debian,Ubuntu,Linux Mint 用户则可以通过运行下面命令来安装 Pick。

sudo apt-get install pick

其他的发行版则可以从这里[5]下载最新的安装包,然后按照下面的步骤来安装。在写本指南时,其最新版为 1.9.0。

wget https://github.com/calleerlandsson/pick/releases/download/v1.9.0/pick-1.9.0.tar.gztar -zxvf pick-1.9.0.tar.gzcd pick-1.9.0/

使用下面命令进行配置:

./configure

最后,构建并安装 Pick:

makesudo make install

用法

通过将它与其他命令集成能够大幅简化你的工作。我这里会给出一些例子,让你理解它是怎么工作的。

让们先创建一堆目录。

mkdir -p abcd/efgh/ijkl/mnop/qrst/uvwx/yz/

现在,你想进入目录 /ijkl/。你有两种选择。可以使用 cd 命令:

cd abcd/efgh/ijkl/

或者,创建一个快捷方式[6] 或者说别名指向这个目录,这样你可以迅速进入该目录。

但,使用 pick 命令则问题变得简单的多。看下面这个例子。

cd $(find . -type d | pick)

这个命令会列出当前工作目录下的所有目录及其子目录,你可以用上下箭头选择你想进入的目录,然后按下回车就行了。

像这样:

而且,它还会根据你输入的内容过滤目录和文件。比如,当我输入 “or” 时会显示如下结果。

这只是一个例子。你也可以将 pick 命令跟其他命令一起混用。

这是另一个例子。

find -type f | pick | xargs less

该命令让你选择当前目录中的某个文件并用 less 来查看它。

还想看其他例子?还有呢。下面命令让你选择当前目录下的文件或目录,并将之迁移到其他地方去,比如这里我们迁移到 /home/sk/ostechnix

mv "$(find . -maxdepth 1 |pick)" /home/sk/ostechnix/

通过上下按钮选择要迁移的文件,然后按下回车就会把它迁移到 /home/sk/ostechnix/目录中的。

从上面的结果中可以看到,我把一个名叫 abcd 的目录移动到 ostechnix 目录中了。

使用方式是无限的。甚至 Vim 编辑器上还有一个叫做 pick.vim[7] 的插件让你在 Vim 中选择更加方便。

要查看详细信息,请参阅它的 man 页。

man pick

我们的讲解至此就结束了。希望这款工具能给你们带来帮助。如果你觉得我们的指南有用的话,请将它分享到您的社交网络上,并向大家推荐我们。


via: 

作者:SK[9] 译者:lujun9972 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

LCTT 译者

lujun9972 ? ? ? ?

共计翻译:69 篇

贡献时间:46 天

推荐文章

< 左右滑动查看相关文章 >

点击图片、输入文章 ID 或识别二维码直达

原文链接

请访问“原文链接”获得可点击的文内链接、全尺寸原图和相关文章。

使用 ACL 设置用户访问指定文件/目录的权限 | Linux 中国,acllinux

ACL 表示访问控制列表(Access Control List,ACL),它为文件系统提供了附加的、更具有弹性的权限机制。 它被设计来为补充 UNIX 文件权限机制。-- Magesh Maruthamuthu

本文导航◈ 什么是 ACL?16%◈ 什么是 setfacl?20%◈ 什么 getfacl?21%◈ 如何确认是否启用了 ACL?24%◈ 如何查看默认的 ACL 值38%◈ 如何为文件设置 ACL43%◈ 如何为目录设置 ACL56%◈ 如何为组设置 ACL68%◈ 如何删除 ACL75%◈ 如何备份并还原 ACL88%编译自 |  
 作者 | Magesh Maruthamuthu
 译者 | lujun9972

当提到文件和目录的权限时,你的第一反应可能是“属主/群组/其它”权限。 这些权限可以通过 chmod、 chown 等命令来修改。

文件和目录都有属主 (文件所有者 )、群组 (所属组) 以及其它权限,这些权限构成一个集合。 然而这些权限集合有它的局限性,无法做到为不同的用户设置不同的权限。

Linux 对文件和目录有以下默认权限。

◈ 文件 -> 644 -> -rw-r-r- (所有者有读写权限,组成员有只读权限, 其他人也只有读权限)◈ 目录 -> 755 -> drwxr-xr-x (所有者有读、写和执行权限,组成员有读和执行的权限,其他人也有读和执行的权限)

比如: 默认情况下,所有者可以访问和编辑他们自己主目录中的文件, 也可以访问相关同组人的文件,但他们不能修改这些文件,因为组成员没有写权限,而且让组成员有写权限也是不明智的。 基于同样的原因,他/她也不能修改其他人的文件。 然而在某些情况下,多个用户想要修改同一个文件, 那该怎么办呢?

假设有个名叫 magi 的用户,他想要修改 httpd.conf 文件怎么办呢? 这个文件是归 root 用户所有的,这样如何授权呢? 为了解决这种情况,访问控制列表Access Control List(ACL)诞生了。

什么是 ACL?

ACL 表示访问控制列表Access Control List(ACL),它为文件系统提供了附加的、更具有弹性的权限机制。 它被设计来为补充 UNIX 文件权限机制。 ACL 允许你赋予任何某用户/组访问某项资源的权限。 setfacl 与 getfacl 命令会帮助你管理 ACL 而不会有任何麻烦。

什么是 setfacl?

setfacl 用于设置文件和目录的 ACL。

什么 getfacl?

getfacl - 获取文件的 ACL 。对于每个文件, getfacl 都会显示文件名、文件所有者、所属组以及ACL。 如果目录有默认 ACL, getfacl 也会显示这个默认的 ACL。

如何确认是否启用了 ACL?

运行 tune2fs 命令来检查是否启用了 ACL。

  1. # tune2fs -l /dev/sdb1 | grep options

  2. Default mount options: (none)

上面的输出很明显第说明 /dev/sdb1 分区没有启用 ACL。

如果结果中没有列出 acl,则你需要在挂载选项中加上 acl。 为了让它永久生效, 修改 /etc/fstab 中 /app 这一行成这样:

  1. # more /etc/fstab

  2. ``

  3. UUID=f304277d-1063-40a2-b9dc-8bcf30466a03 / ext4 defaults 1 1

  4. /dev/sdb1        /app ext4 defaults,acl 1 1

  5. ``

或者,你也可以使用下面命令将其添加道文件系统的超级块中:

  1. # tune2fs -o +acl /dev/sdb1

现在,通过运行以下命令来动态修改选项:

  1. # mount -o remount,acl /app

再次运行 tune2fs 命令来看选项中是否有 acl 了:

  1. # tune2fs -l /dev/sdb1 | grep options

  2. Default mount options: acl

嗯,现在 /dev/sdb1 分区中有 ACL 选项了。

如何查看默认的 ACL 值

要查看文件和目录默认的 ACL 值,可以使用 getfacl 命令后面加上文件路径或者目录路径。 注意, 当你对非 ACL 文件/目录运行 getfacl 命令时, 则不会显示附加的 user和 mask 参数值。

  1. # getfacl /etc/apache2/apache2.conf

  2. ``

  3. # file: etc/apache2/apache2.conf

  4. # owner: root

  5. # group: root

  6. user::rw-

  7. group::r--

  8. other::r--

如何为文件设置 ACL

以下面格式运行 setfacl 命令可以为指定文件设置 ACL。在下面的例子中,我们会给 magi 用户对 /etc/apache2/apache2.conf 文件 rwx 的权限。

  1. # setfacl -m u:magi:rwx /etc/apache2/apache2.conf

仔细分析起来:

◈ setfacl: 命令◈ -m: 修改文件的当前 ACL◈ u: 指明用户◈ magi: 用户名◈ rwx: 要设置的权限◈ /etc/apache2/apache2.conf: 文件名称

再查看一次新的 ACL 值:

  1. # getfacl /etc/apache2/apache2.conf

  2. ``

  3. # file: etc/apache2/apache2.conf

  4. # owner: root

  5. # group: root

  6. user::rw-

  7. user:magi:rwx

  8. group::r--

  9. mask::rwx

  10. other::r--

注意: 若你发现文件或目录权限后面有一个加号(+),就表示设置了 ACL。

  1. # ls -lh /etc/apache2/apache2.conf

  2. -rw-rwxr--+ 1 root root 7.1K Sep 19 14:58 /etc/apache2/apache2.conf

如何为目录设置 ACL

以下面格式运行 setfacl 命令可以递归地为指定目录设置 ACL。在下面的例子中,我们会将 /etc/apache2/sites-available/ 目录中的 rwx 权限赋予 magi 用户。

  1. # setfacl -Rm u:magi:rwx /etc/apache2/sites-available/

其中:

◈ -R: 递归到子目录中

再次查看一下新的 ACL 值。

  1. # getfacl /etc/apache2/sites-available/

  2. ``

  3. # file: etc/apache2/sites-available/

  4. # owner: root

  5. # group: root

  6. user::rwx

  7. user:magi:rwx

  8. group::r-x

  9. mask::rwx

  10. other::r-x

  11. ``

现在 /etc/apache2/sites-available/ 中的文件和目录都设置了 ACL。

  1. # ls -lh /etc/apache2/sites-available/

  2. total 20K

  3. -rw-rwxr--+ 1 root root 1.4K Sep 19 14:56 000-default.conf

  4. -rw-rwxr--+ 1 root root 6.2K Sep 19 14:56 default-ssl.conf

  5. -rw-rwxr--+ 1 root root 1.4K Dec 8 02:57 mywebpage.com.conf

  6. -rw-rwxr--+ 1 root root 1.4K Dec 7 19:07 testpage.com.conf

如何为组设置 ACL

以下面格式为指定文件运行 setfacl 命令。在下面的例子中,我们会给 appdev 组赋予 /etc/apache2/apache2.conf 文件的 rwx 权限。

  1. # setfacl -m g:appdev:rwx /etc/apache2/apache2.conf

其中:

◈ g: 指明一个组

对多个用户和组授权,只需要用 逗号 区分开,就像下面这样。

  1. # setfacl -m u:magi:rwx,g:appdev:rwx /etc/apache2/apache2.conf

如何删除 ACL

以下面格式运行 setfacl 命令会删除文件对指定用户的 ACL。这只会删除用户权限而保留 mask 的值为只读。

  1. # setfacl -x u:magi /etc/apache2/apache2.conf

其中:

◈ -x: 从文件的 ACL 中删除

再次查看 ACL 值。在下面的输出中我们可以看到 mask 的值是读。

  1. # getfacl /etc/apache2/apache2.conf

  2. ``

  3. # file: etc/apache2/apache2.conf

  4. # owner: root

  5. # group: root

  6. user::rw-

  7. group::r--

  8. mask::r--

  9. other::r--

使用 -b 来删除文件中所有的 ACL。

  1. # setfacl -b /etc/apache2/apache2.conf

其中:

◈ -b: 删除所有的 ACL 条目

再次查看删掉后的 ACl 值就会发现所有的东西都不见了,包括 mask 的值也不见了。

  1. # getfacl /etc/apache2/apache2.conf

  2. ``

  3. # file: etc/apache2/apache2.conf

  4. # owner: root

  5. # group: root

  6. user::rw-

  7. group::r--

  8. other::r--

如何备份并还原 ACL

下面命令可以备份和还原 ACL 的值。要制作备份, 需要进入对应的目录然后这样做(假设我们要备份 sites-available 目录中的 ACL 值)。

  1. # cd /etc/apache2/sites-available/

  2. # getfacl -R * > acl_backup_for_folder

还原的话,则运行下面命令:

  1. # setfacl --restore=/etc/apache2/sites-available/acl_backup_for_folder

via: 

作者:Magesh Maruthamuthu[2] 译者:lujun9972 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

LCTT 译者lujun9972 ? ? ? ?共计翻译:51 篇贡献时间:39 天

推荐文章

< 左右滑动查看相关文章 >

点击图片、输入文章 ID 或识别二维码直达

原文链接请访问“原文链接”获得可点击的文内链接、全尺寸原图和相关文章。

Linux 下如何修改用户名(同时修改用户组名和家目录) | Linux 中国,linux用户组

有时候,由于某些原因,我们可能会需要重命名用户名。我们可以很容易地修改用户名以及对应的家目录和 UID。-- Shusain

本文导航◈ 修改用户名12%◈ 修改家目录43%◈ 更改用户 UID52%◈ 修改用户组名60%编译自 |  
 作者 | Shusain
 译者 | lujun9972

有时候,由于某些原因,我们可能会需要重命名用户名。我们可以很容易地修改用户名以及对应的家目录和 UID。

本教程将会讨论这些东西。让我们先从修改用户名开始。

修改用户名

我们使用 usermod 来修改用户名。其语法为,

  1. $ usermod -l new_username old_username

举个例子,假设我们有一个名叫 dan 的用户想要重命名为 susan,那么在终端下执行下面命令:

  1. $ sudo usermod -l susan dan

这只会更改用户名,而其他的东西,比如用户组,家目录,UID 等都保持不变。

注意:- 你需要从要改名的帐号中登出并杀掉该用户的所有进程,要杀掉该用户的所有进程可以执行下面命令,

  1. $ sudo pkill -u dan

  2. $ sudo pkill -9 -u dan

修改家目录

要同时更改家目录,我们需要在执行 usermod 命令的同时加上 -d 选项,

  1. $ sudo usermod -d /home/susan -m susan

更改用户 UID

执行下面命令修改用户 UID,

  1. $ sudo usermod -u 2000 susan

这里 2000 就是用户的新 UID。

修改用户组名

要把用户组名从 dan 修改为 susan,我们需要使用 groupmod 命令。使用下面命令来修改用户组名,

  1. $ groupmod -n susan dan

做完修改后,可以使用 id 命令来检查,

  1. $ id susan

这篇教导如何修改用户名的指南就此结束了。有任何疑问或建议,欢迎给我们留言。


via: 

作者:Shusain[2] 译者:lujun9972 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

LCTT 译者lujun9972 ? ? ? ?共计翻译:44 篇贡献时间:35 天

推荐文章

< 左右滑动查看相关文章 >

点击图片、输入文章 ID 或识别二维码直达

原文链接请访问“原文链接”获得可点击的文内链接、全尺寸原图和相关文章。

图片 1

tcpdump 是一个很常用的网络包分析工具,可以用来显示通过网络传输到本系统的 TCP/IP 以及其他网络的数据包。tcpdump 使用 libpcap 库来抓取网络报,这个库在几乎在所有的 Linux/Unix 中都有。

tcpdump 可以从网卡或之前创建的数据包文件中读取内容,也可以将包写入文件中以供后续使用。必须是 root 用户或者使用 sudo 特权来运行 tcpdump

在本文中,我们将会通过一些实例来演示如何使用 tcpdump 命令,但首先让我们来看看在各种 Linux 操作系统中是如何安装 tcpdump 的。

 

本文由必威发布于必威-运维,转载请注明出处:我们可以很容易地修改用户名以及对应的家目录

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。