运维之Linux基础(二)
1. file 命令基期用法
2. 文件系统
Linux的文件系统结构是树状结构,所有的文件都在/root跟目录下
/boot:系统启动相关的文件,如:内核、initrd,以及grub(bootloadser)
/dev:设备文件
块设备:随机访问,按数据块进行访问的
字符设备:线性访问,逐个字符访问
设备号:主设备号和此设备号
/etc:配置文件
/home:用户的家目录,每一个用户的家目录通常默认为/home/USERNAME
/root:管理员的家目录
/lib:库文件
/lib/module:内核模块文件
库文件:静态库 : .a
动态库 : .all .so(shared object)
/media :挂载点目录,挂载移动设备
/mnt:挂载点目录,挂载额外的临时文件系统
/opt: 可选目录 第三方程序的安装目录
/proc:伪文件系统,内核映射文件
/sys:伪文件系统,跟硬件设备相关属性映射文件
/tmp:临时文件 ,/var/tmp
/var:可变化的文件
/bin:可执行文件,用户命令
/sbin:可执行文件,管理命令
/usr:shared ,read-only 全局共享的只读文件
/usr/bin
/usr/sbin
/usr/lib
为系统启动所必需的文件
/usr/local
/usr/local/bin
/usr/local/sbin
/usr/local/lib
为第三方启动所必需的文件
文件命名规则:
- 长度不能超过255个字节
- 不能使用/当文件名
- 严格区分大小写
相对路径:从当前路径说起
绝对路径:从根目录说起,以/开头
在操作系统中日常操作:
文件管理
文件的创建和删除
stat:显示文件或文件系统状态
touch:修改文件时间戳,如果文件不存在,会自动创建该文件
-a:只改变访问时间
-c:不创建任何文件
-m:只改变修改时间
-t:修改为指定时间
use [[CC]YY]MMDDhhmm[.ss] instead of current time
eg:
[root@kuber3 ~]# stat a
File: ‘a’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 802h/2050d Inode: 268591929 Links: 1
Access: (0644/-rw-r--r--) Uid: (0/root) Gid: (0/root)
Access: 2017-08-23 21:55:47.857512378 -0400
Modify: 2017-08-23 21:55:47.857512378 -0400
Change: 2017-08-23 21:55:47.857512378 -0400
Birth: -
[root@kuber3 ~]# touch -m -t 201212121212 a
Try 'stat --help' for more information.
[root@kuber3 ~]# stat a
File: ‘a’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 802h/2050d Inode: 268591929 Links: 1
Access: (0644/-rw-r--r--) Uid: (0/root) Gid: (0/root)
Access: 2017-08-23 21:55:47.857512378 -0400
Modify: 2012-12-12 12:12:00.000000000 -0500
Change: 2017-08-23 22:02:58.562805640 -0400
Birth: -
[root@kuber3 ~]#
nano:文件编辑器 可创建一个ASCII文件
rm:删除文件 rm -i 的别名 \rm可除去 -i
-i:交互
-f:强行删除
-r:递归删除目录下的所有文件
复制和一移动文件
cp:copy 复制一个文件到一个文件,或多个文件到一个目录
cp: 源文件 目标文件 cp后如有多个文件,最后一个为目标目录
-r:递归复制目录及其下的所有文件
-i:交互式
-f:强行复制
-p:保留原文件的属主和时间戳
-a:与-dr相同功能,归档复制,常用于备份
-d:保持链接
-P:保持链接自有的属性
install:复制文件
install 源文件 目标文件
-d dir :创建目录
-t dir src
mv:move 移动文件
mv 源文件 目标文件
-i:交互式
-f:强行覆盖
-t:目标文件 源文件
目录管理
ls
cd
pwd:查看当前目录
目录的创建和删除
mkdir:创建空目录<br>
-p:可以建立未定义的父目录<br>
-v:查看详细信息
命令行展开:
例如1.创建 /mnt/test/x/m,/mnt/test/y
mkdir -pv /mnt/test/{x/m,y}
例2,利用(a+b)(b+c)=ab+ac+bb+bc
[root@kuber3 ~]# mkdir -pv /mnt/test/{a,b}_{b,c}
mkdir: created directory ‘/mnt/test/a_b’
mkdir: created directory ‘/mnt/test/a_c’
mkdir: created directory ‘/mnt/test/b_b’
mkdir: created directory ‘/mnt/test/b_c’
[root@kuber3 ~]# tree /mnt
/mnt
└── test
├── a_b
├── a_c
├── b_b
├── b_c
├── x
│ └── m
└── y
8 directories, 0 files
[root@kuber3 ~]#
rmdir:删除目录 只能删除空目录
tree:查看目录树
运行程序
设备管理
软件管理
进程管理
网络管理
总结
目录管理:
ls cd pwd mkdir rmdir tree
文件管理:
touch stat file rm mv cp nano
日期管理:
date clock hsaclock cal