从零开始的Linux学习Ⅱ

Linux上的文件管理类命令

常用的文件管理工具有:cp , mv , rm

  1. cp命令——copy:
    NAME
    cp - copy files and directories
    复制 文件 和 目录
    SYNOPSIS
    单源复制 cp [OPTION]... [-T] SOURCE DEST
    多源复制 cp [OPTION]... SOURCE... DIRECTORY
    cp [OPTION]... -t DIRECTORY SOURCE...
    常用OPTION:
    -i:交互式复制,即覆盖之前提醒用户确认;
    -f:强制覆盖目标文件;
    -r, -R:递归复制目录;
    -d:复制符号链接文件本身,而非其指向的源文件;
    -v:显示过程
    -a:-dR --preserve=all, archive,用于实现归档;
    --preserv=
    mode:权限
    ownership:属主和属组
    timestamps: 时间戳
    context:安全标签
    xattr:扩展属性
    links:符号链接
    all:上述所有属性
    cp SRC...DEST
    复制 源 目标
    情况一:
    (1)如果DEST不存在:新建DEST,并将SRC中的内容填充至DEST中;
    如果目标存在:如果DEST是文件:将SRC中的内容覆盖至DEST中;(可以使用-i来提醒用户是否覆盖)
    (2)如果DEST是目录文件:在DEST下新建与源文件同名的文件并将SRC中的内容填充至新文件中;
    情况二:如果SRC是目录则必须使用-r选项
    (1)如果DEST存在,则其必须是目录,否则报错:现在DEST目录下创建与SRC同名的目录,并将SRC中的所有内容复制到DEST中
    (2)如果DEST不存在,则先创建DEST目录,并将SRC中的所有内容复制到DEST目录中

2.mv命令:move:
NAME

 mv - move (rename) files
         移动 (重命名)文件

SYNOPSIS

             单源移动 mv [OPTION]... [-T] SOURCE DEST
             多源移动 mv [OPTION]... SOURCE... DIRECTORY
             mv [OPTION]... -t DIRECTORY SOURCE..           

常用OPTION:

    -i:交互式
    -f:force 强制
  1. rm命令:
    NAME
    rm - remove files or directories

SYNOPSIS

       rm [OPTION]… FILE…

常用OPTION:

 -r, -R, –recursive:递归删除目录及其内容;
 -f,force:强制删除,不提示确认;
 -i,–interactive:交互式,提示确认;

因为删除命令是很危险的操作,请不要随便使用删除命令!
如需删除可以先创建一个模拟回收站备份文件后,等确认没用后再进行删除;

极度危险

bash的工作特性

bash的基础特性:命令的执行状态结果

命令执行的状态结果:
        bash通过状态返回值来输出此结果:
            成功:0
            失败:1-255

命令执行完成之后,其状态返回值保存于bash的特殊变量$?中;

    命令正常执行时,有的还回有命令返回值:
        根据命令及其功能不同,结果各不相同;

    引用命令的执行结果:
        $(COMMAND)
        或`COMMAND`

bash的基于特性:引用
    强引用:‘‘
    弱引用:""
    命令引用:``

bash基础特性:快捷键
    Ctrl+a:跳转至命令行行首
    Ctrl+e:跳转至命令行行尾
    Ctrl+u:删除行首至光标所在处之间的所有字符;
    Ctrl+k:删除光标所在处至行尾的所有字符;
    Ctrl+l:清屏,相当于clear
  • 命令行展开
    ~:自动展开为用户的家目录,或指定的用户的家目录:
    { }:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径:
    例如:/tmp/{a,b} 相当于 /tmp/a /tmp/b

文件的元数据信息

文件的数据分为两类:一类为数据,即文件的实际内容;另一类为元数据,用来描述文件的特征。
元数据内容:
1.文件名
2.文件大小
3.文件所在数据块
4.数据块的大小
5.文件类型
6.文件所在的Inode
7.硬链接次数
8.权限
9.属主id
10.属组id
11.最近一次访问时间戳
12.最近一次更改文件内容的时间戳
13.最近一次更改文件元数据的时间戳

  • 查看文件的元数据——stat命令

NAME

          stat - display file or file system status

SYNOPSIS

          stat [OPTION]... FILE...

OPTION

          -f 输出文件系统的状态,而非文件的状态
          -t 显示简要格式的文件元数据信息
  • 修改文件的时间戳
    可以使用touch命令更改文件的时间戳:
    NAME
    touch - change file timestamps

SYNOPSIS

      touch [OPTION]... FILE...

常用OPTION:

   -a     change only the access time
           仅修改 access time;
   -c, --no-create
          do not create any files
   仅修改文件的时间,若该文件不存在则不创建新文件
   -d, --date=STRING
          parse STRING and use it instead of current time
          后面可以接欲修订的日期而不用目前的日期,也可以使用 –date=”日期或时间”
         -m   change only the modification time
             仅修改 modification time ;
   -t STAMP
          use [[CC]YY]MMDDhhmm[.ss] instead of current time
   后面可以接欲修订的时间而不用目前的时间,格式为[[CC]YY]MMDDhhmm[.ss]

命令的别名

定义别名命令——alias
使用alias命令就可以在命令中引用另一个命令的执行结果

语法:# alias name=’command line’

alias的作用仅在该次登入的操作,即输入一次alias后,这个修改只在当前的Shell生效。如果重新开启一个Shell,或者重新登录,则这些alias将无法使用。
在Centos7中系统默认包含的有

alias永久化的方法:

(1)若要每次登入就自动生效别名,则把别名加在/etc/profile或~/.bashrc中。
然后# source ~/.bashrc

(2)若要让每一位用户都生效别名,则把别名加在/etc/bashrc最后面,
然后# source /etc/bashrc


练习:

请使用命令展开行功能来完成以下练习:
(1)、创建/tmp目录下的:a_c ,a_d , b_c , b_d

         mkdir -p {a,b}_{c,d}

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

├ ─ ─ bin

├ ─ ─ boot

│         └ ─ ─ grub

├  ─   ─  dev

├ ─ ─ etc

│         ├ ─ ─ rc.d

│         │         └ ─ ─ init.d

│         └ ─ ─ sysconfig

│                        └ ─ ─ network-scripts

├ ─ ─ lib

│        └ ─ ─ modules

├ ─ ─ lib64

├ ─ ─ proc

├ ─ ─ sbin

├ ─ ─ sys

mkdir -pv /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys}
![](http://i2.51cto.com/images/blog/201810/07/1040103d5be01f587ebdd158fe127c5e.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

![](http://i2.51cto.com/images/blog/201810/07/9656f0b88119dfb267c11ebef9751b6e.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

(3)、显示/var目录下所有以1开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。

    ls -d /var/l?[[:lower:]]
        ![](http://i2.51cto.com/images/blog/201810/07/50ae8af220becf818e06c9f318d61825.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

(4)、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。

    ls -d /etc/[0-9]*[^0-9]

(5)、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。

    ls -d /etc/[^a-z][a-z]*

(6)、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如: tfile-2016-05-27-09-32-22。

    touch /tmp/tflie-$(date +\%F-\%H-\%M-\%S)

(7)、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。

       cp -r /etc/p*[^0-9] /tmp/mytest1/

(8)、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。

       cp -r /etc/*.d /tmp/mytest2/

(9)、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。

        cp -r /etc/[lmn]*.conf /tmp/mytest3/

原文地址:http://blog.51cto.com/13975143/2294348

时间: 2024-10-15 00:39:30

从零开始的Linux学习Ⅱ的相关文章

从零开始的Linux学习Ⅰ

计算机的组成及其功能 在冯诺依曼体系中,计算机的组成部分有 控制器:负责指挥.协调计算机系统的操作运算器:执行算术和逻辑运算操作存储器:存储数据.指令和程序等信息,并在需要时提供输入:将数据.指令等信息输入到计算机输出: 将计算机的中间结果.最终结果及各种控制信号输出出来 常见的Linux发行版 基于Debian的发行版: 软件数量丰富,包管理工具强大,系统稳定 Ubuntu:以桌面应用闻名 Knoppix:以安全软件著称 基于RedHat的发行版: RedHat Enterprise Linu

从零开始的Linux学习Ⅳ

权限管理: ls -l rwxrwxrwx: 左三位:定义user(owner)的权限 中三位:定义group的权限: 右三位:定义other的权限 进程安全上下文: 进程对文件的访问权限应用模型: 进程的属主与文件的属主是否相同:如果相同,则应用属主权限: 否则,则检查进程的属主是否属于文件的属组:如果是,则应用属组权限: 否则,就只能应用other的权限: 权限: r:readable, 读 w:writable, 写 x:excutable,执行 文件: r:可获取文件的数据: w: 可修

从零开始的linux 第一章

从零开始的linux  1章 哈喽,大家好,小编刚学的一个星期的linux,就想拿出来显摆显摆(害羞脸).当然也是第一次写博客啊,所有-.所以-.这次就先水一章吧~ 首先,第一章呢,因为是从零开始,所以呢--我们先来安装一下虚拟机,因为我们现在的操作,都是在虚拟机上面运行的. 所谓虚拟机,就是VMwareWorkstation Pro,那这个软件如何下载呢,这个我就不说了,因为连这个我都要写上去,那我水贴就太严重咯,小编的老师看到会揍我的. 好啦,废话不多说,我们开始打开虚拟机 因为是第一次使用

从零开始的linux 第二章

从零开始的linux 第二章 呼~~,大家早上好~(伸懒腰) 又到了一周一次的写博客时间了,不知不觉又过去一周了呢~小编也越来越懒了(超级害羞脸)~~唉??怎么办呢??(小编勉为其难的说)要不....要不再水一帖吧.... ←老师和(超)善(凶)的眼神 不不不不...不要激动...小编...小编我..开...开玩笑的...开玩笑的... 唉~~小编上一次写的文章被批评了,因为排版一塌糊涂..QAQ...小编为了让大家学的开心并且学的轻松,图片太乱了...缺点被指出之后,小编是要去改的说...可是

从零开始的linux 第二十一章(Inode以及Block详解其二与软链接)

从零开始的linux 第二十一章 在紧张的学习中,又迎来了新的一周~~小编也在同学们的迫切要求下继续来更新博客咯~~ 同学们:"我们才没要求你!" 唉??同学们一点都不配合呢~~别不好意思嘛~~ 好啦~不逗你们了,小编就节省大家的时间,赶快开始这章的课程吧~~ 在上一章中,小编给同学们讲了 Inode号 和 Block,不过还没有给同学们讲完哦~所以上一章的题目是 其一 ,那么毫无疑问这一章就是其二的内容咯~从上一章同学们已经了解了什么是Inode和Block,以及Inode中包含哪些

linux学习之路之LVM

试想一种情况,当初我们在规划磁盘的时候,只给某一个磁盘或分区之划分了30G的容量,但是后来,随着业务的需求,该磁盘或者分区的使用量会越来越大,等到以后再有数据存放时,发现该磁盘或者分区的容量不够用,此时该怎么办了?可以新增一个磁盘,经过格式化,挂载等过程就可以使用这个磁盘了,再将原来磁盘的数据完全的复制过来.等到后来又发现,规划的磁盘又太大了,然后又使用上述方法来减少磁盘的大小.虽然这种方法可行,但是效率低,比较复杂.不应该是我们首选的方法. 当然,我们可以这样做,将多个磁盘或者分区(PV)组合

Linux学习日志2-vim使用基础

vim是linux操作系统下的一个文本编辑工具,功能非常强大,但刚学习起来比较复杂.vim的所有功能要讲明白得有几百页,在这里只是记录一下vim的一些基本用法. 首先vim打开文件的三种方式: vim +# xxx(#是数字):表示打开xxx文件并将光标定位到指定行. vim -o xx1 xx2 xx3:表示同时打开三个文件,垂直分割显示 vim -O xx1 xx2 xx3:表示同时打开三个文件,水平分割显示 多个文件间跳转:键入ctrl+w后:→向左.←向右.↑向上.↓向下 vim打开文件

                        linux     学习  

决心书 我叫孙启浩,出生在山东淄博的一个农村.15岁初中还没有毕业,就去上了技校,其实父母是想让我提早的步入社会,我在那个地方学的是'电厂热能动力装置' 本来我是想学it的可是我父母说就学这个因为在我们那里电厂找工作也好找工资肯定比学it工资要高,我就这样在那个对我来说无所谓的学校学了两年半.放暑假的时候我哥回来说要进京学it,我就想要不我也去学?因为我对这个it还是挺感兴趣的,之后就来了北京,先去看了一个学校叫'八维'觉得这个学校不怎么好,上来先学单词什么的我这种人一看书就想睡觉.然后我父亲的

linux学习笔记(一)-文件目录相关的命令&&文件通配符

一.几个命令概述 1.查看目录以及目录底下的文件:ls(-a显示隐藏文件:-d显示目录本身:-l显示详细内容:-R递归显示,即把子目录的文件也显示出来:-h以更加被人类理解的格式显示,比如显示文件大小的时候用M为单位显示:-i显示文件索引ID) 2.查看文件内容:cat,head,tail,less,more,tac cat:将文件连接起来,输出在屏幕上,可接多个文件(-E:显示隐藏的换行符:-n:显示出行号) head:默认查看文件的前10行(-n#:查看文件的前#行.空白行也是一行) tai