1、cd

(change directory)切换到指定目录

- 		返回上次目录
.. 返回上层目录
回车 返回主目录
/ 根目录

2、cp

(copy)复制文件或目录

-r -R 递归复制该目录及其子目录内容
-p 连同档案属性一起复制过去
-f 不询问而强制复制
-s 生成快捷方式
-a 将档案的所有特性都一起复制 cp -r /home/hj/a /tmp

3、find

查找目录及目录下的文件

选项与参数:
1. 与时间有关的选项:共有 -atime, -ctime 与 -mtime 和-amin,-cmin与-mmin,以 -mtime 说明
-mtime n :n 为数字,意义为在 n 天之前的『一天之内』被更动过内容的档案;
-mtime +n :列出在 n 天之前(不含 n 天本身)被更动过内容的档案档名;
-mtime -n :列出在 n 天之内(含 n 天本身)被更动过内容的档案档名。
-newer file :file 为一个存在的档案,列出比 file 还要新的档案档名 2. 与使用者或组名有关的参数:
-uid n :n 为数字,这个数字是用户的账号 ID,亦即 UID
-gid n :n 为数字,这个数字是组名的 ID,亦即 GID
-user name :name 为使用者账号名称!例如 dmtsai
-group name:name 为组名,例如 users ;
-nouser :寻找档案的拥有者不存在 /etc/passwd 的人!
-nogroup :寻找档案的拥有群组不存在于 /etc/group 的档案! 3. 与档案权限及名称有关的参数:
-name filename:搜寻文件名为 filename 的档案(可使用通配符)
-size [+-]SIZE:搜寻比 SIZE 还要大(+)或小(-)的档案。这个 SIZE 的规格有:
c: 代表 byte
k: 代表 1024bytes。所以,要找比 50KB还要大的档案,就是『 -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--r-- 亦即 0744 的档案,使用-perm -0744,当一个档案的权限为 -rwsr-xr-x ,亦即 4755 时,也会被列出来,因为 -rwsr-xr-x 的属性已经囊括了 -rwxr--r-- 的属性了。
-perm +mode :搜寻档案权限『包含任一 mode 的权限』的档案,举例来
说,我们搜寻-rwxr-xr-x ,亦即 -perm +755 时,但一个文件属性为 -rw-------也会被列出来,因为他有 -rw.... 的属性存在!
4. 额外可进行的动作:
-exec command :command 为其他指令,-exec 后面可再接额外的指令来处理搜寻到的结果。
-print :将结果打印到屏幕上,这个动作是预设动作!
eg:
find / -perm +7000 -exec ls -l {} ; ,额外指令以-exec开头,以;结尾{}代替前面找到的内容
| xargs
-i 默认的前面输出用{}代替
eg:
find . -name "*.log" | xargs -i mv {} test4

示例:

# 按文件名查找
# 查找 /etc 目录下所有 passwd
find /etc/ -name passwd # 按查找深度
root@dly-virtual-machine:/home/dly# find /etc -maxdepth 1 -name passwd
/etc/passwd root@dly-virtual-machine:/home/dly# find /etc -maxdepth 2 -name passwd
/etc/cron.daily/passwd
/etc/pam.d/passwd
/etc/passwd # 按文件大小
root@dly-virtual-machine:/home/dly# find /mnt -size 20k
root@dly-virtual-machine:/home/dly# find /mnt -size -20k # 小于 20k
/mnt
root@dly-virtual-machine:/home/dly# find /mnt -size +20k # 大于 20k # 按文件类型
find /dev -type f # 普通文件
find /dev -type b # 块设备
find /dev -type s # 套接字
find /dev -type p # 管道
find /dev -type d # 目录 # 按权限查找 ##查找文件权限为404的文件
[root@localhost mnt]# find /mnt -perm 404
/mnt/file2 ##查看文件权限中u位有r权限,并且o位有r权限的文件
[root@localhost mnt]# find /mnt -perm -404
/mnt
/mnt/file1
/mnt/file2 ##查看文件权限中u位有r权限,或者o位有r权限的文件
[root@localhost mnt]# find /mnt -perm /404

4、mkdir

(make directory)创建文件夹

-p  递归创建目录,若父目录不存在则依次创建
-m 自定义创建目录的权限 eg:mkdir -m 777 hehe
-v 显示创建目录的详细信息

5、mv

(move)移动或重命名文件(重命名时会删除源文件,cp 不会)

-b  覆盖前做备份
-f 如存在不询问而强制覆盖
-i 如存在则询问是否覆盖
-u 较新才覆盖
-t 将多个源文件移动到统一目录下,目录参数在前,文件参数在后 eg:
mv a /tmp/ 将文件a移动到 /tmp目录下
mv a b 将a命名为b
mv /home/zenghao test1.txt test2.txt test3.txt

6、pwd

(print working directory)显示当前工作目录的绝对路径。

7、rename

重命名文件

Usage:rename [-v] [-n] [-f] perlexpr [filenames]

-v(verbose)     打印被成功重命名的文件
-n(no-act) 只显示将被重命名的文件,而非实际进行重命名操作
-f(force) 覆盖已经存在的文件
perlexprPerl语言格式的正则表达式
files需要被替换的文件(比如*.c、*.h),如果没给出文件名,将从标准输入读 【常用通配符说明】
? 表示一个任意字符
* 表示一个或一串任意字符
-------------------------------------------------
【常用正则表达式符号说明】
^ 匹配输入的开始位置
$ 匹配输入的结尾
. 匹配除换行符外的任意字符
+ 匹配前一个字符一次或多次 例如,"zo+"可以匹配"zoo",但不匹配"z"
[a-z] 表示某个范围内的字符,例如,"[a-z]"匹配"a"与"z"之间的任何一个小写字母字符。
[^m-z] 否定的字符区间。与不在指定区间内的字符匹配。

示例:


[root@localhost www]# rename 's/\.sh/\.php/' * #将当前目录下.sh后缀的文件,变成.php [root@localhost www]# rename 's/$/\.bak/' /home/www/*.php #给www目录下的.php加上bak后缀 [root@localhost www]# rename 's/^/bak_/' *.bin #给当前目录下的.bin后缀文件加上bak_前缀 [root@localhost www]# rename 's/\.bin$//' * #批量删除当前目录下所有文件的.bin 后缀 [root@localhost www]# rename 's/A-Z/a-z/' * #修改当前目录所有文件名为小写

8、rm

(remove)删除一个或多个文件或目录

-r  删除文件夹
-f 删除不提示
-i 删除提示
-v 详细显示进行步骤

9、rmdir

(remove empty directories)删除空目录

-v  显示执行过程
-p 若自父母删除后父目录为空则一并删除

10、touch

创建新的空文件,改变已有文件的时间戳属性

-a  只修改存取时间
-m 值修改变动时间
-r eg:touch -r a b ,使b的时间和a相同
-t 指定特定的时间 eg:touch -t 201211142234.50 log.log
-t time [[CC]YY]MMDDhhmm[.SS],C:年前两位 eg:
touch a.txt # 新建文件 a.txt

11、tree

以树形结构显示目录下的内容

-a 显示所有文件和目录。
-A 使用ASNI绘图字符显示树状图而非以ASCII字符组合。
-C 在文件和目录清单加上色彩,便于区分各种类型。
-d 显示目录名称而非内容。
-D 列出文件或目录的更改时间。
-f 在每个文件或目录之前,显示完整的相对路径名称。
-F 在执行文件,目录,Socket,符号连接,管道名称名称,各自加上"*","/","=","@","|"号。
-g 列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。
-i 不以阶梯状列出文件或目录名称。
-I<范本样式> 不显示符合范本样式的文件或目录名称。
-l 如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录。
-n 不在文件和目录清单加上色彩。
-N 直接列出文件和目录名称,包括控制字符。
-p 列出权限标示。
-P<范本样式> 只显示符合范本样式的文件或目录名称。
-q 用"?"号取代控制字符,列出文件和目录名称。
-s 列出文件或目录大小。
-t 用文件和目录的更改时间排序。
-u 列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码。
-x 将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该子目录予以排除在寻找范围外。
-L 等级/深度 eg:
tree /home/dly -L 1 # 深度为 1
tree -a # 显示所有文件和目录

12、basename

获取路径中的文件名或路径名

# 获取末尾的文件名或路径名
$ basename /etc/passwd
passwd
$ basename /etc/man.config
man.config
$ basename /etc
etc # 去掉末尾的指定字符,第二个参数指定后缀名即可
$ basename /etc/man.config
man.config
$ basename /etc/man.config .config
man # 取消指定字符
$ basename namedb.data db.data

13、dirname

显示指定路径除了文件名之外的路径前缀

dirname /usr/bin/          -> "/usr"
dirname dir1/str dir2/str -> "dir1" followed by "dir2"
dirname stdio.h -> "."

14、chattr、lsattr

改变(查看)文件的拓展属性

root@dly-virtual-machine:/home/dly/test# lsattr a.txt
-------------e-- a.txt # #设置该文件不能进行任何形势的修改
root@dly-virtual-machine:/home/dly/test# chattr +i a.txt
root@dly-virtual-machine:/home/dly/test# lsattr a.txt
----i--------e-- a.txt chattr -i nginx.conf #取消-i的权限设置 chattr +a /var/log/messages #让某个文件只能往里面追加数据,但不能删除

15、file

显示文件类型

-b
不输出文件名 (简要模式).
-c
检查时打印输出幻数文件的解析结果.常与 -m 一起使用,用来在安装幻数文件之前调试它.
-f 命名文件
从在参数表前的 命名文件 中读出将要检查的文件名(每行一个文件).要有 命名文件 ,或者至少有一个文件名参数; 如果要检查标准输入, 使用``-作为文件参数.
-m list
指定包含幻数的文件列表.可以是单个文件,也可以是 用冒号分开的多个文件.
-n
每检查完一个文件就强制刷新标准输出. 仅在检查一组文件时才有效. 一般在将文件类型输出到管道时才采用此选项.
-v
打印程序版本并退出.
-z
试图查看压缩文件内部信息.
-L
(在支持符号链接的系统上)选项显示符号链接文件的原文件, 就像 ls(1) 命令的like-named 选项.
-s
通常, file 只是试图去检查在文件列表中那些 stat(2) 报告为正常文件的文件的类型.由于读特殊文件将可能导致 不可知后果,所以这样可以防止发生问题.使用 -s 选项时 file 命令也将去读文件列表中的块特殊文件和字符特殊文件. 一般用于从原始磁盘分区中获得文件系统类型,此文件为块 特殊文件. 这个选项也导致 file 命令忽略 stat(2) 报告的文件大小,因为在有些系统中原始磁盘分区的大小报告为0.

示例:

$ file *        # 查看当前文件的类型
$ file a.txt # 查看单个文件的类型
$ file -z test.bz2 # 查看压缩文件中的文件类型

16、md5sum

计算和校验文件的 MD5 值

用法:md5sum [选项]... [文件]...
显示或检查 MD5(128-bit) 校验和。
若没有文件选项,或者文件处为"-",则从标准输入读取。 -b, --binary 以二进制模式读取
-c, --check 从文件中读取MD5 的校验值并予以检查
-t, --text 以纯文本模式读取(默认) 以下三个选项在进行校验时非常有用:
--quiet 不为校验成功的文件输出OK
--status 不输出任何内容,使用退出状态号显示成功
-w, --warn 对格式不准确的校验和行进行警告 --strict with --check, exit non-zero for any invalid input
--help 显示此帮助信息并退出
--version 显示版本信息并退出 校验和会按照RFC 1321 规范生成。当进行检查时,给出的输入格式应该和程序的输出
样板格式相同。默认的输出模式时输出一行校验和的校验结果,并有一个字符来
表示文件类型("*"代表二进制," "代表纯文本),并同时显示每个文件的名称

示例:

# 以二进制形式显示 md5
root@dly-virtual-machine:/home/dly/test# md5sum -b a.txt
d41d8cd98f00b204e9800998ecf8427e *a.txt # 生成md5加密检验和
root@dly-virtual-machine:/home/dly/test# md5sum a.txt > a.md5
root@dly-virtual-machine:/home/dly/test# ls
1.jpg 2.jpg a a.md5 a.txt
root@dly-virtual-machine:/home/dly/test# cat a.md5
d41d8cd98f00b204e9800998ecf8427e a.txt # 检验与文件是否一致
root@dly-virtual-machine:/home/dly/test# md5sum -c a.md5
a.txt: 确定

Linux 文件和目录操作命令(一)的更多相关文章

  1. [转]Linux文件和目录操作命令

    转自:http://www.linuxdiyf.com/bbs/thread-416176-1-1.html 一.文件操作命令1.1 查看文件 Linux下查看文件的命令有很多,下面列出的几个是几乎所 ...

  2. (2)Linux文件和目录操作命令

    简单就是高效 pwd cd -/~/.. tree–a/d/f/i/L mkdir–p/v/m touch ls –l/a//i/h/F cp –r/p/d/a mv rm –f/r/i rmdir ...

  3. Linux常用命令之文件和目录操作命令

    以下是linux操作系统常用的文件和目录操作命令: cd /home 进入 '/ home' 目录'  cd .. 返回上一级目录  cd ../.. 返回上两级目录  cd 进入个人的主目录  cd ...

  4. Linux 150命令之 文件和目录操作命令 ls

    文件和目录操作命令 ls 查看文件和目录查看显示详信息 ls 工具的参数 ls -l 查看文件详细信息 ls -h 查看文件的大小 ls -ld 只查看目录信息 ls –F 给不同文件加上不同标记 l ...

  5. Linux文件和目录权限详细讲解

    转载请标明出处: http://www.cnblogs.com/why168888/p/5965180.html 本文出自:[Edwin博客园] Linux文件和目录权限解读 如何设置Linxu文件和 ...

  6. Linux 文件与目录管理

    Linux 文件与目录管理 我们知道Linux的目录结构为树状结构,最顶级的目录为根目录 /. 其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们. 在开始本教程前我们需要先知道什么是绝对 ...

  7. CentOS(十)--与Linux文件和目录管理相关的一些重要命令②

    在结束了第二期的广交会实习之后,又迎来了几天休闲的日子,继续学习Linux.在上一篇随笔 Linux学习之CentOS(十七)--与Linux文件和目录管理相关的一些重要命令① 中,详细记录了与Lin ...

  8. CentOS(九)--与Linux文件和目录管理相关的一些重要命令①

       接上一篇文章,实际生产过程中的目录管理一定要注意用户是root 还是其他用户. 一.目录与路径 1.相对路径与绝对路径 因为我们在Linux系统中,常常要涉及到目录的切换,所以我们必须要了解 & ...

  9. Linux - 文件和目录常用命令

    文件和目录常用命令 目标 查看目录内容 ls 切换目录 cd 创建和删除操作 touch rm mkdir 拷贝和移动文件 cp mv 查看文件内容 cat more grep 其他 echo 重定向 ...

随机推荐

  1. redis5.0 Cluster集群搭建

    安装redis sudo apt update sudo apt install build-essential tcl cd ~ mkdir document/ cd document/ curl ...

  2. 一段关于用户登录 和乘法表的python代码

    用户登录代码(低配): name = 1password =11counter = 1while counter <3 : a = int(input ('name:')) #注意这里 inpu ...

  3. 使用visual studio 2013读取.mat文件

    现在有一个T.mat 文件需要在c++中处理然后以.mat 或是.txt形式返回 T.mat中存储了十个cell,每个cell中会有一个不等长的数组 1.以下是相关配置过程: 参考:http://we ...

  4. SOAP与REST API的爱恨情仇

    之前一直想写些RESTful相关的文章,却一直未付诸行动.直到最近接手一个新的项目,对这块重新温习,乘此机会写些相关帖子.欢迎大家评论留言,如有错漏之处,也望各位大佬不令赐教. 话不多说,干活顶上. ...

  5. 云原生 - Istio可观察性之监控(四)

    作者:justmine 头条号:大数据与云原生 微信公众号:大数据与云原生 创作不易,在满足创作共用版权协议的基础上可以转载,但请以超链接形式注明出处. 为了方便阅读,微信公众号已按分类排版,后续的文 ...

  6. python中的变量和字符串

    一.变量 1.python变量 *变量用于存储某个或某些特定的值,它与一个特定标识符相关联,该标识符称为变量名称.变量名指向存储在内存中的值.在创建变量时会在内存中开辟一个空间.基于变量的数据类型,解 ...

  7. 编译出适合自己的nginx

    上面是解压后的nginx源码 auto目录 上面的cc目录用于编译,lib库 os目录对系统进行判断,其他所有文件都是辅助conf脚本执行 判定nginx支持哪些模块,当前操作系统有哪些特性. CHA ...

  8. PC微信逆向--实现消息防撤回

    自从聊天软件消息撤回功能问世后,对于撤回的消息,我们对它一直有种强烈的好奇感."Ta刚撤回了什么?是骂我的话?还是说喜欢我?还是把发给其他人的消息误发给了我?好气呀,都看不到了...&quo ...

  9. 使用 GitHub Actions 实现 Hexo 博客自动部署

    一.Hexo 相关知识点 静态博客简单,但是发布博文时稍显麻烦,一般需要下面两步: hexo clean hexo g -d // 相当于 hexo g + hexo d 如果考虑到同步源文件,还需要 ...

  10. java8 Stream API笔记

    生成Stream Source的方式 从Collection和数组生成 * Collection.stream() * Collection.parallelStream() * Arrays.str ...