一、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文件类型(学习笔记六)的更多相关文章

  1. Linux文件权限学习笔记

    文件权限共10个字符,第一个字符表示该文件是[文件夹]或[文件]——如果是字符“d"则表示该文件是文件夹:如果是字符“-”则表示是文件. 后九个字符,三个一组,共三组,分别表示[所有者权限] ...

  2. Linux System Programming 学习笔记(六) 进程调度

    1. 进程调度 the process scheduler is the component of a kernel that selects which process to run next. 进 ...

  3. linux命令学习笔记(24):Linux文件类型与扩展名

    Linux文件类型和Linux文件的文件名所代表的意义是两个不同的概念.我们通过一般应用程序 而创建的比如file.txt.file.tar.gz ,这些文件虽然要用不同的程序来打开,但放在Linux ...

  4. java之jvm学习笔记六-十二(实践写自己的安全管理器)(jar包的代码认证和签名) (实践对jar包的代码签名) (策略文件)(策略和保护域) (访问控制器) (访问控制器的栈校验机制) (jvm基本结构)

    java之jvm学习笔记六(实践写自己的安全管理器) 安全管理器SecurityManager里设计的内容实在是非常的庞大,它的核心方法就是checkPerssiom这个方法里又调用 AccessCo ...

  5. Linux学习笔记(六) 进程管理

    1.进程基础 当输入一个命令时,shell 会同时启动一个进程,这种任务与进程分离的方式是 Linux 系统上重要的概念 每个执行的任务都称为进程,在每个进程启动时,系统都会给它指定一个唯一的 ID, ...

  6. 兄弟连Linux运维学习笔记

    最新经典linux运维兄弟连Linux运维学习笔记... --------------- 全程1.5倍播放.加油我一定可以学完Linux----------------------Unix与Linux ...

  7. 【opencv学习笔记六】图像的ROI区域选择与复制

    图像的数据量还是比较大的,对整张图片进行处理会影响我们的处理效率,因此常常只对图像中我们需要的部分进行处理,也就是感兴趣区域ROI.今天我们来看一下如何设置图像的感兴趣区域ROI.以及对ROI区域图像 ...

  8. Spring Boot 学习笔记(六) 整合 RESTful 参数传递

    Spring Boot 学习笔记 源码地址 Spring Boot 学习笔记(一) hello world Spring Boot 学习笔记(二) 整合 log4j2 Spring Boot 学习笔记 ...

  9. Java IO学习笔记六:NIO到多路复用

    作者:Grey 原文地址:Java IO学习笔记六:NIO到多路复用 虽然NIO性能上比BIO要好,参考:Java IO学习笔记五:BIO到NIO 但是NIO也有问题,NIO服务端的示例代码中往往会包 ...

随机推荐

  1. Codeforces Round #280 (Div. 2) D. Vanya and Computer Game 预处理

    D. Vanya and Computer Game time limit per test 2 seconds memory limit per test 256 megabytes input s ...

  2. linux基础环境部署

    Content 0.序 1.更新安装库 2.安装基础库 0.序 本文主要是记录php在 Centos下的安装配置 .文中如无特别说明.表示php-5.6.31代码目录. 1.更新安装库 $ yum u ...

  3. Newtonsoft.Json报错:未能加载文件或程序集"..."或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配

    Newtonsoft.Json报错:未能加载文件或程序集"..."或它的某一个依赖项.找到的程序集清单定义与程序集引用不匹配.   □ 背景分析 在帮助类库中使用了Newtonso ...

  4. 《Head First 设计模式》学习笔记——策略模型

    我们全都使用别人设计好的库与框架.我们讨论库与框架.利用他们的API编译成我们的程序.享受运用别人的代码所带来的长处.看看java api它所带来的功能:网络.GUI.IO等.库与框架长久以来,一直扮 ...

  5. 算法:优先级队列(PriorityQueue)

    背景 此文给出基于已排序数组的实现,多数情况应该基于 Heap 进行实现,因为数组的插入效率为O(n),而 Heap 的插入效率为 Log(n). PriorityQueue 代码 using Sys ...

  6. UIScrollView视差模糊效果

    UIScrollView视差模糊效果 效果 源码 https://github.com/YouXianMing/Animations // // ScrollBlurImageViewControll ...

  7. 解决sqoop导入报错:Caused by: java.sql.SQLException: Protocol violation

    报错信息: -- ::, INFO [main] org.apache.hadoop.mapred.MapTask: Ignoring exception during close for org.a ...

  8. Vim global命令和重复操作

    Vim global命令和重复操作 Vim global命令允许我们在某个指定模式的所有匹配行上运行可执行的 Ex 命令,缩写形式为 :g,其处理重复工作的效率极高. 一.Vim global命令介绍 ...

  9. connection to sys should be as sysdba or sysoper 解决的方法

    连接时提示: 出现了例如以下的情况:EXP-00056;遇到ORACLE错误28009. ORA-28009:connection   to   sys   should   be   as   sy ...

  10. Maintenance Plans(维护计划)详解【转】

    最近试用了下 Sql Server 2008 的    Maintenance Plans( 维护计划 ),感觉很不错很不错.一贯的延续了微软的风格,图形化界面操作,保准你掌握了这个,就能成为半个DB ...