linux在目录exp中创建空白文件,linux文件和目录管理

文件管理主要命令

cd 切换目录

pwd 显示当前目录

mkdir 新建目录

rmdir 删除空目录

. 代表当层目录

.. 代表上一层目录

代表前一个工作目录

~ 代表用户身份所在的主文件夹

~account 代表account这个用户的主文件夹

文件管理类的命令

ls [-aAdfFhilnrRst] 目录名称

ls [--color={never,auto,always}] 目录名称

ls [--full-time] 目录名称

-a 全部文件,隐藏文件也一起列出

-A 全部文件,隐藏文件也列出,不包括. 和..两个目录

-d 列出目录本身,文件数据不列出

-f 直接列出结果,不排序

-F 根据文件,目录等给予附加的目录结构,比如 *:代表可执行文件,/: 代表目录 ,=:代表socket文件 ,|:代表FIFO文件

-h 文件容量已人类易读的方式列出来

-i 列出inode号码

-l 列出场数据传,包含文件和权限,比较蝉蛹

-n 列出UID和GID,非用户与用户组的名称

-r 排序结果反响输出

-R 目录的子目录也显示出来

-S 文件容量大小排序,不是文件名排序

-t 时间排序,不是文件名

--color=never 必要根据文件特性给予颜色显示

--color=always 显示颜色

--color=auto 让系统自行根据设置判断是否给予颜色

--full-time 用完整的时间模式输出

--time 输出访问时间或者改变权限属性时间,不是内容更改时间

cp 复制文件或者目录

基本格式

cp [-adfilprsu] 源文件(source) 目标文件(destination)

2.cp [options] source1 source2 ... directory

-a 相当于pdr的意思

-d 如果源文件为连接文件属性(link file) 复制连接文件属性,非本身

-f 强制,如果目标文件已经存在,并且无法开启,那么删除目标文件在尝试一次

-i 如果目标文件已经存在,覆盖的时候会先询问操作的先行,比较常用

-l 进行硬连接(hard link)的创建,而非复制文件本身

-p 连同文件属性一起复制过去,而非使用默认属性

-r 递归持续复制,用于目录的复制行为

-s 复制成为括号的链接文件

-u 若destination比source旧才更新,否则不更新

cp不加任何参数,复制的是源文件,而非连接文件

复制文件注意一下几点

1.是否需要保证来源文件信息

2.源文件是否为软连接文件

3.源文件是否为特殊文件

4.源文件是否为目录

rm(移除文件或者目录)

基本格式

rm [-fir] 文件或者目录

-f force的意思,忽略不存在的文件,不会出现警告

-i 互动模式,删除之前会询问用户是否操作

-r 递归删除,相当危险,最常用的目录删除

mv (移动文件与目录,或更名)

-f 强制的意思,如果目标文件存在,不会询问直接覆盖

-i 目标文件存在,会询问是否覆盖

-u 如果目标文件存在,source比较新,会更新目标文件

文件内容查阅

cat 从第一行显示文件内容

tac 从最后一行开始显示文件内容,tac是cat的倒写

nl 显示的时候,顺便输出行号

more 一页一页显示文件内容

less 相对more的又是,可以往前翻页

head 只看投机航

tail 只看结尾几行

od 用二进制的方式读取文件内容

1.cat命令

格式 cat [-AbEnTv]

-A : 相当-vET的整合参数,可列出特殊字符,而不是空白

-b:列出行号,仅针对非空白做行号显示,空白行不标记行号

-E:将结尾的断行字符$显示出来

-n:打印出行号,空白也会有行号

-T:将tab按键用^I 显示出来

-v:列出一些看不出来的特殊字符

2.nl 命令

格式:nl [-bnw] 文件

-b:指定行号的指定方式

-b a :表示无论是否为空行,也同样列出行号,类似cat -n

-b t :如果有空行,空的哪一行不要列出行号

-n:列出行号的表示方法

-n ln:行号在屏幕的最左边演示

-n rn:行号在屏幕的最右边显示

-n rz:行号在最左边,加0显示

ex:nl -b a -n rz filename

3.more命令

格式 :more filename

空格:向下翻一页

enter:下滚动一行

/字符串:显示内容中,向下查询字符串这个关键字

:f :立刻显示文件名和目前显示的行数

q :立即离开,不再显示文件内容

b:往回翻页,只对文件有用,对管道无用

4.less命令

格式:less filename

pagedown:向下翻一页

pageup:向上翻一页

enter:下滚动一行

/字符串:显示内容中,向下查询字符串这个关键字

?字符串:显示内容中,向上查询字符串这个关键字

n:重复前一个查询

N:反响重复前一个查询

:f :立刻显示文件名和目前显示的行数

q :立即离开,不再显示文件内容

5.数据选取,head命令

格式:head [-n number] 文件

-n:后面接数字,代表显示几行的意思

6.数据选取, tail命令(常用)

-n :代表显示几行

-f:表示持续检测后面所接的文件名,要等到按下ctrl-c才会结束tail的检测

exp:如果不知道文件有几行,但是执行列出1000行以后的数据

tail -n +1000 filename

7.od [-t type] 文件

-t : 后面可以接很多类型为type的输出

a:使用默认的字符来输出

c:使用ascii字符来输出

d:使用十进制来输出数据,每个证书占用size bytes

f:使用浮点数来输出数据,

o:使用八进制输出数据

x:使用十六进制来输出数据

od -t oCc filename表示将内容和ascll中的内容进行比较

8.touch命令

格式: touch [-acdmt] 文件

-a :仅修改访问时间

-c :仅修改文件时间,如果文件不存在则不创建新文件

-d:后面可以接与修改的日期而不用目前的日期,也可以使用--date=“日期或者时间”

-m:仅修改mtime

-t:后面接与修改的时间而不用目前的时间

范例一:新建一个空的文件并且查看时间

9.umask

表示的是修改默认创建文件的权限接口

直接输入表示查看默认创建文件的给予权限

ex 022 表示在group和other被拿掉w权限

要改变权限只需要

umask 002

表示拿掉other的w权限

每个选项总和为6

10.文件隐藏属性 chattr(设置文件的隐藏属性,理解为changeattribute)

格式:chattr [+-= ] [ASacdistu] 文件或目录名称

+:增加某一个特殊参数,其他原本存在的参数不动

-:减少某一个特殊参数,其他原本存在的参数不动

=:仅有后面接的参数

A:当设置了A这个属性的时候,如果你访问这个目录或者文件时,他的访问时间atime将不会被修改,可避免i/o慢的机器过渡访问磁盘,对速度慢的计算机有帮助

S:一般文件是异步写入磁盘,如果加上这个属性,进行任何文件的修改,这个改动会同步写入磁盘中

a:设置a之后,这个文件只能增加数据,不能删除也修改数据,只有root才能设置这个属性

c:这个属性设置之后,将会自动将这个文件压缩,读取的时候会自动解压,存储的时候,将会进行先压缩再存储

d:dump程序被执行的时候,设置d属性可以将该文件不会被dump备份

i:最无敌的参数,可以让一个文件,不能被删除,改名,设置连接也无法写入,添加数据,对系统安全帮助特别大,只有root可以设置这个属性

s:文件中设置了s属性,如果这个文件被删除,将会完全从这个磁盘空间中删除

u:和s相反,当使用u配置文件,如果文件被删除了,数据的内容其实还在磁盘中,可以使用来找回文件

exp:chattr +i filename

让这个文件不能被删除

10.lsattr(理解为listattribute)显示文件隐藏属性

格式:lsattr [-adR] 文件或者目录

-a :将隐藏文件的属性也展示出来

-d:如果连接的是目录,仅仅列出目录本身的属性

-R:子目录的属性也展示出来

文件特殊权限SUID,SGID,SBIT

1.SUID

1.1 这个权限仅仅对二进制程序有效

1.2 执行者对改程序要有x的执行权限

1.3.本权限只在执行过程中有效

1.4执行者需要有程序所有者的权限

2.SGID

可以针对文件或者目录设置

2.1 对二进制程序有用

2.2 程序执行者对该程序来说,需要有x权限

2.3 执行者执行过程中会获得程序用户组支持

3.StickyBit

针对目录有效,对文件已经没有效果

当用户对这个目录有wx权限

用户在该目录下创建文件或者目录仅有自己和root可以删除该文件

设置使用chmod,修改权限来设置,exp:chmod 4755 filename

4为 SUID

2为 SGID

1为 SBIT

文件相关

一.查看文件类型 file

exp : file filename 必须为当前路径下文件,或者为全路径

二.命令和文件的查询

1.脚本文件名的查询 which

寻找执行文件

which [-a] command

-a:将所有由path目录中可以找到的命令均列出,而不止第一个被找到的命令名称

2.文件名的查找 whereis [-bmsu] filename

-b:只找二进制格式的文件

-m:只找在说明文件路径下的文件

-s:只找source源文件

-u:查找不在上述三个选项的特殊文件

以后也会有find这个查询文件的命令,但是find使用的时间会相对多很多,因为find是直接查找硬盘,如果你的硬盘老旧,那就要等很久,whereis可以加入参数查找相关的数据,如果你要找可执行的文件,那么加上-b就可以了,不加参数会展示所有数据

2.1 同样是查找文件的命令

locate [-ir] keyword

-i 忽略大小写的差异

-r 后面可以接正则表达式的显示方程式

locate寻找的数据是由已经创建的数据库/var/lib/mlocate/里面的数据库里面找到了,所以不用查询硬盘,这个数据库每天更新一次

如果要手动更新,那么输入,updatedb就可以了

2.2 find 查找文件

find [path] [option] [action]

参数:

与时间有关的参数,有 -atime,-ctime,-mtime

-mtime n :n位数字,意义为在n天之前的“一天之内”被更改过的文件名

-mtime +n :列出在n天之前,不含本身,被更改过的文件名

-mtime -n 列出在n天之内,含本身,被更改过的文件名

-newer file : file为一个存在的文件,列出比这个文件更新的文件名

exp: find / -mtime 0

find /etc -newer /etc/passwd

比如+4代表,大于等于五天之前的文件名

-4代表小于等于4天内的文件名

4表示4-5天的哪一天的名字

2.和用户和组名有关的参数

-uid n:n为数字,数字是用户的账号id,即uid

-gid n:n为数字,这个数字是用户组名的ID,即GID,这个GID记录在 /etc/group中

-user name: name为用户账号名称

-group name:name为用户组名,例如users

-nouser :找寻文件所有者不存在的人

-no group :找寻用户组不存在的文件

和文件名有关的操作

-name filename:查找文件名为filename的文件

-size [+-] SIZE :查找比size还要大 + 或者小 - 的文件,这个size的规格有:

c:代表byte,k:代表1024yes,所以要找比50k还大的文件就是,-size +50k

-type TYPE: 查找文件的类型为type的,类型主要有,一般正规文件 f,设备文件 b,c

目录 d,连接文件l,socket s,以及fifo p等属性

-perm -mode:查找文件权限,刚好等于mode 的文件,这个mode为类似chmod 的属性值,举例来说 -rwsr-xr-x的属性为4755

-perm+mode:查找文件权限,包含任一mode的权限的文件,举例来说,我们查找 -rwxr-xr-x,即-perm +755时,但一个文件属性为 -rw-------也会被列出来,因为有-rw属性存在

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值