第二周

第二周

1. Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。

cp 复制文件和目录
语法格式:
cp [OPTION]… [-T] SOURCE DEST
cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…
选项:
-a: 归档文件与目录,并保留其属性。

[root@node1 ~]# cp -a /etc/issue ./

-i: 覆盖前提醒

[root@node1 ~]# cp -i /etc/fstab ./
cp: overwrite ‘./fstab’?

-r: 递归复制目录

[root@node1 ~]# cp -R /var/log ./

-d: 复制符号链接文件本身,而非其指向的源文件

[root@node1 ~]# cp -d /var/lock /tmp
[root@node1 ~]# ll /tmp/lock
lrwxrwxrwx. 1 root root 11 Jul 21 11:39 /tmp/lock -> ../run/lock

mv 移动(重命名)文件,移动目录
语法格式:
mv [OPTION]… [-T] SOURCE DEST
mv [OPTION]… SOURCE… DIRECTORY
mv [OPTION]… -t DIRECTORY SOURCE…
移动文件:

[root@node1 ~]# ls
a
[root@node1 ~]# mkdir test
[root@node1 ~]# ls
a  test
[root@node1 ~]# mv a test
[root@node1 ~]# ls test/
a

重命名文件:

[root@node1 ~]# touch b
[root@node1 ~]# ls
b  test
[root@node1 ~]# mv b c
[root@node1 ~]# ls
c  test

移动目录:

[root@node1 ~]# mkdir test{1,2}
[root@node1 ~]# ls
c  test1  test2
[root@node1 ~]# mv test1 test2
[root@node1 ~]# ls test2
test1

rm 删除文件和目录
语法格式:
rm [OPTION]… FILE…
-f: 强制,不提醒

[root@node1 ~]# ls
a  c  test2
[root@node1 ~]# rm a
rm: remove regular empty file ‘a’? y
[root@node1 ~]# rm -f c
[root@node1 ~]# ls
test2

-r: 删除目录

[root@node1 ~]# ls
test2
[root@node1 ~]# rm -r test2
rm: descend into directory ‘test2’? y
rm: remove directory ‘test2/test1’? y
rm: remove directory ‘test2’? y

2. bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。

bash通过状态返回值来输出命令执行结果成功与否,0表示成功,1~255表示失败。命令执行完成后,其状态返回值保存在bash的特殊变量$?中。可通过命令echo $?查看返回值。

命令执行成功,显示返回值示例:

[root@node1 ~]# cat /etc/issue
\S
Kernel \r on an \m

[root@node1 ~]# echo $?
0

命令执行失败,显示返回值示例:

[root@node1 ~]# catt /etc/issue
-bash: catt: command not found
[root@node1 ~]# echo $?
127

bash命令行展开,符号{},可承载一个以逗号分隔的路径列表,并能将其展开为多个路径。

[root@node1 ~]# ls
[root@node1 ~]# mkdir test{a,b}
[root@node1 ~]# ls
testa  testb  
使用命令展开符号{},同时创建2个目录,mkdir命令先创建testa目录,然后再创建testb目录。

3. 使用命令行展开功能来完成以下练习:

创建/tmp目录下的:ac,ad,bc,bd

[root@node1 ~]# mkdir -pv /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’

创建/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@node1 ~]# mkdir -vp /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}}

mkdir: created directory ‘/tmp/mylinux’
mkdir: created directory ‘/tmp/mylinux/bin’
mkdir: created directory ‘/tmp/mylinux/boot’
mkdir: created directory ‘/tmp/mylinux/boot/grub’
mkdir: created directory ‘/tmp/mylinux/dev’
mkdir: created directory ‘/tmp/mylinux/etc’
mkdir: created directory ‘/tmp/mylinux/etc/rc.d’
mkdir: created directory ‘/tmp/mylinux/etc/rc.d/init.d’
mkdir: created directory ‘/tmp/mylinux/etc/sysconfig’
mkdir: created directory ‘/tmp/mylinux/etc/sysconfig/network-scripts’
mkdir: created directory ‘/tmp/mylinux/lib’
mkdir: created directory ‘/tmp/mylinux/lib/modules’
mkdir: created directory ‘/tmp/mylinux/lib64’
mkdir: created directory ‘/tmp/mylinux/proc’
mkdir: created directory ‘/tmp/mylinux/sbin’
mkdir: created directory ‘/tmp/mylinux/sys’
mkdir: created directory ‘/tmp/mylinux/tmp’
mkdir: created directory ‘/tmp/mylinux/usr’
mkdir: created directory ‘/tmp/mylinux/usr/local’
mkdir: created directory ‘/tmp/mylinux/usr/local/bin’
mkdir: created directory ‘/tmp/mylinux/usr/local/sbin’
mkdir: created directory ‘/tmp/mylinux/var’
mkdir: created directory ‘/tmp/mylinux/var/lock’
mkdir: created directory ‘/tmp/mylinux/var/log’
mkdir: created directory ‘/tmp/mylinux/var/run’

4. 文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。

文件的元数据包含文件的文件名,文件大小,文件类型,inode标识,硬链接次数,访问权限,上下文,访问时间,修改时间,更改时间等。可用stat命令查看文件的元数据信息。

[root@node1 ~]# stat /etc/fstab 
File: ‘/etc/fstab’
    Size: 465     Blocks: 8       IO Block: 4096   regular file
Device: fd00h/64768d    Inode: 67108994    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: system_u:object_r:etc_t:s0
Access: 2017-07-21 10:51:49.727772230 +0800
Modify: 2017-07-12 20:53:27.931985854 +0800
Change: 2017-07-12 21:02:06.490956739 +0800
    Birth: -

可用touch命令修改文件的时间戳:
语法格式:
touch [OPTION]… FILE…
-a: 修改文件的访问时间

[root@node1 ~]# touch -a fstab 
[root@node1 ~]# stat fstab 
File: ‘fstab’
Size: 465           Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d    Inode: 135802950   Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2017-07-21 13:37:01.480322173 +0800  <---- 访问时间改变
Modify: 2017-07-21 13:36:50.831322656 +0800
Change: 2017-07-21 13:37:01.480322173 +0800  改变文件的任何属性,更改时间也会改变
Birth: -

-m: 修改文件的修改时间

[root@node1 ~]# touch -m fstab 
[root@node1 ~]# stat fstab 
File: ‘fstab’
Size: 465           Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d    Inode: 135802950   Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2017-07-21 13:42:13.170308020 +0800
Modify: 2017-07-21 13:42:20.796307674 +0800 <---- 修改时间改变
Change: 2017-07-21 13:42:20.796307674 +0800 改变文件的任何属性,更改时间也会改变
Birth: -

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

(0)
ZhengBinZhengBin
上一篇 2017-07-20 21:10
下一篇 2017-07-21 20:13

相关推荐

  • 今天正式加入马帮开启我的学习Linux之路

    3月26日马哥教育30期开学仪式,终于见到了我们的马哥马永亮先生,同时马哥还有前大众点评架构师张Sir以及国内首批通过红帽授权认证讲师(RHCI)的老王给我们新生做了开学演讲。接着我们的宗华老师以及云珍老师对我们平时的学习以及生活做出了各种介绍与规定,还有我们同学之间也进行了相互自我介绍彼此熟悉….

    2018-03-26
  • 马哥教育网络班第21期+第六周课程作业

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的1、以至少一个空白字符开头的行的行首加#; :%s@^[[:space:]]\+@#@   2、复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符; :%s@^[[:space…

    Linux干货 2016-08-22
  • 马哥教育网络班21期-第一周课程练习

    第一周课程练习 1、描述计算机的组成及其功能?         1.1 现代主流的计算机(冯·诺依曼体系)主要由五部分组成,分别是控制器、运算器、存储器、输入和输出设备。控制器和运算器对应我们现实计算机看到的CPU,存储器对应内存和硬盘等存储设备,输入设备对应鼠标键盘等其它外设,输出设备对应显示器、音响、打印机等其它外…

    Linux干货 2016-06-26
  • 软件包管理2

    四、程序包编译     程序包编译安装:     Application-VERSION-release.src.rpm –> 安装后,使用rpmbuild命令制作成二进制格式的rpm包,而后再安装     源代码&#82…

    Linux干货 2016-08-27
  • 推荐-Nginx Rewrite的应用-根据访问平台做简单跳转

    Nginx Rewrite的应用-根据访问平台做简单跳转 Nginx Rewrite的应用-根据访问平台做简单跳转 Rewrite模块简介 Rewrite的配置 使用不同平台进行测试 配置参数详解 Rewrite模块简介    Rewrite最主要的作用就是对URL进行重写,即重定向。举个简单的例子,我们用电脑打开淘宝显示出的页面与手机打开显示出的页面,或者…

    Linux干货 2016-03-27
  • shell脚本编程之数组

    bash仅支持一维数组,类型声明: declare -i    : 表示数值 declare -a  :表示普通数组(默认,可不用声明类型) declare -A :表示关联数组(必须声明类型,bash需4.0以上版本才支持,可通过bash –version查看版本) 一、普通数组(用数字为下标) 1.1数组赋值(修…

    Linux干货 2015-08-24

评论列表(1条)

  • 马哥教育
    马哥教育 2017-07-27 00:03

    赞,总结的不错,每个小知识点都列举了例子,比较上心,继续加油~