鸟哥的Linux私房菜 基础学习篇 读书笔记(一)

一.什么是Linux

核心就是”Kernel”。一般来说,核心为了实现用户所需要的正确运算结果,必须要管理的事项有以下几项:系统调用接口(SystemCallInterface),进程控制(ProcessControl),内存管理(MemoryManagement),文件系统管理(FileSystemManagement),设备驱动程序(DeviceDrivers)

1996年完成了2.0版本,同时应商业版本的需要,开始将核心版本同时开发测试版及稳定版,次版本偶数为稳定版,奇数为开发中的测试版。

五.启动关机、在线求助与执行命令的方式

切换XWindow与命令行模式

[Ctrl]+[Alt]+[F1]~[F6]:命令行登入tty1~tty6终端。

[Ctrl]+[Alt]+[F7]:图形界面桌面。

[root@linux~]#最左边的root显示当前用户的账号,而@之后接的Linux主机名称,最右边的~则指当前所在的目录,#是我们常常讲的“提示符”。

~符号表示“用户的主文件夹”,它是一个“变量”。举例来说,root的主文件夹在/root,所以~就表示/root,dmtsai的主文件夹在/homt/mtsai,所以如果以dmtsai登入时,看到的~就会等于/home/dmtsai。在Linux中,默认root的提示符为#,一般身份用户的提示符为$。

注销Linuxexit

重要的热键

[Tab]按键:它具有“命令补全”与“文件补齐”的功能。[Tab]接在一串命令的第一个字的后面,则为“命令补全”。接在一串命令的第二个字以后时,则为“文件补齐”。

[Ctrl]-C按键:终端当前程序。

showdown–hnow:立刻关机。showdown–rnow:系统立刻重新启动。

六.Linux的文件属性与目录配置

在Linux系统中,默认情况下,所有系统账号与一般身份用户,以及root的相关信息,都记录在etc/passwd文件内。密码记录在etc/shadow文件中。Linux所有的用户组名称都记录在/etc/group内。这3个文件可以说是Linux系统中账号、密码、用户组信息的集中地,不要随便删除这3个文件。

-rwxrwxrwx1rootroot293Oct1921:24test

文件属性连接数文件拥有者文件所属用户组文件大小文件最新修改时间文件名

1.第一列表示这个文件的属性,表示这个文件是“目录、文件或连接文件等”

[d]目录,[-]文件,[l]连接文件,[b]设备文件中可供存储的接口设备,[c]设备文件中的串行端口设备。

第一组为拥有者的权限,第二组为通用户组的权限,第三组为其他非本用户组的权限。在Linux中,文件是否能执行,这是通过是否具有x属性来决定的。

2.第二列表示连接占用的节点(i-node)。如果是目录的话,那么就与该目录下还有多少目录有关。

3.第三列表示这个文件(或目录)的拥有者。

4.第四列表示拥有者的用户组。

5.第五列为这个文件的大小。

6.第六列为这个文件的创建日期或者是最近的修改日期。

7.第七列为这个文件的文件的文件名。如果文件名之前有”.”,则表示这个文件为“隐藏文件”。

目录属性的意义

r(readcontentsindirectory):表示具有读取目录结构清单的权限,所以当您拥有读取(r)目录的权限时,就可以利用ls命令将该目录的内容列出来。

w(modifycontentsofdirectory):表示将拥有更改该目录结构清单的权限:建立新的文件或目录;删除已经存在的文件与目录(不论该文件是属于谁的);将已存在的文件或目录进行重命名;移动该目录内的文件、目录的位置。

x(accessdirectory):与能否进入该目录有关。

Linux目录配置标准FHS

/:根目录root(/),一般建议在根目录下面只有目录,不要直接有文件。

/bin,/user/bin,/user/local/bin:放置用户可执行的二进制文件的目录。

/boot:放置Linux系统启动时用到的文件。这个目录下面的文件vmlinuz就是Linux的核心。

/dev:在Linux系统上,任何设备都以文件类型存放在这个目录中。

/etc:系统主要的设置文件几乎都放在这个目录内。

/home:系统默认的用户家目录。

/lib,/user/lib,/user/local/lib:系统使用的函数库的目录。

/opt:只是给主机额外安装软件所放的目录。

/proc:这个目录本身是一个“虚拟文件系统”。它放置的数据都在内存中,例如系统核心、形成信息、外部设备的状态及网络状态等。

/root:系统管理员(root)的家目录。

/sbin,/user/sbin,/user/local/sbin:放一些系统管理员才会用到的执行命令。与/bin不大一样的是,这几个目录是给root系统管理用的。

/user:包含系统的主要程序、图形界面所需要的文件、额外的函数库、本机自行安装的软件、以及共享的目录与文件。

/var:它主要放置系统执行过程中国了经常变化的文件。举例来说,例如缓存(cache)或者随时更改的登录文件(logfile)。

chgrp:更改所属用户组,要更改的用户组名称,必须在/ect/group里存在。-r进行递归的持续更改,及联通子目录下的所有文件、目录都更新。常常用在更改一个目录的情况。

chgrpusersinstall.log

chwon:更改文件拥有者的名测过了,在/ect/passwd这个文件中有记录的用户名称才可以改变。

chmod:更改9个属性。Chmod7778.bashrc

安装软件要有好习惯,不要随便安装,统一放在/user/local或者是/opt下面。

七.Linux文件和目录管理

对于文件的正确性来说,绝对路径比较好。一般来说,笔者建议,如果是在编写程序(shellscripts),务必使用绝对路径。

特殊的目录

.:表示此层目录;..:表示上一层目录;-:表示前一个工作目录;~:表示当前用户身份所在的家目录;~account:表示account用户的家目录。

cd:切换目录changedirectory。

pwd:显示当前所在的目录printworkingdirectory。

mkdir:建立新目录makedirectory。-p按顺序建立多层目录。

rmdir:删除目录

$PATH:在执行命令时,系统会按照PATH的设置,去每个PATH定义的路径下搜索执行文件,先搜索到的命令先执行。查看$PATHecho$PATH。设置$PATHPATH=”$APTH”:/root

ls查看文件和目录。蓝色显示目录,白色显示普通文件。-l显示长数据内容,-a显示隐藏文件。

cp:复制文件或目录。

rm:删除文件或目录。

mv:移动文件与目录,或重命名。

cat:查看文件内容concatenat。

less:一页一页翻动。

touch:建立一个空文件,将某个文件日期修改为当前时间。

搜索文件,通常我们先使用whereis或者是locate来检查,如果真的找不到,才以find来搜索。因为whereis与locate是使用数据库来搜索数据,所以相当快,而且并没有实际搜索硬盘。

八.Linux磁盘与文件系统管理

在标准的ext2文件系统中,将每个文件的内容分为两个部分来存储,一个是文件的属性,另一个是文件的内容跟了。考虑到这两方面的因素,ext2规划出inode与块来分别存储文件的属性(存放在inode中)与文件的内容(放置在块区域中)。块是数据存储的最小单位。块是记录文件内容数据的区域,inode则是记录该文件的相关属性,以及文件内容放置在哪一个块内的信息。简单而言,inode除了记录文件的属性外,同时还必须要具有指针的功能,即指向文件内容跟了放置的块之中,让操作系统可以正确获取文件的内容。要注意,inode本身并不记录文件名,而是记录文件的相关属性,文件名则在目录所属的块区域。

磁盘和目录的容量。df–h,du–h/etc

九.文件的压缩与打包

tar程序可以将很多文件打包为一个文件。单纯的tar功能仅是打包而已,并没有提供压缩。gzip通常只能针对一个文件来压缩或者解压缩。后来,GNU计划中,将整个tar与压缩的功能整合在一起,提供给用户更方便且更强大的压缩与打包功能。

压缩:tar–zcvf/tmp/etc.tar.gz/etc

解压缩:tar–zxvf/tmp/etc.tar.gz/etc

相关推荐