您的位置:首页 > 运维架构 > Linux

Linux文件和常用的文件处理命令

2016-08-31 19:48 766 查看
一、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参数,可以看到属性不一样了。




在复制的同时,可以改名。




scp

不同的Linux之间copy文件常用有3种方法:

第一种就是ftp,也就是其中一台Linux安装ftp Server,这样可以另外一台使用ftp的client程序来进行文件的copy。

第二种方法就是采用samba服务,类似Windows文件copy 的方式来操作,比较简洁方便。

第三种就是利用scp命令来进行文件复制。

scp是有Security的文件copy,基于ssh登录。操作起来比较方便,比如要把当前一个文件copy到远程另外一台主机上,可以如下命令。

scp /home/daisy/1.tar.gz root@172.19.2.75:/home/root

然后会提示你输入另外那台172.19.2.75主机的root用户的登录密码,接着就开始copy了。

如果想反过来操作,把文件从远程主机copy到当前系统,也很简单。
scp root@/1.tar.gz 172.19.2.75:/home/root/1.tar.gz home/daisy/1.tar.gz

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、针对目录使用硬链接不能针对目录使用,软链接可以。 硬链接的优点:实时同步更新。 相当于备份
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 硬链接 软链接