Linux文件基础操作

1、在RedHat中有时不能正确显示IP地址,此时需要关闭Redhat,重新在管理员模式下打开VMware,启动Redhat之后,输入ifconfig就可以用了

2、显示当前目录下的信息内容:ls    粗略显示

                                                    ls -a    全部显示

                                                    ls -l    以长格式显示,例如

$ls -l
drwxr-xr-x 3 user group 102 Mar11 22:56 Filename

  7个段分别是:文件类别、权限、链接数、文件拥有者、文件所属组、文件大小、文件创建时间或修改时间、文件名
  1. 文件属性:drwxr-xr-x
    其中各个字符代表的意义:
    d: 代表是目录文件。-代表普通文件,b:代表块设备文件,c:代表字符设备文件,l:代表链接设备文件
    rwx:第一组是授予文件所有者的权限,-代表无权限;r代表具有可读权限; w代表具有可写权限;x代表具有可执行权限
    r-x:第二组授予同组用户的权限
    r-x:代表其他用户权限
  2. 文件硬链接数或目录子目录数:3 (一个空目录的该字段是2,表示该目录下有两个子目录,因为每一个目录都有一个指向它本身的子目录"." 和指向它上级目录的子目录"..")
  3. 所有者:user
  4. 所属用户组:group
  5. 文件大小:102 byte
  6. 修改时间:Mar11 22:56
  7. 文件名:Filename

3、创建目录:在root权限下,在指定目录下创建一个新的目录:mkdir  /home/c_program

                        在同一个目录下创建多个目录mkdir -p /home/c_program/add

4、删除一个目录  rmdir /home/c_program

5、复制一个文件到一个新的目录下 cp file /home/test

6、移动一个文件到一个新的目录 mv file /home/test

7、删除一个文件rm /home/test/file

8、注意,此处的目录与文件不是一个概念,目录是一个文件夹,而文件是一个带有后缀名的实体文件

9、使用vi创建一个新的文件,首先在控制台下输入vi test.c,进入到编辑器后,输入 i 进入编辑模式,编辑好后按下Esc键,退出,输入 :wq,保存退出即可,此时就生成了一个新的test.c文件

10、ubuntu的终端中
shutdown -h now 现在立即关机
11、获取root权限
首先输入:sudo passwd root(设置root密码)
输入当前系统的账户密码(账户:admin-pc的密码)
输入新的root密码,确认新密码,密码更新成功
在提示符处输入:su按Enter键获取root权限
输入刚刚设置的root密码
命令提示符前出现root@的字样说明root的权限已经获得

文件权限一般可认为是0 123 456 789,一共十位:

0:表示该文件的文件类型。Windows里面是使用了一种文件关联的技术,通过扩展名来关联相应的应用程序,使得双击某个文件,就能达到调用相应的应用程序来打开它的目的,这样简单快捷。然而对于用户来说,好处是方便,坏处是隐藏了一个实质性的东西:文件的真正的类型,与其扩展名实际上是毫无关联的。

举例来说:一个纯粹的文本文件,可以给它命名“我的歌声里.mp3”,然后在win下双击,会调用相应的音乐播放器来打开,结果显而易见,肯定是错误的。那反过来,一个真正的MP3文件我也可以给它命名“花名册.txt”,在win下双击,一般会调用相应的文本编辑器来打开,显示的一定是乱码。

上面两个例子是为了说明一个观点,某个文件真正的类型与其扩展名没关系。

那么在不知道文件扩展名的情况下,如何知道文件的类型呢?在Linux是这样的。

Linux中文件类型只有以下这几种:

1.-,普通文件。

2.d,目录文件,d是directory的简写。

3.l,软连接文件,亦称符号链接文件,s是soft或者symbolic的简写。

4.b,块文件,是设备文件的一种(还有另一种),b是block的简写。

5.c,字符文件,也是设备文件的一种(这就是第二种),c是character的文件。

Linux系统最原始的也只有这五种,所以第0位,只能是以上五者之一。

那么你会有疑问,

1.MP3文件是是哪种?答案:普通文件。

2.二进制文件是哪种?答案:普通文件。

3.文本文件是哪种?答案:普通文件。

4.为什么硬连接没有类型表示?答案:硬连接和软连接,名字上虽然只差一个字,本质完全不同,硬连接也是文件。其类型是普通文件

r:read,w:write,x:execute。

再次强调,文件的内容和该文件当时所用的文件名毫无关联;该文件的类型,也与该文件当时的文件名,毫无关系。

查看一个文件的内容,实际上是这样的一个过程:

举例来说,你用了这个命令:cat /tmp/abc.txt

1.你只传递了一个绝对路径,/tmp/abc.txt,系统首先要知道/tmp/abc.txt文件的inode是多少才行,如何得知呢?

2.记住一个规律,某文件的父目录会(记录)知道该文件的inode号!

3.那么要得到“/tmp/abc.txt”这个文件名,得先知道/tmp目录的情况,要知道/tmp目录的情况,得先知道/目录的情况,所以就可以从/目录开始(假设/目录的inode号是0,并且这是写死的),然后再去一张叫做inode-table的表中查找inode号0所指向的数据域,然后从数据域里面可以找到一些类似于下面的内容:(看起来像一张表,不是么?其实可以想象到,目录文件就是一张表,存储了它内部有哪些文件名,以及该文件名对应的inode号)

文件名 inode号

bin   18

var   19

tmp   20

...   ...

从“/”,这个目录文件中找到了“/tmp”文件名对应的inode号,就是20。(假设啊)

4.然后通过inode号20,去inode-table里面找寻20对应的数据域,然后从数据域中,又会找到一张表:(为什么又是表呢?因为“/”是一个目录,“/tmp”也是一个目录,那当然数据域里面存的还是表)

文件名 inode号

abc.txt 8899

bbb.mp3 10088

kkk.jpg 20000

... ...

好了,我们找到了/tmp/abc.txt的inode号了,就是8899。根据上面的规律,是不是又得去inode-table里面找8899号对应的数据域了?对,就是这样。

5.找到inode号8899对应的数据域,于是会发现如下一些内容:

“abcdefg”(假设文件内容就是这样)

...

又有疑问了,为什么这次不是表了?

答案:/tmp/abc.txt文件不是目录文件了,它是一个普通文件,他存储的一般都是一些字符串。

体现在本质上:

普通文件:存储普通数据,一般就是字符串。

目录文件:存储了一张表,该表就是该目录文件下,所有文件名和inode的映射关系。

从父目录中获得本文件的inode号---->找到inode-table表中找到这个inode号对应的数据域中的起点以及其他信息---->去这个数据域中读取该文件的内容(普通文件的内容一般是字符串,目录文件的内容是一张表)

关键就是访问任何一个文件,要看是否能搞到inode号,搞不到就没辙了。搞到inode就好说了,拿着inode号去inode表中查找即可,最后找到数据域,那么就可以找到文件的内容了

然后整个过程这不仅仅跟本文件权限有关,还跟它的父目录(还有父目录的父目录...)权限有关(是否能搞到本文件的inode)

体现在命令上:

对于普通文件来说,rwx的意义是:

r:可以获得这个普通文件的名字和内容。

w:可以修改这个文件的内容和文件名。可以删除该文件,但是用户会得到是否删除写保护文件的prompt。

x:该文件是否具有被执行的权限。

对于目录文件来说,rwx的意义是:

r-x:可以进入cd该目录,可以获得该目录下存储情况,但是不能修改这个目录内部存储的文件(目录)的名字,也不能在该目录下新建文件和目录

-wx:可以进入cd该目录,但是看不到该目录下的存储情况(ls不可用),可以往该目录下添加、修改、删除文件。可以通过cat来读取该目录下的文件or目录的内容,由于得不到该目录下存储了那些文件,在不知情的情况下只能通过猜,cat + 文件名获得文件内容,所以这样依然不保密。

--x:可以进入cd该目录,看不到存储情况,也不能往该目录下添加、修改、删除文件。但是依然可以通过cat + xx(猜)来获得该目录下的文件的内容。

rw-:不能进入cd该目录,用ls仅仅可以获得文件名和目录名,因为获取不到这些文件的inode号,当然也不能获得该目录下的文件的内容。不能往该目录下添加、修改、删除文件。

总结:

1.目录文件虽然是文件,但是存储内容的只是一张表而已,关于文件名和inode号的映射关系。

2.文件的扩展名和文件类型之间没关系。

3.文件的文件名和文件实际存储内容之间,没关系。

4.要知道如何查找到一个文件内容的过程。

5.为什么同一个文件系统移动文件要比跨文件系统快?

答:因为只需要修改某个目录中路径和inode对应关系即可,不需要重新写一遍数据域。

6.什么是买来的500G的硬盘,格式化完后总是少了达不到500G?

答:从本文可知,inode-table也是需要占用存储空间的,所以缺少的一部分中inode-table占用了不少。

7.要如何了解Linux文件系统和inode的相关知识,能否推荐个文章?

答:http://www.cyberciti.biz/tips/understanding-unixlinux-filesystem-inodes.html

.tar.xz

解压:tar -Jxvf FileName.tar.xz

压缩:tar -Jcvf FileName.tar.xz DirName

.tar

解包:tar xvf FileName.tar

打包:tar cvf FileName.tar DirName

(注:tar是打包,不是压缩!)———————————————

.gz

解压1:gunzip FileName.gz

解压2:gzip -d FileName.gz

压缩:gzip FileName

.tar.gz 和 .tgz

解压:tar zxvf FileName.tar.gz

压缩:tar zcvf FileName.tar.gz DirName

———————————————

.bz2

解压1:bzip2 -d FileName.bz2

解压2:bunzip2 FileName.bz2

压缩: bzip2 -z FileName

.tar.bz2

解压:tar jxvf FileName.tar.bz2

压缩:tar jcvf FileName.tar.bz2 DirName

———————————————

.bz

解压1:bzip2 -d FileName.bz

解压2:bunzip2 FileName.bz

压缩:未知

.tar.bz

解压:tar jxvf FileName.tar.bz

压缩:未知

———————————————

.Z

解压:uncompress FileName.Z

压缩:compress FileName

.tar.Z

解压:tar Zxvf FileName.tar.Z

压缩:tar Zcvf FileName.tar.Z DirName

———————————————

.zip

解压:unzip FileName.zip

压缩:zip FileName.zip DirName

———————————————

.rar

解压:rar x FileName.rar

压缩:rar a FileName.rar DirName

———————————————

.lha

解压:lha -e FileName.lha

压缩:lha -a FileName.lha FileName

———————————————

.rpm

解包:rpm2cpio FileName.rpm | cpio -div

———————————————

.deb

解包:ar p FileName.deb data.tar.gz | tar zxf -

———————————————

.tar .tgz .tar.gz .tar.Z .tar.bz .tar.bz2 .zip .cpio .rpm .deb .slp .arj .rar .ace .lha .lzh .lzx .lzs .arc .sda .sfx .lnx .zoo .cab .kar .cpt .pit .sit .sea

解压:sEx x FileName.*

压缩:sEx a FileName.* FileName

sEx只是调用相关程序,本身并无压缩、解压功能,请注意!

gzip 命令

减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。gzip 是在 Linux 系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。

语法:gzip [选项] 压缩(解压缩)的文件名该命令的各选项含义如下:

-c 将输出写到标准输出上,并保留原有文件。

-d 将压缩文件解压。

-l 对每个压缩文件,显示下列字段:  压缩文件的大小;未压缩文件的大小;压缩比;未压缩文件的名字

-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。

-t 测试,检查压缩文件是否完整。

-v 对每一个压缩和解压的文件,显示文件名和压缩比。

-num 用指定的数字 num 调整压缩的速度,-1 或 --fast 表示最快压缩方法(低压缩比),-9 或--best表示最慢压缩方法(高压缩比)。系统缺省值为 6。指令实例:

gzip *% 把当前目录下的每个文件压缩成 .gz 文件。

gzip -dv *% 把当前目录下每个压缩的文件解压,并列出详细的信息。

gzip -l *% 详细显示例1中每个压缩的文件的信息,并不解压。

gzip usr.tar% 压缩 tar 备份文件 usr.tar,此时压缩文件的扩展名为.tar.gz。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值