常用Shell命令
1.目录的创建与删除命令
(1)mkdir命令
格式:mkdir [选项] 目录
功能:创建目录。
常用选项说明:
-m 创建目录的同时设置目录的访问权限
-p 一次性创建多级目录
例如:
创建名为test的目录,并在其下创建file目录。
[root@localhost ~]#mkdir -p test/file
[root@localhost ~]#ls test
(2)rmdir命令
格式:rkdir [选项] 目录
功能:从一个目录中删除一个或多个子目录项,要求目录删除之前必须为空。
常用选项说明:
-p 递归删除目录,当子目录删除后其父目录为空时,也一同被删除。
例如:
删除test的目录下的file目录,同时将test目录一并删除。
[root@localhost ~]#rkdir -p test/file
[root@localhost ~]#ls
2.改变工作目录的命令cd
格式:cd [目录]
功能:将当前目录改变为指定的目录。若没有指定目录,则回到用户的主目录,也可使用“cd..”返回到系统的上一级目录。该命令可使用通配符。
例如:
将用户目录切换到/home。
[root@localhost ~]#cd /home
运行后屏幕上显示的提示符变为如下形式,表明目录硬件切换成功。
[root@localhost home]#
3.显示路径的命令pwd
格式:pwd
功能:显示当前目录的绝对路径。
例如:
显示当前工作路径。
[root@localhost ~]#pwd
/root
4.显示目录内容的命令ls
格式:ls [选项] [文件|目录]
功能:显示指定目录中的文件和子目录信息。当不指定目录时,显示当前目录下的文件和子目录信息。
常用选项说明:
-a 显示所有文件和子目录,包括隐藏文件和隐藏子目录。RedHat Enterprise Linux中的隐藏文件和隐藏子目录以“.”开头。
-l 显示文件和子目录的详细信息,包括文件类型、权限、所有者和所属组群、文件大小、最后修改时间、文件名等。
-d 若参数是目录,则只显示目录的信息,而不显示其中所包含的文件的信息。
-t 按照时间顺序显示。
-R 不仅显示指定目录下的文件和子目录信息,且还递归地显示各子目录中的文件和子目录信息。
例如:
查看当前目录下的文件和子目录信息。
[root@localhost ~]#ls
查看/etc目录下的所有文件和子目录的详细信息。
[root@localhost ~]#ls -al /etc
5.显示文件内容命令
用户要查看一个文件的内容时,可据显示要求的不同选用以下的命令。
(1)cat命令
格式:cat [选项] 文件名
功能:依次读取其后所指文件的内容并将其输出到标准输出设备上。另外,该命令还能够用来连接2个或多个文件,形成新的文件。
如:
创建文本文件f1,显示文件的内容。
[root@localhost ~]#cat >f1
按下Ctrl+D快捷键,在当前目录下保存文件f1,之后输入如下命令查看文件内容。
[root@localhost ~]#cat f1
(2)more命令
格式:more [选项] 文件名
功能:分屏显示文件的内容。在查看文件过程中,因有的文本过于庞大,文本在屏幕上迅速闪过,用户来不及看清其内容,而该命令就可以一次显示一屏文本,显示满后,停下来,并在终端底部打印出---more---。同时系统还将显示出已显示文本占全部文本的百分比,若要继续显示,按Enter键或Space键即可,按q键退出该命令。
常用选项说明:
-p 显示下一屏之前先清屏。
-s 文件中连续的空白行压缩成一个空白行显示。
如:
分屏显示/etc目录下的passwd文件的内容。
[root@localhost ~]#more /etc/passwd
(3)less命令
less命令与more命令很相似,也能分屏显示文本文件的内容,不同之处在于more命令只能向后翻页,而less命令既可镶嵌也可向后翻页。输入命令后,首先显示的是第一屏文本,并在屏幕的底部出现文件名。用户可使用上下方向键、Enter键、空格键、PageDown或PageUp键前后翻阅文本内容,使用q键可退出less命令。
(4)head命令
格式:head [选项] 文件名
功能:显示文件的头几行内容。
常用选项说明:
-n 指定显示文件的前n行,若没有给出n值,默认设置为10。
如:
显示/etc/passwd文件的前2行内容。
[root@localhost ~]#head -2 /etc/passwd
屏幕显示:
root:x:0:0:root:/root:/bin:bash
bin:x:1:1:bin:/bin:/sbin:nologin
(5)tail命令
格式:tail [选项] 文件名
功能:和head命令的功能相对应,若想查看文件的尾部,可使用tail命令。该命令显示一个文件的指定内容,它把指定文件指定显示范围内的内容显示在标准输出上。
常用选项说明:
+n 从第n行以后开始显示。
-n 从距文件尾n行处开始显示。若省略n参数,系统默认值为10.
如:
显示/etc/passwd文件的最后4行内容。
[root@localhost ~]#tail -4 /etc/passwd
6.文件内容查询命令grep
格式:grep [选项] [查找模式] [文件名1,文件名2,…]
功能:以指定的查找模式搜索文件,通知用户在什么文件中搜索到与指定的模式匹配的字符串,且打印出所有包含该字符串的文本行,该文本行的最前面是该行所在的文件名。
常用选项说明:
-c 只显示匹配行的数量。
-i 比较时不区分大小写。
-h 在查找多个文件时,指示grep不要将文件名加入到输出之前。
如:
1.在文件/etc/passwd中查找“root”字符串
[root@localhost ~]#grep “root” /etc/passwd
2.搜索出当前目录下所有文件中含有“data”字符串的行。
[root@localhost ~]#grep data *
7.文件查找命令find
格式:find [选项] 文件名
功能:从指定的目录开始,递归地搜索其各个子目录,查找满足寻找条件的文件并对之采取相关的操作。此命令提供了相当多的查找条件,功能非常强大。
常用选项说明:
-name ‘字串’ 查找文件名匹配所给字串中的所有文件,字串内可用通配符* 、?、[ ]。
-group ‘字串’ 查找属于用户组名为所给字串的所有文件。
-user ‘字串’ 查找属于用户名为所给字串的所有文件。
find命令提供的查询条件可以使一个用逻辑运算符not、and、or组成的复合条件。
-a 逻辑与,是系统默认的选项,表只有当所有的条件都满足时,查询条件才满足。
-o 逻辑或,只要所给的条件中有一个满足时,查询条件就满足。
! 逻辑非,该运算符表示查找不满足所给条件的文件。
如:
1.在根目录下查找文件名为’temp’或是匹配’install*’的所有文件。
[root@localhost ~]#find / -name ‘temp’ -o -name ‘install*’
2.在根目录下查找文件名不是’temp’的所有文件。
[root@localhost ~]#find / ! -name ‘temp’
8.文件内容统计命令wc
格式:wc [选项] 文件名
功能:统计给定文件中的字节数、字数、行数。
选项说明:
-c 统计字节数。
-l 统计行数。
-w 统计字数。
如:
统计文件f1的字节数、行数和字数。
[root@localhost ~]#wc -clw f1
屏幕显示:1 1 3 f1
9.文件的复制、移动和删除命令
(1)cp命令
格式:cp [选项] 源文件或源目录 目标文件或目标目录
功能:将给出的文件或目录复制到另一文件或目录中。
选项说明:
-b 若存在同名文件,覆盖前备份原来的文件。
-f 强调覆盖同名文件。
-r或-R 按递归方式,保留原目录结构复杂文件。
如:
将f1文件复制为f2,若f2文件已存在,则备份原来的f2文件。
[root@localhost ~]# cat >f2
[root@localhost ~]#cp -b f1 f2
cp:是否覆盖’f2’? y
[root@localhost ~]#ls
f1 f2 f3~
备份文件名是在原文件名基础上加上“~”构成的。
(2)mv命令
格式:mv [选项] 源文件或源目录 目标文件或目标目录
功能:移动或重命名文件或目录。
选项说明:
-b 若存在同名文件,覆盖前备份原来的文件。
-f 强制覆盖同名文件。
如:
1.将当前工作目录下的f1文件移动到/root/test目录下。
[root@localhost ~]#mkdir test
[root@localhost ~]#mv f1 test
[root@localhost ~]#ls test
屏幕显示:f1
2.将test目录改名为mytest。
[root@localhost ~]#mv test mytest
[root@localhost ~]#ls
(3)rm命令
格式:rm [选项] 文件或目录
功能:删除文件或目录
选项说明:
-f 强制删除,不出现确认信息。
-r或-R 按递归方式删除目录,默认只删除文件。
如:
1.删除当前目录下的f2文件。
[root@localhost ~]#rm -f f2
2.删除mytest目录,连同其下子目录。
[root@localhost ~]#rm -r mytest
10.帮助命令man
格式:man命令名
功能:线性指定命令的手册页帮助信息。
如:
显示mkdir命令的帮助信息。
[root@localhost ~]#man mkdir
屏幕显示该命令在Shell手册页的第一屏信息,用户可使用上下方向键、PageDown、PageUp键前后翻阅帮助信息,按q键退出该命令。
11.清屏命令clear
格式:clear
功能:清除当前终端屏幕的内容。