【原文链接】http://blog.sina.com.cn/s/blog_674e0fbd0100oc5m.html
Shell是一个命令解释器,它可以用来启动、挂起、停止程序,还允许用户编写由Shell命令组成的程序。
Linux中很多操作都需要在shell操作下完成,熟悉shell和命令,离掌控Linux也不远了。
在/etc/shells文件中理出了系统可以接受的shell。
Shell的种类:
ash:贝尔实验室开发的shell;bsh是对它的符号链接
bash:GNU的Bourne Again shell,是GNU操作系统上默认的shell;sh是对它的符号链接
tcsh:Berkeley UNIX C shell;csh是对它的符号链接
Shell命令的基本格式格式:
命令名 [选项]
[ ]表示可选项;
“选项”是对命令的特别定义;
以“-”开头的选项通常只有一个字母,多个选项可以用一个“-”连接起来。如“ls -a -l”与“ls -al”是等价的;
有的选项以“--”开头,这些选项通常是一个单词,如“--number”;
很多“--”格式的选项也有用“-”加上首字母的简写方式;
如果输入了文件名、命令或路径名的一部分,然后按Tab键,则:如果能匹配唯一的文件名,那么bash将把文件名的剩余部分补全;如果能匹配多个文件名,可以再按一次Tab键来获取与已输入部分匹配的文件名或路径名的列表;
使用上、下箭头可以上下翻阅已输入过的命令
查看命令的使用帮助
人脑不是永久存储器,对于一些不常用的命令,我们可能忘记具体的使用格式。Linux提供了几个小工具,帮助我们查看命令的使用方法。
- man命令
- info命令
- whereis命令
- --help选项(-h)
1)man 查看命令的手册页(manual
pages),它存放在/usr/share/man下。
命令格式:man [选项] 命令名称
常用选项:
-f:只显示命令的功能而不显示其中详细的说明文件。
-w:不显示手册页,只显示将被格式化和显示的文件所在的位置
-k:显示和给定关键字相关的所有命令。
2)info 是另一个非常有用的帮助命令,其信息存放在/usr/share/info下。
命令格式:info
3)whereis :寻找命令所在位置
命令格式:whereis [选项] 命令名
常用选项:
-b
-m
-s
-u
4)--help 是内置在命令中的,是命令的一个选项。有时候 -h 是一样的效果。
文件与目录的基本概念
Linux系统有三种基本的文件类型:
- 普通文件
- 文本文件
- 二进制文件
1)目录文件,简称为目录
设备文件
Linux通过目录将系统中所有的文件分级、分层组织在一起,形成树形层次结构,以根目录 “/” 为起点。Linux不存在类似windows那样的分区盘符。你可以分好多区,这些分区在Linux中用挂载的方式“挂在”这棵目录树上。
特殊目录:
典型的Linux目录结构
/
/bin
/boot
/dev
/etc
/home
/lib
/mnt
/proc
/root
/sbin
/tmp
/usr
/var
以下目录可以作为独立的文件系统,挂载到系统中
/boot
/home
/mnt
/tmp
/usr
/var
工作目录、用户主目录与路径
工作目录(Working Directory):用户登录到系统后,每时每刻都处在某个目录之中,此目录称为工作目录。
用户主目录(Home Directory):是系统管理员在增加用户时为该用户建立起来的目录,每个用户都有自己的主目录。使用符号~表示。
默认情况下,用户主目录是/home目录下与用户名相同的目录。
例:用户lh的主目录是/home/lh,命令 cd ~和命令 cd /home/lh意义相同。
通配符
*:匹配零或多个字符
?:匹配任意一个字符
[ ]:该通配符把所有想匹配的字符放在[ ]内,结果表达式将与[ ]中任一字符相匹配;也可以使用 - 指定范围。例如:
常见的几个命令
pwd:打印当前工作目录
cd :切换目录
$ cd doc
$ cd /home/tux1/doc
$ cd ~tux1
$ cd
$ cd ~
$ cd ..
$ cd -
常见几个选项
-l
-a
-R
cat:显示文件内容
more, less:分屏显示文件内容
more和less的区别在于:
more显示的内容只能向后翻页;
less显示的内容可以前后翻页,用B键向前翻页,并且支持PageUp和PageDown键上下翻页。
mkdir :创建子目录
rm :删除文件或目录
要删除目录,必须指定-r选项,此时将会删除目录下的所有文件,然后删除该目录
cp source[s]
复制文件 -R选项:递归地复制目录
mv source[s] [target] 移动文件或重命名
mv默认以递归的方式移动
如果名称与目标位置一样,其作用就是更改目录或文件名
locate:搜索文件
使用locate命令,可以看到每一个包括搜寻条件的目录或文件。例如要搜寻名称中带有finger这个词的文件,输入命令:
搜索结果为:所有文件或目录名中带有finger这个词的文件和目录。
locate命令使用一个数据库来定位所有文件或目录名中带有finger这个词的文件和目录。
ln [选项] <source>
该命令产生一个从dest到source的链接。
在UNIX/Linux文件系统中,链接可分为:
硬链接
符号链接
硬链接
系统调用link在文件系统结构中将一个文件链接到另外一个新的名字上,也就是为被链接文件的索引节点创建一个新的目录项。
通过链接操作,一个文件可以有两个以上的不同名字,系统可以通过其中任意一个名字来访问文件。内核并不知道哪个名字是最初的文件名。
这种为索引节点创建新目录项的链接方式称为“硬链接”。
一个给定的索引节点可以有任意数目的硬链接,该索引节点一直存在于文件系统,直到所有的硬链接消失。
硬链接的局限性:
只能给文件建立硬链接,而不能给目录建立硬链接。即使. 和 .. 是系统给目录创建的硬链接,也不允许用户创建自己的硬链接。
硬链接不能跨文件系统。
符号链接
与 “硬链接”类似,也为新名字创建一个新的目录项,但是目录项中不含有索引节点号,而是含有从当前目录下访问被链接文件的相对路径名或绝对路径名。
当进程使用新名字访问文件时,内核首先找到新名字所在的目录项,发现目录项中含有符号链接标志,然后从目录项中读出被链接文件的路径名,按此路径名访问指定的文件。
符号链接是一种专门的文件类型,在这种文件类型中,链接通过名称引用另一个文件,而不是直接引用索引节点。
符号链接不阻止文件被删除;如果源文件被删除,那么符号链接仍然存在,但是不可用。
符号链接比硬链接更灵活
可以给任何类型的文件系统对象(包括目录)创建符号链接
因为符号链接的实现是基于路径的,所以符号链接可以跨文件系统
归档与压缩命令
归档文件(archive file)是一个文件和目录的集合,而这个集合被存储在一个文件中。归档文件没有经过压缩。
压缩文件(compressed file)也是一个文件和目录的集合,这个集合也被存储在一个文件中,但是,它的存储方式所占用的磁盘空间比所有文件和目录的总和要少。
归档文件可以压缩也可以不压缩,压缩的归档文件才是压缩文件。
tar命令
选项
-c
-f
-t
-r
-v
-x
-z
-j
cal :显示日历
格式:cal [选项] [[月] 年]
若不指定月份和年份,则显示本月的日历。
选项:
-1: 显示一个月的日历,这是默认情况。
-3: 显示前一个月、本月、下一个月的日历。
-s: 以星期天作为一周的第1天显示,这是默认情况。
-m:以星期一作为一周的第1天显示。
-y: 显示出当年的完整日历。
date 日期时间命令
clear 清除屏幕命令