6. mkdir和rmdir
功能:mkdir建立空目录,rmdir删除空目录 功能 建立dir1目录 命令 mkdir dir1 mkdir –p dir1/dir2 如果dir1不存在,则建立dir2的同时建立dir1 mkdir –m 755 dir1 建立dir1目录,权限(755)是拥有者rwx 3.4 管理文件 1. file
尽管linux有些发行版本用不同颜色区别文件类型,但linux没有标准扩展。可执行文件不一定以.exe结尾,文档类型不一定以doc结尾。file命令可以浏览每个文件的类型。
2. cat
结合该命令可以将文本文件发送到标准输出。 可以使用cat file1 file2命令依次读取多个文件。
3. head和tail
head提供文件开头几行的浏览,tail提供最后几行的浏览。可以使用开关指定要显示的文件量。例如,显示butty.txt文件的前15行。
#head –n15 butty.txt
如果把head换成tail则显示文件的后15行。
功能 命令 head 400b butty.txt tail 4k butty.txt head 3m butty.txt tail –n22 显示文件的前400个字节内容 显示文件的后4kb字节内容 显示文件的前3MB字节内容 显示文件后22行内容 4. more和less
两个命令都是从文本文件的开头浏览。more可以一次一页的浏览文件。而less命令可以在浏览时使用翻页命令。
由于这两个命令可以一点点读文件,因此可以比vi之类的文本编辑器更快的打开文件。less命令还有一些vi编辑器的优点,可以使用vi命令搜索文本。
3.5 权限
假设使用ls –l 得到以下输出:
权限的描述基于最左边的一串字符。这些字符确定不同用户对这个文件能干些什么。
如果第一个字符不是(-)号则可能是(d)目录或另一个文件的链接(l)。其余字符可以每三个组成一组,以install.log文件为例。
1) 前三个字符是rw-,说明install.log拥有者可读(r),可写(w)。
2) 中间三个字符是r--,说明与文件拥有者的同组用户可读(r),但不能写也不能执行。 3) 最后三个字符是r--,说明不与文件拥有者同一组的用户可读(r),但不能写也不能执行。
1. chmod
该命令可以设置文件的权限。例如: #chmod 764 abc
权限用3位代码设置,上面命令中,7设置拥有者权限,6设置拥有者组权限,4设置别人的权限。请看下面的权限表。
2. chown与chgrp
使用这两个命令可以改变文件的拥有者与组拥有者。例如:
#chown mj abc
该命令使mj用户成为abc文件的所有者。
3.6 操纵文件 1. wc
可以取得文件中的行数,字数和字符数。例如:检查showoff文本文件
#wc showoff 1914
9874
76015
这些显示的数字分别表示文件中的行数、字数和字符数。
功能 取得文件的行数 取得文件的字数 取得文件的字符数 命令 wc –l file1 wc –w file1 wc –c file1 2. find
可以从目录中搜索需要查看的文件。例如:查找a001.txt文件
#find / -name a001.txt
上面的命令表示从根目录中以名字的方式进行查找名为a001.txt的文件。另外也可以为搜索使用通配
符,如(*)和问号(?)
3. grep
grep可方便的搜索文件中的内容。例如要从/etc/passwd文件中搜索root用户信息则可以使用以下的命令。
#grep root /etc/passwd
例如:查找当前目录的文件中包含mj字符的信息。包含单词bash的行数。
#grep mj *
#grep –c bash /etc/passwd
3.7 命令组合(管道操作)
假设我们要在系统中查找.html文件,则使用以下命令。
#find / -name *.html
则结果可能有数百项。这时你可以使用命令组合。
#find / -name *.html | grep bookmark
上面命令将搜索find命令结果的内容中出现bookmark字符串的结果。其它命令的组合可能还会有:
#who | grep mj
#ps aux | grep /usr/bin/
第一个命令who列出当前登录linux的所有帐号,将结果管道(|)到grep mj命令时,可以看到mj用户登录的信息。
第二个命令ps列出系统中当前运行的长进程信息。(a)包括所有用户的进程,(u)带有用户名,(x)独立于虚拟终端的进程。将结果管道(|)到grep /usr/bin/命令时,只返回带有这个路径的进程信息。
3.8 改向输入与输出
通常标准输入来自键盘,但如果数据放在一个文件中,则不必重新一一输入。而可以将这个数据文件用小于号(<)改向到程序中。例如下面命令将database_data文件改向到database_program中。
#database_program 许多情况下,要把标准输出保存在一个文件下。例如: #ls > a.txt 上面命令如果a.txt已存在,则覆盖这个文件。但我们也可以用(>>)将内容添加到文件的末尾。 3.9 输出与输入管道 输出与输入管道的一个例子:当使用ls –l 命令得到一个很长的列表时,如何分屏输出? 3.10 通配符 Linux中两个特殊字符分别是(*)和(?)号。1个星号表示多个字母或数字,而1个问题只代表1个字符。 (\\)作为特殊字符的转义字符。例如用grep命令查找a.txt中的(*)号。 #grep \\* a.txt 进入一个my document的目录 #cd my\\ document 四、 vi编辑器(模式编辑) 步骤如下 1. 进入vi(例如 vi filename: 打开或新建文件,并将光标置于第一行首) 2. 此时的状态是在显示模式下,显示模式下的指令,只有在显示模式下才能执行这些指令 3. 键盘输入 a,i这是进入编辑模式下,编辑模式下的指令,只有在编辑模式下才能执行这些指令 4. 编辑完成 按 键盘ESC键退出编辑模式进入操作模式(命令模式)下. 例如 ::wq 保存并退出 4.1 进入vi 的命令 vi filename: 打开或新建文件,并将光标置于第一行首 vi +n filename: 打开文件,并将光标置于第n行首 vi + filename: 打开文件,并将光标置于最后一行首 vi +/pattern filename: 打开文件,并将光标置于第一个与pattern匹配的串处 vi -r filename: 在上次正用vi编辑时发生系统崩溃,恢复filename vi filename....filename: 打开多个文件,依次进行编辑 4.2 显示模式下 1. 移动光标类命令 h: 光标左移一个字符 l: 光标右移一个字符 space: 光标右移一个字符