首页 > 代码库 > Linux文件和常用的文件处理命令
Linux文件和常用的文件处理命令
一、Linux的文件
Linux的文件及文件夹的组织结构成一个倒立置的树形结构。并以 / (slash)分隔。
重要的文件目录
家目录 /root, /home /username
user executables(普通用户可执行文件):/bin,/usr/bin,/usr/local/bin
systemexecutables(超级用户可执行文件):/sbin,/usr/sbin,/usr/local/bin
总结可以发现:/bin与/sbin的区别就是后者只有root权限才能执行,/bin和/usr/bin的区别就是前者可以在单用户下执行,而后者不可以
other mountpoints(其他挂载点):/media,/mnt,/misc
系统建议media用来挂载媒体设备,例如光盘,mnt挂载额外设备,例如U盘和移动硬盘,misc用来挂载NFS服务的共享目录,不过都是由管理员自己绝对的,我现在的习惯是在mnt下挂载不同的习惯/mnt/cdrom挂载光盘,/mnt/usb挂载U盘
configuration(配置):/etc
tempoary files(临时文件):/tmp
kernels and bootloader(启动工具和内核):/boot
server data(服务器数据):/rar,/srv
system information(系统信息):/sys,/proc 虚拟文件系统,都是保存在内存中的,主要保存系统的内核,进程,外部设备和网络状态行,如/proc/cpuinfo保存cpu信息,/pro/filesytems是保存文件系统列表的
shared libraries(库文件):/lib,/usr/lib,/usr/local/lib
dev:系统设备文件
lost+found:当系统意外崩溃或机器意外关机,而产生文件碎片放在这里,当系统启动过程中fsck工具会检查这里,并修复损坏的文件(每个分区都会有这个目录)
usr(unix softwre resource):系统软件资源目录。usr不是user的缩写,而是unix softwre resource的缩写,所以不是存放用户数据,而是存放软件资源的目录。系统安装的软件大多数保存在这里。
var:动态数据保存位置。主要用于保存缓存、日志以及软件运行所产生的文件
命令的格式:
命令 【-选项】 【参数】
选项:调整命令功能
参数:操作的对象
如:ls -la /etc
说明:1.个别命令不遵循此格式
2.当有多个选项时,可以写在一起
3.简化选项与完整选项
-a等于--all
二、常用的文件处理命令
ls:显示目录文件
英语原意list
所在路径:/bin/ls ,通过这个路径,然后结合上面所说,/bin是所有用户都有执行的权限
-a 显示所有文件,包括隐藏文件
-l 详细信息显示
-d 查看目录属性
-h 人性化显示
-i 查询文件的i节点
-R 递归显示目录及其子目录
. 代表当前目录
.. 代表上一级目录
linux的隐藏文件都以点开头,所以在linux中,想把文件隐藏,只有把文件名改名为以点开头的文件名
-rw-r--r--:第一个"-"位置是代表文件类型的。
文件权限前的第一个字母用来标识文件类型:
-:一般文件
d:目录文件
b:块设备文件
c:字符设备文件
l:链接文件
p:人工管道
常见的为-,d,I
rw- r-- r-- :文件权限
u g o
u所有者,g所属组,o其他人
r读 w写 x执行
如:-rw- r-- r--的意思就是这个文件的类型是一般文件,文件本身所在的用户可读可写不可执行,所在的组可读,不可写不可执行,其他用户可读,不可写不可执行。
1:引用系数,代表这个文件曾经被调用或者引用多少次,对文件和目录来说,只在硬链接才起作用。
root 拥有者
root拥有组
1618 大小,默认大小为字节,可以使用ls -lh 来人性化显示,统计命令基本支持-h选项
8月 30 01:06 最后一次修改时间,linux有文件的最后一次访问时间,状态修改时间时间,文件的数据修改时间,没有创建时间概念,当文件创建,没有修改过,就是创建时间了
文件名
mkdir 创建新目录
英语原意:make directories
语法:mkdir [目录名]
-p 递归创建,如果创建的目录不存在,在创建目录的同时创建子目录
touch 创建空文件
语法:touch 【选项】【文件名】
1、没有指明路径,会在当前路径下创建,绝对路径可以指明路径
2、linux没有扩展名的概念
3、windows的很多特殊符号不能使用,如*?《,在linux中,除了表示根目录/不能用以外,几乎都可以使用,不过并不推荐使用
4、空格,我们在复制创建时可以同时对多个文件操作,假如我们在创建文件的时候如下:touch 1 2.txt
系统会理解为是创建了两个文件,此时应用“”括起来,touch “1 2.txt”,也不建议使用
cd 切换目录
英语原意:change directory
语法:cd 【目录】
cd ~ 当前的家目录
cd .. 返回上一级,cd../../返回上二级,以此类推
cd / 返回根目录
cd - 在最近访问过的两个目录切换
pwd 显示当前目录
英语原意:print working directory
cp 复制文件或目录
英语原意:copy
cp 【选项】 【原文件或目录】 【目标目录】
-r 递归复制该目录下所有的子目录和文件
-p 保持原文件的权限和属性不变
因为加了-p参数,所以,保持了原文件的属性好权限不变,
没加-p参数,可以看到属性不一样了。
在复制的同时,可以改名。
mv 剪切文件、改名
英语原意:move
语法:mv 【选项】【原文件或目录】 【目标目录】
剪切过去了,当然,wt目录下就空了。现在我在wt/目录下,我也可以不用绝对目录,可以使用相对路径。
当然,复制的时候可以改名,剪切的时候也可以改名。
rmdir 删除空目录
英语原意:remove empty dircetories
语法:rmdir 【目录名】
只能删除空目录
rm 删除文件
英语原意:remove
语法:rm 【选项】 【文件或目录】
-r 删除目录
-f 不提示确认信息(你连唯一后海的机会都没了)
linux是没有类似于windows的回收站,删除时就得注意了
做好备份操作
误删后尽量不要对硬盘进行读写操作,读写操作越多,恢复的可能性越小
cat 显示文件内容
cat【选项】 【文件名】
-n 显示行号
tac 显示文件内容(反向显示)
cat不适合用于长文件
more 分页显示文件内容
more 【文件名】
空格(或f) 翻页
Enter 换行
q(或Q) 退出
more /etc/services
less 分页显示文件内容(可向上翻页)
pgug: 按钮往上翻页
上箭头: 一行一行往上翻页
搜索:输入冒号进行命令行界面,例如输入/service,搜索service,按n进行下一个匹配额关键词
head 显示文件前面几行
语法:head【选项】【文件夹】 默认显示前十行
-n 指定行数
tail 显示文件后面几行
语法:tail【选项】【文件名】
-n 指定行数
-f 动态显示文件末尾内容
假如文件更新了,查看的时候就会动态的变化
三、软链接和硬链接
ln 生成链接文件
英语原意:link
语法:ln [选项][原文件][目标文件]
-s 创建软链接
ln -s /etc/issue /tmp/issue.soft
创建文件/etc/issue的软链接/tmp/issue.sofe
软链接:相当于为原文件创立一个快捷方式,可跨分区。
软链接特征:
1、软链接的权限全是lrwxrwxrwx,但文件的权限取决于对应着原文件的权限最终决定的。
2、文件大小——只是符号链接
3、/tmp/issue.soft——>/etc.issue ,箭头指向源文件,硬链接没有箭头指向
ln /etc/issue /tmp/issue.hard
创建文件/etc/issue的硬链接/tmp/issue.hard
硬链接:硬链接文件完全等同于原文件,相当于使用了cp -p 命令
硬链接特征:
1、相当于使用了cp -p 命令 + 同步更新
硬链接会响应的同步更新,但是软链接怎么也更新了,软链接归根结底也就是在访问原文件,当然也更新了。
2、源文件丢失,硬链接可以访问,软链接就找不到目录了
3、可以看到硬链接和原文件的i节点是一样的。一个文件必须有一个i节点,但是一个i节点并不只对应一个文件,硬链接就是一个很好的案例。这也恰好的解释了为什么会同步更新,当你对一个文件进行更新,其实是对一个i节点进行更新,同时使用一个i节点,所以就同步更细了。
4、跨分区
硬链接不能跨分区,软链接可以。
5、针对目录使用
硬链接不能针对目录使用,软链接可以。
硬链接的优点:实时同步更新。
相当于备份
本文出自 “罹殇” 博客,请务必保留此出处http://wt7315.blog.51cto.com/10319657/1844919
Linux文件和常用的文件处理命令