【Linux下,一切皆文件】
1、系统的启动
电源
BIOS芯片---|1、加电自检 检查硬件设备是否正常
|2、启动系统-- |1、系统所在位置的读取顺序问题(BIOS):硬盘 网络 (PXE) U盘 CD/DVDD
|2、需要将硬盘中的系统文件,加载到内存中,让CPU读取,并运行;
MBR分区(BootLoader):就是用来寻找并引导系统加载
|-LILO
|-grub 分为第一阶段、1.5阶段、和第二阶段;
到此,我们已将内核程序加载完成,但是,并不能运行普通应用;--kernel
|
此时我们要运行第一个应用程序--init
init:将操作系统分为0-6 7个级别;每个级别上都会运行对应的应用程序;
|
读取默认级别3(命令行)-- chkconfig/rc.*d(每个级别所需要启动的进程)
(0 1 3 5 6 )
0 关机
1 单用户模式
3 命令行
5 图形界面
6 重启
|
rc.local //系统启动最后读取这个文件,管理员可以将需要开机就运行的命令,添加在这里;
chkconfig 的作用:指定服务器开机时在那个级别上,启动或者关闭;
-h --help 查看帮助
–list
–level 345 Name <on|off>
update-rc.d在ubuntu下控制某些程序开机启动;
-f force 强制
【chkconfig可以在Ubuntu上使用,需要安装】
2、为什么学习命令
尽量减少与计算机的交互
缺点:入门难
3、Linux命令的基本格式
Command[选项][参数]
chkconfig
[]:中括号代表,可有可无;指定实现命令的某个特定功能;
<>:代表命令执行的对象;如果没有加<>代表不能省略;
长整型选项
短选项 *短选项可以合并,而长选项不能合并;
扩展:命令 子命令 【选项】 【参数】
4、常用的Linux 命令的基本使用
echo $PATH(环境变量) *变量:一段被命名的内存空间
如果命令不再PATH路径下,如何解决?
1、通过绝对路径来运行该命令即可;
绝对路径执行的是命令本身;而有些命名,是系统默认别名(可以自己添加) -alias;
which command //查找命令的绝对路径
\ls //使用反斜线直接运行;
2、将这个路径添加到PATH路径下即可;
PATH = $PATH:/xxx/xxx
ls //显示文件信息
-l //查看文件的详细信息(属性)
-i //inode(属性)
-h //human 人类可读
-F //显示文件后面的标记(用来区分文件类型)
-r //倒序显示文件内容
-a //显示所有文件(包括隐藏文件)
可以看到,用ls -l命令查看某一个目录会得到一个7个字段的列表。
第1行:总计(total)
Total后面的数字是指当前目录下所有文件所占用的空间总和。可以使用ls –lh查看,也可使用ls –alh查看。
第1字段: 文件属性字段
文件属性字段总共有10个字母组成;第一个字符代表文件的类型。
字母“-”表示该文件是一个普通文件
字母“d”表示该文件是一个目录,字母”d”,是dirtectory(目录)的缩写
**注意**:目录或者是特殊文件,这个特殊文件存放其他文件或目录的相关信息
字母“l”表示该文件是一个链接文件。字母”l”是link(链接)的缩写,类似于windows下的快捷方式
就是软连接,其实就是新建立一个文件,这个文件就是专门用来指向别的文件的
(那就和windows 下的快捷方式的那个文件有很接近的意味)。软连接产生的是一个新的文件,
但这个文件的作用就是专门指向某个文件的,删了这个软连接文件,那就等于不需要这个连接,
和原来的存在的实体原文件没有任何关系,但删除原来的文件,则相应的软连接不可用
(cat那个软链接文件,则提示“没有该文件或目录“)
第1字符的后面9个字母表示该文件或目录的权限位。
r表是读 (Read) 、w表示写 (Write) 、x表示执行 (eXecute)
其中前三个表示文件拥有者的权限,中间三个表示文件所属组拥有的权限,最后三个表示其他用户拥有的权限。
第2字段:文件硬链接数
第3字段:文件(目录)拥有者
第4字段:文件(目录)拥有者所在的组
第5字段: 文件所占用的空间(以字节为单位)
第6字段:文件(目录)最近访问(修改)时间
第7字段:文件名
pwd //显示当前路径
$PWD //默认有一个这个环境变量;了解即可;
cd //切换到目标目录
~ //当前用户的家目录(/root /home)
. //当前目录 (以. 开头的文件为隐藏文件)
.. //当前目录的上一级目录
- //$OLDPWD 存放上一次经过的目录
touch //修改时间戳
Stat //atime 访问时间
//mtime 修改文件内容的时间
//ctime 修改文件属性
touch a.txt
[[CC]YY]MMDDhhmm[.ss]
20 19 08011636 .22
-a //修改访问时间
-m //修改修改时间
-t //指定修改成什么时间
-c //修改文件Mtime,如果文件不存在,不创建该文件
mkdir //创建文件夹
-p //递归创建多级子目录
-v //详细显示创建过程
tree //以树状形式,显示目录及文件结构
-L //NUM 查看多少级子目录
-d //只显示目录文件
rm //删除
-f force// 强制
-i //询问是否删除该文件,默认命令(alias rm = ‘rm -i’)
eg:-----| \rm abc
-----| /bin/rm abc
-r //删除目录文件
扩展一下:
1、默认情况下不适合用rm删除目录 -- rmdir
rmdir只能删除空目录;
2、我们将需要删除文件或目录移动到 /tmp 目录下即可;
/tmp 目录为临时文件目录,30天未被访问的文件会自动删除
3、如果必须删除一些文件,我们通过find匹配出来后,再行删除
【find扩展!!!】
find / -name abc | xargs rm
find / -name abc -exec rm {}\;
clear //清屏 =ctrl + l