文件管理命令以及bash特性之命令行展开

一 Linux文件管理

Linux中对文件管理的命令主要有:mkdir rmdir mv rm cp touch file stat等命令

  • 创建目录mkdir

mkdir [OPTION]... DIRECTORY...
[root@MiWiFi-R3-srv testdir]# mkdir /root/dirtest  在/root下创建一个dirtest的目录
常用选项:
    -p 如果父目录不存在同事创建父目录
    -v 显示创建目录的纤细信息
    -m 创建目录时同时设置目录的权限
[root@MiWiFi-R3-srv testdir]# mkdir -vpm 755 /root/dirtest/harry 当父目录不存在先创建父目录再创建子目录并设置权限为755
mkdir: created directory ‘/root/dirtest’ 
mkdir: created directory ‘/root/dirtest/harry’
  • rmdir删除目录

rmdir [OPTION]... DIRECTORY...
[root@MiWiFi-R3-srv testdir]# rmdir /root/dirtest/harry/ 删除一个目录
  • mv移动文件或给文件重命名

mv [OPTION]... [-T] SOURCE DEST
   mv [OPTION]... SOURCE... DIRECTORY
   mv [OPTION]... -t DIRECTORY SOURCE...  
[root@MiWiFi-R3-srv testdir]# mv /etc/fstab /root/  将/etc/fastab移动至/root
[root@MiWiFi-R3-srv testdir]# mv testfile mytestfile 将testfile重命名为mytestfile
  • cp复制文件或目录

cp [OPTION]... [-T] SOURCE DEST
  cp [OPTION]... SOURCE... DIRECTORY
  cp [OPTION]... -t DIRECTORY SOURCE...
 [root@MiWiFi-R3-srv testdir]# cp /etc/passwd /root/ 单源复制将/etc/passwd复制到/root目录下
 [root@MiWiFi-R3-srv testdir]# cp /etc/fstab /etc/profile /root/多源复制将/etc下的fstab和profile复制到root目录下
 常用选项:
    -i 交互复制,复制之前提醒用户
    -f 强制复制目标文件
    -r 递归复制目录,复制目录及目录中的文件
    -d 不复制符号链接的源文件,仅复制符号链接
    -a 保留文件或目录原有属性,进行归档
  • rm删除文件或目录

rm [OPTION]... FILE...
[root@MiWiFi-R3-srv testdir]# rm -rf /root/testdir/ 强制删除该目录以及目录中的内容
常用选项:
       -i 交互式删除
       -r 递归删除
       -f 强制删除

  • stat 显示文件或文件系统状态

[root@MiWiFi-R3-srv ~]# stat abc 显示某文件的大小,块大小访问以及修改时间等
File: ‘abc’
Size: 0     Blocks: 0  IO Block: 4096   regular empty file
Device: fd00h/64768d    Inode: 4186704 Links: 1
    Access: (0644/-rw-r--r--)  Uid: (0/root)   Gid: (0/root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2017-08-05 18:40:00.000000000 +0800
Modify: 2017-08-05 18:40:00.000000000 +0800
Change: 2017-08-05 18:47:05.289878820 +0800
  • touch 创建一个空文件或修改某个文件时间戳

touch [OPTION]... FILE...
[root@MiWiFi-R3-srv testdir]# touch /root/abc 创建一个abc的空文件
[root@MiWiFi-R3-srv ~]# touch -a abc 仅修改access时间
[root@MiWiFi-R3-srv ~]# touch -m abc  仅修改文件modify时间
[root@MiWiFi-R3-srv ~]# touch -t 201708051840 abc 修改为指定的时间
  • file显示文件类型

[root@MiWiFi-R3-srv ~]# file /bin/ls 查看某个文件的类型
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=aa7ff68f13de25936a098016243ce57c3c982e06, stripped

二 Linux的命令状态返回值以及命令行展开

在bash中可通过查看命令状态返回码来判断上一条的命令是否执行成功

  • 成功:0
  • 失败:1-255

[root@MiWiFi-R3-srv ~]# date  输入命令
Sat Aug  5 18:57:01 CST 2017
[root@MiWiFi-R3-srv ~]# echo $? 通过特殊变量查看上一条命令的执行状态返回码
0  代表成功执行
[root@MiWiFi-R3-srv ~]# dater   输入错误命令状态返回码为127
[root@MiWiFi-R3-srv ~]# echo $?
127

bash特性之命令展开

  • ~:自行展开为用户的家目录,或指定用户的家目录
  • {}:可承载一个以逗号分隔的路径列表,并能将其展开为多个路径

练习 1 在/tmp 目录下创建:a_c, a_d. b_c. b_d

[root@MiWiFi-R3-srv ~]# mkdir -v /tmp/{a,b}_{c,d}
mkdir: created directory ‘/tmp/a_c’
mkdir: created directory ‘/tmp/a_d’
mkdir: created directory ‘/tmp/b_c’
mkdir: created directory ‘/tmp/b_d’*

练习2 在/tmp/mylinux目录创建如下结构

[root@MiWiFi-R3-srv ~]# mkdir -pv /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{look,log,run}}
[root@MiWiFi-R3-srv ~]# tree /tmp/mylinux/
/tmp/mylinux/
├── bin
├── boot
│   └── grub
├── dev
├── etc
│   ├── rc.d
│   │   └── init.d
│   └── sysconfig
│   └── network-scripts
├── lib
│   └── modules
├── lib64
├── proc
├── sbin
├── sys
├── tmp
├── usr
│   └── local
│   ├── bin
│   └── sbin
└── var
├── log
├── look
└── run

三 Linux文件的元数据

Linux中文件的元数据包含文件的权限,时间戳,iNode,块大小,硬链接次数所属者以及所属组等等。可通过命令stat查看相信信息

[root@MiWiFi-R3-srv ~]# stat fstab       查看文件的元数据信息
  File: ‘fstab’
  Size: 617     Blocks: 8  IO Block: 4096   regular file
Device: fd00h/64768d    Inode: 4186700 Links: 1
Access: (0700/-rwx------)  Uid: (0/root)   Gid: (0/root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2017-08-05 18:29:25.104977052 +0800
Modify: 2017-08-05 18:29:25.104977052 +0800
Change: 2017-08-05 18:29:25.104977052 +0800
[root@MiWiFi-R3-srv ~]# touch fstab  通过touch命令修改文件的时间戳
[root@MiWiFi-R3-srv ~]# touch -a fstab  仅修改access时间
[root@MiWiFi-R3-srv ~]# touch -m fstab  仅修改modify时间

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

(0)
上一篇 2017-08-13 18:57
下一篇 2017-08-13 21:37

相关推荐

  • linux发行版介绍及其哲学思想

    Linux是一种自由和开源的unix-like操作系统。目前运用领域最广泛、使用人数最多的操作系统。该操作系统的内核是Linus Torvalds在1991年10月5日首次发布。是一个多任务,多用户的操作系统,广泛应用在服务器,手机,平板电脑,电视,电子游戏等领域,我们生活中随处都可以见到linux身影。 Linux诞生 1991 年,在芬兰,赫尔辛基大学的…

    2017-09-16
  • NTP时间服务器

        在集群环境和需要日志同步的多服务器应用中,为了能够保证多台服务器的之间的正常协作,就必须使它们的时间保持一致,在多台服务器上手动调整时间是极其不科学的,这时就需要借助于NTP时间服务器来完成时间的同步。     一、NTP服务器的安装    …

    Linux干货 2015-06-25
  • 程序包的编译安装

    程序包的编译安装 之所以需要安装编译程序包,是为了能及时更新程序包,制作好的rpm包,版本一般都有点老了,所以编译安装是必报的,而且我们可以自己定义安装路径,想卸载直接删除就KO了; 在centos7.3环境下安装apache http服务: 1.首先获取最新的apache源码包下载到/root目录下; 2.检查安装环境,没有就安装环境:   记住…

    Linux干货 2017-03-09
  • 第二周博客作业

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 文件管理类命令:cp,mv,rm 常用的使用方法: cp命令: 单源复制: cp [OPTION]…[-T] SOURCE DEST 多源复制: cp [OPTION]… SOURCE …DIRECTORY cp [OPTION]… …

    Linux干货 2017-02-06
  • 马哥教育网络班22期+第八周课程练习

    1. 请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 网桥:工作在OSI模型的数据链路层,将两个局域网连起来,根据MAC地址来转发帧。它可以有效地连接两个LAN,使本地通信限制在本网段内,并转发相应的信号至另一网段,网桥通常用于连接数量不多的、同一类型的网段,它可以扩展网络的距离或范围,而且可提高网络的性能、可靠性和安全…

    Linux干货 2016-12-19
  • 计算机的组成和其功能

    图:计算机组成架构 计算机由硬件和软件组成 硬件部分: CPU:又称中央处理器,整个系统最高执行单元,执行各种运算,控制电脑自动协调地完成各种操作。 主板:它把计算机的各个部件紧密的连接在一起,各个部件通过主板进行数据传输,计算机重要的“交通枢纽”都在主板上,他的工作稳定性影响整机的工作稳定性。因同CPU的插脚和性能不同,所以针对不同的CPU也有不同的主板。…

    Linux干货 2016-08-08

评论列表(1条)

  • 马哥教育
    马哥教育 2017-08-20 19:10

    一开始的作业比较简单,但都是比较重要的基础,掌握扎实非常的必要,这次作业完成的非常好,再接再励。