N26-第二周

一、文件管理类命令

  • pwd:显示工作目录
  • cd:切换目录
cd [dir] cd: 切换回家目录;注意:bash中, ~表示家目录; cd ~:切换回自己的家目录 cd ~USERNAME:切换至指定用户的家目录; cd -:在上一次所在目录与当前目录之间来回切换;
相关的环境变量 $PWD:当前工作目录 $OLDPWD:上一次的工作目录
  • file:查看文件内容类型
file FILE...
  • ls:文件与目录的检视
ls [OPTION]... [FILE]... -a 全部文件,包括隐藏文件(开头为 . 的文件)
-A  全部文件,包括隐藏文件,但不包括 . 与 .. 这两个目录 -d 仅列出目录本身,而不列出目录下的文件数据
-h  将文件大小以人类较易读取的方式列出
-r  逆序显示
-R  递归显示,连同子目录内容一起列出 -l 长数据串行输出,连同子目录内容一起列出
  • mkdir:创建新目录
mkdir [OPTION]... DIRECTORY...
-m  直接给定权限 -p  自动创建父目录 -v  显示详细过程
  • rmdir:删除空目录
rmdir [OPTION]... DIRECTORY...
-p  删除某目录后,如果其父目录为空,则删除父目录 -v  显示过程
  • tree:以树状图列出文件目录结构
tree [OPTION] [DIRECTORY] -L 制定要显示的层级
  • cat:连接、查看文件
cat [OPTION]... [FILE]...
-n  打印行号(包括空白行)
-b  打印行号(不包括空白行)
-E  显示段行字符$
  • tac:反向显示
-n  打印行号(包括空白行)
-E  显示段行字符$
  • head:显示前面行
head [OPTION]... [FILE]...
-n  显示n行

后面100行的数据都不打印,只打印/etc/man_db.conf的前面几行

[root@localhost ~]# head -n -100 /etc/man_db.conf
  • tail:显示后行
tail [OPTION]... [FILE]...
-n 显示n行 -f 查看文件尾部内容结束后不退出,跟随显示新增的行

不知道/etc/man_db.conf有几行,却只想列出100行以后的数据时

[root@localhost ~]# tail -n +100 /etc/man_db.conf
  • touch:创建新文件或修改文件时间
touch [OPTION]... FILE...
-c  制定的文件路径不存在时不予创建 -a 仅修改access time
-m  仅修改modify time
-t  修改时间 [[CC]YY]MMDDhhmm[.ss]]
  • stat:查看文件状态
stat [OPTION]... FILE...

Access time:最近访问时间(该文件被取用)
Modify time:最近更改时间(内容数据变更)
Change time:最近改动时间(属性权限属性)

  • cp:复制文件或目录
单源复制
cp [OPTION]... [-T] SOURCE DEST
多源复制
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
-i  交互式复制,即覆盖前提醒用户确认 -f  强制覆盖文件 -r  递归复制目录 -p  连同文件属性(权限、用户、时间)一起复制 -d  复制符号链接文件本身,而非其指向的源文件 -a  -dR --preserve=all, archive,用于实现归档 --preserv=  mode        权限
            ownership   属主和属组
            timestamps  时间戳
            context     安全标签     
            xattr       拓展属性
            links       符号链接
            all         上述所有属性
  • rm:移除文件或目录
rm [OPTION]... FILE...
-i  交互式删除 -f  强制删除 -r  递归删除  注意:
危险命令   rm -rf /* 
建议不用的文件不要直接删除,而是移动至某个专用目录(模拟回收站)
  • mv:移动文件与目录,或更名
mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE...
-f  强制 -i  交互式 -u  若目标文件已经存在,且源文件比较新时,才会更新

二、命令执行状态返回值和命令行展开

  • 命令状态返回值

Linux下,任意一个命令执行结束后,bash都会返回0-22之间的数值以表示命令执行成功与否,返回值保存于变量 $? 中;其中 0 表示执行成功,1-255表示执行错误

  • 命令行展开

~:自动展开为用户的家目录,或指定用户的家目录
{}:分组机制,可承载以逗号,分割的路径列表,并将其展开为多个路径

三、命令行展开实例

实例1
创建/tmp目录下的:a_c, a_d, b_c, b_d

[root@localhost ~]# mkdir /tmp/{a,b}_{c,d}

实例2 (2)、创建/tmp/mylinux目录下的:

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
        ├── lock
        ├── log
        └── run
mkdir -p /tmp/mylinux/{bin,boot/grup,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}

四、元数据信息、时间戳

  • 元数据

任何文件系统中的数据分为数据和元数据。数据是指普通文件中的实际数据,而元数据指用来描述一个文件的特征的系统数据,如访问权限、文件所有者以及文件数据块的分布信息等。
文件的元数据是指文件的属性、大小、创建时间、访问时间、属主属组等信息

查看元数据的命令: stat 、ls -l

[root@localhost ~]# stat /tmp/metadata  文件:"/tmp/metadata" 大小:0 块:0 IO 块:4096 普通空文件
设备:fd00h/64768d Inode:3114079 硬链接:1 权限:(0644/-rw-r--r--)  Uid:( 0/    root)   Gid:( 0/    root)
最近访问:2017-03-07 15:35:06.461245040 +0800 最近更改:2017-03-07 15:35:06.461245040 +0800 最近改动:2017-03-07 15:35:06.461245040 +0800 创建时间:-
[root@localhost ~]# ll /tmp/metadata  -rw-r--r-- 1 root root 0 37 15:35 /tmp/metadata
  • 时间戳
    Access time:最近访问时间(该文件被取用)
    Modify time:最近修改时间(内容数据变更)
    Change time:最近状态改动时间(属性权限属性)

可以使用 touch 命令更改时间戳

touch [OPTION]... FILE...
-c  制定的文件路径不存在时不予创建 -a  仅修改access time -m  仅修改modify time -t  修改时间 [[CC]YY]MMDDhhmm[.ss]]

更改Atime和Mtime

[root@localhost ~]# touch -t 202003071620.00 /tmp/metadata  [root@localhost ~]# stat /tmp/metadata  文件:"/tmp/metadata" 大小:0 块:0 IO 块:4096 普通空文件
设备:fd00h/64768d Inode:3114079 硬链接:1 权限:(0644/-rw-r--r--)  Uid:( 0/    root)   Gid:( 0/    root)
最近访问:2020-03-07 16:20:00.000000000 +0800 最近更改:2020-03-07 16:20:00.000000000 +0800 最近改动:2017-03-07 15:49:38.052929055 +0800 创建时间:-

单独更改Atime

[root@localhost ~]# touch -at 200804082030.30 /tmp/metadata  [root@localhost ~]# stat /tmp/metadata  文件:"/tmp/metadata" 大小:0 块:0 IO 块:4096 普通空文件
设备:fd00h/64768d Inode:3114079 硬链接:1 权限:(0644/-rw-r--r--)  Uid:( 0/    root)   Gid:( 0/    root)
最近访问:2008-04-08 20:30:30.000000000 +0800 最近更改:2020-03-07 16:20:00.000000000 +0800 最近改动:2017-03-07 15:51:45.523721970 +0800 创建时间:-

五、定义别名,引用另一命令的执行结果

  • alias(定义别名)、unalias(取消别名)
alias [name[=value] ...]
unalias  [name ...]

[root@localhost ~]# alias cls=clear [root@localhost ~]# unalias cls
  • 引用命令执行结果
$(COMMAND) 或 `COMMAND`

[root@localhost ~]# mkdir /tmp/mytest1//{$(date +%F),`date +%T`} [root@localhost ~]# ll /tmp/mytest1/ 总用量 0 drwxr-xr-x 2 root root 6 37 16:08 16:08:29 drwxr-xr-x 2 root root 6 37 16:08 2017-03-07
  • 显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
[root@localhost ~]# ls -d /var/l*[0-9]*[[:lower:]]
  • 显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
[root@localhost ~]# ls -d /etc/[0-9]*[^0-9]
  • 显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
[root@localhost ~]# ls -d /etc/[^[:alpha:]][[:alpha:]]*
  • 在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
[root@localhost ~]# touch /var/tfile-$(date +%F)-`date +%H-%M-%S` 或
[root@localhost ~]# touch /var/tfile-$(date +%F-%H-%M-%S)
  • 复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
[root@localhost ~]# cp -r /etc/p*[^0-9] /tmp/mytest1/ 需要先创建mytest1
  • 复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
[root@localhost ~]# cp -r /etc/*.d /tmp/mytest2  需要先创建mytest2
  • 复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
[root@localhost ~]# cp -r /etc/[lmn]*.conf /tmp/mytest3
需要先创建mytest3

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

(0)
zclp610zclp610
上一篇 2017-03-07 15:18
下一篇 2017-03-07 21:31

相关推荐

  • 集中练习5-磁盘分区、文件系统挂载、RAID管理

    集中练习5-磁盘分区、文件系统挂载、RAID管理

    Linux干货 2017-10-27
  • 文本查看及处理工具

    文本查看及处理工具 wc wc命令用来计算数字。利用wc指令我们可以计算文件的Byte数、字数或是列数 语法 wc(选项)(参数) 选项 -c或–bytes或——chars:只显示Bytes数; -l或——lines:只显示列数; -w或——words:只显示字数。 参数 文件:需要统计的文件列表 实例 [root@localhost tmp]# cat …

    Linux干货 2018-03-18
  • 初识Linux

    一,计算机的组成和功能 计算机主要由四个部分组成,内存、缓存、CPU和寄存器。其中缓存及其重要,为CPU和内存之间的缓存,寄存器存放指令,CPU负责执行指令。内存是与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。 二,Linux的主流发行版本 Linux的发行版有数百种之多,其中主流的三种为: Debia…

    Linux干货 2017-12-04
  • 网络班22期+第二周作业练习

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示? Linux上文件管理类命令常用的有:pwd、ls、cd、cp、touch、mv、rm、rmdir 1)pwd:显示当前工作目录 2)ls:列出指定目录下的内容 常用的选项有: -a:列出目录中的所有文件,包括隐藏文件 -A:显示除.和..之外的所有文件 -l,相当于–long,显示…

    Linux干货 2016-08-29
  • 由tty命令产生的好玩的想法

    昨天看了马哥Linux视频的前两天内容,里面讲了到终端的概念,回顾一下:  物理终端:是直接接入本机的显示器和键盘设备。/dev/console  虚拟终端:附加在物理终端之上的以软件方式虚拟实现的终端,CentOS 6默认启动6个虚拟终端 Ctrl+Alt+F#: [1,6] 图形终端:附加在物理终端之上的以软件方式…

    Linux干货 2016-05-16
  • linux 学习(2)

    1 linux 常见的文件管理命令都有哪些?其常用的使用方法。 ls 文件列出命令   常见选项  -l 显示长文本信息          -d 显示当前目录信息          -a 显示所有文件信息     &nb…

    Linux干货 2016-10-09