- shell
shell是一个程序,接受从键盘输入的命令,然后把命令传递给系统去执行。、 - 提示符
$
# 超级用户(root) - 上下箭头查看命令历史(默认500个)
- 简单命令
date:显示系统当前时间和日期
cal:显示当前月份的日历
df:查看磁盘剩余的空间数量
free:显示空余内存数量 - 绝对路径
/:根目录(树根) - 相对路径
.:工作目录
..:工作目录的父目录 - pwd(print working directory(的缩写))命令,来显示当前工作目录
- cd 快捷键
cd :更改工作目录到你的家目录。
cd - :更改工作目录到先前的工作目录。
cd ˜user_name :更改工作目录到用户家目录。例如, cd ˜bob 会更改工作目录到用户“bob”的家目录。
注意:可以省略 “./”,如 cd ./bin <=> cd bin - 关于文件名的重要规则
1 . 以 “.” 字符开头的文件名是隐藏文件。这仅表示, ls 命令不能列出它们,用 ls -a 命令就可以了。当你创建帐号后,几个配置帐号的隐藏文件被放置在你的家目录下。稍后,我们会仔细研究一些隐藏文件,来定制你的系统环境。另外,一些应用程序也会把它们的配置文件以隐藏文件的形式放在你的家目录下面。
2 . 文件名和命令名是大小写敏感的。文件名“File1”和“file1”是指两个不同的文件名。
3 . Linux 没有“文件扩展名”的概念,不像其它一些系统。可以用你喜欢的任何名字来给文件起名。文件内容或用途由其它方法来决定。虽然类 Unix 的操作系统,不用文件扩展名来决定文件的内容或用途,但是有些应用程序会。
4 . 虽然 Linux 支持长文件名,文件名可能包含空格,标点符号,但标点符号仅限使用“.”,“-”,下划线。最重要的是,不要在文件名中使用空格。如果你想表示词与词间的空格,用下划线字符来代替。过些时候,你会感激自己这样做。 ls
1 .ls :查看当前目录下的所包含的文件和子目录列表
2 .ls /user:指定要列出内容的目录
3 .ls ~ /user :列出指定的多个目录的内容
4 .参数-a –all 列出所有文件,甚至包括文件名以圆点开头的默认会被隐藏的隐藏文件。
-d –directory 通常,如果指定了目录名, ls 命令会列出这个目录中的内容,而不是目录本身。把这个选项与 -l 选项结合使用,可以看到所指定目录的详细信息,而不是目录中的内容。
-F –classify 这个选项会在每个所列出的名字后面加上一个指示符。例如,如果名字是目录名,则会加上一个’/’ 字符。
-h –human-readable 当以长格式列出时,以人们可读的格式,而不是以字节数来显示文件的大小。
-l 以长格式显示结果。
-r –reverse 以相反的顺序来显示结果。通常, ls 命令的输出结果按照字母升序排列。
-S 命令输出结果按照文件大小来排序。
-t 按照修改时间来排序
ls -l 详解
- 例如:-rw-r–r– 1 root root 32059 2007-04-03 11:05 oo-cd-cover.od
- 解释:
-rw-r–r– 对于文件的访问权限。
(1)第一个字符指明文件类型。在不同类型之间,开头的“-”说明是一个普通文件,“d”表明是一个目录。
(2)其后三个字符是文件所有者的访问权限
(3)再其后的三个字符是文件所属组中成员的访问权限
(4)最后三个字符是其他所有人的访问权限。这个字段的完整含义将在第十章讨论。
1 文件的硬链接数目。参考随后讨论的关于链接的内容。
root 文件属主的用户名。
root 文件所属用户组的名字。
32059 以字节数表示的文件大小。
2007-04-03 11:05 上次修改文件的时间和日期。
oo-cd-cover.odf 文件名。
12 . 确定文件类型
file filename
13 . less
less filename
Page UP or b 向上翻滚一页
Page Down or space 向下翻滚一页
UP Arrow 向上翻滚一行
Down Arrow 向下翻滚一行
G 移动到最后一行
1G or g 移动到开头一行
/charaters 向前查找指定的字符串
n 向前查找下一个出现的字符串,这个字符串是之前所指定查找的
h 显示帮助屏幕
14 . 符号链接(软链接)
(1)例如:lrwxrwxrwx 1 root root 11 2007-08-11 07:34 libc.so.6 -> libc-2.6.so
(2)解释:第一个字符是“l”,并且有两个文件名呢?这是一个特殊文件,叫做符号链接(也称为软链接或者 symlink )。
(3)意义:一个程序要求使用某个包含在名为“foo”文件中的共享资源,但是“foo”经常改变版本号。这样,在文件名中包含版本号,会是一个好主意,因此管理员或者其它相关方,会知道安装了哪个“foo”版本。这又会导致一个问题。如果我们更改了共享资源的名字,那么我们必须跟踪每个可能使用了这个共享资源的程序,当每次这个资源的新版本被安装后,都要让使用了它的程序去寻找新的资源名。这听起来很没趣。这就是符号链接存在至今的原因。比方说,我们安装了文件“foo”的 2.6 版本,它的文件名是“foo-2.6”,然后创建了叫做“foo”的符号链接,这个符号链接指向“foo-2.6”。这意味着,当一个程序打开文件“foo”时,它实际上是打开文件“foo-2.6”。现在,每个人都很高兴。依赖于“foo”文件的程序能找到这个文件,并且我们能知道安装了哪个文件版本。当升级到“foo-2.7”版本的时候,仅添加这个文件到文件系统中,删除符号链接“foo”,创建一个指向新版本的符号链接。这不仅解决了版本升级问题,而且还允许在系统中保存两个不同的文件版本。假想“foo-2.7”有个错误(该死的开发者!),那我们得回到原来的版本。一样的操作,我们只需要删除指向新版本的符号链接,然后创建指向旧版本的符号链接就可以了。在上面列出的目录(来自于 Fedora 的/lib 目录)展示了一个叫做“libc.so.6”的符号链接,这个符号链接指向一个叫做“libc-2.6.so”的共享库文件。这意味着,寻找文件“libc.so.6”的程序,实际上得到是文件“libc-2.6.so”。