不常见的问题:CD撷取,awk,和文件权限

设置零点击CD撷取,用awk获得用户帐户的报告,并开始与目录权限的要点。

如果你浏览任何一个Linux论坛,你会遇到一个不应该被问到的问题。对于我们这些已经有一段时间的人来说,这个问题是无法回答的。但它还是来了。

哪个Linux发行版是最好的?

从表面上看,这是一个容易回答的问题,然后你会意识到:什么是“最好的”?这就是问题变得太开放的地方,然后你需要开始20个问题的游戏。

“你需要它做什么?”,“你有什么硬件?”等等。很明显,这个问题真的毫无意义。如果提问者能提前提到其中的一些内容,这将会有所帮助——难道我们不都希望他们读过Eric S Raymond和Rick Moen的书吗“如何用聪明的方式提问”?坦率地说,如果这个问题没有背景,完全不提会更好。

让我们以普通的桌面用户为例——他们需要电子邮件,互联网浏览,可能需要一个文字处理器,可能还需要安装一两个游戏。我们马上就会发现安装哪个发行版并不重要,它们都会这样做。

这就是Linux的伟大之处。它可以做任何你想让它做的事。只要安装正确的软件和发行版归结为化妆品-包管理,硬件检测,图标。发行版本身,除了一些特殊的例外,基本上是相同的。

更有用的是,如果他们能说出他们希望多么容易地安装它。通常,在这一点上,所有的以下将出现:“我使用Gentoo,它很容易”/“我使用Slackware,它很容易”/“安装LFS 50次后,我没有问题”。一场神圣的用50端绳子的拉锯战在当时在场的任何分发品的追随者中开始了。

这取决于你,用户,选择哪一个你更喜欢。所以,上网搜索发行版(或者去Distrowatch),开始下载吧。安装一个,试用一个星期,然后安装另一个。重复很多次,直到你选定一个你喜欢的。那时,也只有那时,你才会真正知道“哪个Linux发行版是最好的”。

最后,一切都归结为这些问题:我的个人偏好是什么——我想要参与到我的机器上发生的事情中去,还是把整个设置和内部工作留给别人,只做一些我需要做的奇怪的小改变?这是关于你自己思考,尝试一些新的东西,得出你自己的结论。

——XavierP

编者注:如果你计划使用社区的帮助资源,比如邮件列表和网络论坛,你可能会从运行与你相同发行版的用户那里得到最相关、最容易理解的帮助。因此,在您本地的Linux用户组邮件列表、您计划安装的主要程序的邮件列表以及LinuxQuestions.org上注册并“潜伏”。您可能很快就会看到一个或多个使用特定发行版的有用的海报。试试这个。

保存音乐

我怎样才能把我收藏的大量CD拷贝到硬盘上,这样我就不用不停地换CD了,尤其是在旅行的时候?

显而易见的答案是把光盘拷到硬盘上。

对于Linux用户来说,拷贝cd是一项琐碎的任务。有许多基于GUI的开膛手-控制、KAudioCreator SoundJuicer-有很多方法可以通过命令行来实现。这就是我们将要做的。

首先,您需要确保您有所需的编解码器。提示:如果你计划将音轨复制到你的便携式音乐设备,在翻录和编码音轨之前,检查它支持的格式。

一旦你安装了(如果你还没有的话)所需的编解码器-媒体播放器主页是一个很好的地方得到他们-然后是一个问题的ripping和编码的轨道。如果你打算通过基于GUI的工具来实现这一点,你最好现在就停止阅读,这些工具使用起来非常简单,而且往往有清晰的标题选项和开关。

然而,我们将使用命令行进行翻录和编码。为了复制CD并进行编码,您需要以下步骤:cdparanoia蹩脚的以及主页上描述的各种依赖关系。你的发行版要么从一开始就安装这些软件,要么在适合发行版的软件包中安装它们。否则,去他们的网站并从源代码安装。

一如既往,男人。页面(男人cdparanoia)将提供最多的信息,但就本文的目的而言,它太广泛了。首先,运行命令cdparanoia - b.这将批量复制轨道和分离他们,所以你不只是得到一个长轨道。铁轨会被. wav扩展。对于许多人来说,这就足够了,并且这些曲目(以及我们之前获取的编解码器)将能够在PC或笔记本上播放。

顺便说一下,cdparanoia - b命令将默认地撷取CD上的每一个音轨。如果您不想这样做,您将需要指定轨道。例如,cdparanoia - b 5将rip轨道5和cdparanoia - b 3 - 63到6个轨道。

cdparanoia蹩脚的有大量的开关可以使用。的男人。页面(跛足的人),将为您详细说明。出于本文的目的,我们将转换. wavmp3格式。这是因为它是一种更流行的格式,也可以在大多数便携式设备上播放。

蹩脚的可以很容易地进行这种转换。该命令蹩脚的- b 192track1.wav track1.mp3这告诉蹩脚的使用192的比特率转换文件。您可以尝试使用不同的比特率来改善声音,但在大多数情况下192应该足够了。

如果您想要更进一步,并在CLI上真正复制GUI体验,您可以进行安装libcddb并运行cddb_query工具。这将获取CD的CDDB信息(如果数据库知道的话)。

你的音轨现在可以播放或复制到你的音乐设备。

——XavierP

拯救音乐,第二部分

自从我安装Linux之后,我就没有使用过我服务器的光盘驱动器。我能把它设置成无人看管的光盘吗?

确定。下面是一个shell函数,您可以将它添加到您的.bashrc—只需ssh到服务器并输入即可rip-cds,它会撕掉cd,直到你退出。当完成时,它会弹出每一张CD,所以只要每隔一段时间走过服务器,放入一张新的CD,然后关上抽屉。

Rip-cds () {while true;if setcd -i | grep 'CD tray is open' > /dev/null;然后echo "Please insert the next CD" sleep 1 else abcde -xN fi done}

这个shell函数使用“abcde”,一个方便的cdparanoia包装器和您选择的编码工具,该工具还可以在互联网上搜索CD和曲目标题。的- x选项在您完成时弹出CD,而- n选项使abcde进入非交互模式。

感谢Nick Moffitt为这部电影提供的剧本。查看手册页的abcde为更多的提示使用它来组织您的音乐库只是你想要的方式。

——不马蒂

到awk

如果我想查看Linux中所有用户的列表,可以使用哪个命令?命令“谁”告诉谁是在线现在登录,但我需要命令,将显示所有注册用户。

有时我们需要使用grep、sed和cut进行稍微复杂一点的文本处理,但又不至于太麻烦到去尝试Perl(老实说,Perl没有什么问题!)

输入awk,它是一个小而快速的(比perl更少的内存开销,或者几个进程通过管道连接在一起,从磁盘加载更快)。Perl是awk的超集。Perl的制造者知道awk,他们最初为awk不能完全解决的情况编写Perl。Awk还是很有价值的。

在一个普通用法的例子中,它替换了grep和cut的组合(加上一些数值比较)这个线程.它被用来处理/ etc / passwd文件,这是一个很普通的用途。这个命令为uid大于99的每个用户打印用户名和用户的全名。(在提问者的分发中,uids 99及以下为系统保留。)

/etc/passwd . awk -F: '$3 >99 {print $1" "$5}

线程包含一个更复杂的查询:删除文件a中的行,如果它们在文件B中有相应的条目。

基本上是这样的,文件B中的名字被放入一个数组中,然后我们根据文件A的每一行检查数组的内容,如果它不在数组中就打印出来。

使用.bash_history的人还会做一些其他的事情,比如尝试不时地删除重复的行(不,我不是指HISTCONTROL=ignoredups类型的东西或你永远不想在你的历史中出现的东西,比如lscd HISTIGNORE = *提示*:*:ls *我会照顾的)。我的意思是当你做同样的事情五六次,被其他事情打断。如果您不使用bash的时间戳特性,这个小东西就可以做到这一点,而不会破坏事物出现的顺序(不像sort -u)。

awk”!x[0]美元+ + ~ / . bash_history

发生什么事情了?$0表示一行,x[$0]在关联数组中查找一行;如果它存在,它返回(正的)索引,如果它不存在,它被添加并返回0。!将数字转换为逻辑补码(如果我们得到0,则执行awk的默认操作,并打印记录);然后把发生的次数加起来。快速和容易。

如果您碰巧正在使用bash时间戳,那么稍加修改也可以使它为您工作。

awk的开始{RS = " #[0 - 9]{10}”}!x[0]美元+ + ~ / . bash_history

另一个很好的用途是“grep”多个模式,如果条件的顺序没有定义好,并且单个regex可以捕获它们,那么使用真正的grep将使用管道进行多次调用。有了awk,它就变成了,如本帖所示

Awk '/pattern1/ && /pattern2/'文件

这实际上已经足够了,因为如果没有显式地给出awk的默认操作,那么如果条件的计算结果为true,则打印。

——Tinkster

目录的“执行”权限是什么意思?

Unix/Linux文件权限相对简单,但是对于系统管理新手来说存在一些陷阱和陷阱。的确,考虑到越来越多的linux机器实际上不是多用户系统,而是只服务于一个用户的台式机,就没有那么多需要担心的了——是吗?

权限由三个基本属性组成:读、写和执行。稍后我们将讨论其他三个:sticky、setuid和setgid。但是,当应用到文件或目录时,它们的含义是不同的。是的,对目录的写访问权意味着您有权向目录写入新文件。从这个意义上说,目录的工作方式类似于文件。但是执行呢?对于目录,这意味着x属性允许您更改到该目录,就像cd命令,或列出其内容。但是列出内容和阅读内容有什么不同呢?有关文件的信息,如所有权、大小、时间戳等,都取决于'x'位。让我们直接说-如果一个目录的权限是'drw-------',所有者不能cd到它,但可以通过'ls -l forbidden'获得文件的名称。Ls会告诉你哪些文件是不允许看的。如果权限是'd-wx------',你可以cd到它,但你从ls得到权限被拒绝,就是这样。

$ chmod u+r,u-x forbidden/ $ ls -ld forbidden/ ls: forbidden/ecl.zip: Permission denied ls: forbidden/maillog: Permission denied ls: forbidden/test. txt:权限被拒绝awk: Permission denied ls: forbidden/md5.pl: Permission denied ls: forbidden/ls.php: Permission denied total 0

这意味着,如果您在一个目录上有执行权限,但没有读取权限,那么您可以读取该目录中文件的内容(如果您知道它的名称)。

同样重要的是,要知道权限是按照用户、组、其他的顺序计算的,并且将使用第一个匹配的顺序。所以如果你看到

----rwx—2 tink users 384

如果您碰巧是叮当和组用户的成员,您将不能使用该文件,即使您拥有它(当然,直到您可以chmod它,因为您是所有者)。

然后是粘位、SUID和SGID位。Sticky只与目录相关,这意味着只有文件的所有者(当然还有根)才有权删除它。

执行命令:$ ls -ld /tmp/ DRWXRWXRWT 122 root root 10368 2006-08-16 11:03 /tmp/

尽管/tmp是世界可写的,但并不是每个人都可以删除其他人的文件。注意/tmp?这就是最棘手的部分。SETUID和SETGID意味着可执行文件是以拥有该文件的用户/组的身份运行的——慎用!对于目录,SETUID位没有任何意义,但SETGID意味着在该目录中创建的文件将获得该目录的所属组作为其组所有者,而不是创建该目录的用户的默认组。

现在,当你的机器只被一个用户使用时,我们为什么要一直喋喋不休地谈论这些事情呢?这就是新来者最危险的错误行为的原因,他们总是把系统作为根。不管怎么强调,不以根用户身份运行,不仅可以保护您免受自己的胖手指的伤害,还可以防止您可能正在使用的带有bug的软件容易被利用。

——Tinkster

了解更多关于这个主题的信息

中的CD分离工具

cdparanoia

GNU Awk用户指南

这篇文章,“不常见的问题:CD翻录、awk和文件权限”最初是由LinuxWorld——(美国)

加入网络世界社区足球竞猜app软件脸谱网LinkedIn对自己最关心的话题发表评论。
相关:

版权©2006足球竞彩网下载

工资调查:结果在