TLCL之第一章(1)


1. 什么是shell

一说到命令行,我们真正指的是shell。shell 就是一个程序,它接受从键盘输入的命令,然后把命令传递给操作系统去执行。几乎所有的Linux发行版都提供一个名为bash的来自GUN项目的shell程序。

1.1 终端仿真器

用来与shell交互的程序。
也就是我们计算机中的终端(terminal)。

[me@linuxbox ~]$

这个是shell提示符,如果提示符最后一个字符是”#“,而不是”$",那么这个终端会话就有超级用户权限。

[me@linuxbox ~]$ date					#显示日期
[me@linuxbox ~]$cal						#显示日历
[me@linuxbox ~]$df						#查看磁盘剩余空间的数量
[me@linuxbox ~]$free						#显示空闲内存的数量
[me@linuxbox ~]$exit						#结束终端会话

幕后控制台

即使终端仿真器没有运行,在后台仍然有几个终端会话运行着。它们叫做虚拟终端或者虚拟控制台。在大多数Linux发行版中,这些终端会话都可以通过按下Ctrl-Alt-F1 到 Ctrl-Alt-F6 访问。当一个会话被访问的时候,它会显示登录提示框,我们需要输入用户名和密码。


2. 文件系统中跳转

pwd - 打印出当前工作目录名
cd - 更改目录
ls - 列出目录内容

2.1 理解文件系统树

linux系统已分层目录结构来组织所有文件,这就意味着所有文件组成一棵树形目录(文件夹),这个目录树可能包含文件和其他的目录。
linux总是只有一个单一的文件系统树,不管有多少个磁盘或者存储设备连接到计算机上。存储设备连接到(挂载到)目录树的各个节点上。

当我们首次登陆系统(终端仿真器)后,当前工作目录是我们的家目录。每个用户都有他自己的家目录,当用户已普通用户的身份控制系统时,家目录是唯一允许用户写入文件的地方。

符号“."指的是工作目录,”.."指的是工作目录的父目录。

cd快捷键

快捷键效果
cd更改工作目录到你的家目录
cd -更改工作目录到先前的工作目录
cd ~user-name更改工作目录到用户家目录

关于文件名的重要规则

  1. linux没有“文件扩展名”的概念,不像其他一些系统。
  2. 虽然linux支持长文件名,文件名可能包含空格,标点符号,但标点符号仅限使用“.”,“-”,下划线。最重要的是,不要在文件名中使用空格,如果你想表示词与词间的空格,用下划线字符来代替。

3. 探究操作系统

ls - 列出目录内容
file - 确定文件类型
less - 浏览文件内容

3.1 ls乐趣

通过ls,我们可以知道目录的内容,以及各种各样重要文件和目录属性。

[me@linuxbox ~]$ ls   #当前目录下内容
[me@linuxbox ~]$ls /usr  #指定目录下内容
[me@linuxbox ~]$ls ~ /usr 多个指定目录下内容

3.2 选项和参数

命令名经常会带有一个或多个用来更正命令行为的选项,更进一步,选项后面会带有一个或多个参数,这些参数是命令作用的对象。其格式如:

command -options arguments

大多数命令使用的选项,是由一个中划线加上一个字符组成,例如“-l”,但是许多命令,也支持长选项,长选项由两个中划线加上一个字组成。当然,许多命令也允许把多个短选项串在一起使用。

[me@linuxbox ~]$ls -lt --reverse#两个短选项加一个长选项
选项长选项描述
-a–all列出所有文件,包括隐藏文件
-d–directory把这个选项与-l选项结合使用,可以看到所指定目录的详细信息,而不是目录中的内容
-F–classify这个选项会在每个所列出的名字后面加上一个指示符,例如,如果名字是目录名,则会加上一个’/'字符
-h–human-readable当以长格式列出时,以人们可读的格式,而不是以字节数来显示文件的大小
-l以长格式显示结果
-r–reverse以相反的顺序来显示结果
-S命令输出结果按照文件大小来排序
-t按照修改时间来排序

3.3 深入研究长格式输入

drwxr-xr-x   4 root  staff   128B 12  9 14:37 seaborn-data

长格式列表的字段

字段含义
drwxr-xr-x对于文件的访问权限。第一个字符指明文件类型。在不同类型之间,开头的“-”说明是一个普通文件,“d“表明是一个目录。其后三个字符是文件所有者的访问权限,再其后的三个字符是文件所属组中成员的访问权限,最后三个字符是其他所有人的访问权限。
4文件的硬链接数目
root文件所有者的用户名
staff文件所属用户组的名字
128B文件的大小
12 9 14:37上次修改文件的时间和日期
seaborn-data文件名

3.4 确定文件类型

file命令用来确定文件的类型。
file filename

3.5 用less浏览文件内容

less 命令是一个用来浏览文本文件的程序。
文本是简单的字符和数字的一对一映射,它非常紧凑。五十个字符的文本翻译成五十个字节的数据,文本只是包含简单的字符到数字的映射。
在计算机中,有许多方法可以表达信息,但是计算机只能理解数字,这样所有的数字都被转换成数值来表示。
为什么我们要查看文本文件呢?因为许多包含系统设置的文件(配置文件),是以文本格式存储的,阅读它们可以更深入地理解系统是如何工作的。另外,许多系统所用到的实际程序(脚本)也是以这种格式存储的。
less命令是这样使用的:
less filename
一旦运行起来,less程序允许你前后滚动文件,按”q”键退出。

less命令

命令结果
page up or b向上翻滚一页
page down or space向下翻滚一页
up arrow向上翻滚一行
down arrow向下翻滚一行
G移动到最后一行
1G or g移动到开头一行
/characters向前查找指定的字符串
n向前查找下一个出现的字符串,这个字符串是之前所指定查找的
h显示帮助屏幕
q退出less程序

Linux 系统中的目录

目录含义
/根目录
/bin包含系统启动和运行所必须的二进制程序
/boot包含Linux内核、初始化RAM磁盘映像和启动加载程序。 有趣的文件:1./root/grub/grub.conf or menu.lst,被用来配置启动加载程序。 2./boot/vmlinuz,Linux内核。
/dev这是一个包含设备结点的特殊目录。在这个目录中,系统维护着所有设备的列表
/etc这个目录包含所有系统层面的配置文件。它也包含一系列的shell脚本,在系统启动时,这些脚本会开启每个系统服务。这个目录中的任何文件应该是可读的文本文件。一些文件:1. /etc/crontab,定义自动运行的任务。 2. /etc/fstab,包含存储设备的列表,以及与他们相关的挂载点。3. /etc/passwd,包含用户账号列表。
/home在通常的配置环境下,系统会在/home 下,给每个用户分配一个目录。普通用户只能 在自己的目录下写文件。这个限制保护系统免受错误的用户活动破坏。
/lib包含核心系统程序所使用的共享库文件。
/lost+found每个使用 Linux 文件系统的格式化分区或设备,例如 ext3文件系统, 都会有这个目录。当部分恢复一个损坏的文件系统时,会用到这个目录。这个目录应该是空的,除非文件系统 真正的损坏了。
/media在现在的 Linux 系统中,/media 目录会包含可移动介质的挂载点, 例如 USB 驱动器,CD-ROMs 等等。这些介质连接到计算机之后,会自动地挂载到这个目录结点下。
/mnt在早些的 Linux 系统中,/mnt 目录包含可移动介质的挂载点。
/opt这个/opt 目录被用来安装“可选的”软件。这个主要用来存储可能 安装在系统中的商业软件产品。
/proc这个/proc 目录很特殊。从存储在硬盘上的文件的意义上说,它不是真正的文件系统。 相反,它是一个由 Linux 内核维护的虚拟文件系统。它所包含的文件是内核的窥视孔。这些文件是可读的, 它们会告诉你内核是怎样监管计算机的。
/rootroot 帐户的家目录。
/sbin这个目录包含“系统”二进制文件。它们是完成重大系统任务的程序,通常为超级用户保留。
/tmp这个/tmp 目录,是用来存储由各种程序创建的临时文件的地方。一些配置导致系统每次 重新启动时,都会清空这个目录。
/usr在 Linux 系统中,/usr 目录可能是最大的一个。它包含普通用户所需要的所有程序和文件。
/usr/bin/usr/bin 目录包含系统安装的可执行程序。通常,这个目录会包含许多程序。
/usr/lib包含由/usr/bin 目录中的程序所用的共享库。
/usr/local这个/usr/local 目录,是非系统发行版自带程序的安装目录。 通常,由源码编译的程序会安装在/usr/local/bin 目录下。新安装的 Linux 系统中会存在这个目录, 并且在管理员安装程序之前,这个目录是空的。
/usr/sbin包含许多系统管理程序。
/usr/share/usr/share 目录包含许多由/usr/bin 目录中的程序使用的共享数据。 其中包括像默认的配置文件、图标、桌面背景、音频文件等等。
/usr/share/doc大多数安装在系统中的软件包会包含一些文档。在/usr/share/doc 目录下, 我们可以找到按照软件包分类的文档。
/var除了/tmp 和/home 目录之外,相对来说,目前我们看到的目录是静态的,这是说, 它们的内容不会改变。/var 目录存放的是动态文件。各种数据库,假脱机文件, 用户邮件等等,都位于在这里。
/var/log这个/var/log 目录包含日志文件、各种系统活动的记录。这些文件非常重要,并且 应该时时监测它们。其中最重要的一个文件是/var/log/messages。注意,为了系统安全,在一些系统中, 你必须是超级用户才能查看这些日志文件。

3.6 符号链接

lrwxrwxrwx 1 root root 11 2007-08-11 07:34 libc.so.6 -> libc-2.6.so
这里的’1‘指的是符号链接的个数,这里展示了一个叫做’libc-6‘的符号链接,指向一个叫做’libc-2.6.so‘文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值