开发者社区> 科技小能手> 正文

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工具会检查这里,并修复损坏的文件(每个分区都会有这个目录)


usrunix 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 递归显示目录及其子目录

wKiom1fGvyyTJua0AABSr97723s945.png


代表当前目录

.. 代表上一级目录

 

linux的隐藏文件都以点开头,所以在linux中,想把文件隐藏,只有把文件名改名为以点开头的文件名

wKioL1fGv1LwfFk8AAAv59NmBXk966.png

-rw-r--r--:第一个"-"位置是代表文件类型的。

  

文件权限前的第一个字母用来标识文件类型:

-:一般文件

d:目录文件

b:块设备文件

c:字符设备文件

l:链接文件

p:人工管道

常见的为-dI

 

rw-  r--  r-- :文件权限

u    g   o

u所有者,g所属组,o其他人

r读 w写 x执行

如:-rw- r-- r--的意思就是这个文件的类型是一般文件,文件本身所在的用户可读可写不可执行,所在的组可读,不可写不可执行,其他用户可读,不可写不可执行。

 

 

1:引用系数,代表这个文件曾经被调用或者引用多少次,对文件和目录来说,只在硬链接才起作用。

root 拥有者

root拥有组

1618 大小,默认大小为字节,可以使用ls -lh 来人性化显示,统计命令基本支持-h选项

8月 30 0106 最后一次修改时间,linux有文件的最后一次访问时间,状态修改时间时间,文件的数据修改时间,没有创建时间概念,当文件创建,没有修改过,就是创建时间了

文件名

 

 

  mkdir  创建新目录

英语原意:make directories

语法:mkdir  [目录名]

-p 递归创建,如果创建的目录不存在,在创建目录的同时创建子目录

wKiom1fGv3_iupe3AAArFkxpyvI371.png



touch 创建空文件

语法:touch 【选项】【文件名】

wKiom1fGv57h0TOTAAAqZnit22A564.png

1、没有指明路径,会在当前路径下创建,绝对路径可以指明路径

2、linux没有扩展名的概念

3、windows的很多特殊符号不能使用,如*?《,在linux中,除了表示根目录/不能用以外,几乎都可以使用,不过并不推荐使用

4、空格,我们在复制创建时可以同时对多个文件操作,假如我们在创建文件的时候如下:touch 1 2.txt

wKioL1fGv9XySBvIAAA4R0wv1ko077.png


系统会理解为是创建了两个文件,此时应用“”括起来,touch 1 2.txt”,也不建议使用

wKiom1fGv9XyxS_cAAAt3j_2OLw367.png



 cd  切换目录

英语原意:change directory

语法:cd 【目录】

cd ~ 当前的家目录

cd .. 返回上一级,cd../../返回上二级,以此类推

cd / 返回根目录

cd - 在最近访问过的两个目录切换

 

pwd  显示当前目录

英语原意:print working directory

wKioL1fGv_2QNqW2AAANScIbnIY620.png

 

 

 


 cp  复制文件或目录

英语原意:copy

cp 【选项】 【原文件或目录】 【目标目录】

-r 递归复制该目录下所有的子目录和文件

-p  保持原文件的权限和属性不变

wKiom1fGwBWxhcEMAAAhmdcKB2o862.png

因为加了-p参数,所以,保持了原文件的属性好权限不变,

wKioL1fGwDLBQMRCAAAhk8gW3k8419.png


没加-p参数,可以看到属性不一样了。

wKiom1fGwE3ClpJiAAAbsmb_Es4819.png


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

wKioL1fGwGmRVvtVAAAifOFm_Z0206.png



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 【选项】【原文件或目录】 【目标目录】

wKioL1fGwKCw4eOZAAAzAEVeobE808.png




剪切过去了,当然,wt目录下就空了。现在我在wt/目录下,我也可以不用绝对目录,可以使用相对路径。

wKiom1fGwKCAug1jAAAzXp5KqPI523.png


当然,复制的时候可以改名,剪切的时候也可以改名。

wKiom1fGwMai2-0EAAAOsdCmiu8506.png




 rmdir 删除空目录

英语原意:remove empty dircetories

语法:rmdir 【目录名】

只能删除空目录

 


 rm 删除文件

英语原意:remove

语法:rm 【选项】 【文件或目录】

-r 删除目录

-f 不提示确认信息(你连唯一后海的机会都没了)

wKioL1fGwOOBNDmjAAA1tXi6F2A491.png


linux是没有类似于windows的回收站,删除时就得注意了

 

做好备份操作

误删后尽量不要对硬盘进行读写操作,读写操作越多,恢复的可能性越小

 

 

 

 cat 显示文件内容

cat【选项】 【文件名】

-n 显示行号

wKiom1fGwQqi-SliAABHPuvV664839.png

wKioL1fGwQrBLZ22AABd5TX721s032.png




 tac 显示文件内容(反向显示)

wKiom1fGwSiDHXixAABM1VAB6Mc459.png



cat不适合用于长文件



 more  分页显示文件内容

more 【文件名】

空格(或f)  翻页

Enter         换行

q(或Q)     退出

 

1
more /etc/services


wKioL1fGwU7R0-cnAACvD_J903E227.png




 less  分页显示文件内容(可向上翻页)

pgug: 按钮往上翻页

上箭头: 一行一行往上翻页

搜索:输入冒号进行命令行界面,例如输入/service,搜索service,按n进行下一个匹配额关键词

wKiom1fGwW6A_0ZcAACqqXTubkU182.png




 head  显示文件前面几行

语法:head【选项】【文件夹】 默认显示前十行

-n 指定行数

wKioL1fGwaHiiSyJAACMHvqywF0588.png





 tail 显示文件后面几行

语法:tail【选项】【文件名】

-n 指定行数

-f 动态显示文件末尾内容

wKiom1fGwaHi5vdlAAB9tIhTsmA772.png


假如文件更新了,查看的时候就会动态的变化



三、软链接和硬链接

 

 ln 生成链接文件

英语原意:link

语法:ln [选项][原文件][目标文件]

-s 创建软链接

1
ln -s /etc/issue /tmp/issue.soft


创建文件/etc/issue的软链接/tmp/issue.sofe

wKiom1fGwcfjugl5AAAhOXKX2hw108.png


软链接:相当于为原文件创立一个快捷方式,可跨分区。

软链接特征:

1、软链接的权限全是lrwxrwxrwx,但文件的权限取决于对应着原文件的权限最终决定的。

2、文件大小——只是符号链接

3、/tmp/issue.soft——>/etc.issue ,箭头指向源文件,硬链接没有箭头指向

 

 

1
ln /etc/issue /tmp/issue.hard


创建文件/etc/issue的硬链接/tmp/issue.hard

wKioL1fGwfXBK5_VAAAZkbtpJ7w997.png


硬链接:硬链接文件完全等同于原文件,相当于使用了cp -p 命令

硬链接特征:

1、相当于使用了cp -p 命令 同步更新

wKiom1fGwfbijtkkAABjw-c7JoM171.png


硬链接会响应的同步更新,但是软链接怎么也更新了,软链接归根结底也就是在访问原文件,当然也更新了。

 

 

2、源文件丢失,硬链接可以访问,软链接就找不到目录了

wKioL1fGwiqC7f6-AAAlja3MEjs210.png 


3、可以看到硬链接和原文件的i节点是一样的。一个文件必须有一个i节点,但是一个i节点并不只对应一个文件,硬链接就是一个很好的案例。这也恰好的解释了为什么会同步更新,当你对一个文件进行更新,其实是对一个i节点进行更新,同时使用一个i节点,所以就同步更细了。

 

4、跨分区

硬链接不能跨分区,软链接可以。

 

5、针对目录使用

硬链接不能针对目录使用,软链接可以。

 

硬链接的优点:实时同步更新。

       相当于备份




本文转自 wt7315 51CTO博客,原文链接:http://blog.51cto.com/wt7315/1844919

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Linux文件搜索命令
一,locate命令 locate +文件名 :在后台数据库中按文件名,优点是搜索速度更快,缺点是只能按照文件名称来搜索; locate命令所搜索的数据库会在 /var/lib/mlocate 这里搜索;默认数据库是一天一更新; 对于新建的文件,需要强制更新数据库(updatedb)...
804 0
linux创建随机数并写文件处理
一、案例代码 /**************************************************************** * Name   : rondom_create_score.
825 0
怎么设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程
10615 0
Linux文件权限详解
文件和目录权限概述 在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。 通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问;允许一个预先指定的用户组中的用户访问;允许系统中的任何用户访问。
600 0
23704
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载