首页 > 代码库 > 第三天 目录和文件

第三天 目录和文件

7.1 linux 文件系统
linux文件不靠后缀名 内置标识
1、普通文件 - 开头代表 普通文件 文本文件 二进制程序 音频 视频
2、目录文件 d 开头代表 目录文件
3、设备文件 特殊类型文件 /dev (device)
ll /dev/rc.d
ll /dev/sd*
[root@server ~]# ll /dev|grep s
brw-rw----. 1 root disk 8, 0 Jul 17 20:33 sda
brw-rw----. 1 root disk 8, 1 Jul 17 20:33 sda1
brw-rw----. 1 root disk 8, 2 Jul 17 20:33 sda2
crw-rw----. 1 root cdrom 21, 0 Jul 17 20:33 sg0
crw-rw----. 1 root disk 21, 1 Jul 17 20:33 sg1
主设备号 次设备号
b 代表块类型设备 block 以块为基本单位 硬盘
c 代表字符类型设备 单字符为基本单位 终端

简化设备调用

# cat install.log > /dev/lpr0 // 重定向 打印文件

[root@server ~]# who
shan tty1 (直连) 2017-07-17 20:34 (:0)
root pts/0 (虚拟终端) 2017-07-18 03:45 (192.168.0.100)
# echo hello > /dev/pts/1
# echo hi > /dev/pts/0
裸设备 没有文件系统
4、管道文件 先进先出 fifo 队列
标志 p
创建管道文件 mkfifo mypipe
5、链接文件
软链接 符号链接 快捷方式
标志 l


7.2 linux系统目录结构
分层的树形结构,都挂载在根文件系统 / 下
子目录遵守FHS规范
/root root用户目录
/home 用户主目录
/bin 包含常用可执行文件 不能包含子目录
/sbin 系统管理员和root用户所使用命令文件
/dev 设备文件
/tmp 临时文件目录
[root@server /]# ls /bin

[root@server /]# ls /sbin s系统管理 防火墙 存储 磁盘分区
/boot 系统内核文件 引导装载程序
/etc 文本配置文件
/proc 进程信息映射
[root@server 2448]# cd /proc/2071
[root@server 2071]# cat cmdline
/usr/libexec/gvfs-afc-volume-monitor

7.3.1 inode和目录项

磁盘分区 super block 超级块 像书的封面
|
inod (index node) 索引节点 书目录/文件/
|
数据区域

目录 目录项 包含 文件名 索引节点 /dirl/file1

根目录包含子目录 目录项 检索 索引节点

索引节点 不包含文件名 文件名上行节点对应

目录项2个 指向1个文件 叫做硬链接

3.1 df //disk free 分区大小

[root@server ~]# df -h //查看磁盘空间大小 分区容量
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_server-lv_root
18G 2.8G 15G 17% /
tmpfs 499M 112K 499M 1% /dev/shm
/dev/sda1 485M 55M 405M 12% /boot

[root@server ~]# df -i // 查看分区 索引节点
Filesystem Inodes IUsed IFree IUse% Mounted on

/dev/mapper/vg_server-lv_root 1191360 94464 1096896 8% /
tmpfs 127601 5 127596 1% /dev/shm
/dev/sda1 128016 43 127973 1% /boot

3.2 du (usage) 查看文件及目录空间占用情况

du -s /root //只显示目录本身
du -a /root //文件及目录占用空间
du -a /boot|sort -n // -n 按数字排序
du -ah /boot|sort -rn|head -5 // -r 反向排序

3.3 ll -i 索引节点信息
[root@server ~]# ll -i //索引节点编号
total 180
916544 -rw-r--r--. 1 root root 69 Jul 18 06:55 1
917255 -rw-r--r--. 1 root root 14611 Jul 18 06:41 200
916535 -rw-r--r--. 1 root root 0 Jul 17 22:07 aasb
1052297 drwxr-xr-x. 2 root root 4096 Jul 18 07:30 aasdf
944124 -rw-------. 1 root root 1613 Jul 17 00:24 anaconda-ks.cfg

ls -ih /boot
alias //系统定义别名

3.4 stat
stat /root/ // 查看目录信息

[root@server ~]# stat test.log // 查看文件信息 来自索引节点

File: `test.log‘//不在文件索引节点取出
Size: 30 Blocks: 8 IO Block: 4096 regular file
Device: fc00h/64512d Inode: 916546 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2017-07-18 02:38:20.562000778 -0400
Modify: 2017-07-18 08:25:43.598998088 -0400//索引节点 修改时间
Change: 2017-07-18 08:25:43.598998088 -0400//数据区域 修改时间

7.4文件和目录操作管理

4.1 pwd:print working directory
4.2 cd: change direction
相对路径 没有‘/‘ 直接cd 下级目录 ;.当前目录 ..上级目录 ./ 在当前路径下执行脚本 脚本文
件执行 ./bash.sh
绝对路径 由根目录开始

[root@server dir04]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
//安全路径
文件名 .开头为隐藏文件
[root@server ~]# ll -d /root //看文件目录
dr-xr-x---. 32 root root 4096 Jul 18 07:30 /root
[root@server ~]# ls -R //递归查看
rm -rf //强制删除目录 文件
cp:复制文件和目录
cp:源文件 源文件 .. 目标文件
cp -a : 保留源文件基本属性
mv:移动文件 目录 同一目录下文件移动 则更改文件名


sort -rn //按数字排倒叙
head -5 //取前5
head // 默认查看最前十行
tail // 默认查看最后十行
wc -l //计数

tree //以树状图逐级列出目录

file //查看文件类型

4.3 scp //远程主机传输文件 ssh
[root@server ~]# scp /root/1 root@192.168.0.1:/root
The authenticity of host ‘192.168.0.1 (192.168.0.1)‘ can‘t be established.
RSA key fingerprint is 59:35:46:00:c9:4b:88:c5:25:65:b8:48:42:00:89:7c.
Are you sure you want to continue connecting (yes/no)? n
Please type ‘yes‘ or ‘no‘: no
Host key verification failed.
lost connection
[root@server ~]# scp /root/1 root@192.168.0.1:/root
The authenticity of host ‘192.168.0.1 (192.168.0.1)‘ can‘t be established.
RSA key fingerprint is 59:35:46:00:c9:4b:88:c5:25:65:b8:48:42:00:89:7c.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘192.168.0.1‘ (RSA) to the list of known hosts.
root@192.168.0.1‘s password:
1
100% 69 0.1KB/s 00:00
[root@server ~]# scp root@192.168.0.1:/root/aasb /root
root@192.168.0.1‘s password:
aasb
100% 0 0.0KB/s 00:00

4.4 sftp //远程ftp service sftp status
[root@server ~]# sftp root@192.168.0.1
Connecting to 192.168.0.1...
root@192.168.0.1‘s password:
sftp> cd /root
sftp> lcd /home
sftp> put 1
stat 1: No such file or directory
sftp> get 1
Fetching /root/1 to 1
/root/1
100% 69 0.1KB/s 00:00


7.5 链接文件
1、硬链接 两个目录项指向同一个文件节点 不能跨越磁盘分区
2、软连接 记录路径信息
操作
ln file1 hardlink01 //创建硬链接
ln -s /root/file1 symbolllink01 //创建符号链接

 

第三天 目录和文件