走进Linux(二)

Linux基础知识

1、文件管理类命令

  • mkdir:创建空目录

格式

mkdir [选项](可跟多个选项) 要创建的目录名

选项

-p:递归创建多个目录                                    

命令演示:想要在/tmp/linux/centos下创建test目录

blob.png                                  

因为/tmp/linux/centos路径不存在,提示无法创建目录

若加上选项-p后,若路径不存在则直接创建路径并创建目录

blob.png

-v:显示创建过程即命令执行过程

命令演示:在/tmp/redhat/fedora下创建创建test1,且路径不存在blob.png

与-p选项同时使用,直接创建路径及目录,并显示执行步骤。

-m:设定目录权限,不加则为默认权限

命令演示:在/tmp/linux下创建test2目录,并设定权限为777

blob.png

  • rmdir:删除空目录

格式同mkdir

选项:

-p:连同上一级空目录一同删除

命令演示:与-v同时使用

blob.png

由于/tmp不是空目录,所以无法删除,只能删除/linux/centos/test

  • cp:复制

格式:

复制单个文件:cp [选项](可跟多个选项) [-T] 源文件 目标文件

复制多个文件:cp [选项](可跟多个选项) 源文件 目标目录

                          cp [选项](可跟多个选项) -t 目标目录 源文件

复制单个文件时,目标文件不存在,则会创建目标文件并将源文件中的数据流抽取填充到目标文件。目标文件存在,如果是非目录文件,则会复制源文件的数据流至目标文件中,覆盖目标文件;如果是目录文件,则现在目标目录中创建一个与源文件同名的文件,并复制数据流。

复制多个文件时,目标必须是目录,否则无法执行。

选项:

-i,覆盖前询问

-f,强制覆盖目标文件

-r,递归复制目录及目录下的所有文件

-d,复制链接文件本身,但不跟踪源文件

-a,为每个已存在的目标文件创建备份

命令演示:复制/tmp/centos1/下的abc到/tmp/centos2下的test,目标文件不存在 blob.png

命令演示:复制/tmp/centos1下的123a到/tmp/linux/centos1/123ablob.png

复制单个文件时,若目标文件存在,会提示是否覆盖目标文件,因为cp=‘cp -i’。

命令演示:复制/tmp/centos1/下的123a,12a3,a123到/tmp/centos3/下 blob.png

  • mv:用来移动文件(若源文件与目标同目录,则重命名)

格式:

mv [选项] 源文件或目录 目标文件或目

选项:

-b :若需覆盖文件,则覆盖前先行备份。 

-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;

-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

-u :若目标文件已经存在,且源文件比较新,才会更新

命令演示:复制/tmp/centos2/test1的Abc到/tmp/centos1/下

blob.pngblob.png

命令执行后,Abc移动到/tmp/centos1下

若源文件与目标在同一目录,则重命名文件

blob.png

  • rm:删除文件或目录

格式:

rm [选项] 文件名或目录名

常用选项:

-f, –force    忽略不存在的文件,从不给出提示。

-i, –interactive 进行交互式删除

-r, -R, –recursive   指示rm将参数中列出的全部目录和子目录均递归地删除。

-v, –verbose    详细显示进行的步骤

      –help     显示此帮助信息并退出

      –version  输出版本信息并退出

命令演示:删除/tmp/centos1下的Abc123

blob.png 

系统会询问是否删除,输入y,则确认删除,rm=‘rm -i’

注意:不需要的文件,建议不要直接删除,而是自己创建一个目录,把不需要的文件都移动到该目录,起到类似window回收站的作用,防止误删操作。

  • pwd:显示当前目录

blob.png

  • ls:显示指定目录下的内容列表,默认为当前目录

格式:

ls [选项] 目录名

选项:

-a,显示所有文件,包括隐藏文件

-l,显示所有文件及其详细信息

blob.png

  • cat:查看文本文件内容,并输出,默认输出到标准输出(显示器)

blob.png

  • tail:查看文件后n行,命令后跟-n,表示查看后n行,默认后10行。

blob.png

2、bash工作特性

  • 命令执行状态返回值

echo $?:显示最近一条命令的执行结果

只能查看最近一条命令的执行的状态结果返回值

命令执行成功,则显示:0

命令执行失败,则显示:1-255之间的任意数字 blob.png

返回值为0,最近的命令tail /etc/passwd执行成功

blob.png

输入错误命令,返回值为1,命令执行失败

blob.png

找不到命令,返回值为127,命令执行失败

命令行展开 

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

  • {}:可以承载一个以逗号分隔的文件或目录列表,并能够将其展开为多个路径或文件

例如:mkdir /tmp/{centos1,centos2,centos3},则为分别创建/tmp/centos1,/tmp/centos2,/tmp/centos3

演示1:

blob.png

演示2:

blob.png

显示树状结构:

blob.png

3、元数据

文件包含两类数据:数据和元数据

元数据信息包括:

File: 文件

Size: 文件大小 

Blocks: block块数量       

IO Block: 设备block块

Device: 设备号

Links: 文件硬链接次数 

Access: 文件权限

Uid: 文件ID号及所有者

Gid: 组ID号及所有者 

Access: 最近访问时间

Modify: 最近更改时间

Change: 最近改动时间

Birth:文件创建时间

  • stat:查看文件的元数据

blob.png

  • touch:修改文件的时间戳信息

格式:

touch [选项] 文件名,若文件不存在,则直接创建空文件

-c不创建空文件

-a只修改最近访问时间

-m只修改最近更改时间

-t设置时间戳时间

[[CC]YY]MMDDhhmm[.SS],例如:201609242222.22就是2016年9月24日22点22分22秒

命令演示:更改/tmp/centos1/abc的最后更改时间为2016年9月24日22点22分22秒

[root@localhost centos1]# touch -m -t 201609242222.22 /tmp/centos1/abc

blob.png

4、命令别名设置及命令结果引用

  • alias:定义命令别名

例如:alias hs=‘history’

  • unalias:取消命令别名

例如:unalias history

  • $(COMMAND),mkdir $(date +%H-%M-%S)

  • `COMMAND`,mkdir `date +%H-%M-%S`

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

[root@localhost centos1]# ls -d /etc/[0-9]*[^0-9]

blob.png

执行结果说明 /var目录下没有符合条件的文件或目录

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

[root@localhost centos1]# ls -d /etc/[0-9]*[^0-9]

blob.png

7、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件

[root@localhost centos1]# touch /tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S)

blob.png

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

[root@localhost centos1]# mkdir /tmp/mytest1

[root@localhost centos1]# cp -r /etc/p*[^0-9] /tmp/mytest1

blob.png

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

[root@localhost centos1]# mkdir /tmp/mytest2

[root@localhost centos1]# cp -r /etc/*\.d /tmp/mytest2 blob.png

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

[root@localhost centos1]# mkdir /tmp/mytest3

[root@localhost centos1]# cp -r /etc/[lmn]*.conf /tmp/mytest3

blob.png

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

(0)
上一篇 2016-09-25 23:48
下一篇 2016-09-26 07:41

相关推荐

  • awk的进阶

    前言 awk的中有很多的控制语句,awk也支持if语句,while语句,for语句等等编程逻辑充的控制语句及数组、函数。 awk的进阶无非就是多练。 1.控制语句 (1)if-else语句 语句格式: if(condition) {statments}    if  (条件) 条件为真 执行{statments} 只有一个语句可…

    Linux干货 2016-06-26
  • HAProxy

    LB Cluster: 四层:lvs, nginx(stream),haproxy(mode tcp) 七层:http: nginx(http, ngx_http_upstream_module), haproxy(mode http), httpd, ats, perlbal, pound… HAProxy 程序环境: 主程序:/usr/sbi…

    Linux干货 2017-07-03
  • 基础命令

    1,对于Linux的实验环境我们要用到虚拟机,往往每次上线都要登录,这时候如果把用户设为自动登录就会方便许多,接下来就介绍下设置虚拟机的自动登录 , /etc/gdm/custom.conf 这个就是设置自动登录的一个配置文件,我们先来使用nano打开这个文件,如下 # GDM configuration storage 这是GDM的一个配置存储 [daem…

    2017-11-19
  • linux 删除内核文件,未能启动,修复方法 CDROM与网络法

    当缺少 /boot 内核文件 vmlinuz-2…. initramfs-2… 此时只能借助 光盘 CDROM 来引导生成    进入  RESCUE 模式 1    chroot       &…

    Linux干货 2016-09-13
  • 软链接和硬链接的区别

          什么是链接文件? 使用windows的朋友们应该会经常接触到快捷方式吧!它也就是能让我们快速的打开一个目标应用程序,文件,或者文件夹来使我们的操作更加快捷。那么下面我们就来简单聊聊linux上的“链接文件”吧!            &n…

    Linux干货 2016-10-19

评论列表(1条)

  • luoweiro
    luoweiro 2016-10-10 22:53

    总结的很详细,并且把自己的实验过程总结出来,看起来更加直观,赞。