﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-衣带渐宽终不悔-随笔分类-shell</title><link>http://www.cppblog.com/zhenglinbo/category/19475.html</link><description>脚踏实地，自强不息。</description><language>zh-cn</language><lastBuildDate>Mon, 13 Aug 2012 11:19:54 GMT</lastBuildDate><pubDate>Mon, 13 Aug 2012 11:19:54 GMT</pubDate><ttl>60</ttl><item><title>Linux的一些shell命令基本操作</title><link>http://www.cppblog.com/zhenglinbo/archive/2012/08/02/186017.html</link><dc:creator>zhenglinbo880531</dc:creator><author>zhenglinbo880531</author><pubDate>Thu, 02 Aug 2012 03:49:00 GMT</pubDate><guid>http://www.cppblog.com/zhenglinbo/archive/2012/08/02/186017.html</guid><wfw:comment>http://www.cppblog.com/zhenglinbo/comments/186017.html</wfw:comment><comments>http://www.cppblog.com/zhenglinbo/archive/2012/08/02/186017.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zhenglinbo/comments/commentRss/186017.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zhenglinbo/services/trackbacks/186017.html</trackback:ping><description><![CDATA[我们学习Linux的时候势必要学习一大堆对于大部分正常人来说枯燥无比的命令行，因为是第一次尝试在一个黑箱子里面敲一串一串不熟悉的命令，可以理解的啦。现在我总结出一些Linux中比较常用的命令行。<br /><br />一）列出文件：ls ，如果要列出本目录下的文件属性呢，例如想知道他们的文件权限、大小、日期，那么就用 ls -l ，也可用其命令别名 ll 。<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;我们都知道Linux中都有一些隐藏的文件，那么如何显示出它们呢？用 ls -a 即可显示出所有文件，包括隐藏文件。要列出这些文件的属性，用 ls -al&nbsp;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;列出目录用：ls -d<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;如果我们想找出一个特定的文件如file 的信息，那么可以用ls &nbsp;-l file ，又如要寻找一个前缀为test的文件的信息，可以这样：ls -l test*，*为通配符。<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;如果我们想找出文件名中带有数字或字母的相关文件，可以这样 : ls -f [0-9]* / ls -f [a-z]*<br /><br />二）打开文件或目录：如想打开名为 file.txt文件，用cat file.txt即可显示出内容。如想把文件内容的行号显示出来，用 cat -n file.txt 即可 ；打开目录tmp 则用 cd tmp<br /><br />三）复制文件： 如想把文件file.txt 复制到目录 /test 下，即可用：cp file.txt /test ；如想把目录 /etc/ 的所有内容复制到 /tmp，用：cp /etc/ /tmp<br /><br />四）删除文件或目录：如想删除文件file.txt 则可： rm file.txt 。如想把目录tmp（包括有内容的目录）都删除掉，用 rm -rf tmp ，而 rmdir tmp 删除的是一个空目录。<br /><br />五）移动文件或重命名：如把文件file.txt移动到目录tmp中： mv file.txt tmp 。把文件file.txt重命名为 test.txt，则可： mv file.txt test.txt<br /><br />六）翻页查看命令：1. 如想查看/etc/中的文件man.config，可 more /etc/man.config ，敲空格键表示向下翻一页；Enter表示向下翻&#8220;一行&#8221;；/字符串可以向下搜索字符串：如搜索word，可以 /word ；离开more 可以用 q ；2. 也可用 less 进行翻页操作：less /etc/man.config ，使用less可以向前或向后翻页，而more只能向后翻页；？字符串表示向前搜索的功能，其他操作和more 大体相同。<br /><br />七）创建新文件或目录 : 如创建新文件 test.txt 可以： touch test.txt ；创建目录abc,用命令：mkdir abc . 如果我们要创建一个名为junk.data ,大小为1M,内容为空的文件，该怎么办呢？可以使用命令： dd if=/dev/zero of=junk.data bs=1M count=1 即可，其中dd是用来创建特定大小文件的命令，dd命令会克隆给定的输入内容，然后将一模一样的一份副本写入到输出，stdin、设备文件、普通文件都可以作为输入. if 代表输入文件， of 代表输出文件， bs代表以字节为单位的块大小，count代表要被复制的块数。<br /><br />八）改变文件的权限： 1. 使用符号方法改变文件权限：在此之前了解下who /action 的知识，u表示属主、g表示组、o表示其他、a表示所有；+表示增加文件权限、-表示减少文件权限、=明确地设置文件权限。好了，如果现在我们想把一个目录下的所有文件都改变为对所有人均可访问，则可用命令：chmod a=r * （或chmod guo=r *)，注意空格。<br />如果想阻止除了文件属主之外的任何人写文件 test.txt ，可用命令： chmod go-w test.txt&nbsp;<br />2. 使用八进制方法改变文件权限：r=4,w=2,x=1. 把各个想要赋予的权限值相加即可得到用来指定文件属主、组和其他用户对文件的权限。 如：对文件test.txt 改为对所有均有读、写、执行的权限：chmod 777 test.txt<br /><br />九）改变文件属主和组： 1. 改变文件属主：如把文件test.txt 改变为 zlb 所属有，则可 chown zlb: test.txt ，冒号不能省略。 2. 改变文件所属的组：可以用1中 chown :authors test.txt 改变文件test.txt所属的组；也可以用 chgrp authors test.txt 改变文件为authors这个组所有。<br /><br /><br /><img src ="http://www.cppblog.com/zhenglinbo/aggbug/186017.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zhenglinbo/" target="_blank">zhenglinbo880531</a> 2012-08-02 11:49 <a href="http://www.cppblog.com/zhenglinbo/archive/2012/08/02/186017.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>shell的一点学习总结</title><link>http://www.cppblog.com/zhenglinbo/archive/2012/06/09/178149.html</link><dc:creator>zhenglinbo880531</dc:creator><author>zhenglinbo880531</author><pubDate>Fri, 08 Jun 2012 18:47:00 GMT</pubDate><guid>http://www.cppblog.com/zhenglinbo/archive/2012/06/09/178149.html</guid><wfw:comment>http://www.cppblog.com/zhenglinbo/comments/178149.html</wfw:comment><comments>http://www.cppblog.com/zhenglinbo/archive/2012/06/09/178149.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zhenglinbo/comments/commentRss/178149.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zhenglinbo/services/trackbacks/178149.html</trackback:ping><description><![CDATA[shell是和unix系统交流的语言，它是unix系统的工具，利用它可以来和操作系统的核心功能进行交互。<br />1）两种模式：交互式和非交互式Shell；所谓交互，即用户编写shell命令行来和操作系统交互。而在非交互模式下，不需要用户直接敲命令行，而是通过shell读命令之后，（就存在文件里），然后再执行，当文件结束的时候，就退出。<br />2）启动交互式shell：$ /bin/bash<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; bash$<br />第一个$是登陆系统时就有的，第二个bash$是由用户启动的Shell来显示的。这样一来就有了两个交互式的shell，可以用来测试之用。退出第二个shell可用命令：<br />exit，然后就会回到原先的shell。<br />3）启动非交互式shell：$ /bin/sh filename<br />这里的filename指的是可执行的文件，比如用shell写 &nbsp;echo 'hello world!' 放在一个命名为hello的文件里，要执行它的时候，就要用到命令 /bin/sh hello<br />4）基本命令行总结如下：<br />$ ls ：列出当前目录的内容；<br />$ ls -a :列出当前目录包括不可见文件的内容；<br />$ man ls ：获取关于ls命令的有关信息；注：不懂的命令要及时找man<br />$ cat [filename] :查看文件的内容<br />$ wc files :获取文件内容的行、单词和字符的数目；<br />$ wc -l file :统计行数<br />$ wc -w file: 统计单词<br />$ wc -m file: 统计字符<br />$ cp src dest :拷贝文件；src:被拷贝文件 、dest：拷贝到的目录<br />$ mv src dest :更改文件名<br />$ rm file :删除文件<br />$ ls dir :列出目录<br />$ mkdir dir :创建目录dir<br />$ cp -r src dest : 拷贝文件和目录； src:拷贝文件的目录的路径、dest:拷贝被放置的目录的路径<br />$ mv src dest :移动目录<br />$ rmdir dir:删除目录dir(内容为空的)<br />$ rm-r dir: 删除目录dir及其内容(无论内容是否为空)<br /><br />好了，先介绍这些，以后会陆续更新。<br /><br /><img src ="http://www.cppblog.com/zhenglinbo/aggbug/178149.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zhenglinbo/" target="_blank">zhenglinbo880531</a> 2012-06-09 02:47 <a href="http://www.cppblog.com/zhenglinbo/archive/2012/06/09/178149.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>