Linux基础入门
1、Linux发行版及哲学思想
1.1 Linux发行版
Linux发行版(Linux Distribution,也被叫做GUN/Linux发行版),为一般用户预先集成好的Linux操作系统及各种应用软件。Linux发行版通常包含了包括桌面环境、办公包、媒体播放器、数据库等应用软件。这些操作系统通常由Linux内核、以及来自GUN计划的大量的函数库,和基于X Window的图形界面。有些发行版考虑到容量大小而没有预装X Window,而使用更加轻量级的软件。
目前有超过300个Linux发行版,大部分正处于活跃的开发中,不断的改进。
1.2 linux哲学思想
1.2.1 一切皆文件
把几乎所有资源,包括硬件设备都组织为文件格式;
1.2.2 由众多单一目的小程序组成;一个程序只实现一个功能,而且要做好
组合小程序完成复杂任务;
1.2.3 尽量避免跟用户交互
目标:实现脚本编程,以自动完成某些功能;
1.2.4 使用纯文本文件保存配置信息
目标:一款使用的文本编辑器即能完成系统配置工作;
2、Linux获取命令帮助详解
2.1 Linux命令的分类(Shell的内部命令和外部命令)
Linux命令的执行必须依赖于Shell命令解释器。Shell实际上是在Linux系统中运行的一种特殊程序,它位于操作系统内核与用户之间,负责接受用户输入的命令并进行解释,将需要执行的操作传递给系统内核执行,Shell在用户和内核之间充当了一个“翻译官”的角色。当用户登陆到Linux系统时,会自动加载一个Shell程序,以便给用户提供可以输入命令的操作环境。
Bash是Linux系统中默认使用的Shell程序,文件位于/bin/bash。根据Linux命令与Shell程序的关系,一般分为以下两种类型:
内部命令:指的是集成于Shell解释器程序(如Bash)内部的一些特殊指令,也成为内建(Built-IN)指令。内部命令属于Shell的一部分,所以并没有单独对应的系统文件,只要Shell解释器被运行,内部指令也就自动载入内存了,用户可以直接使用。内部命令无需从硬盘中重新读取文件,因此执行效率更高。
外部命令:指的是Linux系统中能够完成特定功能的脚本文件或二进制程序,每个外部命令对应了系统中的一个文件,是属于Shell解释器程序之外的命令,所以称为外部命令。Linux系统必须知道外部命令对应的文件位置,才能够由Shell加载并执行。
区别外部命令和内部命令的方法:
1、使用 type 命令 。
$ type cd
cd is a shell builtin
$ type cat
cat is /bin/cat
2、使用whereis或者which
2.2 内部命令获取帮助
# help COMMAND
2.3 外部命令获取帮助
2.3.1 # COMMAND –help
2.3.2 使用手册(manual)
# man COMMAND
2.3.3 信息页
#info COMMAND
2.3.4 程序自身的帮助文档
程序自身的帮助文档一般位于/usr/share/doc/COMMAND-VERSION
2.3.5 程序官方文档
2.3.6 发行版的官方文档
以redhat为例,其发行版的官方文档:http://www.redhat.com/docs
2.3.7 Google
3、Linux常用的系统基础命令
3.1目录相关的命令
cd: 切换目录
~:用户的主目录
cd 或 cd ~: 回当前用户的主目录
cd ~USERNAME: 切换至指定用户的主目录
cd -: 在上一个目录和当前目录之间来回切换
.
..
相关的环境变量:
PWD:保存了当前目录路径;
OLDPWD:上一次所在目录路径;
pwd: 显示当前目录
ls: list显示指定路径下的文件列表;
ls [OPTION]… [DIR]…
-a, –all: 显示所有文件,包括隐藏文件;
-l: 长格式
-rw-r–r– 1 root root 44800 Aug 14 14:32 install.log
-rw-r–r–:
最左侧的第一位:文件类型
-, d, l, b, c, p, s
后面的9位:访问权限,perm
数 字1:文件被硬链接的次数;
左root: 文件的owner
右root: 文件的group
44800:文件的size
Aug 14 14:32 : 文件的最近一次被修改的时间
install.log: 文件名
-h, –human-readable:单位换算
-d: 显示目录自身的相关属性;通常要与-l一起使用;
-r, –reverse: 逆序显示
-R, –recursive: 递归
stat /PATH/TO/SOMEFILE:获取指定文件的元数据
3.2文件查看命令:cat, tac
cat [OPTION]… [FILE]…
-E: 显示行结束符$
-n: 对显示出的每一行进行编号
3.3文件内容类型查看命令:file
file /PATH/TO/SOMEWHERE
3.4系统管理类命令:
关机:
halt, poweroff, shutdown, init 0
重启:
reboot, shutdown, init 6
跟用户登录相关:
who, whoami, w
3.5回显命令:echo
-n: 禁止自动添加换行符号;
-e: 允许使用转义符;
\n: 换行
\t: 制表符
echo "$VAR_NAME": 变量会替换,双引号表弱引用
echo '$VAR_NAME': 变量不会替换,强引用
3.6 which:显示命令对应的程序文件路径
which [OPTION] COMMAND
–skip-alias:禁止显示别名
whatis: 在whatis数据库中搜索单词
4、Linux 文件系统基础
4.1 首相来了解下什么是文件系统
计算机的文件系统是一种存储和组织计算机数据的方法。从系统角度来啦吗,文件系统对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。
文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux用户和程序看到的文件、目录、软连接及文件保护信息等都存储在其中。
不同Linux发行版之间的文件系统差别很少,主要表现在系统管理的特色工具以及软件包管理方式的不同,文件目录的基本结构都是一样的。
文件系统有多种类型:
ext2 : 早期Linux中常用的文件系统。
ext3 : ext2的升级版,带日志功能。
RAMFS : 内存文件系统,速度很快。
Iso9660 : 光盘或光盘镜像。
NFS : 网络文件系统,由SUN发明,主要用于远程文件共享。
MS-DOS : MS-DOS文件系统。
FAT : Windows XP操作系统采用的文件系统。
NTFS : Windows NT/XP操作系统采用的文件系统。
4.2 Linux发行版的常见目录
目录 |
功能 |
|
/ |
根目录,只能包含目录,不能包含具体文件。 |
|
/bin |
供所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序 |
|
/sbin |
管理类的基本命令,不能关联之独立分区,OS启动即会用到的程序 |
|
/lib |
基本共享库文件,以及内核模块文件(/lib/modules) |
|
/lib64 |
专用于x86_64系统上的辅助共享文件存放位置 |
|
/etc |
配置文件目录(纯文本文件) |
|
/home/username |
普通用户家目录 |
|
/root |
管理员的家目录 |
|
/media |
便携式移动设备挂载点(cdrom|usb) |
|
/mnt |
临时文件系统挂载点 |
|
/dev |
设备文件及特殊文件存储位置(b: block device随机访问)(c:character device线性访问) |
|
/opt |
第三方应用程序的安装位置 |
|
/srv |
系统上运行的服务用到的数据 |
|
/tmp |
临时文件存储位置 |
|
/usr |
Universal shared, read-only data |
|
/usr/bin |
保证系统拥有完整功能而提供的应用程序 |
|
/usr/sbin |
非必要的二进制标准系统文件 |
|
/usr/lib |
用于编程和包的库 |
|
/usr/lib64 |
||
/usr/include |
C程序的头文件(header files) |
|
/usr/share |
结构化独立的数据,例如doc,man等 |
|
/user/local |
第三方应用程序的安装位置 |
|
/var |
Variable data files |
|
/var/cache |
应用程序缓存数据目录 |
|
/var/lib |
应用程序状态信息数据 |
|
/var/local |
专用于为/usr/local下的应用程序存储可变数据 |
|
/var/lock |
锁文件 |
|
/var/log |
日志目录及文件 |
|
/var/opt |
专用于为/opt下的应用程序存储可变数据 |
|
/var/run |
运行中的进程相关的数据;通常用于存储进程的pid文件 |
|
/var/tmp |
保存系统两次重启之间产生的临时数据 |
|
/proc |
用于输出内核与进程信息相关的虚拟文件系统 |
|
/sys |
用于输出当前系统上硬件设备相关信息的虚拟文件系统 |
|
/selinux |
Security enhanced linux,selinux相关的安全策列等信息存储位置0 |
4.3 Linux应用程序的常见组成部分
二进制程序:/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin
库文件:/lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64
配置文件:/etc, /etc/DIRECTORY, /usr/local/etc
帮助文件:/usr/share/man, /usr/share/doc, /usr/local/share/man, /usr/local/share/doc
4.4 Linux下的文件类型
– (f):普通文件;
d: 目录文件;
b: 块设备;
c: 字符设备;
l: 符号链接文件;
p: 管道文件;
s: 套接字文件;socket;
原创文章,作者:Daniel-W,如若转载,请注明出处:http://www.178linux.com/11695
评论列表(2条)
文章写的不错。仍有提升空间,可参考置顶推荐的文章
@stanley:thanks~