Linux文件与目录管理

这里对ubuntu系统中的文件和目录操作进行简单介绍

1、文件与目录
ubuntu文件系统的根目录为 /,根目录下包含许多文件,根据应用类型分类。一般用户进入Shell时的操作目录为home/username。每个用户在home下都有一个与用户名相同的文件夹作为用户主目录。

绝对路径:以 /开始的路径
相对路径的符号表示 :

  • . : 代表当前目录
  • .. : 代表上一层目录
  • ~: 代表用户主目录
    – : 代表上一个使用目录

常用指令
cd:切换到指定目录(不跟参数的化回到用户主目录)
cd .. :切换到上一层目录

pwd:打印当前工作目录

ls : 列出文件和目录信息
ls -a : 列出所有
ls -l :长的列出

cp:复制文件到目的文件
cp test.txt /home/ubuntu/Document/ : 复制test.txt文件到目录..下

mv:移动文件或重命名文件。当两个文件在同一目录下是为重命名
mv test.txt /home/ubuntu/Document/ : 与cp类似

rm:删除文件或目录
rm -i :删除前逐一确认

mkdir:建立目录
-m :对新目录设立权限
-p: 可以一次建立多层目录,即使中间目录不存在

rmdir:删除目录
rm -p : 递归删除目录,删除多层目录

链接文件介绍
inode:索引节点,在文件存储中,磁盘分区后有两部分,一个是block,一个是inode,block为数据存储区,inode则存储数据的属性等相关信息,可以理解为是block中数据的目录;

硬链接: inode值相同的文件为硬链接文件,一个inode可以对应多个文件,即文件名不同但inode可以是相同的;当修改一个硬链接文件时其他互为硬链接的文件也会改变,删除一个硬链接文件其他的不会受影响。
创建:ln [源文件] [目标文件]

软链接:与硬链接不同,只是一个标记,删除源文件后,链接文件不能存在。当然任一个修改时另一个也是改变。
创建:ln -s [源文件/目录] [目标文件/目录]
软链接允许对目录进行链接操作,硬链接不行;

2、查看文件内容

  • head :查看文件的头几行,默认10行,-n number可以指定行数
  • tail : 查看文件末尾几行,参数与head类似
  • more:一页一页显示文件内容,-n一次显示的行数。多用于较大的文件,一次无法查看时,通过翻页的形式进行查看
  • less:显示文件内容,与more类似,具有许多参数,可以向前翻页
  • cat:由第一行开始显示文件内容,-n显示行号
  • tac:从最后一行开始显示文件内容
  • nl:显示的时候输出行号,类似于cat -n
  • od:以二进制形式读取文件内容,通过参数可以选择输出格式:-d十进制;-o八进制;-x十六进制;-f字符

3、文件与目录属性设置

chattr :改变文件属性

语法: chattr [+-=][ASaci [文件或者目录名]

  • +-= :分别为增加、减少、设定
  • A:增加该属性后,文件或目录的atime将不可被修改;
  • S:增加该属性后,会将数据同步写入磁盘中;
  • a:增加该属性后,只能追加不能删除,非root用户不能设定该属性;
  • c:自动压缩该文件,读取时会自动解压;
  • i:增加后,使文件不能被删除、重命名、设定连接、写入、新增数据;

lsattr:显示文件目录属性
语法: lsattr [-aR] [文件/目录名]
-a:类似与ls 的-a 选项,即连同隐藏文件一同列出;
-R:连同子目录的数据一同列出

4、文件权限

文件具有可读,可写,可执行等权限,ls -l显示的第一列就是文件的权限。包含的东西有该文件类型和所属主、所属组以及其他用户对该文件的权限。第一列共10位。其中第一位用来描述该文件的类型。上例中,我们看到的类型有”d”, “-“ ,其实除了这两种外还有”l”, “b”, “c”,”s”等。
d 表示该文件为目录;- 表示该文件为普通文件;l 表示该文件为连接文件(linux file)

后边的9位,每三个为一组。均为rwx 三个参数的组合。其中r 代表可读,w代表可写,x代表可执行。前三位为所属主(user)的权限,中间三位为所属组(group)的权限,最后三位为其他非本群组(others)的权限。下面拿一个具体的例子来述说一下。
一个文件的属性为-rwxr-xr– ,它代表的意思是,该文件为普通文件,文件拥有者可读可写可执行,文件所属组对其可读不可写可执行,其他用户对其只可读。

更改文件的所属主 chown
语法:chown [ -R ] 账户名 文件名
chown [ -R ] 账户名:组名 文件名

更改所属组 chgrp
语法:chgrp [组名] [文件名]

更改读写执行权限chmod
方法1:八进制表示法
chmod 语法: chmod [-R] xyz 文件名 (这里的xyz,表示数字)
-R 选项作用同chown,级联更改。
linux使用数字去代替rwx ,具体规则为r: 4 w:2 x:1 -:0 举个例子,-rwxrwx—用数字表示就是 770;例:ubuntu@ubuntu:~/Documents$ chmod 777 test1.text
方法2:助记语法
u:属主; g:属组;o:其他;a:所有,包含前面三个
+:增加权限;-:减少权限
r:读权限;w:写权限;x:执行权限

例:
ubuntu@ubuntu:~/Documents$ chmod a-x test1.text 所有用户减去x权限

ubuntu@ubuntu:~/Documents$ chmod o-w test1.text 其他用户减去w权限

umask:定义用户创建文件目录的默认权限
umask语法: umask xxx (这里的xxx代表三个数字)
查看umask值只要输入umask然后回车。 umask预设是0022,其代表什么含义?先看一下下面的规则:
1、若用户建立为普通文件,则预设“没有可执行权限”,只有rw两个权限。最大为666(-rw-rw-rw-)

2、若用户建立为目录,则预设所有权限均开放,即777(drwxrwxrwx),umask数值代表的含义为,上边两条规则中的默认值(文件为666,目录为777)需要减掉的权限。

所以目录的权限为(rwxrwxrwx) – (—-w–w-) = (rwxr-xr-x),普通文件的权限为(rw-rw-rw-) – (—-w–w-) = (rw-r–r–)。umask的值是可以自定义的,比如设定umask 为 002,你再创建目录或者文件时,默认权限分别为(rwxrwxrwx) – (——-w-) = (rwxrwxr-x)和(rw-rw-rw-) – (——-w-) = (rw-rw-r–)。

5.文件压缩

zip,unzip
语法:
zip filename filename 压缩文件(参数略)
unzip filename 解压

gzip filename 压缩 -k 保存原文件
gzip -d ,解压缩

tar -[…..] filename 压缩 -x解压缩.多用于目录,需要压缩后的文件名参数和-参数

6、文件查找

find:查找文件
find [路径] [参数] :为find用法,即在路径下搜索参数指定的文件
-name‘字符串’:查找名字为‘字符串’的文件
-amin n :查找n分钟内访问过的文件
。。。。。。
例:
ubuntu@ubuntu:~/Documents$ find /home/ubuntu/ -name “Love Is Blue.mp3”

which: 从系统变量PATH指定的路径去寻找可执行文件
ex: which passwd

whereis:查找文件,只能用于程序名搜索

locate:定位文件,查找包含参数指定的文件

7、硬盘管理

df -[…] : 检查系统磁盘空间占用情况
du -[…] filename/directory : 显示目录或文件大小,文件或目录名缺省的话为当前工作目录
fdisk […]:磁盘分割,略
。。。。

你可能感兴趣的:(linux,ubuntu,文件系统)