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

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 目录下所有 passwdfind /etc/ -name passwd# 按查找深度root@dly-virtual-machine:/home/dly# find /etc -maxdepth 1 -name passwd/etc/passwdroot@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 20kroot@dly-virtual-machine:/home/dly# find /mnt -size -20k    # 小于 20k/mntroot@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     # 深度为 1tree -a     # 显示所有文件和目录

12、basename

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

# 获取末尾的文件名或路径名$ basename /etc/passwdpasswd$ basename /etc/man.configman.config$ basename /etcetc# 去掉末尾的指定字符,第二个参数指定后缀名即可$ basename /etc/man.configman.config$ basename /etc/man.config .configman# 取消指定字符$ 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.txtchattr -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 规范生成。当进行检查时,给出的输入格式应该和程序的输出样板格式相同。默认的输出模式时输出一行校验和的校验结果,并有一个字符来表示文件类型("*"代表二进制," "代表纯文本),并同时显示每个文件的名称

示例:

# 以二进制形式显示 md5root@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.md5root@dly-virtual-machine:/home/dly/test# ls1.jpg  2.jpg  a  a.md5  a.txtroot@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: 确定
(0)

相关推荐

  • Linux 文件基本属性及修改

    Linux 系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限. 为了保护系统的安全性,Linux 系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定. 在 Linux ...

  • Debian应用-1.2 类Unix文件系统

    1.2 类Unix文件系统在GNU/Linux和其他类Unix操作系统中,文件被组织到目录中.所有的文件和目录排放在以"/"为根的巨大的树里.Unix系统上叫做目录,某些其他系统上 ...

  • UC头条:这里有你不知道的关于Linux中权限的知识

    我们在平常玩电脑的时候,经常会遇到这样的情况,系统报错:您无权限访问该资源. 点击加载图片 这就是因为权限的原因而导致的问题,不仅在windows系统中会遇到这样的问题,在我们Linux系统中我们也会 ...

  • Linux 文件、目录操作

    Linux中的路径只能使用/,不能使用\ 或\\. cd   切换目录 cd  /    切换到系统根目录,cd即change dir cd  /bin  切换到根目录下的bin目录 cd  ..  ...

  • Linux 文件与目录管理

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

  • Linux文件存储结构,包括目录项、inode、数据块

    大部分的Linux文件系统(如ext2.ext3)规定,一个文件由目录项.inode和数据块组成: 目录项:包括文件名和inode节点号. Inode:又称文件索引节点,包含文件的基础信息以及数据块的 ...

  • 认识Linux之文件和目录

    认识Linux之文件和目录

  • 【Linux笔记】文件及目录管理命令

    往期资料  == 菜单栏下有更多资料 资源分享 | 嵌入式相关 资源分享 | 编程语言类 资源分享 | Linux相关资料 资源分享 | 数据结构与算法 前言 之前分享的Cygwin是一个在windo ...

  • linux磁盘空间 目录查看清理 和 文件查看清理

    =========================大目录排查============================= 一.首先查看磁盘挂载,磁盘空间使用情况 1.进入根路径 cd / 2.查看磁盘挂 ...

  • 如何使用Linux命令行删除文件和目录

    [日期:2019-08-06] 来源:Linux公社 作者:醉落红尘 在本教程中,我们将向您展示如何使用rm命令通过示例和最常见的rm选项的说明来删除文件和目录. 如何删除文件 要从命令行删除(或删除 ...

  • Excel制作文件夹目录,不受版本限制,新增文件自动更新

    Hello,大家好,之前跟大家分享了如何使用power query与HYPERLINK函数来制作一个Excel文件目录,但是有粉丝表示他们的Excel版本不支持power query用不了,今天跟大家 ...

  • Linux文件命令

    linux中tar命令用法 把常用的tar解压命令总结下,当作备忘: tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独 ...