Linux系统学习-第二周

学习笔记

一、Linux上文件管理类的命令及常见使用方法

ls 命令列出文件和目录的命令, 常见参数:

-a 列出全部的文件,连同隐藏文件( 开头为 . 的目录)
-l    依长数据串行的形式列出,包含文件的属性等等数据
-d 仅列出目录本身,而不是列出目录内的文件数据

mkdir 创建目录 ,  常见参数:

-m  配置文件目录的权限!我们可以自己设定自己想要的权限 
-p  帮助你直接将所需要的目录递归建立起来!
-v  显示命令执行的详细结果,通常与-p一同使用

mkdir -pv /tmp/a/b/c/d  在/tmp目录下创建多层子目录a/b/c/d

rmdir 删除空目录 , 常见参数:

-p 递归删除,删除空目录后,若父目录也为空,也将被删除,依此类推,直到上级为非空目录截止。

cp 复制命令, 常见参数:

-a  :相当于 -pdr 的意思;
         -d  :若来源文件为链接文件的属性(link file),则复制链接文件属性而非档案本身;
         -f  :为强制 (force) 的意思,若有重复或其他疑问时,不会询问使用者,而强制复制;
         -i  :若目的文件(destination)已经存在时,在覆盖时会先询问是否真的动作!
         -l  :进行硬式连结 (hard link) 的连结文件建立,而非复制文件本身;
         -p  :连同文件的属性一起复制过去,而非使用默认属性;
         -r  :递归持续复制,用于目录的复制行为;
         -s  :复制成为符号链接文件 (symbolic link),亦即『快捷方式』文件;
         -u  :若 destination 比 source 旧才更新 destination !
         最后需要注意的,如果来源档有两个以上,则最后一个目的文件一定要是『目录』

mv 移动或重命名命令

单源移动 | mv [OPTION]… [-T] SOURCE DEST
多源移动 | mv [OPTION]… SOURCE… DIRECTORY
多源移动 | mv [OPTION]… -t DIRECTORY SOURCE…
别名:alias mv=’mv -i’

单源移动(单个源 –> 单个目标)
如果目标不存在,则事先创建此文件,并复制源文件的数据流至目标中,然后将源文件删除;
如果目标存在,且目标是非目录文件,则覆盖目标文件,然后将源文件删除;
如果目标存在,且目标是目录文件,则现在目标目录下创建一个与源文件同名的文件,并将源文件数据流复制到新创建的目标文件中,然后将源文件删除。

多源移动(多个源 –> 目录)
如果目标不存在,则会报错;
如果目标存在,但目标不是目录,则也会报错;
如果目标存在,且目标是目录,则会分别复制源文件中的每一个文件至目标目录中,并保持原名,然后将源文件删除。

移动命令常用选项

-i | 交互式移动,即覆盖之前提醒用户确认
-f | 强制覆盖目标文件,即不需要用户再次确认
示例:

强行移动/web/http到/tmp目录下

rm 删除文件或目录命令 , 常见参数

-i  交互式删除,即删除之前提醒用户确认
-f  强制性删除,即不再需要提醒用户确认,直接进行删除操作
-r, -R, –recursive   递归删除目录

 

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

bash的工作特性有:命令补全和路径补全 (tab键)、命令历史 (history),命令别名(alias),快捷(Ctrl+a跳转至命令行行首       Ctrl+e跳转至命令行行尾  等等 )

还有以下特性:

命令执行状态返回值:

在bash中使用一个特殊的变量$?来保存上一个命令的执行状态结果。

其中 0表示成功, 1-255表示失败

[alex@localhost ~]$ mkdir /tmp/abc ;echo $?
0
[alex@localhost ~]$ mkdir /tmp/abc/ ;echo $?
mkdir: 无法创建目录”/tmp/abc/”: 文件已存在
1
[alex@localhost ~]$ mkdirr /tmp/abc/ ;echo $?
bash: mkdirr: 未找到命令…
相似命令是: ‘mkdir’
127

bash中命令行展开:

以某些bash能够解释的符号来代替命令中的某些参数

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

#   {}:  可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径;

例如:/tmp/{a,b} 相当于 /tmp/a /tmp/b

 

三、Bash的特性命令行展开练习

(1)、创建/tmp目录下的:a_c, a_d, b_c, b_d

[alex@localhost ~]$ touch /tmp/{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

├── tmp

├── usr

│   └── local

│   ├── bin

│   └── sbin

└── var

├── lock

├── log

└── run

 

[alex@localhost 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}}

 

微信截图_20180520141226

 

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/98930

(0)
Alex WangAlex Wang
上一篇 2018-05-20
下一篇 2018-05-20

相关推荐

评论列表(2条)

  • 马哥教育
    马哥教育 2018-05-22 13:52

    最后一个题是不是跟要求的不一样,/usr目录下面的