个人工具

“Learning the shell”的版本间的差异

来自Ubuntu中文

跳转至: 导航, 搜索
 
第9行: 第9行:
  
 
----
 
----
== 学习Shell ==
+
== 学习Shell ==
=== 不耐烦了吗? ===
+
  
为什么您确实需要学习命令行?好吧,让我给您讲一个故事。不久以前在我工作的地方我们碰到了一个问题。在我们的一个文件服务器上有一个共享分区老是被写满。我不想在此提及这个古董操作系统确实不支持用户配额:这是另一个故事。但是服务器一直空间不足也影响了大家的工作。我们公司的一个软件工程师花了一天写了一个C++程序,浏览所有用户的目录,统计他们使用的容量并列出结果。虽然在工作时,我也得使用那个老OS,我安装了[http://sources.redhat.com/cygwin/ 一个可以在它上面工作的bash终端.]。当我得知这个问题时,我意识到我可以用一行命令来完成那个工程师所做的所有工作:
+
=== 不耐烦了吗?  ===
  
<pre><nowiki>
+
为什么您确实需要学习命令行?好吧,让我给您讲一个故事。不久以前在我工作的地方我们碰到了一个问题。在我们的一个文件服务器上有一个共享分区老是被写满。我不想在此提及这个古董操作系统确实不支持用户配额:这是另一个故事。但是服务器一直空间不足也影响了大家的工作。我们公司的一个软件工程师花了一天写了一个C++程序,浏览所有用户的目录,统计他们使用的容量并列出结果。虽然在工作时,我也得使用那个老OS,我安装了[http://sources.redhat.com/cygwin/ 一个可以在它上面工作的bash终端.]。当我得知这个问题时,我意识到我可以用一行命令来完成那个工程师所做的所有工作:
du -s * | sort -nr > $HOME/space_report.txt
+
<pre>du -s * | sort -nr &gt; $HOME/space_report.txt
</nowiki></pre>
+
</pre>  
 +
图形用户界面(GUIs)对许多任务来说是很有帮助的,但是并不是对所有任务都有好处。很久以来我有种错觉今天的大多数电脑不再使用电流。它们似乎代以靠鼠标的“摇动”来供电!电脑是用于将我们从手工劳动中解放出来,但是您执行过多少您确定电脑能够做到的事情呢?您通过不厌其烦地动那个鼠标来结束工作。点-击,点-击……。
  
图形用户界面(GUIs)对许多任务来说是很有帮助的,但是并不是对所有任务都有好处。很久以来我有种错觉今天的大多数电脑不再使用电流。它们似乎代以靠鼠标的“摇动”来供电!电脑是用于将我们从手工劳动中解放出来,但是您执行过多少您确定电脑能够做到的事情呢?您通过不厌其烦地动那个鼠标来结束工作。点-击,点-击……。
+
我曾经听一个作家评论说,当你是小孩的时候,才通过看图来使用电脑。当你长大后,你学着读和写。欢迎使用计算机文化101,现在让我们开始工作。
  
我曾经听一个作家评论说,当你是小孩的时候,才通过看图来使用电脑。当你长大后,你学着读和写。欢迎使用计算机文化101,现在让我们开始工作。
+
=== 目录  ===
  
=== 目录 ===
+
*[[Lts0010|什么是 shell?]]  
 
+
*#[[Lts0010#xterm|什么是 xterm, gnome-terminal, konsole, etc.?]]  
*   [[lts0010| 什么是 shell?]]
+
*#[[Lts0010#starting|启动一个终端]]  
*# [[lts0010#xterm| 什么是 xterm, gnome-terminal, konsole, etc.?]]
+
*#[[Lts0010#testing|测试键盘]]  
*# [[lts0010#starting| 启动一个终端]]
+
*#[[Lts0010#using|使用鼠标]]  
*# [[lts0010#testing| 测试键盘]]
+
*[[Lts0020|导航]]  
*# [[lts0010#using| 使用鼠标]]
+
*#[[Lts0020#file|文件系统组织]]  
*   [[lts0020| 导航]]
+
*#[[Lts0020#pwd|pwd]]  
*# [[lts0020#file| 文件系统组织]]
+
*#[[Lts0020#cd|cd]]  
*# [[lts0020#pwd| pwd]]
+
*[[Lts0030|Looking Around]]  
*# [[lts0020#cd| cd]]
+
*#[[Lts0030#ls|ls]]  
*   [[lts0030| Looking Around]]
+
*#[[Lts0030#less|less]]  
*# [[lts0030#ls| ls]]
+
*#[[Lts0030#file|file]]  
*# [[lts0030#less| less]]
+
*[[Lts0040|A Guided Tour]]  
*# [[lts0030#file| file]]
+
*#[[Lts0040#root|/]]  
*   [[lts0040| A Guided Tour]]
+
*#[[Lts0040#boot|/boot]]  
*# [[lts0040#root| /]]
+
*#[[Lts0040#etc|/etc]]  
*# [[lts0040#boot| /boot]]
+
*#[[Lts0040#bin|/bin, /usr/bin]]  
*# [[lts0040#etc| /etc]]
+
*#[[Lts0040#sbin|/sbin, /usr/sbin]]  
*# [[lts0040#bin| /bin, /usr/bin]]
+
*#[[Lts0040#usr|/usr]]  
*# [[lts0040#sbin| /sbin, /usr/sbin]]
+
*#[[Lts0040#local|/usr/local]]  
*# [[lts0040#usr| /usr]]
+
*#[[Lts0040#var|/var]]  
*# [[lts0040#local| /usr/local]]
+
*#[[Lts0040#lib|/lib]]  
*# [[lts0040#var| /var]]
+
*#[[Lts0040#home|/home]]  
*# [[lts0040#lib| /lib]]
+
*#[[Lts0040#root home|/root]]  
*# [[lts0040#home| /home]]
+
*#[[Lts0040#tmp|/tmp]]  
*# [[lts0040#root_home| /root]]
+
*#[[Lts0040#dev|/dev]]  
*# [[lts0040#tmp| /tmp]]
+
*#[[Lts0040#proc|/proc]]  
*# [[lts0040#dev| /dev]]
+
*#[[Lts0040#mnt|/mnt]]  
*# [[lts0040#proc| /proc]]
+
*[[Lts0050|操作文件]]  
*# [[lts0040#mnt| /mnt]]
+
*#[[Lts0050#wildcards|通配符]]  
*   [[lts0050| 操作文件]]
+
*#[[Lts0050#cp|cp]]  
*# [[lts0050#wildcards| 通配符]]
+
*#[[Lts0050#mv|mv]]  
*# [[lts0050#cp| cp]]
+
*#[[Lts0050#rm|rm]]  
*# [[lts0050#mv| mv]]
+
*#[[Lts0050#mkdir|mkdir]]  
*# [[lts0050#rm| rm]]
+
*[[Lts0060|标准输出重定向]]  
*# [[lts0050#mkdir| mkdir]]
+
*#[[Lts0060#standard output|标准输出]]  
*   [[lts0060| 标准输出重定向]]
+
*#[[Lts0060#standard input|标准输入]]  
*# [[lts0060#standard_output| 标准输出]]
+
*#[[Lts0060#pipes|管道]]  
*# [[lts0060#standard_input| 标准输入]]
+
*#[[Lts0060#filters|过滤]]  
*# [[lts0060#pipes| 管道]]
+
*[[Lts0070|权限]]  
*# [[lts0060#filters| 过滤]]
+
*#[[Lts0070#file permissions|文件访问权限]]  
*   [[lts0070| 权限]]
+
*#[[Lts0070#chmod|chmod]]  
*# [[lts0070#file_permissions| 文件访问权限]]
+
*#[[Lts0070#directory permissions|目录访问权限]]  
*# [[lts0070#chmod| chmod]]
+
*#[[Lts0070#su|暂时成为超级用户]]  
*# [[lts0070#directory_permissions| 目录访问权限]]
+
*#[[Lts0070#chown|改变文件所有者]]  
*# [[lts0070#su| 暂时成为超级用户]]
+
*#[[Lts0070#chgrp|改变文件所有组]]  
*# [[lts0070#chown| 改变文件所有者]]
+
*[[Lts0080|作业控制]]  
*# [[lts0070#chgrp| 改变文件所有组]]
+
*#[[Lts0080#practical example|一个实际例子]]  
*   [[lts0080| 作业控制]]
+
*#[[Lts0080#in the background|在后台运行一个程序]]  
*# [[lts0080#practical_example| 一个实际例子]]
+
*#[[Lts0080#listing your processes|列出你的进程]]  
*# [[lts0080#in_the_background| 在后台运行一个程序]]
+
*#[[Lts0080#killing a process|杀死一个进程]]  
*# [[lts0080#listing_your_processes| 列出你的进程]]
+
*#[[Lts0080#more about kill|关于kill命令的更多介绍]]
*# [[lts0080#killing_a_process| 杀死一个进程]]
+
*# [[lts0080#more_about_kill| 关于kill命令的更多介绍]]
+
  
 +
<br>
  
 
----
 
----
来源: learning_the_shell
 
  
© 2000-2006, William Shotts, Jr. 允许以任何形式完整复制和发布整篇文章, 请保留此版权提示。
+
来源: learning_the_shell
 +
 
 +
© 2000-2006, William Shotts, Jr. 允许以任何形式完整复制和发布整篇文章, 请保留此版权提示。  
  
 
Linux® is a registered trademark of Linus Torvalds.
 
Linux® is a registered trademark of Linus Torvalds.

2008年6月25日 (三) 18:56的最新版本


原文出处:http://linuxcommand.org/learning_the_shell.php

原文作者:William Shotts, Jr.

授权许可:GNU FDL

翻译人员:spider5


学习Shell

不耐烦了吗?

为什么您确实需要学习命令行?好吧,让我给您讲一个故事。不久以前在我工作的地方我们碰到了一个问题。在我们的一个文件服务器上有一个共享分区老是被写满。我不想在此提及这个古董操作系统确实不支持用户配额:这是另一个故事。但是服务器一直空间不足也影响了大家的工作。我们公司的一个软件工程师花了一天写了一个C++程序,浏览所有用户的目录,统计他们使用的容量并列出结果。虽然在工作时,我也得使用那个老OS,我安装了一个可以在它上面工作的bash终端.。当我得知这个问题时,我意识到我可以用一行命令来完成那个工程师所做的所有工作:

du -s * | sort -nr > $HOME/space_report.txt

图形用户界面(GUIs)对许多任务来说是很有帮助的,但是并不是对所有任务都有好处。很久以来我有种错觉今天的大多数电脑不再使用电流。它们似乎代以靠鼠标的“摇动”来供电!电脑是用于将我们从手工劳动中解放出来,但是您执行过多少您确定电脑能够做到的事情呢?您通过不厌其烦地动那个鼠标来结束工作。点-击,点-击……。

我曾经听一个作家评论说,当你是小孩的时候,才通过看图来使用电脑。当你长大后,你学着读和写。欢迎使用计算机文化101,现在让我们开始工作。

目录



来源: learning_the_shell

© 2000-2006, William Shotts, Jr. 允许以任何形式完整复制和发布整篇文章, 请保留此版权提示。

Linux® is a registered trademark of Linus Torvalds.