对文件目录操作命令详解

  • 对文件目录操作命令详解

    • cd——切换目录

    • pwd——显示当前工作目录

    • ls——列出目录内容

    • touch——创建空文件和刷新时间

    • stat——查看文件状态

    • cp——复制文件和目录

    • mv——移动和重命名文件

    • rm——删除文件或目录

    • 目录操作

      • tree 显示目录树

      • mkdir 创建目录

      • rmdir 删除空目录

      • rm -r 递归删除目录树

  • alias——命令别名

  • 文件通配符

对文件目录操作命令详解

cd——切换目录

cd命令用于切换工作路径,格式为:“cd [目录名称]”。

这个命令应该是最最常用的Linux命令之一了,您可以通过cd命令来便捷的切换不同 
的工作目录,除了常见的切换目录的方式,我们还可以使用“cd ­”命令来返回到上一 
次所处的目录,使用“cd ~”命令来切换到当前用户的家目录,而使用“cd 
~username”
则可以切换到其他用户的家目录了,切换至以前 的工作目录cd -切换至父目录:cd ..

使用“cd 路径”的方式切换进/etc目录中:
[root@localhost tmp]# cd /etc/
[root@localhost etc]# pwd
/etc

pwd——显示当前工作目录

[root@localhost network-scripts]# pwd 
/etc/sysconfig/network-scripts

ls——列出目录内容

用法:

ls [options] [files_or_dirs]

选项参数 
ls -a 包含隐藏文件 
ls -l 显示额外的信息 
ls -R 目录递归通过 
ls -ld 目录和符号链接信息 
ls -1 文件 分行显示 
ls –S 按 按 从大到小排序 
ls –u 配合-t 选项,显示并按 按atime 从新 到旧排序 
ls –U 不排序按目录存放顺序显示

当我们处在不同的工作目录下时,能够直接看到的文件也会发生变化,便可以通过ls 
命令的“­a”参数来看到全部文件(包括隐藏文件),再结合“­l”参数来查看文件的属 
性、大小等详细信息,整合之后的命令效果是这样的:

[root@localhost etc]# ls -al

如果需要看目录文件信息的话,需要额外添加一个­d参数才可以,例如查看/etc目录中文件 
的权限与属性:

[root@localhost etc]# ls -dl /etc/
drwxr-xr-x. 119 root root 8192 Sep 2 01:07 /etc/

touch——创建空文件和刷新时间

touch命令用于创建空白文件与设置文件的各种时间,格式为:“touch [选项] [文件]”。

它能够为我们创建出空白的文本文件,但这实在太简单不需要去讲,例如“touch 
aa”这样就可以创建出一个空白的名为aa的文本文件,而有难度的操作主要是用于设 
置文件的修改时间、更改时间与读取时间。

更改时间(mtime):内容修改时间(不包括权限的)
更改权限(ctime):更改权限与属性的时间
读取时间(atime):读取文件内容的时间

我们可以在修改一个文件前先查看下文件的修改时间,然后再通过touch命令将修改 
后的文件时间设置伪装成自己没有动过的一样,很多黑客就会这么做呢:

参数作用 
-a 仅修改“访问时间”(atime) 
-m 仅修改“更改时间”(mtime) 
-d 同时修改atime与mtime

stat——查看文件状态

stat命令用于查看文件的具体存储信息和时间等信息,格式“stat 文件名称”。 
使用stat命令可以看到文件的存储信息和时间等信息,下面会显示出文件的三种时间 
状态:AccessModifyChange

access time :访问时间,atime ,读取文件内容
modify time:  修改时间, mtime ,改变文件内容(数据)
change time:  改变时间, ctime ,元数据发生改变

cp——复制文件和目录

cp命令用于复制文件或目录,格式为:“cp [选项] 源文件 目标文件”。

在Linux系统中的复制操作其实具体还分为3种情况,第一种情况是如果目标文件是 
个目录,则会将源文件复制到该目录中,第二种情况是如果目标文件也是个普通文 
件,则会提示是否要覆盖它,最后是第三种的情况了,如果目标文件是不存在的, 
则会将源文件修改成目标文件的名称,类似于是重命名的操作。

参数作用 
-p 保留原始文件的属性 
-d 若对象为”链接文件”,则保留该”链接文件”的属性 
-r 递归持续复制(用于目录) 
-i 若目标文件存在则询问是否覆盖 
-a 相当于­pdr(p,d,r为上述的参数)

首先创建一个名为install.log的文件,然后将其复制出来一份名为x.log的备份文件:

[root@localhost zabbix]# touch install.log
[root@localhost zabbix]# cp install.log x.log
[root@localhost zabbix]# ls
a install.log x.log

mv——移动和重命名文件

mv命令用于移动文件或改名,格式为:“mv [选项] 源文件 [目标路径|目标文件名]”。

剪切操作不同于复制操作,因为它会默认将源文件删除掉,用户就只有剪切后的文 
件了,并且如果对一个文件在同一个目录中进行剪切操作,其实也是重命名的作 
用:

[root@localhost zabbix]# mv x.log linux.log
[root@localhost zabbix]# ls
a install.log linux.log

rm——删除文件或目录

rm命令用于删除文件或目录,格式为:“rm [选项] 文件”。

在Linux系统中删除文件时会默认再向您询问是否要执行删除操作,如果不想总看到 
这种反复的确认信息,您可以使用“­f”参数来直接强制删除,另外还要删除于目录文 
件夹的话,必需追加一个“­r”参数才可以,否则是删除不掉的,例如我们来尝试删除 
下刚刚那两个文件吧:

[root@localhost zabbix]# rm -r install.log
rm: remove regular empty file ‘install.log’? y
[root@localhost zabbix]# rm -rf linux.log
[root@localhost zabbix]#

目录操作

tree 显示目录树

-d: 只显示目录 
-L level :指定显示的层级数目 
-P pattern: 只显示由指定pattern 匹配到的

[root@localhost ~]# tree /etc/ -L 1
// 只显示/etc/一级的目录

mkdir 创建目录

mkdir用于创建空白的文件夹,格式为:“mkdir [选项] 目录”。

-p: 存在于不报错,且可自动创建所需的各目录; 
-v: 显示详细信息 
-m MODE: 创建目录时直接指定权限;

在Linux系统中文件夹应该是最常见的文件类型之一,除了一般的创建单个目录操作 
外,我们还可以使用“­p”参数来递归创建出具有嵌套叠层关系的文件目录。

[root@localhost ~]# mkdir zabbix
[root@localhost ~]# cd zabbix/
[root@localhost zabbix]# mkdir -p /a/b/c{1,2}

rmdir 删除空目录

-p: 递归删除父空目录 
-v: 显示详细信息

rm -r 递归删除目录树

alias——命令别名

显示当前shell 进程所有可用的命令别名

[root@localhost ~]# alias 
alias cp='cp -i'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

定义别名NAME ,其相当于执行命令VALUE;

#alias NAME='VALUE'
[root@localhost ~]# alias vinet="vim /etc/sysconfig/network-scripts/ifcfg-eth0"
//定义vinet是编辑网卡的命令,当在命令行输入vinet实际上是执行了vim /etc/sysconfig/network-scripts/ifcfg-eth0

如果想永久有效,要定义在配置文件中

仅对当前用户:~/.bashrc 
对所有用户有效:/etc/bashrc

撤消别名:unalias

[root@localhost ~]# unalias vinet

文件通配符

*  匹配零个或多个字符
?  匹配任何单个字符
~  当前用户家目录
~username  用户家目录
~+  当前工作目录
~-  前一个工作目录
[0-9] 匹配数字范围
[a-z] :大写和小写字母
[A-Z]: : 大写字母
[wxc] 匹配列表中的任何的一个字符
[^wxc]  匹配列表中的所有字符以外的字符

预定义的字符类: :#man 7 glob

[:digit:] :任意数字,相当于0-9
[:lower:] :任意小写字母
[:upper:]:  任意大写字母
[:alpha:]:  任意大小写字母
[:alnum:] :任意数字 或 字母
[:blank:] :水平空白字符
[:space:] :水平或垂直空白字符
[:punct:]: : 标点符号
[:print:] :可打印字符
[:cntrl:] :控制(非打印)字符
[:graph:] :图形字符
[:xdigit:]

原创文章,作者:M20_he,如若转载,请注明出处:http://www.178linux.com/43514

(0)
M20_heM20_he
上一篇 2016-09-06
下一篇 2016-09-06

相关推荐

  • tomcat

      编程语言:硬件级:微码编程,汇编语言系统级:C,C++,…应用级:Java, PHP, Python, Ruby, Perl, C#, …Python: PVMStandard LibraryWeb Framework:Django, Flask, …Java:JVM,JDKbash:bash ex…

    Linux干货 2017-05-22
  • sed命令及vim编辑器

    sed[option]… 'script' inputfile…选项:-n:不输出模式空间内容的自动打印-e: 多点编辑-f /PATH/TO/SCRIPT_FILE: 从指定文件中读取编辑脚本-r: 支持使用扩展正则表达式-i: 原处编辑script:'地址命令' 1.地址定界:(1) 不给地…

    Linux干货 2016-08-11
  • M22 xfs文件系统命令总结

    Centos6.0及之前的默认文件系统是ext系列的,而在最新的Centos7上却使用了xfs作为默认的文件系统。在Centos7中xfs文件系统包括如下命令: xfs_admin:修改xfs文件系统的参数,需要先卸载分区 用法:xfs_admin [ -eflpu ] [ -c 0|1 ] [ -L label ] [ -U uuid ] device x…

    Linux干货 2017-03-16
  • N29 第一周作业

    1、描述计算机的组成及其功能。
    2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
    3、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。
    4、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。
    5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
    6、请罗列Linux发行版的基础目录名称命名法则及功用规定

    Linux干货 2018-03-05
  • lvs的四种调度类型和调度算法介绍

    lvs是linux内核级的负载均衡解决方案,作为netfilter的补充套件,其工作在INPUT hook上。 相比nginx等负载均衡解决方案的差异如下: lvs工作于内核空间,不受用户空间套接字和端口数量的限制,而且所有调度工作在内核空间完成,效率更高; nginx为七层负载均衡器,虽然通过stream模块也可以做到四层负载均衡,但是受到套接字数量限制,…

    Linux干货 2017-06-25
  • ​HA专题: Corosync+Pacemaker+drbd实现MySQL高可用

    HA专题: Corosync+Pacemaker+drbd实现MySQL高可用 前言 实验拓扑 实验环境 实验步骤 安装前准备工作 配置DRBD 配置MySQL 配置Corosync+Pacemaker 测试 我遇到的问题 总结 前言 上篇文章我们介绍了drbd的相关原理、编译安装、简单的实现. drbd虽然可以保证数据的可靠性但是我们上次的实现还…

    Linux干货 2016-04-13