1.进入shell界面
2.命令格式
bash命令的一般格式是:
命令名 [选项] [参数1] [参数2] …
例如: cp –i file1.c myfile.c
▲应注意 : 命令名必须是小写的英文字母
一般格式中由方括号括起来的部分是可选的
选项以“-”开始,多个选项可用“-”连起来
命令行的参数提供命令运行的信息或者命令执行过程中所使用的文件名
如果命令行中没有提供参数,则命令使用标准文件进行输入/输出
命令在正常执行后返回一个0值,表示执行成功
3.简单命令
1.who 列出所有正在使用系统的用户、所用终端名和注册到系统的时间
例如:[stu4@linux 164804424]$ who am i
stu4 pts/42 Jan 1 00:35 (10.6.1.31)
2.echo 将命令行中的参数显示到标准输出(即屏幕)上
例如:[stu4@linux 164804424]$ echo Happy New Year !
Happy New Year !
3.date 在屏幕上显示或设置系统的日期和时间
例如:[stu4@linux 164804424]$ date
二 1月 1 00:38:04 CST 2002
4.cal 显示公元1~9999年中任意一年或者任意一个月的日历
例如:[stu4@linux 164804424]$ cal 10 2017
十月 2017
日 一 二 三 四 五 六
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
5.clear 清除屏幕上的信息
6.passwd 修改用户密码
4.文件操作命令
1.cat命令 一般格式:
cat [选项] 文件
有两项功能:在标准输出上显示文件的内容;连接两个或多个文件
如: $ cat f1 f2>f3
常用选项:
-b,--number-noblank 从1开始对所有非空输出行进行编号。
-n,--number 从1开始对所有输出行编号。
-s,--squeeze-blank 将多个相邻的空行合并成一个空行。
--help 打印该命令用法,并退出,其返回码表示成功。
2.more命令 一般格式:
more [选项] 文件
说明:该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部
出现一个提示信息,给出至今已显示的该文件的百分比:--More--(XX%)。
常用选项:
-num,这个选项指定一个整数,表示一屏显示多少行。
-d,在每屏的底部显示以下更友好的提示信息:
-c或-p,不滚屏,在显示下一屏之前先清屏。
-s,将文件中连续的空白行压缩成一个空白行显示。
+/,该选项后的模式(Pattern)指定显示每个文件之前进行搜索的字符串。
+num,从行号num开始。
3.less命令
less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。
4.head命令
一般格式: head [选项] file
说明:head命令在屏幕上显示指定文件的开头若干行,行数由参数值
来确定。显示行数的默认值是10。
选项:
-c,--bytes=[-]N 显示每个文件前面N个字节。如果数字N前面
带有“-”,则分别显示每个文件除最后N个字节以外的所有内容。
-n,--lines=[-]N 显示指定文件的前面N行,而不是默认的10
行。如果数字N前面带有“-”,则分别显示每个文件除最后N行以外的所有内容。
-q,-quiet,--silent 不显示给定文件的标题。
-v,--verbose 始终显示给定文件的标题。
5.tail命令
一般格式: tail [选项] [file] …
说明:tail命令在屏幕上显示指定文件的末尾10行。如果给定的文件
不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指
定文件或者文件名为“-”,则读取标准输入。
选项:
-c,--bytes=N 输出最后N个字节。
-f 当文件增长时输出附加的数据。
-n,--lines=N 输出最后的N行,而不是默认的10行。
-q,-quiet,--silent 不输出包含给定文件名的标题。
-v,--verbose 始终输出包含给定文件名的标题。
6.touch命令
一般格式: touch [选项] 文件名 …
说明:touch命令将会修改指定文件的时间标签,把已存在文件的时间
标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保
留下来。如果该文件尚未存在,则建立一个空的新文件。
选项:
-a 仅改变指定文件的存取时间。
-c,--no-create 不创建任何文件。
-m 仅改变指定文件的修改时间。
-t STAMP 使用STAMP指定的时间标签,而不是系统当前的时间 。
5.匹配、排序及显示指定内容的命令
1.grep命令
一般格式: grep [选项] 查找模式 [文件名1,文件名2,…]
grep [选项] [-e 查找模式| -f 文件] [文件名1,文件名2,…]
说明:该命令用来在文本文件中查找指定模式的词或短语,并在标准输出上显示包
括给定字符串模式的所有行。
常用选项:
-E 将查找模式解释成扩展的正则表达式。
-F 将查找模式解释成单纯的字符串。
-b,--byte-offset 在输出的每一行前面显示包含匹配字符串的行在文件中的位置,用字节偏移量来表示。
-c,--count 只显示文件中包含匹配字符串的行的总数。
-f FILE 从文件FILE中获取模式,每行一个。空文件不含模式,因此,不做匹配。
-i,--ignore-case 匹配比较时不区分字母的大小写。
-R,-r,--recursive 以递归方式查询目录下的所有子目录中的文件。
-n 在输出包含匹配模式的行之前,加上该行的行号(文件首行的行号为1)。
-v 只显示不包含匹配字符串的文本行。
-x 只显示整个行都严格匹配的行。
6.比较文件内容的命令
1.comm命令
一般格式:comm [-123] file1 file2
说明:comm命令对两个已经排好序的文件进行比较。
选项:
-123 选项1,2和3分别表示不显示comm输出中的第一列、第二列和第三列。
2.diff命令
一般格式:diff [选项] 文件1 文件2
说明:比较两个文本文件,并找出它们的不同。
该命令输出的一般形式如下: n1 a n3,n4 (把文件1的n1行附加到文件2的n3~n4行后,则二者相同)
n1,n2 d n3 (删除文件1的n1~n2行及文件2的n3行,则二者相同)
n1,n2 c n3,n4 (把文件1的n1~n2行改为文件2的n3~n4行,则二者相同)
选项:
-b 忽略空格造成的差别。
-c 输出格式是带上下文的三行格式。
-C n 输出格式是有上下文的n行格式。
-e 输出一个合法的ed脚本。
-i 忽略字母大小写的区别。
-r 当文件1 和文件2都是目录时,递归比较找到的各子目录。
7.复制、删除和移动文件的命令
1.cp命令
一般格式:cp [选项] 源文件或目录 目标文件或目录
说明:将源文件或目录复制到目标文件或目录中
选项:
-a 递归地将源目录下的所有子目录及其文件都复制到目标目录中,
并且保留文件链接和文件属性不变。它等效于-dpR。
-d 复制时保留文件链接。
-f,--force 如果现存的目标文件不能打开,则删除它并且重试一次。
-i,--interactive 与-f选项不同,在覆盖目标文件之前先给出提示,要求用户予以确认。
回答y,将覆盖目标文件。这是交互式复制。
-p 除复制源文件的内容外,还将其修改时间和存取权限也复制到新文件中。
-R,-r 递归复制目录,即将源目录下的所有文件及其各级子目录都复制到目标位置。
-l 不复制,而是创建指向源文件的链接文件,链接文件名由目标文件给出。
2.rm命令
一般格式: rm [选项] 文件列表 说明:删除文件和目录
选项:
-d 删除目录,不管它是否为空(仅超级用户才可使用)。
-f,--force 忽略不存在的文件,并且不给出提示信息。
-r,-R,--recursive 递归地删除指定目录及其下属的各级子目录和相应的文件。
-i 交互式地删除文件。
3.mv命令
一般格式: mv [选项] source target
说明:对文件或目录重新命名,或者将文件从一个目录移到另一个目录中
选项:
-i,--interactive 交互式操作。如果源文件与目标文件或目标目录中的文件同名,
则询问用户是否覆盖目标文件。用户输入“y”,表示将覆盖目标文件;输入“n”,
表示取消对源文件的移动。这样可以避免误将文件覆盖。
-f 与“-i”相反,它禁止交互式操作。在覆盖已有的目标文件时,不给任何提示。
8.文件内容统计命令
一般格式: wc [选项] [文件]…
说明:统计指定文件的字节数、字数、行数,并将统计结果显示出来
选项:
-c,--bytes 统计字节数。
-l,--lines 统计行数。
-w,--words 统计字数。
9.创建和删除目录的命令
1.mkdir命令
一般格式: mkdir [选项] dirname
说明:该命令创建由dirname命名的目录。
选项:
-m,--mode=MODE 对新建目录的存取权限设置为MODE,存取权
限用给定的八进制数字表示。
-p,--parents 可一次建立多个目录,即如果为新建目录所指定的路径中有些父目录尚
不存在,此选项可以自动建立它们。
2.删除目录
一般格式:rmdir [选项] dirname
说明:该命令从一个目录中删除一个或多个子目录
选项:
-p,--parents 递归删除目录dirname,当子目录删除后其父目录为空
时,也一同被删除。如果有非空的目录,则该目录保留下来。
注意:子目录被删除之前应该是空目录。
10.改变工作目录和显示目录内容的命令
1.cd命令
一般格式:cd [dirname]
说明:改变当前工作目录 它带有唯一的一个参数,即表示目标目录的
路径名(相对路径名或绝对路径名)
如:cd ../..
2.pwd命令
显示出当前工作目录的绝对路径
3.ls命令
一般格式:ls [选项] [目录或文件]
说明:如果给出的参数是目录,该命令将列出其中所有子目录与文件的信息;
如果给出的参数是文件,将列出有关该文件属性的一些信息。
选项:
-a,--all 显示指定目录下所有子目录和文件,包括以“.”开头的隐藏文件(如 .cshrc)。
-C 分成多列显示各项。
-d 如果参数是目录,则只显示它的名字(不显示其内容)。
-F,--classify 在列出的文件名后面加上不同的符号,以区分不同类型的文件。
可以附加的符号有: / * @ | =
-i,--inode 输出的第一列显示文件的I节点号。
-l 以长格式显示文件的详细信息。输出的信息依次是: 文件类型与
权限 链接数 文件主 文件组 文件大小 建立或最近修改的时间 文件名
例如:-rw-r--r-- 2 mengqc group 198 10月 20 2010 csh1
11.链接文件的命令
1.硬链接:在另外的目录或本目录中增加目标文件的一个目录项。
有如下限制:不能对目录文件做硬链接;不能在不同的文件系统之间做硬链接。
2.符号链接也称为软链接,是将一个路径名链接到一个文件(一种特别类型的文件)。
与硬链接的不同:
符号链接确实是一个新文件,它有不同的I节点号;
而硬链接并没有建立新文件。 符号链接没有硬链接的限制,
可以对目录文件做符号链接,也可以在不同文件系统之间做符号链接。
3.ln命令
一般格式:ln [选项] 源文件 [目标文件]
说明:用来创建链接
选项:
-s,--symbolic 建立符号链接,而不是硬链接。
注意:符号链接文件不是一个独立的文件,它的许多属性依赖于源文件,
所以给符号链接文件设置存取权限是没有意义的。
12.改变文件或目录存取权限的命令
1.用户和权限
Linux系统中规定了4种不同类型的用户:
① 文件主(owner);
② 同组用户(group);
③ 可以访问系统的其他用户(others);
④ 超级用户(root),具有管理系统的特权。
存取权限规定3种访问文件或目录的方式: ① 读(r) ② 写(w) ③ 可执行或查找(x)
2.chmod命令——用于改变或设置文件或目录的存取权限
(1)以符号模式改变权限
一般格式: chmod key 文件名
说明: key 由以下三部分组成:[who] [操作符号] [mode]
操作对象who可以是下述字母中的任一个或者它们的组合:u g o a 操作符号可以是: + - =
操作方式mode所表示的权限可用下述字母的任意组合:r w x X s t
(2)以绝对方式改变权限
一般格式: chmod mode 文件名 mode是以3位八进制数字出现的,
第一位表示文件主权限,第二位表示组用户权限,第三位表示其他用户权限
3.umask命令
一般格式: umask mode
说明:用来设置限制新建文件权限的掩码。
示例: umask u=,g=w,o=rwx
应注意:操作符“=”在umask命令和chmod命令中的作用恰恰相反。