Linux根文件,linux根文件系统

可执行文件类型:

windows下:PE

linux下:ELF

2.FMS:linux目录结构标准,常见的目录如下:

/boot:存放启动相关的文件,如initrd,vmlinux(系统内核)以及grub等

/dev:  存放设备文件

设备文件分为:

块设备:可随机访问设备(硬盘等)

字符设备:线性访问设备(如鼠标,显示器)

注:设备文件是一种特殊文件,只包含元数据(也就是文件的属性,如大小等等)并不包含真正的数据,如果我们用长格式ls显示会发现,大小那个字段变成了两个数字,这两个数字是主设备号(major)和次设备号(minor)

ls  -l  /dev/console

crw-------  1 root root      5,   1Dec 17 01:38 console

/home:用户的家目录,通常是/home/USERNAME

注:root用户的家目录比较特殊,就在根下,名字就叫root 。 /root

/etc:系统相关的配置文件

/lib:库文件

动态库:以.so结尾的文件(shared object)

静态库:以.a结尾的文件

/lib/module:系统内核文件

动态库和静态库的区别:

所谓的库就是含有一些特×××的程序,它不可以直接执行,但是可以被程序调用执            行。动态库是多个程序可以共同使用这个库,这样当一个库加载到内存的时候,程序a执行            完,而程序c恰好需要这个库所提供的功能,这个时候程序c可以直接调用这个库,而不必            再次把库导入到内存中,这样大大节约了不同程序共同占用内存的空间。而静态库是跟程            序直接关联的,这样便于程序的管理。当一个程序在另外一台机器执行时,如果使用共享            库,则另一台机器必须含有共享库文件。而使用静态库则不必。

/media:默认是移动设备的挂载点

/mnt:挂载点目录,额外的临时文件系统

/opt:可选目录,第三方程序的安装目录(现在默认是/usr/local)

/proc:伪文件系统,内核相关映射文件

/sys:伪文件系统,跟硬件相关的属性映射文件

/tmp/:临时文件,系统会定期清理这个文件夹里面的东西,另一个目录是/var/tmp

/var:可变化的文件

/bin:用户命令

/sbin:管理命令

/usr:user  share  read-only 这个目录里的bin、sbin和根目录里的bin、sbin,大概区别是根目录的命令是系统运行所必备的,而/usr则是系统完善功能才提供的(不是很准确。。)

3.linux的文件命名规则

<1>不能超过255个字节

<2>不能是用/符号

<3>严格区分大小写

4.linux文件管理常用命令

mkdir:创建目录

创建目录时,叶子节点前面所对应的路径必须存在

比如我们在/root下创建x/y/z,如果x和y不存在,z就不能被穿件

-p参数可以直接创建不存在的目录,比如上例,这是个递归过程,要创建z发现y不存在,于是先创建y,发现x不存在,于是先创建x,加上-v参数(verbose很多命令都有这个参数)可以看到这个过程。

示例:

mkdir  -pv /root/x/y/z

[root@logstach ~]# mkdir   -pv  /root/x/y/z

mkdir: created directory `/root/x'

mkdir: created directory `/root/x/y'

mkdir: created directory `/root/x/y/z'

mkdir一个经典题目:

请在/tmp/下用一条命令创建a_d,a_c,b_d,b_c

答:这个题目关键点就在于数学公式(a+b)(d+c)=ad+ac+bd+bc

mkdir  -pv  /tmp/{a,b}_{b,c}

这个就是linux的花括号展开,还有一个~展开,就是cd ~=cd 自己的家目录

tree:查看目录树

示例:

tree  /home

[root@logstach ~]# tree  /home

/home

├── backup20150814

│   ├── apconfbk.tar.gz

│   ├── mysqldatdbk_var.tar.gz

│   ├── mysqlsql

│   │   ├── Database.sql

│   │   ├── information_schema.sql

│   │   ├── mysql.sql

│   │   ├── test.sql

│   │   └── zhcpdb.sql

│   └── ngconfbk.tar.gz

├── biao

touch:修改文件的时间戳

touch 命令默认会把文件的时间戳(atime,mtime,ctime)属性改成当前时间,也可以单独改atime和mtime,但是ctime不能单独改。这是因为时间戳也是文件的属性之一,所以当时间戳改变了ctime也会随之改变。当文件不存在的时候,这个命令会默认生成一个文件,所以也可以当成创建文件用。

stat:查看文件属性

这个命令可以查看文件的各自属性,大小、时间戳等等

示例:

stat  /etc/passwd

[root@logstach ~]# stat /etc/passwd

File: `/etc/passwd'

Size: 1449      Blocks: 8          IO Block: 4096   regular file

Device: 802h/2050dInode: 916933      Links: 1

Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)

Access: 2015-12-19 10:37:29.459998671 +0800

Modify: 2015-12-03 14:15:16.414999817 +0800

Change: 2015-12-03 14:15:16.416999863 +0800

文本编辑器:vi和nano

文本处理器:只含有纯粹的文本数据(nano,nopad++)

字处理器:包含文字的各种属性,如大小,字体等等。(word,记事本。。)

小问题:为什么会有ASCII这类标准?

答:假设我们的英文字符加上标点符号和大小写、特殊字符,总共有128个。那么我们就需要7个2进制位来表示,如果我们不采用一种标准的话,那么我们的二进制码就可以随意表示任何字符,比如0000 0111 可以代表a,也可以代表b或者其他,这样的话,势必会造成沟通上的不便,同一窜二进制会造成不同翻译结果,所以这个时候就需要一种标准。(我国的常用汉字有几万字,所以需要2个字节,也就是16个2进制位(65536)来表示,常见的标准有:GB18030、GBK等。Unicode编码把全球所有语言做成了统一标准)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值