Liunx学习小结2

1. Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
文件管理类命令有:cp、mv、rm
cp [选项] [参数]
选项:
-a:此参数的效果和同时指定”-dpR”参数相同;
-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
-f:强行复制文件或目录,不论目标文件或目录是否已存在;
-i:覆盖既有文件之前先询问用户;
-l:对源文件建立硬连接,而非复制文件;
-p:保留源文件或目录的属性;
-R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
-s:对源文件建立符号连接,而非复制文件;
-u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
-b:覆盖已存在的文件目标前将目标文件备份;
-v:详细显示命令执行的操作。
参数:
源文件:制定源文件列表。默认情况下,cp命令不能复制目录,如果要复制目录,则必须使用-R选项;
目标文件:指定目标文件。当“源文件”为多个文件时,要求“目标文件”为指定的目录。
示例1:将指定文件复制到当前目录下;
~]$ cp ../yangcheng/mageedu/study .
注意:所有目标文件指定的目录必须是己经存在的,cp命令不能创建目录。如果没有文件复制的权限,则系统会显示出错信息。
示例2:将文件file复制到目录/usr/tmp下,并改名为file1;
~]$ cp file /usr/tmp/file1
示例3:将目录/usr/tmp下的所有文件及其子目录复制到目录/usr/yangcheng中;
~]$ cp -r /usr/tmp /usr/yangcheng
示例4:交互式地将目录/usr/men中的以m打头的所有.c文件复制到目录/usr/zh中。
~]$ cp -i /usr/men m*.c /usr/zh
mv [选项] [参数]
选项:
–backup=<备份模式>:若需覆盖文件,则覆盖前先行备份;
-b:当文件存在时,覆盖前,为其创建一个备份;
-f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录;
-i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。
–strip-trailing-slashes:删除源文件中的斜杠“/”;
-S<后缀>:为备份文件指定后缀,而不使用默认的后缀;
–target-directory=<目录>:指定源文件要移动到目标目录;
-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。
参数:
源文件:源文件列表。
目标文件:如果“目标文件”是文件名则在移动文件的同时,将其改名为“目标文件”;如果“目标文件”是目录名则将源文件移动到“目标文件”下。
示例1:将文件yangcheng改名为yc;
~]$ mv yangcheng yc
示例2:将目录/usr/yangcheng中的所有文件移到当前目录(用.表示)中。
~]$ mv /usr/yangcheng/* .
rm [选项] [参数]
选项:
-d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;
-f:强制删除文件或目录;
-i:删除已有文件或目录之前先询问用户;
-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;
–preserve-root:不对根目录进行递归操作;
-v:显示指令的详细执行过程。
参数:
文件:指定被删除的文件列表,如果参数中含有目录,则必须加上-r或者-R选项。
示例1:交互式删除当前目录下的文件test和example;
rm -i test example
Remove test ?n(不删除文件test)
Remove example ?y(删除文件example)
示例2:删除当前目录下除隐含文件外的所有文件和子目录。
rm -r * (这是非常危险的操作)
注意:所有不用的文件建议不要直接删除,而是移动至某个专用目录:(模拟回收站)

2. bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
bash通过状态返回值来输出此结果:成功:0,失败:1-255之间某一个数字表示。 命令执行完成之后,其状态返回值保存于bash的特殊变量$? 中,使用 echo $? 可以查看最近一条命令执行的状态返回值。命令正常执行时,有的还会有命令返回值:根据命令及其功能不同,结果各不相同。

[root@centos111 ~]# ls
anaconda-ks.cfg  Documents  install.log         Music     Public     Videos
Desktop          Downloads  install.log.syslog  Pictures  Templates
[root@centos111 ~]# echo $?
0
[root@centos111 ~]# lss           #输入一个不存在的命令
bash: lss: command not found
[root@centos111 ~]# echo $?
127

命令行展开:
~:自动展开为用户的家目录,或指定的用户的家目录;

[root@centos111 etc]# cd ~
[root@centos111 ~]# pwd
/root

{}:可承载一个以英文逗号分隔的路径列表,并能够将其展开为多个路径;
例如:/tmp/{a,b} 相当于 /tmp/a,/tmp/b

[root@centos111 test]# mkdir -pv /tmp/{a,b}
mkdir: created directory `/tmp'
mkdir: created directory `/tmp/a'
mkdir: created directory `/tmp/b'
[root@centos111 test]# cd /tmp
[root@centos111 tmp]# ls
a  b

3. 请使用命令行展开功能来完成以下练习:
a.创建/tmp目录下的:a_c, a_d, b_c, b_d;

[root@centos111 tmp]# mkdir -v {a,b}_{c,d}
mkdir: created directory `a_c'
mkdir: created directory `a_d'
mkdir: created directory `b_c'
mkdir: created directory `b_d'
[root@centos111 tmp]# ls
a_c  a_d  b_c  b_d

b.创建/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

[root@centos111 tmp]# mkdir -p /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,lock,log,run}
[root@centos111 tmp]# tree mylinux/
mylinux/
├── bin
├── boot
│   └── grub
├── dev
├── etc
│   ├── rc.d
│   │   └── init.d
│   └── sysconfig
│       └── network-scripts
├── lib
│   └── modules
├── lib64
├── lock
├── log
├── proc
├── run
├── sbin
├── sys
├── tmp
├── usr
│   └── local
│       ├── bin
│       └── sbin
└── var

24 directories, 0 files
[root@centos111 tmp]#

4. 文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
文件的元数据信息有:
File、Size、Blocks、IO Block、directory、Device、Inode、Links、Access、UID、GID、Access(access time)、Modify(modify time)、Change(change time)
分别表示含义为:文件名称,文件大小,文件块,每个文件块大小,文件类型,文件设备,索引节点号,硬链接数,文件权限,文件所属的属主,文件所属的属组,最近访问时间、最近修改时间、最近改动时间。
可用命令stat查看文件的元数据

[root@centos111 tmp]# stat mylinux/
  File: `mylinux/'
  Size: 4096            Blocks: 8          IO Block: 4096   directory
Device: 802h/2050d      Inode: 651841      Links: 17
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2017-07-22 22:51:57.531998776 +0800
Modify: 2017-07-22 22:49:47.894998469 +0800
Change: 2017-07-22 22:49:47.894998469 +0800

修改文件时间戳可用touch命令,touch命令有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件。
语法:touch [选项] [参数]
选项:
-a:或–time=atime或–time=access或–time=use 只更改存取时间;
-c:或–no-create 不建立任何文件;
-d:<时间日期> 使用指定的日期时间,而非现在的时间;
-f:此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题;
-m:或–time=mtime或–time=modify 只更该变动时间;
-r:<参考文件或目录> 把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同;
-t:<日期时间> 使用指定的日期时间,而非现在的时间;
–help:在线帮助; –version:显示版本信息。
参数:
文件:指定要设置时间属性的文件列表。
示例:修改文件时间戳

[root@centos111 tmp]# touch -m -t 201707220000.00 ex2
[root@centos111 tmp]# stat ex2
  File: `ex2'
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: 802h/2050d      Inode: 663911      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2017-07-22 22:54:40.072998274 +0800
Modify: 2017-07-22 00:00:00.000000000 +0800
Change: 2017-07-22 22:54:40.072998274 +0800

原创文章,作者:N27_太极异次元,如若转载,请注明出处:http://www.178linux.com/83498

(0)
N27_太极异次元N27_太极异次元
上一篇 2017-07-31
下一篇 2017-08-02

相关推荐

  • 操作系统—Systemd

    Systemd 概述:       CentOS 6和之前版本采用SysVinit的系统启动进程管理体系,一般用户都可通过在/etc/inittab文件的配置,来个性化自己的系统启动序列。但也经常会由于特殊环境的硬件等关系问题,造成其串行的启动进程控制流,因为可能任务的阻塞而影响启动过程。     &nbsp…

    Linux干货 2016-09-24
  • bash的工作特性之命令执行状态返回值和命令行展开

    bash的工作特性之命令执行状态返回值和命令行展开 bash的工作特性之命令执行状态返回值和命令行展开 执行状态返回值 命令行展开 执行状态返回值     Linux下每一条命令或每一个进程执行完成会返回一个状态码. 0:成功执行 1-255:执行过程中出现异常或非正常退出 在Shell脚本中,最后…

    Linux干货 2016-11-05
  • sed

    sed Stream EDitor, 行编辑器 sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非使用重定向存储输出。 Sed主要用来自动…

    Linux干货 2017-04-26
  • date(时间),timedatectl(时区),cal(日历)的用法

    date+%F 显示日期,   显示格式如 2017-07-15+%T 显示时间    显示格式如 15:00:15+%Y 显示年      显示格式如 2017+%m 月 +%d 日+%H 时+%M 分+%S 秒+%s 从linux初始到现在经历了多少秒+%w 显示数字形式的星期+%a …

    Linux干货 2017-07-14
  • N25第四周总结(lvm)

    lvm 详解 大纲:    1、什么是lvm     2、为什么要使用lvm     3、如何实现lvm     4、lvm各项命令详解   1、什么是lvm:        lmv (Logical Volume Manager…

    Linux干货 2016-12-22
  • 磁盘管理之文件系统

    一,概述 文件系统是操作系统用于明确存储设备或分区上的文件的方 法和数据结构;即在存储设备上组织文件的方法。操作系统 中负责管理和存储文件信息的软件结构称为文件管理系统, 简称文件系统。  从系统角度来看,文件系统是对文件存储设备的空间进行组 织和分配,负责文件存储并对存入的文件进行保护和检索的 系统。具体地说,它负责为用户建立文件,存入、读出、修…

    Linux干货 2016-09-05