读书笔记之Linux命令行与shell脚本编程大全


作为程序员我们经常需要和服务器打交道,而现在的主流服务器无疑是Linux,所以掌握好Linux对我们的日常工作能起到很大的帮助。这里我将Linux命令行与shell脚本编程大全的主要内容记录下来,一方面是为了加深印象以及整理笔记,另一方面也是为了能够帮助其他人了解shell,如果其中有什么错误的话,欢迎指出!


一、Linux基础介绍

1. 什么是Linux

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

2. Linux版本

2.1 核心Linux发行版含有内核、一个或多个图形化桌面环境以及预编译好的几乎所有能见到的Linux应用,它提供了一站式的完整Linux安装。以下为较流行的核心Linux发行版:

发行版 描述
Slackware 最早的Linux发行版中的一员,在Linux极客中比较流行
Red Hat 主要用于Internet服务器的商业发行版
Fedora 从Red Hat中分离出的家用发行版
Gentoo 为高级Linux用户设计的发行版,仅包含Linux源代码
openSUSE 用于商业和家用的发行版
Debian 在Linux专家和商用Linux产品中流行的发行版

2.2 特定用途的发行版:它们通常基于某个主流发型版,但仅包含主流发行版中一小部分用于某种特定用途的应用程序。除此之外,定制化发行版还尝试通过自动检测和自动配置常见硬件来帮助新手安装Linux。这使得Linux的安装简化了许多。如下:

发行版 描述
CentOS 一款基于 Red Hat企业版Linux源代码构建的免费发行版
Ubuntu 一款用于学校和家庭的免费发行版
PCLinuxOS 一款用于家庭和办公的免费发行版
Mint 一款用于家庭娱乐的免费发行版
dyne:bolic 一款用于音频和MIDI应用的免费发行版
Pubby Linux 一款适用于老旧PC的小型免费发行版

3. 文件系统

Linux内核支持通过不同类型的文件系统从硬盘中读取数据,Linux系统中用来读写数据的标准文件系统如下:

文件系统 描述
ext Linux扩展文件系统,最早的Linux文件系统
ext2 第二扩展文件系统,在ext的基础上提供了更多的功能
ext3 第三扩展文件系统,支持日志功能
ext4 第四扩展文件系统,支持高级日志功能
hpfs OS/2高性能文件系统
jfs IBM日志文件系统
iso9660 ISO9660文件系统(CD-ROM)
minix MINIX文件系统
msdos 微软的FAT16
ncp Netware文件系统
ntfs 支持Microsoft NT文件系统
proc 访问系统信息
ReiserFS 高级Linux文件系统,能提供更好的性能和硬盘恢复功能
smb 支持网络访问的Samba SMB文件系统
sysv 较早期的Unix文件系统
ufs BSD文件系统
umsdos 建立在msdos上的类Unix文件系统
vfat Windows 95文件系统(FAT32)
XFS 高性能64位日志文件系统

4. 常见的Linux目录及用途

目录 用途
/ 虚拟目录的根目录。通常不会在这里存储文件
/bin 二进制目录,存放许多用户级的GNU工具
/boot 启动目录,存放启动文件
/dev 设备目录,Linux在这里创建设备节点
/etc 系统配置文件目录
home 主目录,Linux在这里创建用户目录
/lib 库目录,存放系统和应用程序的库文件
/media 媒体目录,可移动媒体设备的常用挂载点
/mnt 挂在目录,另一个可移动媒体设备的常用挂载点
/opt 可选目录,常用于存放第三方软件包和数据文件
/proc 进程目录,存放现有硬件和当前进程的相关信息
/root root用户的主目录
/sbin 系统二进制目录,存放许多GNU管理员级工具
/run 运行目录,存放系统运作时的运行时数据
/srv 服务目录,存放本地服务的相关文件
/sys 系统目录,存放系统硬件信息的相关文件
/tmp 临时目录,可以在该目录创建和删除临时工作文件
/usr 用户二进制目录,大量用户级GNU工具和数据文件都存储在这里
/var 可变目录,用以存放经常变化的文件,比如日志文件
posted @ 2018-06-13 11:22  蝙蝠之殇  阅读(1071)  评论(0编辑  收藏  举报