设为首页 收藏本站
查看: 843|回复: 0

[经验分享] linux上的文件管理类命令

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-9-26 08:56:00 | 显示全部楼层 |阅读模式
目录操作命令
1》ls
查看文件或目录的工具,列出目录
用法:ls [选项]... [文件]…

【选项】
-l
出文件名之外,列出文件的类型、权限、所有者、所属组、文件大小、修改时间等详细信息     
-a
不隐藏任何以. 开始的项目
-A
列出除. 及.. 以外的任何项目(不列出“.”当前目录及“..”父目录)
-R
递归列出目录内容,若目录下有项目(文件或目录),则以下之文件皆依序列出
-n
类似 -l,但列出UID 及GID 号
-F
在列出的文件名称后加一个符号,去区分文件类型;例如*代表可执行文件;/代表是目录;@代表链接文件;普通文件之后不加符号

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

2》cd
更改目录,切换目录
用法:cd  目标目录
注意:cd  命令之后不可以跟文件

.
当前目录
..
父目录
cd ..
切换到父目录,切换到上一级目录
cd
类似cd ~ 命令,切换到当前用户家目录
cd  ~
切换到当前用户的家目录
cd  -
返回上一次所处的目录
Cd \
类似于cd  "  test"命令中的双引号(也可以是单引号);切换到名称带有空格的目录
3》pwd    显示当前所处的目录,目前所在的目录
pwd  -P
显示实际的工作目录,而非使用链接路径
4》mkdir     创建目录
mkdir
只能在已存在的目录下创建目录
mkdir   -p
帮助你直接将所需的目录递归创建起来。(在一个不存在的上级目录里面创建目录)
5》rmdir   删除空目录
rmdir
只能删除空目录
rmdir  -p
递归删除空目录
6》rm     删除文件或目录
rm
只能删除文件
rm -r
删除目录及目录下的项目(文件和目录)
rm -f
不提示强制删除
rm  -rf   *
强制删除所有文件,但是不包含隐藏文件。谨慎使用!!!!!
   同时删除多个文件或目录
每个项目以空格隔开
7》mv  移动文件或目录
mv 原文件路径    目标文件路径   
移动

1.如果原文件名称在移动过程中没有改名称,移动之后,目标路径下的文件与原文件名称相同
在目标目录下不要添加文件名称,只写路径
      2.移动文件的同时修改文件名称
在目标路径后面跟上要修改的文件的名称,文件名称自定义


选项:
-f
不提示并覆盖文件
-n
不覆盖已存在文件
-b
覆盖之前把原文件做备份,备份的文件在文件名之后有个~符号
-u
只有原文件比覆盖的文件新的时候才可以覆盖文件;旧文件不能覆盖新文件
8》du    显示目录的磁盘使用情况
注意:du查看目录大小,这条命令并没有什么用,(看情况,shell脚本有时候会用到)。它虽然可以显示文件或目录占用的磁盘空间,但是当你要查找某一个文件或目录的时候,还是需要一页一页去查看信息
9》df     查看所有已挂载磁盘使用情况
第一列:文件系统对应的磁盘分区
第二列:分区的总空间大小,含的数据块的数据
第三\四列:已用和未用的空间大小
第五列:用户空间使用的百分比
第六列:文件系统的挂载点
注意:df中的已用和未用的空间大小相加与du看到的用磁盘的空间大小不等于磁盘总空间大小,这是因为分区留了少量的空间提空给系统管理员使用
文件命令

1》Linux系统中使用以下命令来查看文件的内容
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行内容

2》find    在指定路径查找文件
用法:find    [选项]   参数
实例: 查找根目录下的passwd文件
     #find / -name passwd
用法:find    路径       选项( 指定查找的文件)         具体查找的文件
   基本上只要是忽略大小写的,参数一般都是-i
反选,否定匹配的参数   --使用叹号
find命令总结:
1:find命令通常单独使用
2:find只能搜索目录或文件,不能搜索文件内的具体内容
3》grep     搜索  
注意:find命令通常单独使用;grep命令通常个其他命令配合使用,通常和管道符一起  【   |  】
grep搜索的关键字不一定要写全,find后面的关键字必须写全,如果不写全称则搜索失败,或者不记得全称可以使用通配符。
   【实例1】grep的简单用法
          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

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

-v
反选
^xx
匹配以xx开头的行
xx$
匹配以xx结尾的行
^$
匹配空行
4》stat
显示文件的所有信息,甚至包括存储该文件的设备的设备号
最近访问access:只要查看过文件,这个时间就会随之变化
最近改动change:修改文件的名称等信息,这个时间就会随之变化
修改文件的内容,同时三个时间都会随之变化
最近更改时间modify:

  ls -l file : 查看文件修改时间
  ls -lc file: 查看文件改动时间
  ls -lu file: 查看文件访问时间
5》touch   
【解释】
用于修改文件或目录的时间属性,包括存储时间、更改时间。如果文件不存在,则系统或建立一个新文件。
创建空文件(衍生出来的)
【问题】生产环境中为什么使用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

6》echo   回显,打印输出到屏幕
7》输入输出重定向
在Linux中,每一进程都有三个特殊的文件描述指针
标准输入(standard input   文件描述指针为0)
标准输出(standard output 文件描述指针为1  )
标准错误输出(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 10:32
修改时间(不是创建时间)
/tmp
文件名

【权限】释义
读、写、执行

拥有者
所属组
附加组

Linux里ll查看到的权限每三位三位划分,依次代表:拥有者(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








运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-277492-1-1.html 上篇帖子: centos7修复实验 下篇帖子: Linux下的文件系统管理 文件管理 linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表