Linux档案与目录管理

Linux档案与目录管理

一、常用命令

目录操作:

改变目录:cdchange directory

显示当前目录:pwd(print working directory),

pwd -P 显示确实路径,而非连接路径

建立空目录:mkdir [-mp]

mkdir -m 711 test ,配置权限

mkdir -p d1/d2/d3,d1/d2/d3创建目录

删除空目录:rmdir

rmdir -p d1/d2/d3,递归删除,只能删除空目录
删除:rm -r d1

文件操作:

查看:ls -al

复制:cp t1 t2,cp -r t1/t2 t3,递归复制

建立链接档:cp -l t1 t1_hlink,硬连接

cp -s t1 t3_slink

删除档案:rm [-fir] 档案

f(force):强制

i:互动模式

r:递归删除

移动,改名:mv [-fiu] 档案

取得档案路径和档案名:

basename /etc/sysconfig/network

dirname  /etc/sysconfig/network

查看档案内容:

catconcatenate):第一行开始显示

cat -n test

cat -b test:空白行不显示行号

tac:最后一行开始

nl:显示的时候输出行号

more:一页一页显示

Space:向下翻页

Enter:下一行

/字符 向下搜索

:f 显示文件名以及当前显示的行数

离开more

b[ctrl]+b 往回翻页,只对档案有效,对管线无效

less:more相似,但可以向前翻页

Space:向下翻页

[pagedown]:向下翻页

[pageup]:向上翻页

/字串:向下搜索

?子串:向上搜索

n:重复向下搜索

N:重复向前

q:离开

head:只显示头几行

head test:默认显示10

head -n 20  test:20

head -n -100 test:不显示后100

tail:只显示尾几行

tail -n 20 test:20

tail -n +100 test:100行以后数据

tail -f  test:持续侦测该文件

例如:head -n 20 /etc/man.config | tail -n 10 :显示该文件11行至20

od:二进制方式读取文档

touch:修改档案时间或创建档案

文件的三个时间:

(1)mtime(modification time):该档案的内容改变事

(2)ctime(status time)文件状态改变事,权限,属性

(3)atime(access time)内容被读取时,比如用cat

默认情况下。ls显示的是mtime

实例:

touch -ad '2 days ago' tt :将tt文件atime修改到两天前

touch -at '200012121212' tt:将tt文件atime修改为2000-12-12 1212

cp -a tt tt1 :复制一个文件所有,也不能复制ctime

二、PATH(执行程序路径)

查看:echo $PATH

注意:

1、不同用户身份的PATH不同

2、PATH是可以修改的,所以执行程序一般用绝对路径

3、当前目录(.)不要放到PATH

三、linux档案默认权限和隐藏权限,可参考/etc/bashrc文件

1、档案预设权限umask

umask,umask -S,查看

umask 002:更改默认权限

新建文件默认权限:644

新建文件夹默认权限:755

2、设定隐藏属性

chattr [+-=] [ASacdistu] 档案

A:存取档案时,actime不会变

S:异步写入磁盘与sync差不多

a:只能增加数据,只有root可以使用该属性

c:将档案自动压缩后存储,反之

d:不会被dump程序备份

i:不能删除,改名,连结,root

s:完全删除这个硬盘

u:s相反,可以救援该档案

实例:

chattr +i tt : 添加i属性

3、查看隐藏属性

lsattr [-adR] 档案

a:显示隐藏文件

d:如果是目录,列出目录本身而非目录内文件名

R:连同子目录数据

四、特殊权限(SUID,SGID,SBIT

例如:/usr/bin/passwd/tmp

1、Set uid

s出现在档案拥有者x权限上如:/usr/bin/passwd,就称该文件设定了SUID

SUID作用:

(1)仅对二进制程序(binary program)有效

(2)执行者对该程序需要x权限

(3)执行者将具有该称寻拥有者(owner)权限,执行过程中(run-time)有效

2、set gid

s在档案群组x上,称该文件设定了SGID

SGID对程序作用:

(1)可以是目录也可以是档案

(2)对该程序来说需具备x权限

(3)执行者在执行过程中获得该程序群组支持

如:/usr/bin/locate/var/lib/mlocate/mlocate.db

SGID对目录作用:

(1)有效群组(effective group)变成目录群组

(2)如果有w权限,新建档案群组是该目录群组

3、set bit

t在其他人x

SIT作用:

(1)当用户对目录w,x权限,创建的文件,自己能删除自己的,root可以删除所有

4、设定特殊权限

SUID4SGID2SBIT1

-rwsr-xr-x : 4755 —》chmod 4755 filename

chmod u=rwxs,go=x filename

注意:如果对该档案没有x权限,则相应的权限用大些字母表示

五、查看文件类型

file:查看该文件是ASCII还是databinary,有没有用到动态函数库(share library

如:file ~/.bashrc

file /usr/bin/passwd

file /var/lib/mlocate/mlocate.db

六、文件搜索

1、which [-a] ifconfig(查找命令)(根据PATH查找)

a:将所有在PATH中找到的指令列出,而不是第一次找到的

which which

which cd:找不到,因为cd是内建命令

2、档案查找whereislocate

whereis [-bmsu] 档案

b:binary

m:在说明文件manual路径下

s:source来源

u:不在上述三项内

如:whereis -m passwd:找出与passwd有关的说明文件

locate [-ir] 关键字(查找/var/lib/mlocate/mlocate.db)

i:忽略大小写

r:后面跟正则表达式

如:locate passwd:找出系统中所有与passwd相关档案

手动更新数据库updatedb,他读取/etc/updatedb.conf

3、超级查找命令find(选项前省略-

find [PATH] [option] [action]

(1)与时间有关选项

atime,mtime,ctime

(2)时间

+2 : 大于等于2天前

2 : 刚好2天(2-3

-2 : 小于等于2

如:find /var -mtime 0 24小时内修改的文件

(3)与使用者或组相关

uid n: 用户帐号uid

gid n: 组名gid

user name: 用户name

group group:组名

nouser :档案拥有者不在/etc/passwd

nogroup :档案拥有群组不在/etc/group

如:find /home -user ren :查找/home下属于用户ren的档案


4)与档案权限和名称有关参数

name filename : 文件名为filename的文件

size [+-]SIZE : 单位,c:byte,k:kb,M:MB,G:GB

type TYPE : 正规档案:f,装置文件:b,c,目录:d,连结档:lsocketsFIFOp

perm mode:权限等于mode-rwsr-xr-x等于4755

-perm 4755,-perm 0744

+7000,表示有其中一个,-7000表示拥有所有

如:find /bin /sbin -perm +6000

(5)特殊动作

exec command : command 为其他指令。不支持命名别名

print : 结果打印到屏幕。默认

如:将找到的文件用ls -l显示

find / -perm +700 -exec ls -l {} \;

综合查找:

找出/etc下,档案大小介于50k60k之间并以完整权限列出

find /etc -size +50k -a -size -60 -exec ls -l {} \;

-a 表示and

找出/etc下,档案大于50且所有者不是root的文件并以完整权限列出

find /etc size +50 -a ! -user root -exec ls -l {} \;

你可能感兴趣的:(linux,目录)