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

时间:2023-01-22 16:29:50



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

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


. 代表当前目录

.. 代表上一级目录

 

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

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

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

  

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

-:一般文件

d:目录文件

b:块设备文件

c:字符设备文件

l:链接文件

p:人工管道

常见的为-dI

 

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

u    g   o

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

rwx执行

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

 

 

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

root 拥有者

root拥有组

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

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

文件名

 

 

  mkdir  创建新目录

英语原意:make directories

语法:mkdir  [目录名]

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

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



touch 创建空文件

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

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

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

2、linux没有扩展名的概念

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

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

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


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

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



 cd  切换目录

英语原意:change directory

语法:cd 【目录】

cd ~ 当前的家目录

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

cd / 返回根目录

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

 

pwd  显示当前目录

英语原意:print working directory

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

 

 

 


 cp  复制文件或目录

英语原意:copy

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

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

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

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

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

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


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

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


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

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



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

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




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

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


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

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




 rmdir 删除空目录

英语原意:remove empty dircetories

语法:rmdir 【目录名】

只能删除空目录

 


 rm 删除文件

英语原意:remove

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

-r 删除目录

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

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


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

 

做好备份操作

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

 

 

 

 cat 显示文件内容

cat【选项】 【文件名】

-n 显示行号

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

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




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

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



cat不适合用于长文件



 more  分页显示文件内容

more 【文件名】

空格(或f)  翻页

Enter         换行

q(或Q)     退出

 

more /etc/services


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




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

pgug: 按钮往上翻页

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

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

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




 head  显示文件前面几行

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

-n 指定行数

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





 tail 显示文件后面几行

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

-n 指定行数

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

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


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



三、软链接和硬链接

 

 ln 生成链接文件

英语原意:link

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

-s 创建软链接

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


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

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


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

软链接特征:

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

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

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

 

 

ln /etc/issue /tmp/issue.hard


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

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


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

硬链接特征:

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

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


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

 

 

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

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


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

 

4、跨分区

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

 

5、针对目录使用

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

 

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

       相当于备份


本文出自 “罹殇” 博客,请务必保留此出处http://wt7315.blog.51cto.com/10319657/1844919