0%

Shell学习笔记(3)——基本的bash shell命令

Shell提示符

默认提示符是$,表示shell在等待用户输入。

在Fedora上看起来是这样的: [tb@tb_fedora~]$

在Ubuntu上看起来是这样的: tb@user-desktop:$ tb是用户名,tb_fedora是主机名,是主目录的缩写。User-desktop是控制台编号。

可以用echo $PS1或者PS2来显示当前提示符设置。 PS1是默认格式,PS2是后续命令行提示符格式,当输入一个需要其他信息的命令时会以此格式显示。

Bash手册

man bash即可。 man [command]可以查看指定命令的手册

浏览文件系统

与win相反,Linux使用/而不是\来划分目录。Linux上安装的第一块硬盘位根驱动器。Linux会在根驱动器上创建一些特别的目录,叫做挂载点,来访问额外储存设备。 使用cd访问目录。.表示当前目录,..表示上级目录。

文件和目录列表

ls可以列出当前目录下的文件和目录。如果想查看当前目录下子目录包含的文件,使用-R参数。使用ls –l查看更多信息。 常见组合:-sail-a列出所有文件,-i列出文件索引点,-l产生长列表,-s列出块大小。索引节点是内核分配给文件系统中每个对象的唯一标识码。 ls [string]可以显示文件名为string的信息。可以使用通配符*和?

处理文件与目录

使用touch [filename]来创建文件。如果文件已经存在,则touch改变它的访问时间和修改时间而不修改文件内容。-a只改变访问时间,-m只改变修改时间。-t [时间戳]可以用来指定时间,时间戳的形式如201512030118

复制文件用cp [source] [destination],当source和destination都是文件名时,cp复制出一个名为destination的新文件。-p参数保留访问时间和修改时间。-R参数递归复制整个目录。-f强行复制,不提示。Source可以使用通配符。 cp的-l参数可以创建一个硬链接,但是这两个文件的索引节点号是相同的,即他们是同一个文件。ls -il一下,会发现第三列的链接计数都变成2了。-s参数会产生一个软连接,和win快捷方式相同。

mv用于重命名和移动文件。比cp快很多。

rm(移除,removing)用于删除文件。使用rm –rf / 即可免除一切烦恼。

创建目录使用mkdir,删除使用rmdir-r参数递归删除目录中的文件,最后删除它自身。

查看文件内容

使用stat查看文件所有状态信息,file查看文件类型。File将文件分成三类:文本文件、可执行文件和数据文件。

cat查看整个文件内容,-n加行号,-b给只有文本的行加行号,-s将多个空白行压到一个空白行,-T将制表符用^I代替。

more/less命令来在查看文件是进行滚动等操作。

tail查看文件末尾内容,-c [bytes]查看最后bytes个字节内容,-n [lines]查看最后lines行,-f实时显示文件内容。与此类似的有head命令,查看文件开头内容,不过没有-f参数。