Linux学习笔记4 file,文件系统,mkdir,tree,rm,rmdir,touch
来源:互联网 发布:淘宝童装一件代理货源 编辑:程序博客网 时间:2024/06/07 07:23
1.file命令
通过查看文件的头部信息来获取文件类型和编码格式
可执行文件格式:
- Windows: PE
- Linux: ELF(Executable and Linkable Format)
2.文件系统:
rootfs: 根文件系统
FHS(Filesystem Hierarchy Standard): 多数Linux版本采用这种文件组织形式
- /boot: 系统启动相关的文件,如内核、initrd、以及grub(bootloader)
- /dev: 设备文件
块设备: 随机访问,数据块,每次与系统传输1个字符的设备,例如虚拟终端
字符设备:线性访问,按字符为设备 如硬盘、CD-ROM和内存区域 - /etc: 配置文件
- /home/USERNAME: 用户家目录
- /root: 管理员的家目录
- /lib: 库文件
静态库: .a
动态库: .dll, .so(shared object)
/lib/modules: 内核模块文件 - /lost+found: 存放修复或损坏的文件的
- /media: 挂载点目录,移动设备
- /mnt: Mount point for a temporarily mounted filesystem
额外的临时文件系统 - /opt: 可选 发行版附加的一些软件包(如ubuntu kyli的wps)安装目录
- /proc: 伪文件系统,内核映射文件
- /sys: 伪文件系统 跟硬件设备相关的属性硬件文件
- /tmp: 临时文件(用户只能删除和创建自己的文件)/var/tmp
- /var: 可变化的文件
- /bin: binary 可执行文件,用户名了
- /sbin: root用户管理命令
- /usr: Unix System Resource
- /usr/local: 第三方软件安装目录
文件名规则:
- 不能超过255个字符
- 不能使用/当文件名
- 严格区分大小写
3.mkdir 创建空目录
选项
-p
:
x,y目录不存在时 不使用-p选项无法连续创建目录
[root@localhost ~]# mkdir x/y/zmkdir: cannot create directory `x/y/z': No such file or directory
加上-p选项 三个目录同时创建
[root@localhost ~]# mkdir -p x/y/z[root@localhost ~]#[root@localhost ~]# tree xx└── y └── z2 directories, 0 files
-v
: 显示创建过程
[root@localhost ~]# mkdir -pv m/n/qmkdir: created directory `m'mkdir: created directory `m/n'mkdir: created directory `m/n/q'
例子
1.创建目录/mnt/test/x/n,/mnt/test/y:
使用花括号展开[root@localhost ~]# mkdir -pv /mnt/test/{x/n,y}mkdir: created directory `/mnt/test'mkdir: created directory `/mnt/test/x'mkdir: created directory `/mnt/test/x/n'mkdir: created directory `/mnt/test/y'
2.创建目录a_b,a_c,d_b,d_c:
[root@localhost ~]# mkdir -v {a,d}_{b,c}mkdir: created directory `a_b'mkdir: created directory `a_c'mkdir: created directory `d_b'mkdir: created directory `d_c'
4.tree 查看目录树
[root@localhost bin]# tree /home/qkong//home/qkong/├── Desktop├── Documents├── Downloads├── Music├── Pictures├── Public├── Templates└── Videos
5.rm 删除文件
选项
-i
: interactive 删除文件时询问是否删除 y/n-f
: force 强制删除 不询问-r
: recursive 递归删除目录下所有文件
例子
创建测试文件夹
[root@localhost ~]# mkdir demo[root@localhost ~]# mkdir -p demo/{a1,a2}/{b1,b2}[root@localhost ~]# touch demo/demoFile[root@localhost ~]# tree demodemo├── a1│ ├── b1│ └── b2├── a2│ ├── b1│ └── b2└── demoFile6 directories, 1 file
删除文件demoFile
[root@localhost ~]# rm -i demo/demoFilerm: remove regular empty file `demo/demoFile'? n[root@localhost ~]# tree demodemo├── a1│ ├── b1│ └── b2├── a2│ ├── b1│ └── b2└── demoFile6 directories, 1 file[root@localhost ~]# rm -i demo/demoFilerm: remove regular empty file `demo/demoFile'? y[root@localhost ~]# tree demodemo├── a1│ ├── b1│ └── b2└── a2 ├── b1 └── b26 directories, 0 files
强制删除文件:
[root@localhost ~]# touch demo/demoFile[root@localhost ~]# tree demodemo├── a1│ ├── b1│ └── b2├── a2│ ├── b1│ └── b2└── demoFile6 directories, 1 file[root@localhost ~]# rm -f demo/demoFile[root@localhost ~]# tree demodemo├── a1│ ├── b1│ └── b2└── a2 ├── b1 └── b26 directories, 0 files
递归删除文件夹:
[root@localhost ~]# rm -rf demo/a1[root@localhost ~]# tree demodemo└── a2 ├── b1 └── b23 directories, 0 files
6.rmdir 删除目录
删除空目录
选项
-p
: 当子目录被删除后使它也成为空目录的话,则顺便一并删除
例子
创建目录a/b1/c1,a/b1/c2,a/b2/c1,a/b2/c2:
[root@localhost ~]# mkdir -p a/{b1,b2}/{c1,c2}[root@localhost ~]# tree aa├── b1│ ├── c1│ └── c2└── b2 ├── c1 └── c2
删除目录a/b1/c1:
[root@localhost ~]# rmdir a/b1/c1[root@localhost ~]# tree aa├── b1│ └── c2└── b2 ├── c1 └── c25 directories, 0 files
加-p选项删除目录c2, 删除c2后b1也是空目录, b1自动删除,而a目录下还有b2目录,提示删除目录a失败因为a目录不为空
[root@localhost a]# rmdir -p a/b1/c2rmdir: failed to remove directory `a': Directory not empty[root@localhost a]# tree aa└── b2 ├── c1 └── c23 directories, 0 files
7.touch 修改文件时间戳
选项
-a
: 修改访问时间(access time)-m
: 修改修改时间(modification time)-t
: 指定时间(而不是当前时间) 格式为:[[CC]YY]MMDDhhmm[.ss]-c
: –no-create 不创建文件
例子
创建demo文件:
[root@localhost Desktop]# ls[root@localhost Desktop]# touch demo[root@localhost Desktop]# lsdemo[root@localhost Desktop]#
修改访问时间,同时change time也随之修改:
[root@localhost Desktop]# stat demo File: `demo' Size: 0 Blocks: 0 IO Block: 4096 regular empty fileDevice: fd00h/64768d Inode: 396476 Links: 1Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)Access: 2017-02-14 11:04:18.276667822 +0800Modify: 2017-02-14 11:04:18.276667822 +0800Change: 2017-02-14 11:04:18.276667822 +0800[root@localhost Desktop]# touch -a demo[root@localhost Desktop]# stat demo File: `demo' Size: 0 Blocks: 0 IO Block: 4096 regular empty fileDevice: fd00h/64768d Inode: 396476 Links: 1Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)Access: 2017-02-14 11:04:31.932276861 +0800Modify: 2017-02-14 11:04:18.276667822 +0800Change: 2017-02-14 11:04:31.932276861 +0800
修改修改时间,同时change time也随之修改:
[root@localhost Desktop]# touch -m demo[root@localhost Desktop]# stat demo File: `demo' Size: 0 Blocks: 0 IO Block: 4096 regular empty fileDevice: fd00h/64768d Inode: 396476 Links: 1Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)Access: 2017-02-14 11:04:31.932276861 +0800Modify: 2017-02-14 11:06:27.727052949 +0800Change: 2017-02-14 11:06:27.727052949 +0800
指定修改时间:
[root@localhost Desktop]# touch -t 201702141130.30 demo[root@localhost Desktop]# stat demo File: `demo' Size: 0 Blocks: 0 IO Block: 4096 regular empty fileDevice: fd00h/64768d Inode: 396476 Links: 1Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)Access: 2017-02-14 11:30:30.000000000 +0800Modify: 2017-02-14 11:30:30.000000000 +0800Change: 2017-02-14 11:27:48.751283813 +0800
指定修改时间和修改的哪个时间
[root@localhost Desktop]# touch -a -t 201702140300.00 demo[root@localhost Desktop]# stat demo File: `demo' Size: 0 Blocks: 0 IO Block: 4096 regular empty fileDevice: fd00h/64768d Inode: 396476 Links: 1Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)Access: 2017-02-14 03:00:00.000000000 +0800Modify: 2017-02-14 02:00:00.000000000 +0800Change: 2017-02-14 11:32:47.267926266 +0800[root@localhost Desktop]# touch -m -t 201702140400.00 demo[root@localhost Desktop]# stat demo File: `demo' Size: 0 Blocks: 0 IO Block: 4096 regular empty fileDevice: fd00h/64768d Inode: 396476 Links: 1Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)Access: 2017-02-14 03:00:00.000000000 +0800Modify: 2017-02-14 04:00:00.000000000 +0800Change: 2017-02-14 11:32:56.385676132 +0800
不过这次access time和modify time的修改没有触发change time的修改,具体不是很清楚
8.stat
显示文件时间戳等信息 三个时间:
- Access time
- Modify time
- Change time
[root@localhost mnt]# stat test File: `test' Size: 4096 Blocks: 8 IO Block: 4096 directoryDevice: fd00h/64768d Inode: 396468 Links: 4Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)Access: 2017-02-14 06:49:21.209003207 +0800Modify: 2017-02-14 06:49:21.210003106 +0800Change: 2017-02-14 06:49:21.210003106 +0800
0 0
- Linux学习笔记4 file,文件系统,mkdir,tree,rm,rmdir,touch
- Linux常用命令之mkdir rmdir touch rm
- linux命令学习笔记(2)——mkdir,rm,rmdir命令
- Linux命令(4):mkdir、rm、rmdir、mv、cp命令
- linux基础-mkdir与rmdir 学习笔记
- ls/cd/pwd/whoami/mkdir/rmdir/rm/pos/top/touch/ln/mv/clear/tar (linux)!!!
- linux unix命令之 mkdir rmdir rm
- linux命令之mkdir&rmdir&rm
- 初学linux命令-mkdir、rm、rmdir
- rm/mkdir/rmdir
- 三、Linux常用命令之文件目录篇(ls、cd、pwd、mkdir、touch、cp、mv、rm、rmdir)
- linux菜鸟学习(一)----ls,cd,pwd,mkdir,rmdir,rm
- linux mkdir grep touch cp rm ln
- linux命令: touch, mkdir, cp, mv, rm
- Linux基础:mkdir,rm,mv,touch,vi
- Linux学习笔记——rmdir命令和rm命令
- Linux学习笔记_基本命令复习(ls cd mkdir touch vi vim cat echo rm)
- linux常用命令mkdir,cd,pwd,rmdir,cp,mv,rm,
- 谷歌地图开发:地图对象操作
- C++Primer第五版 第六章习题答案(41~50)
- 微信公众帐号开发教程第15篇-自定义菜单的view类型(访问网页)
- 模拟支付宝支付
- adb devices 返回 XXX offline 的解决办法
- Linux学习笔记4 file,文件系统,mkdir,tree,rm,rmdir,touch
- 【openFrameworks】
- java线程同步原理
- C# 网络编程(二)
- Android AsyncTask 在onPreExecute方法中弹出加载框
- noj1016_求R的n次幂(0.0<r<99.999,0<n<=25) 分析与C++代码
- LeetCode 93. Restore IP Addresses
- java中static修饰符
- [Leetcode] #28 Implement strStr()