linux上的文件管理类命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux上的文件管理类命令相关的知识,希望对你有一定的参考价值。

目录操作命令

1ls

查看文件或目录的工具,列出目录

用法:ls [选项]... [文件]…

 

【选项】

-l

出文件名之外,列出文件的类型、权限、所有者、所属组、文件大小、修改时间等详细信息    

-a

不隐藏任何以. 开始的项目

-A

列出除. .. 以外的任何项目(不列出“.”当前目录及“..”父目录)

-R

递归列出目录内容,若目录下有项目(文件或目录),则以下之文件皆依序列出

-n

类似 -l,但列出UID GID

-F

在列出的文件名称后加一个符号,去区分文件类型;例如*代表可执行文件;/代表是目录;@代表链接文件;普通文件之后不加符号

 

注意:ls  -l命令可以缩写为ll


2cd

更改目录,切换目录

用法:cd  目标目录

注意:cd  命令之后不可以跟文件

 

.

当前目录

..

父目录

cd ..

切换到父目录,切换到上一级目录

cd

类似cd ~ 命令,切换到当前用户家目录

 cd  ~

切换到当前用户的家目录

cd  -

返回上一次所处的目录

Cd \

类似于cd  "  test"命令中的双引号(也可以是单引号);切换到名称带有空格的目录

3pwd    显示当前所处的目录,目前所在的目录

pwd  -P

显示实际的工作目录,而非使用链接路径

4mkdir     创建目录

mkdir

只能在已存在的目录下创建目录

mkdir   -p

帮助你直接将所需的目录递归创建起来。(在一个不存在的上级目录里面创建目录)

5rmdir   删除空目录

rmdir

只能删除空目录

rmdir  -p

递归删除空目录 

6rm     删除文件或目录

rm

只能删除文件

rm -r

删除目录及目录下的项目(文件和目录)

rm -f

不提示强制删除

rm  -rf   *

强制删除所有文件,但是不包含隐藏文件。谨慎使用!!!!!

   同时删除多个文件或目录

每个项目以空格隔开

7mv  移动文件或目录

mv 原文件路径    目标文件路径  

移动

 

1.如果原文件名称在移动过程中没有改名称,移动之后,目标路径下的文件与原文件名称相同

在目标目录下不要添加文件名称,只写路径

      2.移动文件的同时修改文件名称

在目标路径后面跟上要修改的文件的名称,文件名称自定义



选项:

-f

不提示并覆盖文件

-n

不覆盖已存在文件

-b

覆盖之前把原文件做备份,备份的文件在文件名之后有个~符号

-u

只有原文件比覆盖的文件新的时候才可以覆盖文件;旧文件不能覆盖新文件

8du    显示目录的磁盘使用情况

注意:du查看目录大小,这条命令并没有什么用,(看情况,shell脚本有时候会用到)。它虽然可以显示文件或目录占用的磁盘空间,但是当你要查找某一个文件或目录的时候,还是需要一页一页去查看信息

9df     查看所有已挂载磁盘使用情况

第一列:文件系统对应的磁盘分区

第二列:分区的总空间大小,含的数据块的数据

第三\四列:已用和未用的空间大小

第五列:用户空间使用的百分比

第六列:文件系统的挂载点

注意:df中的已用和未用的空间大小相加与du看到的用磁盘的空间大小不等于磁盘总空间大小,这是因为分区留了少量的空间提空给系统管理员使用

文件命令

1Linux系统中使用以下命令来查看文件的内容

cat

由第一行开始显示文件内容

tac

由最后一行开始显示文件内容

more

一页一页查看文件内容(不可以向上翻一行,可以前后翻页(Ctrl+b、空格)、向下翻一行{回车键、Ctrl+m}

less

more相似,可以往前翻一行(可以前后翻页(空格、pgup键和pgdn键)、向上翻一行、向下翻一行(上下箭头键,回车))

tail

默认查看文件的后十行

head

默认查看文件的前十行

nl

查看文件内容,同时顺便的显示行号

 

 

1>cat

-b

列出非空行的行号

-n

连同空行一起列出行号

 

2>more

向上翻一页:Ctrl+b

向下翻一页:空格

向下翻一行:回车、Ctrl+m

3>less

向上翻一页:pgUp

向下翻一页:pgDn键、空格

向上翻一行:上箭头

向下翻一行:回车、方向键(向下箭头)

 

【搜索关键字】

1:向下搜索内容

             按  /  -----> 输入关键字--------->  回车键   

2:如果要搜索的关键字在所处位置的上面,就不可以使用斜杠   / ),使用问号 

4>head/tail

1.指定行数显示文件内容

         如:head test -n2

            head -n2 test   显示前两行内容

            tail -n3 test   显示后3行内容

 

2find    在指定路径查找文件

用法:find    [选项]   参数

实例查找根目录下的passwd文件

     #find / -name passwd

用法find    路径       选项( 指定查找的文件)         具体查找的文件

   基本上只要是忽略大小写的,参数一般都是-i

反选,否定匹配的参数   --使用叹号

find命令总结:

1find命令通常单独使用

2find只能搜索目录或文件,不能搜索文件内的具体内容

3grep     搜索  

注意:find命令通常单独使用;grep命令通常个其他命令配合使用,通常和管道符一起     | 

grep搜索的关键字不一定要写全,find后面的关键字必须写全,如果不写全称则搜索失败,或者不记得全称可以使用通配符。

   【实例1grep的简单用法

          ls /etc/ | grep pa

【实例2】搜索具体文件内的内容

         cat passwd |grep root

【实例3】输出除匹配关键字之外的内容

         df | grep -v boot

【实例4】单独使用grep

用法:  grep    关键字     搜索的文件

          grep root passwd

【实例5】忽略大小写

        cat passwd | grep -i ROOT

【实例6】递归搜索

        ls -R / | grep freeit

【实例7】在多级目录中对文本进行递归搜索----(搜索的是文本的具体内容)

        grep 11 . -r -n

【实例8cat passwd | grep -v ^$ | grep -v ^# |grep bash$> test

 

-v

反选

^xx

匹配以xx开头的行

xx$

匹配以xx结尾的行

^$

匹配空行

4stat

显示文件的所有信息,甚至包括存储该文件的设备的设备号

最近访问access:只要查看过文件,这个时间就会随之变化

最近改动change:修改文件的名称等信息,这个时间就会随之变化

修改文件的内容,同时三个时间都会随之变化

最近更改时间modify

 

  ls -l file : 查看文件修改时间

  ls -lc file: 查看文件改动时间

  ls -lu file: 查看文件访问时间

5touch   

【解释】

用于修改文件或目录的时间属性,包括存储时间、更改时间。如果文件不存在,则系统或建立一个新文件。

创建空文件(衍生出来的)

【问题】生产环境中为什么使用touch

touch命令描述的是改变时间戳,那么我们为什么要改变时间戳?

如果你参加一个全球范围的开源项目,那么时间戳会变得很重要。编译源代码文件可能需要同一地区的时间戳。如果未统一,程序可能会编译失败。(有强迫症的同学也会用,看不得乱七八糟的时间)

【实例1】更改文件的时间戳为当前的时间。(三个时间同时修改)

          touch qq

         如果文件不存在,则系统或建立一个新文件

【实例2】设置文件的时间戳(修改的是访问时间和更改时间)

         touch -t 222202222222 qq

注意:-t选项后面的时间格式:

[[CC]YY]MMDDHHmm[.SS]

CC

年份的前两位

YY

年份的后两位

MM

月份[01-12]

DD

日起[01-31]

hh

[00-23]

mm

[00-59]

SS

[00-59]

【实例3】变更文档时间戳,文件名记错了,或者写错了,又不想创建新文件,使用选项c

        touch -c ststemctl

【实例4】单独修改时间(访问时间)

修改访问时间:

          touch -at 200808080808.08 systemctl

注意:为什么改动时间会变化,是因为本身touch -at 200808080808.08 systemctl   这条命令在修改文件的属性,所以改动时间会随之记录用户的操作痕迹,但是touch -at 200808080808.08 systemctl   这条命令只作用在访问时间!!!!

【实例5】自定义时间戳(同实例2

       touch -d "01-December-2017" systemctl

【实例6】修改时区

GMT:格林尼治时间

       touch -d GMT7 GMT8

6echo   回显,打印输出到屏幕

7》输入输出重定向

Linux中,每一进程都有三个特殊的文件描述指针

标准输入(standard input   文件描述指针为0

标准输出(standard output 文件描述指针为

标准错误输出(standard error   文件描述指针为2

这三个特殊文件描述指针使进程在一般情况下接收标准输入终端的输入,同时由标准终端来显示输出,Linux同时也向使用者提供可以使用普通文件或管道来取代这些标准输入输出设备。在shell中,使用者可以利用“>”和“<”来进行输入输出重定向

 

输出重定向:

Command  >filename

将命令的输出结果重定向到一个文件中

Command  &>filename

将命令的标准错误输出一起重定向到一个文件中

Command  >>filename

将标准输出的结果追加到文件中

Command  &>>filename

将标准输出和标准错误输出的结果都追加到文件中

输入重定向:

   ls < qq

ls命令执行的目标是qq的结果,系统在执行ls <qq这条命令时,先执行qq再把qq的结果输入给ls命令使用

内置输入重定向

应用场景:菜单中会使用

      cat << END

权限命令

一:权限释义

d

文件类型

rwxrwxrwt

权限

2

链接数

root  root

第一个是拥有者;第二个是所属组

19

文件大小

4 1 1032

修改时间(不是创建时间)

/tmp

文件名

 

【权限】释义

读、写、执行

 

拥有者

所属组

附加组

 

Linuxll查看到的权限每三位三位划分,依次代表:拥有者(rwx)、所属组(rwx)、其他来宾(rwt

r

4

w

2

x

执行

1

t

特殊权限  sticky


s

特殊权限   SUID/SGID


-

没权限


二:修改权限的命令   chmod

【参数设置】:

chmod  对象{-+=}权限{rwxst}   文件

 

对象:拥有者、所属组、其他人

a

所有用户

u

拥有者,创建者

g

所属组,同组的用户

o

除了拥有者和同组用户之外的用户

-

清除权限

+

增加权限

=

设置唯一的权限

常用设置:

  g+w  增加组用户的写权限

  o-rwx  清除其他用户的全部访问权限

  u+x   允许文件属主执行文件

  a+rw  允许所有用户读和写文件

  ug+r  允许文件属主和属组用户读文件

  g=rx  设置属组用户只能读和执行文件(不可写)

通过增加- R 参数,可以改变整个目录树的权限 

注意:不可以使用u+7等方法给权限

三:创建文件系统给的默认权限

文件默认的权限是644,这是系统认为最安全的权限

目录默认的权限是755

四:递归修改目录下的所有文件和目录的权限

 

注意:通过-R选项,可以修改整个目录树的权限




ACL权限:

注意:如果chmod修改的权限与ACL权限冲突,ACL---> 权限

getfacl

查看ACL权限


Setfacl

设置ACL权限





 

【格式】setfacl  选项   权限设置    filename










本文出自 “linux” 博客,请务必保留此出处http://gaojingjing.blog.51cto.com/12066507/1856344

以上是关于linux上的文件管理类命令的主要内容,如果未能解决你的问题,请参考以下文章

linux上的文件管理类命令

Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。

linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示

Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。

Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示

Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示(待补全)