linux文件的概念
在linux系统中,文件是一个字符流的序列,linux不仅把普通文件当做文件来处理,还把目录、磁盘、键盘、打印机等设备都当作文件来处理,因为他们都是用字符流序列表示。
文件的成分
- 索引结点(i结点):文件权限、文件主、文件大小、存放位置、建立日期等,同一个文件有相同的
inode
号 - 数据:文件的实际内容
查看文件的
inode
号用ls-i
创建文件/查看文件/编辑文件/删除文件
创建/编辑文件的方法
vi /vim filename
利用vi/vim编辑器cat > filename
输入输出重定向创建文件touch 文件或这目录路径
touch命令更新一个文件的访问和修改时间,如果没有对应的文件则新建该文件
查看文件的方法
ls -l 文件名
删除文件的方法
rm
命令
功能:删除文件与目录
格式:rm [选项] 文件名
[选项] :
-f 文件名
不提示直接删除,强制删除
-r 目录名
递归删除目录文
linux的目录结构
/
linux 系统目录树的七点bin
命令文件目录,也叫二进制目录boot
存放系统的内核文件和引导转载程序文件dev
设备文件目录,存放所有的设备文件,例如cdrom
为光盘设备etc
存放配置文件,如password
文件home
包含系统中各个用户的主目录,子目录名即为各用户名lib
存放各种编程语言库media
系统设置的自动挂载点,如U盘的自动挂载点opt
表示可选择,有些软件包会被安装在这里‘usr
最大的目录之一,很多系统中,该目录是作为独立的分区挂载的,该目录主要存放不经常变化的数据,以及系统下安装的应用程序目录mnt
主要临时挂载文件系统,为某些设备默认提供挂载点proc
虚拟文件系统,该目录中的文件是内存的映像sbin
保存系统管理员或者root
用户的命令文件tmp
存放临时文件var
通常保存经常变化的内容,如系统日志、邮件文件等root
系统管理员主目录
mkdir 目录名字
可以用来创建新目录
文件类型及查看文件的类型
find
命令
功能:根据指定路径和表达式查找所匹配的文件或者目录
格式:find [路径] [表达式]
find/dev -type [f/d/b/c/s/p/l]
查找dev下面的某个类型文件
查找dev
目录下的目录文件 find /dev -type d -ls
查找dev
目录下的目录文件有多少个 find /dev -type d -ls |wc - l
使用管道
文件的查找、复制和移动
find
命令
功能:从指定路径开始向下搜索满足表达式的文件和目录
格式:find [路径] [表达式] [操作]
常用的表达式:
-name 文件
按文件名查找,可以使用通配符-type 文件类型
按文件类型查找,f
为普通文件,d
为目录文件,b
为设备文件,C
为字符设备文件,I
为链接文件size [+|-] 文件大小
查找指定大小的文件;c
为字节单位,k,kb,M,Mb,G,Gb
user 用户名
查找文件所有者为指定用户的文件group 组名
查找文件所属组为指定组的文件perm 权限值
按权限查找mtime(mmin) / atime+(-)n/ctime(cmin)
按时间属性检索delete
删除检索到的文件和目录exec 命令{}\;
对检索到的结果执行特定的命令
[实例] 查找三天之内修改过的文件
find -type f -a/-o/! -mtime -3
cp
命令
功能:复制文件或者目录
格式:cp [选项] 源文件或者目录路径
常用选项
-b
若存在同名文件-r
以递归的方式复制i文件,用于复制源目录内的内容,保留源目录结构
-a
复制目录
[实例] 将文件m1
复制为f1
>mkdir dir1 //创建新目录
>cd dir1 //切换目录到 dir1
>cat > m1 //创建文件m1 内容为m1
>cp m1 f1 //复制文件
>cat f1 //查看f1的内容
这样的话,如果复制的文件原来有内容则会被覆盖
如果想要对原来的文件备份的话
>cat > m3
>cp -b m3 f1 //把m3内容复制给f1并且对f1原文件进行备份
这样的话在文件f1
中就会有一个f1~
的文件,他就是备份的原文件
mv
命令
功能:移动或者重命名文件或者目录
格式:mv [选项] 源文件或者目录路径
常用选项:
-b
若存在同名文件,覆盖前先备份原来的文件-f
强制覆盖同名文件
[实例] 将文件名从f1
变为f2
>touch f1
>mv f1 f2
[实例] 将目录dir4
改名为dir5
>mkdir dir4
>mv dir4 dir5
[实例] 将以m
开头命名的多个文件移动到dir4
目录中(剪贴)
>mv m* dir4