Linux的基本指令--目录和文件和文件属性和文件用户组
目录和文件
一 . ls:列出目录的内容,未给出目录名或是文件名时,就显示当前目录的信息。
-a 列出隐藏文件,文件中以”.”开头的均为隐藏文件,如:~/.bashrc
-l 列出文件的详细信息
-R 连同子目录中的内容一起列出
二. -l 详细信息,开头是由10个字符构成的字符串,其中第一个字符表示文件类型,它可以是下述类型之一:
- 普通文件 d 目录 l 符号链接 b 块设备文件 c 字符设备文件 s socket文件,网络套接字 p 管道
后面的9个字符表示文件的访问权限,分为3组,每组3位。第一组表示文件属主的权限,第二组表示同组用户的权限,第三组表示其他用户的权限。每一组的三个字符分别表示对文件的读、写和执行权限。
访问权限后面的数字表示与该文件共享inode的文件总数,即便链接数。
三 . which+命令:查看指定命令所在路径 例如:which ls
四. pwd 查看”当前工作目录“的完整路径。
五.目录
1.创建目录:mkdir 可以一次创建多个 -p(parent):可以是一个路径名称,路径不存在,则都会创建。如:mkdir -p aa/bb/cc 则会创建aa ,bb ,cc
2.删除目录:rmdir :删除空目录,可以一次删除多个。-p,表示可以连同空的父目录一起删除。
六.文件
创建/ 修改文件时间:touch : 如果文件不存在,则创建一个字节数为0的文件。如果存在,则不创建新的文件,将文件的访问及修改时间都更新为目前的时间。
删除文件/ 目录:rm : 例: rm file 如果删除的是目录,rm -r 删除目录 rm -rf 有没有此目录都删除
重命名、移动目录:mv 可以改变该文件的路径和命名。
拷贝文件、目录:cp file1 file2 改变目录要加-r cp dir1 dir2 -r
查看文件内容:cat 如果cat时没跟文件名,则读标准输入,遇到\n后,输出到标准输出,终端下输入ctrl –d表示结束。
more file 先显示一部分文件内容和所占内容的百分比,可以按ctrl c或q终止显示。
less file 先显示一部分文件内容,q终止显示。
显示文件的前面几行:head -5 file 未输入行数默认10,如果没有指定文件,将从标准输入(键盘)上读取。
显示文件的最后几行:tail -5 file 未输入行数默认10
七.硬链接和软连接(符号链接):硬链接:建立硬链接时,链接文件和被链接文件必须位于同一个文件系统中,并且不能建立指向目录的硬链接。
硬链接:ln file hard 大小为文件大小
软链接:ln -s file soft 大小为file的名字
改变源文件,硬链接和软连接其中的一个则都改变
八.计算文件
wc: -c 或 –bytes 或 –chars 只显示bytes数。
-l 或 –lines 只显示列数。
-w 或 –words 只显示字数。
九.数据显示格式:
例: od –tcx file1
-t 指定数据的显示格式,主要的参数有:
c ASCII字符或反斜杠序列
d [SIZE] 有符号十进制数,每个整数SIZE字节。
f [SIZE] 浮点数,每个整数SIZE字节。
o [SIZE] 八进制(系统默认值为02),每个整数SIZE字节。
u [SIZE] 无符号十进制数,每个整数SIZE字节。
x [SIZE] 十六进制数,每个整数SIZE字节。
额外的知识:ASCII 是英文缩写不是罗马字母,字符串结束符为0,48 代表0,65代表A ,97代表a,大小写之间差32
十. 查看目录大小: du –hm file 以M为单位 du –hb file 以B为单位 du –hk file 以K为单位
1K = 1024B ; 1B = 8b; 1M = 1024K;
???十一.查看磁盘使用情况: df –block-size=GB df –block-size=MB
文件属性和文件用户组:
一. 查看当前登录用户:whoami
二 . 更改文件目录访问权限:chmod
1. 文字设定法: chmod [who] [+|-|=] [mode]文件名
who:
u 表示”用户(user)”,即文件或目录的所有者。
g 表示”同组(group)用户”,即与文件属主有相同组ID的所有用户。
o 表示”其他(others)用户”。
a 表示”所有(all)用户”。它时系统默认值。
r 可读。w 可写。x 可执行
+ 添加某个权限。
- 取消某个权限。
= 赋予给定权限并取消其他所有权限(如果有的话)。
2.数字设定法
chmod [mode] 文件名
0表示没有权限,1表示可执行权限, 2表示可写权限, 4 表示可读权限,
例:设置一个文件允许所有用户可写: $chmod a+w file1 $chmod 666 file1
三. 更改某个文件或目录的属主和属组:
例:把一个文件改为colin用户和nogroup用户组所有
$sudo chown colin:nogroup file1
选项:-R 递归式的改变指定目录及其下的所有子目录和文件的拥有者。
-v 显示chown命令所做的工作。
注意:sudo 的意思是临时获得超级用户权限
chown 需要特权用户才能执行
一个文件的owner和owning group 是没有关联的。一个文件属于用户A,也属于用户组B,并不表示用户A属于用户组B。
四. 改变文件的用户组:chgrp chgrp [OPTION]… GROUP FILE 。 group可以是用户组ID,也可以是/etc/group文件中用户组的组名。
文件名是以空格分开的要改变属组的文件列表,支持通配符。
如果用户不是该文件的属主或超级用户,则不能改变该文件的组。