文档目录:

一、pwd:显示当前位置

二、cd:切换目录

三、tree:树形结构显示目录

四、mkdir 创建目录

五、touch:创建空文件或改变文件时间戳

六、ls:显示目录下内容相关属性信息

七、cp:复制文件或目录

八、mv:移动或冲命令

九、rm:删除文件或目录

十、rmdir:删除空目录

十一、ln:建立硬、软链接

十二、readlink:查看符号链接文件内容

十三、find:查找目录下文件

十四、xargs:将标准输入转换成命令行参数

十五、rename:重命名

十六、basename:显示文件名或目录名

十七、dirname:显示文件或目录路径

十八、chattr:改为文件扩展属性

十九、lsattr:查看文件属性

二十、file:显示文件类型

二十一、md5sum:计算与校验文件MD5值

二十二、chown:改为文件或目录的用户和用户组

二十三、chmod:改变文件或目录权限

二十四、chgrp:更改文件用户组

二十五、umask:显示或设置权限掩码

---------------------------------------分割线:正文--------------------------------------------------------

一、pwd:显示当前位置

1、pwd:print working directory

2、 #显示逻辑路径

pwd -L 同echo $pwd

3、显示链接路径

二、cd:切换目录

1、cd:change directory

2、cd -P:切换到链接的路径

3、cd -L:切换逻辑目录

4、cd - :切换到用户上一家目录

5、cd ~:切换到用户HOME对于目录,同CD

6、cd.. :切换到上一级目录,同cd . 与 cd ../

三、tree:树形结构显示目录

1、安装:yum -y install tree

2、tree当前目录的结构

3、tree -a:包含.开头的隐藏文件

4、tree -L 1:遍历1层级结构

5、tree -d . 只显示目录

6、tree -f(i):显示完整的路径名称(不显示树枝)

7、tree - L 1 F :区分目录与文件

过滤目录

过滤斜线结尾(等于过滤目录)

四、mkdir 创建目录

1、mkdir:make directory

2、mkdir dir1 dir2 #创建多个目录

3、mkdir -p #递归创建目录,存在目录时不报错

4、mkdir -pv #显示创建过程

5、创建多目录1:mkdir -pv dir0/{dir1-1,dir1-2}/{dir2-1,dir2-2}

创建多目录2:mkdir -pv test/dir{1..5} ok/{a..e}

6、mkdir -m 333 dir2 #创建目录并设置权限

7、简单介绍{}用法

echo {b,c}

echo a{b,c}

echo a{,c}

echo {1..8} 1{a..h}

8、克隆目录结构

mkdir -pv test/dir{1..5} ok/{a..e}

tree -fid --noreport test >> ~/.test.txt

cd  /tmp/

mkdir -p `cat _/.test.txt`(反引号)

五、touch:创建空文件或改变文件时间戳

1、touch a.txt b.txt #创建多个空文件

2、查看时间戳:stat a.txt

3、分别查询对应的时间戳

ls -lu:access time

ls -lt:modify time

ls -lc:change time

4、touch -m a.txt   #更改最后修改时间

5、touch -a a.txt   #更改最后访问时间

6、touch -d 20201001 a.txt   #指定创建/修改的时间(修改时间)

7、修改b.txt时间属性与a.txt一致(修改时间)

touch -r a.txt b.txt

8、设置文件为 201512312234.50的时间格式

touch -t 201512312234.50 a.txt

六、ls:显示目录下内容相关属性信息

1、ls=list directory contents 同dos下dir命令

2、ls -a  #含隐藏文件,其中.为当前目录 ..为上级目录

3、ls -l  #详细信息含最后修改时间

4、ll --time-style=long-iso #显示完整时间格式

等同于ll --full time

5、ll --time-style=long-iso --time=atime   #显示文件的访问时间

可使用cat进行验证

6、ls -F   #过滤文件及目录

ls -F|grep /   #过滤目录

ls -F|grep -v /   #过滤普通文件

7、ls -l mytest20201204/  #显示目录内内容

ls -ld mytest20201204/   #显示目录本身

8、ls -R:递归查看目录

9、ls -lt   #按照时间顺序排序(最后显示最前的)

ls -lrt  #按照时间顺序倒排(最后显示最后的)

10、 ls -F   #链接展示为@

ls -lF /etc/init.d/  # *代表可执行的普通文件

11、ls -lhi  #-h参数为文件大小人类可读, -i显示文件的inode值,链接相关的

七、cp:复制文件或目录

1、cp=copy centos加了别名cp -i 覆盖需要确认

2、cp -a 包含

cp -p:复制时候保持文件的所有者,权限及时间属性

cp -d:复制链接本身,且保留符号链接指向的文件或目录

cp -r:递归渎职目录

3、cp覆盖直接文件不提示方案

普通复制时候需要人工确认如下:

方法1:/usr/bin/cp file1.txt file2.txt   #使用绝对路径命令-直接覆盖

方法2: \cp file1.txt file2.txt

方法3:unalias cp file1.txt file2.txt   #临时取消别名

方法4:修改系统环境变量(不建议使用)

4、快速备份命令

cp file1.txt{,_backup}

cp -a mytest7{,_backup}

八、mv:移动或冲命令

1、mv=move+rename,默认别名mv -i,提示是否覆盖

2、屏蔽mv别名:\mv file1.txt file2.txt

3、移动多文件*匹配:mv dir* testdir/

4、mv -t testdir1/ dir*   #反转移动

九、rm:删除文件或目录

1、rm=remove files or directories,默认带rm -i

2、rm -rf testdir1/  #强行删除目录,不需要确认

3、rm删除时需要先备份,并且避免使用通配符

十、rmdir:删除空目录

1、rmdir=remove empty directories

2、rmdir -p -v dir1/a/b  #递归删除目录且显示删除过程,顺序为从子目录到父目录

十一、ln:建立硬、软链接

1、ln=link分hard link与symbolic link

2、系统限制,暂无法创建硬链接

3、ln -s dir1/dir1.txt dir_softlink  #软链接不能事先存在

4、文件链接测试

删除源文件,软连接显示为红色

删除软链接,源文件不受影响

十二、readlink:查看符号链接文件内容

1、readlink dir1_softlink

2、readlink -f dir1_softlink   #显示最后一个非符号链接文件

十三、find:查找目录下文件

1、查找指定时间内修改过的文件

find . -atime -2  #查找2天内受到访问的文件

find /tmp/ -mtime -5  #绝对路径下,5天内修改的文件

find /tmp/ -mtime 2  #绝对路径下,2天前修改的文件

2、用-name指定关键字查找

find . -mtime +2 -name '*.txt'  #查找2天前以txt结尾的文件

3、利用!反向查找

find . -type d  #查找所有目录

find . ! -type d  #查找所有非目录

4、按目录或文件的权限查找

find . -perm 755  #查找755权限的内容

5、按照大小查看

find . -size +20c  #查找文件大小>20字节的文件

6、查找文件时忽略目录

find /root/mytest20201204/mytest1/ -path '/root/mytest20201204/mytest1/dir1' -prune -o -print  #忽略单个目录

find  /root/mytest20201204/mytest1/ \( -path /root/mytest20201204/mytest1/dir1 -o -path /root/mytest20201204/mytest1/dir2 \) -prune -o -print #忽略多个文件

7、user与nouser的查找

[root@localhost mytest1]# find . -user nobody  #用户为nobody

[root@localhost mytest1]# find . -nouser #查找无任务用户文件

8、group与nogroup选项(同上)

9、查找出比某个文件新或旧的文件

find . -newer dir3  #查找比dir3新的文件

find . -newer dir1 ! -newer dir2  #查找比dir1新 但比dir2旧的文件

10、逻辑操作符

[root@localhost mytest1]# find . -maxdepth 1 -type d #遍历1层,类似tree -L 1

11、正则表达式

[root@localhost mytest1]# find . -regex "dir" #完全匹配路径为dir,无结果

[root@localhost mytest1]# find . -regex ".*dir" #匹配后缀

[root@localhost mytest1]# find . -regex ".*/dir" #匹配/dir后缀

12、查找并打印

[root@localhost mytest8]# find . -type f -exec ls -l {} \;

13、查找n天前文件并删除

[root@localhost mytest8]# find . -type f -mtime +2 -exec rm {} \;

14、-exec选项安全模式-ok

[root@localhost mytest8]# find . -type f -mtime +2 -ok rm {} \;

15、find+xargs过滤

[root@localhost mytest8]# find . -type f | xargs ls -l #传递查找并显示

[root@localhost mytest8]# find . -name '*.txt' | xargs -i mv {} testdir/ #查找传递并移动

[root@localhost mytest8]# find . -name '*dir*' |xargs -p rm -f #需要确认y、n并删除

16、案例,将目录下所有扩展名.txt文件内test001替换为test002

方法(一)

[root@localhost mytest8]# find . -name '*.txt' -exec sed -i 's#test001#test002#g' {} \;

方法(二)

[root@localhost mytest8]# find . -name '*.txt'|xargs sed -i 's#test001#test002#g'

方法(三):高效方法(反引号优先执行)

[root@localhost mytest8]# sed -i 's#test001#test002#g' `find . -name '*.txt'`

17、删除所有文件但保留其中一个指定的文件

方法(一):

[root@localhost mytest8]# find . -type f ! -name 'dir5.txt' | xargs rm -f

方法(二):

[root@localhost mytest8]# find . -type f ! -name 'dir5.txt' -exec rm -f {} \;

十四、xargs:将标准输入转换成命令行参数

预置数据:

1、[root@localhost mytest8]# xargs < test001.txt #所有数字一行显示

2、[root@localhost mytest8]# xargs -n 3 < test001.txt #每行输出3个

3、echo splitXsplitXsplitXsplitX

[root@localhost mytest8]# echo splitXsplitXsplitXsplitX|xargs -d X #以X作为分隔符

[root@localhost mytest8]# echo splitXsplitXsplitXsplitX|xargs -d X -n2 #每行显示2 #以X作为分隔符,每行显示2

4、xargs -i:指定一个符号替代前面的结果

[root@localhost mytest8]# find . -name 'test*' | xargs -I [] cp [] dir/

十五、rename:重命名

预置:

1、[root@localhost mytest8]# rename '_finished' '' * #将所有文件_finished替换为空

2、[root@localhost mytest8]# rename .jpg .hello *.jpg #将所有.jpg替换为.hello

十六、basename:显示文件名或目录名

1、[root@localhost mytest8]# basename dir1/dir2/dir3/test001.txt #去除路径部分

[root@localhost mytest8]# basename dir1/dir2/dir3/test001.txt .txt #去除路径部分,并去除后缀

十七、dirname:显示文件或目录路径

1、[root@localhost mytest8]# dirname dir1/dir2/dir3/test001.txt

2、[root@localhost mytest8]# dirname test001.txt #根据路径返回相对路径

十八、chattr:改为文件扩展属性

1、[root@localhost mytest8]# chattr +a test001.txt #只能添加数据,不能删除

2、[root@localhost mytest8]# chattr +i test001.txt  #添加只读属性

十九、lsattr:查看文件属性

1、[root@localhost mytest8]# lsattr test001.txt #查看文件

2、[root@localhost mytest8]# lsattr -d testdir/ #查看目录

二十、file:显示文件类型

二十一、md5sum:计算与校验文件MD5值

1、生成一个文件的md5

[root@localhost mytest8]# md5sum test001.txt

2、检测文件是否改变

[root@localhost mytest8]# md5sum -c md5.log

二十二、chown:改为文件或目录的用户和用户组

1、更改文件所属的用户组‘

[root@localhost mytest8]# chown baikang test001.txt

2、更改文件所属的用户组的属性

[root@localhost mytest8]# chown .baikang test001.txt

[root@localhost mytest8]# chown :baikang test001.txt

3、同时更改文件所属的用户和组的属性

[root@localhost mytest8]# chown baikang.root test001.txt

4、递归更改目录下的所有目录文件的用户和用户组属性

[root@localhost ~]# chown -R baikang:baikang mytest20201204/

二十三、chmod:改变文件或目录权限

1、设置权限为空

[root@localhost mytest1]# chmod a= test.txt test.txt

2、设置usr文件属主执行权限

[root@localhost mytest1]# chmod u+x test.txt

3、设置group文件用户组可写权限

[root@localhost mytest1]# chmod g+u test.txt

4、设置other其他用户可读权限

[root@localhost mytest1]# chmod o+r test.txt

5、设置多权限

[root@localhost mytest1]# chmod a= test.txt
[root@localhost mytest1]# chmod ug+r,o+r test.txt

6、常用权限

目录:755

文件:644

全量:777

二十四、chgrp:更改文件用户组

1、chgrp testuser test.txt   #更改文件

2、chgrp -R root dir/  #递归更改目录下文件

二十五、umask:显示或设置权限掩码

1、文件权限=666-掩码

2、目录权限=777-掩码

3、root用户默认掩码:0022

4、普通用户默认掩码:0002

5、umask 044  #临时生效

一、pwd:显示当前位置

Liunx运维(二)-文件与目录操作的更多相关文章

  1. Liunx运维(三)-文件过滤及内容编辑处理

    文档目录: 一.cat:合并文件或查看文件内容 二.tac:反向显示文件内容 三.more:分页显示文件内容 四.less:分页显示文件内容 五.head:显示文件头部内容 六.tail:显示文件尾部 ...

  2. Python之文件与目录操作及压缩模块(os、shutil、zipfile、tarfile)

    Python中可以用于对文件和目录进行操作的内置模块包括: 模块/函数名称 功能描述 open()函数 文件读取或写入 os.path模块 文件路径操作 os模块 文件和目录简单操作 zipfile模 ...

  3. 【转】Python之文件与目录操作(os、zipfile、tarfile、shutil)

    [转]Python之文件与目录操作(os.zipfile.tarfile.shutil) Python中可以用于对文件和目录进行操作的内置模块包括: 模块/函数名称 功能描述 open()函数 文件读 ...

  4. Python之文件与目录操作(os、zipfile、tarfile、shutil)

    Python中可以用于对文件和目录进行操作的内置模块包括: 模块/函数名称 功能描述 open()函数 文件读取或写入 os.path模块 文件路径操作 os模块 文件和目录简单操作 zipfile模 ...

  5. Java编程的逻辑 (59) - 文件和目录操作

    本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...

  6. Python::OS 模块 -- 文件和目录操作

    os模块的简介参看 Python::OS 模块 -- 简介 os模块的进程管理 Python::OS 模块 -- 进程管理 os模块的进程参数 Python::OS 模块 -- 进程参数 os模块中包 ...

  7. Python中的文件和目录操作实现

    Python中的文件和目录操作实现 对于文件和目录的处理,虽然可以通过操作系统命令来完成,但是Python语言为了便于开发人员以编程的方式处理相关工作,提供了许多处理文件和目录的内置函数.重要的是,这 ...

  8. 零基础学Python--------第10章 文件及目录操作

    第10章 文件及目录操作 10.1 基本文件操作 在Python中,内置了文件(File)对象.在使用文件对象时,首先需要通过内置的open() 方法创建一个文件对象,然后通过对象提供的方法进行一些基 ...

  9. Shell命令-文件及目录操作之ls、cd

    文件及目录操作 - ls.cd 1.ls:列出目录的内容及其内容属性信息 ls命令的功能说明 ls命令用于列出目录的内容及其内容属性信息. ls命令的语法格式 ls [OPTION]... [FILE ...

  10. Shell命令-文件及目录操作之cp、find

    文件及目录操作 - cp.find 1.cp:复制文件或目录 cp命令的功能说明 cp命令用于复制文件或目录. cp命令的语法格式 cp [OPTION]... SOURCE... DIRECTORY ...

随机推荐

  1. Gradle构建微服务项目

    先说一下初衷把:为啥突然要用Gradle,公司后期自研项目都使用Gradle构建...... 1.下载安装 这个就不说了,网上大家搜索一下,配置一下环境变量即可 2.Groovy的一些语法Gradle ...

  2. LeetCode 503:下一个更大的元素|| (单调栈 or 线段树)

    解题思路: 1.单调栈:因为是循环数组,因此把数组复制三遍,ans 数组复制为2倍长,维护一个单调非递增的栈,栈保存的元素是元组(a[i] , i ),如果后面的值有比栈顶元素的值大,栈顶元素出栈,更 ...

  3. 2018年长沙理工大学第十三届程序设计竞赛 G 题:逃离迷宫

    题目链接:https://www.nowcoder.com/acm/contest/96/G 思路:两遍bfs,找到p到k的情况,记录时间:找到E到k的情况,记录时间.题目超时点在于输入需要用scan ...

  4. .net Core中间件实战

    新建一个ASP.NET Core Web Application 项目选中空模板 然后为项目添加一个Microsoft.Extensions.Logging.Console 由于我用的.net cor ...

  5. 放弃JavaFx开发学习

    放弃JavaFx开发学习 一开始学学习JavaFx是想用java写个小游戏,后来学者JavaFx越来越深,发现坑也越来越多,不禁感叹:JavaFx果然是要抛弃的UI玩儿,UI开发还是用react na ...

  6. JavaFx之WebView(二十五)

    JavaFx之WebView(二十五) jfx的web引擎已经几百年没更新,早就放弃了,写写demo还是不错.jdk8u202还能跑vue 3.0项目 import javafx.applicatio ...

  7. JavaFx之全局异常捕获(二十)

    JavaFx之全局异常捕获(二十) javafx开发时,我们有时候需要捕获未处理的异常.手动抛出的异常,在main方法中添加下面代码: public static void main(String[] ...

  8. 数仓调优实践丨SQL改写消除相关子查询

    本文分享自华为云社区<[调优实践]SQL改写消除相关子查询>,作者: 门前一棵葡萄树 . 一.子查询 GaussDB(DWS)根据子查询在SQL语句中的位置把子查询分成了子查询.子链接两种 ...

  9. 40个问题让你快速掌握Java多线程的精髓

    摘要:多线程可以理解为在同一个程序中能够同时运行多个不同的线程来执行不同的任务,这些线程可以同时利用CPU的多个核心运行. 多线程可以理解为在同一个程序中能够同时运行多个不同的线程来执行不同的任务,这 ...

  10. vue3,对比 vue2 有什么优点?

    摘要:Vue3新版本的理念成型于 2018 年末,当时的 Vue 2 已经有两岁半了.比起通用软件的生命周期来这好像也没那么久,Vue3在2020年正式推出,在源码和API都有较大变化,性能得到了显著 ...