Linux文件类型(学习笔记六)
一、Linux下的文件类型
- 普通文件:在由 ls –al 所显示出来的属性方面,第一个属性为 [ - ]
- 目录文件:在由 ls –al 所显示出来的属性方面,第一个属性为 [ d ]
- 设备文件:一般都在dev目录,有[b][c]
二、普通文件
2.1、文本文件
以ASCII码形式存储在计算机中
2.2、二进制文件
以文本的二进制形式存储在计算机中,如声音,图像等,只有通过相应的软件才能将其显示出来
2.3、连接文件
就是类似 Windows 底下的快捷方式啦!第一个属性为 [ l ];
三、目录文件
设计目录文件的主要目的是用于管理和组织系统中的大量文件,它存储一组相关文件的位置,大小与文件 有关的信息目录文件简称目录
四、设备文件
设备文件是Linux系统很重要的一个角色,Linux把每个I/O设备看成一个文件,与普通文件一样处理,这样可以使用文件 与设备的操作尽可能统一,从用户角度来看,对I/O设备的使用和一般文件使用一样,用户不必了解I/O细节,
设备文件又为块设备、和字符设备
4.1、块设备
成块读取数据的设备,硬盘,内存等 就是一些储存数据,以提供系统存取的接口设备,简单的说就是硬盘啦!
例如你的一号硬盘的代码是 /dev/hda1 等等的文件啦!第一个属性为 [ b ]
4.2、字符设备
亦即是一些串行端口的接口设备,例如键盘、鼠标等等!第一个属性为 [ c ]。
五、文件相关的一些命令
5.1、touch
创建新文件
touch /data/text.txta
ls /data 查看
或者进入/data目录后,再创建
cd /data
touch text.txt
创建多个文件
touch .txt .txt .txt
或者
touch {a,b,c,d}.txt
touch /data/{q,w,e,r,t,y}.txt
大于号创建
>c.txt
重定向
ehco > a.txt
5.2、cp
复制文件或者目录

cp a.txt test4 //复制文件到test4文件下
[root@model Documents]# cp a.txt hh.txt test test4/ -i
cp: overwrite `test4/a.txt'? y //有相同文件是提示覆盖
[root@model Documents]# ll test4 //查看tests4目录
total
-rw-r--r--. root root Feb : a.txt
-rw-r--r--. root root Feb : hh.txt
-rw-r--r--. root root Feb : test
[root@model Documents]#
[root@model Documents]# cp test4/ tests/ -rip //将test4整个目录cp到tests目录下
[root@model Documents]# ls tests/
a.txt c.txt test1 test4 x.txt z.txt
[root@model Documents]# ll tests/
total
-rw-r--r--. root root Feb : a.txt
-rw-r--r--. root root Feb : c.txt
drwxr-xr-x. root root Feb : test1
drwxr-xr-x. root root Feb : test4
-rw-r--r--. root root Feb : x.txt
-rw-r--r--. root root Feb : z.txt
[root@model Documents]#
5.3、rm
删除文件或者目录

[root@model Documents]# ll
total
-rw-r--r--. root root Feb a.txt
drwxr-xr-x. root root Feb com
drwxr-xr-x. root root Feb dir2
-rw-r--r--. root root Feb file1.txt
-rw-r--r--. root root Feb file2.doc
-rw-r--r--. root root Feb hh.txt
-rw-r--r--. root root Feb n.txt~
-rw-r--r--. root root Feb test
drwxr-xr-x. root root Feb test1
drwxr-xr-x. root root Feb test4
drwxr-xr-x. root root Feb tests
[root@model Documents]# rm -rf n.txt~ //删除文件不提示
[root@model Documents]# ll
total
-rw-r--r--. root root Feb a.txt
drwxr-xr-x. root root Feb com
drwxr-xr-x. root root Feb dir2
-rw-r--r--. root root Feb file1.txt
-rw-r--r--. root root Feb file2.doc
-rw-r--r--. root root Feb hh.txt
-rw-r--r--. root root Feb test
drwxr-xr-x. root root Feb test1
drwxr-xr-x. root root Feb test4
drwxr-xr-x. root root Feb tests
[root@model Documents]#
ls
a.txt dir2 file2.doc test test4
com file1.txt hh.txt test1 tests
[root@model Documents]# rm hh.txt //删除文件会默认提示
rm: remove regular empty file `hh.txt'? y
[root@model Documents]#
[root@model Documents]# ll test5
total
-rw-r--r--. root root Feb : .txt
-rw-r--r--. root root Feb : .txt
-rw-r--r--. root root Feb : .txt
-rw-r--r--. root root Feb : .txt
-rw-r--r--. root root Feb : .txt
[root@model Documents]# rm -rf test5 //删除整个目录不提示文件一起删除
[root@model Documents]# ll
total
-rw-r--r--. root root Feb a.txt
drwxr-xr-x. root root Feb com
drwxr-xr-x. root root Feb dir2
-rw-r--r--. root root Feb file1.txt
-rw-r--r--. root root Feb file2.doc
-rw-r--r--. root root Feb test
drwxr-xr-x. root root Feb test1
drwxr-xr-x. root root Feb test4
drwxr-xr-x. root root Feb tests
[root@model Documents]#
5.4、mv
移动文件或者目录
常用参数:
-b :若需覆盖文件,则覆盖前先行备份。
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会更新(update)
[root@model Documents]# ll
total
-rw-r--r--. root root Feb a.txt
drwxr-xr-x. root root Feb com
drwxr-xr-x. root root Feb dir2
-rw-r--r--. root root Feb file1.txt
-rw-r--r--. root root Feb file2.doc
-rw-r--r--. root root Feb test
drwxr-xr-x. root root Feb test1
drwxr-xr-x. root root Feb test4
drwxr-xr-x. root root Feb tests
[root@model Documents]# mv a.txt b.doc //文件重命名
[root@model Documents]# ll
total
-rw-r--r--. root root Feb b.doc
drwxr-xr-x. root root Feb com
drwxr-xr-x. root root Feb dir2
-rw-r--r--. root root Feb file1.txt
-rw-r--r--. root root Feb file2.doc
-rw-r--r--. root root Feb test
drwxr-xr-x. root root Feb test1
drwxr-xr-x. root root Feb test4
drwxr-xr-x. root root Feb tests
[root@model Documents]#
[root@model Documents]# ls
b.doc dir2 file2.doc test1 tests
com file1.txt test test4
[root@model Documents]# mv b.doc test4/yy.txt //移动文件并重命名
[root@model Documents]# ll test4/
total
-rw-r--r--. root root Feb a.txt
-rw-r--r--. root root Feb hh.txt
-rw-r--r--. root root Feb test
-rw-r--r--. root root Feb yy.txt
[root@model Documents]#
[root@model Documents]# ll
total
drwxr-xr-x. root root Feb com
drwxr-xr-x. root root Feb dir2
-rw-r--r--. root root Feb file1.txt
-rw-r--r--. root root Feb file2.doc
-rw-r--r--. root root Feb test
drwxr-xr-x. root root Feb test1
drwxr-xr-x. root root Feb : test4
drwxr-xr-x. root root Feb tests
[root@model Documents]# mv dir2/ test1/ //移动整个文件夹
[root@model Documents]# ll test1/
total
-rw-r--r--. root root Feb a.txt
-rw-r--r--. root root Feb b.txt
drwxr-xr-x. root root Feb dir2
-rw-r--r--. root root Feb n.txt
drwxr-xr-x. root root Feb : test2
[root@model Documents]#
5.5、find
查找文件或者目录

- -name:可以用通配符来查找如:* ?
- -size:可以用+,-来设置大小+表示大于多少,-表示少于多少
- -user:属于哪个用户
- -type:文件类型,普通文件有f,目录用d,块设备用b,字符设备用c
[root@model Documents]# find /etc/ -name resol*.conf //-name使用
/etc/resolv.conf
/etc/sysconfig/networking/profiles/default/resolv.conf
[root@model Documents]#
[root@model Documents]# find /boot/ -type d //-type使用查找boot目录下的所有目录
/boot/
/boot/efi
/boot/efi/EFI
/boot/efi/EFI/redhat
/boot/lost+found
/boot/grub
[root@model Documents]#
//查找当前目录中属于root用户的.txt的所有文件
[root@model test1]# ll
total
-rw-r--r--. root root Feb a.txt
-rw-r--r--. root root Feb b.txt
drwxr-xr-x. root root Feb dir2
-rw-r--r--. root root Feb n.txt
drwxr-xr-x. root root Feb : test2
[root@model test1]# find ./*.txt -user root
./a.txt
./b.txt
./n.txt
[root@model test1]#
5.6、which
查找命令文件的位置
//查找命令所在位置
[root@model test1]# which ls
alias ls='ls --color=auto'
/bin/ls
[root@model test1]# which cat
/bin/cat
[root@model test1]# which rm
alias rm='rm -i'
/bin/rm
[root@model test1]# which touch
/bin/touch
[root@model test1]# which mv
alias mv='mv -i'
/bin/mv
[root@model test1]#
5.7、file
查看文件类型
[root@model test1]# file a.txt
a.txt: ASCII text
[root@model test1]# file dir2/
dir2/: directory
[root@model test1]#
[root@model test1]# file ls
ls: cannot open `ls' (No such file or directory)
[root@model test1]# which ls
alias ls='ls --color=auto'
/bin/ls
[root@model test1]# file /bin/ls
/bin/ls: ELF -bit LSB executable, x86-, version (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6., stripped
[root@model test1]# file /etc/init.d/network
/etc/init.d/network: Bourne-Again shell script text executable
[root@model test1]# file /dev/sda1
/dev/sda1: block special
[root@model test1]# file /dev/lp3
/dev/lp3: character special
[root@model test1]#
5.8、ln
建立快捷方式:硬连接和符号连接(软件连接)
不能对目录,创建硬连接,也不能跨越分区创建硬链拉文件

创建软件连接时需要加参数[-s]
如果你用ls察看一个目录时,发现有的文件后面有一个@的符号,那就是一个用ln命令生成的文件
[root@model Downloads]# ln ../Documents/test1/a.txt
[root@model Downloads]# ll
total
-rw-r--r--. root root Feb a.txt
Linux文件类型(学习笔记六)的更多相关文章
- Linux文件权限学习笔记
文件权限共10个字符,第一个字符表示该文件是[文件夹]或[文件]——如果是字符“d"则表示该文件是文件夹:如果是字符“-”则表示是文件. 后九个字符,三个一组,共三组,分别表示[所有者权限] ...
- Linux System Programming 学习笔记(六) 进程调度
1. 进程调度 the process scheduler is the component of a kernel that selects which process to run next. 进 ...
- linux命令学习笔记(24):Linux文件类型与扩展名
Linux文件类型和Linux文件的文件名所代表的意义是两个不同的概念.我们通过一般应用程序 而创建的比如file.txt.file.tar.gz ,这些文件虽然要用不同的程序来打开,但放在Linux ...
- java之jvm学习笔记六-十二(实践写自己的安全管理器)(jar包的代码认证和签名) (实践对jar包的代码签名) (策略文件)(策略和保护域) (访问控制器) (访问控制器的栈校验机制) (jvm基本结构)
java之jvm学习笔记六(实践写自己的安全管理器) 安全管理器SecurityManager里设计的内容实在是非常的庞大,它的核心方法就是checkPerssiom这个方法里又调用 AccessCo ...
- Linux学习笔记(六) 进程管理
1.进程基础 当输入一个命令时,shell 会同时启动一个进程,这种任务与进程分离的方式是 Linux 系统上重要的概念 每个执行的任务都称为进程,在每个进程启动时,系统都会给它指定一个唯一的 ID, ...
- 兄弟连Linux运维学习笔记
最新经典linux运维兄弟连Linux运维学习笔记... --------------- 全程1.5倍播放.加油我一定可以学完Linux----------------------Unix与Linux ...
- 【opencv学习笔记六】图像的ROI区域选择与复制
图像的数据量还是比较大的,对整张图片进行处理会影响我们的处理效率,因此常常只对图像中我们需要的部分进行处理,也就是感兴趣区域ROI.今天我们来看一下如何设置图像的感兴趣区域ROI.以及对ROI区域图像 ...
- Spring Boot 学习笔记(六) 整合 RESTful 参数传递
Spring Boot 学习笔记 源码地址 Spring Boot 学习笔记(一) hello world Spring Boot 学习笔记(二) 整合 log4j2 Spring Boot 学习笔记 ...
- Java IO学习笔记六:NIO到多路复用
作者:Grey 原文地址:Java IO学习笔记六:NIO到多路复用 虽然NIO性能上比BIO要好,参考:Java IO学习笔记五:BIO到NIO 但是NIO也有问题,NIO服务端的示例代码中往往会包 ...
随机推荐
- hdoj 1753 大明A+B 高精度/java
大明A+B Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- opencv第一课 打开一个图片
#include<stdio.h>#include<stdlib.h>#include<opencv2\opencv.hpp>#include<iostrea ...
- Github好用的Python库使用学习日记
开源好用的Python库 Overview 所有内容基本源于下面的两个网站 awesome-python python3官方文档 you-get(命令行操作的媒体下载工具) you-get的git项目 ...
- hdu3790最短路径问题(BFS+优先队列)
Problem Description 给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费最少的. Inp ...
- 在MyEclipse上安装svn插件
最近需要用到myeclipse做一个商城的项目开发,用svn作为项目的版本控制软件.但是在myeclipse上安装svn插件就是装不好,反复折腾了好几次都安装不成功.网上提供的安装办法有两种,一是:在 ...
- “CObject::operator =”: 无法访问 private 成员(在“CObject”类中声明)
c++工程编译报错: “CObject::operator =”: 无法访问 private 成员(在“CObject”类中声明) 错误无法直接定位源码位置,网上搜索了,也和我的代码不一样. 最后还是 ...
- 使用EF Model First创建edmx模型,数据库有数据的情况下,如何同时更新模型和数据库
使用"EF Model First",我们可以很直观地在edmx文件中创建数据模型,并根据模型生成数据库,整个过程快速而高效.可当数据库中有了一定的数据量,同时,可能需要对模型中字 ...
- Google浏览器Chrome安装失败,错误代码0xa0430721解决办法
谷歌浏览器安装失败错误代码0xa0430721 的解决办法 这个是因为我们删除的时候没有删除干净.然后又重装了谷歌浏览器.所以就出现这个问题了. 1.删除旧的配置文件,比如C:\Documents a ...
- ArcEngine 连接sql server sde
前言 本想在soe中进行sde for sqlserver数据获取.由于soe的调试不方便,为了测试的简便,先在桌面上写了个arcengine连接sde for sqlserver的程序,但是本以为是 ...
- Python3.6学习笔记(四)
错误.调试和测试 程序运行中,可能会遇到BUG.用户输入异常数据以及其它环境的异常,这些都需要程序猿进行处理.Python提供了一套内置的异常处理机制,供程序猿使用,同时PDB提供了调试代码的功能,除 ...