02day-Linux基础入门及简单的命令了解

Linux哲学思想:

1、一切皆文件;

         把几乎所有资源,包括硬件设备都组织为文件格式;

2、由众多单一目的小程序组成;一个程序只实现一个功能,而且要做好;

         组合小程序完成复杂任务;

   3、尽量避免跟用户交互;

         目标:实现脚本编程,以自动完成某些功能;

   4、使用纯文本文件保存配置信息;

         目标:一款使用的文本编程器即能完成系统配置工作;

第1章   Linux基础入门

1.1 Linux终端介绍:

用户与主机交互,必然用到的设备

物理终端:直接接入本机的显示器和键盘设备console

   刚开机的时候,程序还没有启动,程序启动完成后默认以虚拟终端1,或者图形终端

      设备文件:/dev/console

虚拟终端:附加在物理终端之上的以软件方式虚拟实现的终端,centos6默认启动6个虚拟终端

      Ctrl+Alt+F#:[1,6]  Alt+F1切回图形界面

图形终端:附加在物理终端之上的以软件方式虚拟实现的终端,但额外会提供桌面环境

      设备文件路径:/dev/tty#

模拟终端:完全以软件方式虚拟实现

      图形界面下打开的命令行接口

      使用sshtelnet协议远程打开的界面

      设备文件:/dev/pts/#

查看当前终端

      使用tty命令

1.2 交互式接口

启动终端后,在终端设备附加一个交互式应用程序

       GUI:

              X protocol+window manager+desktop=GUI

             

              Desktop:

                     GNOME: C GTK

                     KDE:     C++ QT

                     XFCE: 轻量级桌面

       CLI:     

              shell程序

                     sh

                     csh

                     ksh  商业版

                     bash

                     zsh

       显示当前使用的shell

      # echo $SHELL

   显示当前系统启用的所有shell:

      # cat /etc/shells

1.3 shell提示符

命令提示符(prompt):

   使用PS1环境变量定义

   管理员:#

   普通用户:$

[root@www ~]# echo $PS1
[\u@\h \W]\$

 [用户@主机名 当前目录名称]提示符

1.4 命令使用方法

输入命令,回车:

提醒shell程序找到键入命令所对应的可执行程序或代码,并由其分析后提交给内核分配资源将其运行起来,表现为一个或多个进程

命令类型:

   shell中可执行的命令有两类:

      内建命令:由shell自带的,而且通过某命令形式提供

      外部命令:在当前系统的某文件系统路径下有对应的可执行程序文件

         which,whereis

      区分内建命令和外部命令:

         使用type命令

          # type COMMAND

运行命令:

       命令格式:

              COMMAND [OPTIONS…] [ARGUMENTS…]

                     选项:用于启用或关闭命令的某些功能

                         短选项:-c(一个字符),例如:-l,-h

                             多个短选项可以合并使用,例如:ls -lh

                         长选项:–word(一个单词),例如:–long –help

                     参数:命令的作用对象

                         向命令提供数据:例如: ls -lh /etc /etc即为参数

       注意:

            1、多选项,以及多参数和命令之间都应该使用空白字符分隔

            2、取消命令执行:Ctrl+c

1.5文件系统

   windows:C:\Progam files\ofiice15\word.exe

   Linux:/etc/sysconfig/network-scripts/ifcfg-eth0

   Linux:一切从根开始

 

   文件有两类数据:

              元数据:metadata

              数据:data

       Linux文件系统特性:

              1、文件名严格区分字符大小写

              2、文件名可使用除/以为的任意字符,不建议使用特殊字符

                     /:根目录,路径分隔符

              3、文件名长度最长不能超过255个字符

              4、所有.开头的文件 均为隐藏文件

   路径:

              绝对路径:从根目录起始的路径

              相对路径:从当前位置起始的路径

                     当前位置的表示方式:

                            1./  ./sysconfig/network-scripts

                            2、省略上述符号:sysconfig/network-scripts

 

                            ..表示当前目录的父目录

 

              当前目录:current directory 也称作working directory

                     pwdprinting working directory

 

       LSB:Linux Standard Base Linux标准库

第2章   Linux基础命令

命令总结:

   ls cd type tty cat which whereis pwd echo

命令:

   文件系统相关:

      目录管理

      文件管理

      文件查看

      文件编辑

   系统管理相关:

2.1  Linux命令帮助获取

   内建命令:

       # help COMMAND

         如果使用man获取的将是整个bash的帮助手册

   外部命令:

      <1> # COMMAND –help

            # COMMAND -h

      <2>使用手册(manual

            # man COMMAND

      <3>信息页

            # info COMMAND

      <4>程序自身的帮助文档

            README

            INSTALL

            Changelog

      <5>程序官方文档

             官方站点:Documentation

      <6>发行版的官方文档

      <7> Google

          http://www.slideshare.net/  需翻墙

内部命令使用帮助详解

使用帮助了解命令:

hash命令: 

       shell搜寻到的外部命令的路径结果会缓存至kv(key/value)存储中

       清除所有缓存:hash -r

history命令:

   管理命令历史:

              登录shell时,会读取命令历史文件中记录下的命令:~/.bash_history

              登录进shell后新执行的命令只会记录在缓存中,这些命令会在用户退出时追加至命令历史文件中

       history:

              -a:追加本次会话新执行的命令历史列表至历史文件中

              -d: 删除历史中指定的命令

              -c:清空命令历史

   快捷操作:

              !# 调用历史中第#条命令

              !string 调用历史中最近一个以string开头的命令

              !! 执行上一条命令

外部命令帮助获取:

   man COMMAND

          手册页:/usr/share/man

           man1: 用户命令

           man2: 系统调用

           man3: C库调用

           man4: 设备及特殊文件

           man5: 配置文件格式

           man6: 游戏

           man7: 杂项

           man8: 管理类的命令

    注意:有些关键不止一个章节中存在帮助手册

         要查看指定章节中的手册:man # COMMAND

         不确定有哪些章节可以使用:whatis COMMAND查看   

[root@www ~]# whatis man
man                  (1)  - format and display the on-line manual pages
man.config [man]     (5)  - configuration data for man
man [manpath]        (1)  - format and display the on-line manual pages

man命令的配置文件:

centos 6: /etc/man.config

centos 7: /etc/man_db.conf

MANDATORY_MANPATH             /PATH/TO/SOMEWHERE===>指明新的手册文件搜索位置

 # man -M /PATH/TO/SOMEWHERE COMMAND:到指定位置下搜索COMMAND命令的手册页并显示之

 

帮助手册段落说明:

        NAME       名字,简要说明

        SYNOPSIS   命令简要使用帮助

        DESCRIPTION  命令功能详细描述

        OPTIONS       选项

        EXAMPLES   使用事例

        AUTHOR     作者

        PREORTING BUGS  报告bug

        SEE ALSO

 

SYNOPSIS中符号意义

              []: 可选内容

              <>: 必选内容

              a|b:二选一

              ….: 同一内容可出现多次

man命令操作方法:

           Space,^V,^f,^F: 向文件尾部翻一屏

           b,^B:向文件首部翻一屏     

           d,^D: 向文件尾部翻半屏

           u,^U:向文件首部翻半屏

           RETURN or ^N or e or ^E or j or ^J:向文件尾部翻一行

           y or ^Y or ^P or k or ^K: 向文件首部翻一行

           q: 退出

           #:跳转至第#

           1G: 回到文件首部

           G:首部翻至文件尾部

文本搜索:

/KEYWORLD:

          KEYMORD指定的字符串为关键字,从当前位置向文件尾部搜索。不区分字符大小写

                  n: 下一个

                  N: 上一个

?KEYWORD:

          KEYWORD指定的字符串为关键字,从当前位置向文件首部搜集,不区别大小写

                  n: 跟搜索命令相同方向

                  N: 跟搜索命令相反

2.2 时间相关命令

date

   date [OPTION]… [+FORMAT]  —->显示日期时间

      FORMAT:格式符号

         %a:显示星期几,简写的     

        [root@www ~]# date +%a
        Tue

         %A:显示星期几,完全显示      

     [root@www ~]# date +%A
     Tuesday

         %Y:显示四位年份

         %y:显示两位年份

         %m:显示月份

         %M:显示分钟

         %d:

         %h:英文简写的月,Jun

         %H:显示小时

         %S:

         %s:现在距离19701100分(unix元年)的秒数,timestamp(时间戳)

         %D:显示日期格式为:月//

         %F:显示日期格式:年

         %T:显示时间格式:时::

 

 date [MMDDhhmm[[CC]YY][.ss]]  —->设置日期时间

          MM:月份

          DD:几号

          hh:小时

          mm:分钟

          YY:两位年份

          CCYY:四位年份

          .ss:秒钟

Linux的两种时钟:

    系统时钟:由Linux内核通过CPU的工作频率进行的计时

硬件时钟:存储在CMOS里的时钟,关机后该时钟依然运行,主板的电池为它供电

hwclock:显示硬件时钟

          -s,–hctosys: 以硬件时间为准

          -w,–systohc 以系统时间为准


cal:显示日历

   cal 年份

2.3 目录相关命令

   当前目录或工作目录

   主目录(~),家目录:HOME—>

      root: /root

      普通用户:/home/USERNAME

 

cd 切换目录

   cd cd ~:回当前用户的主目录

   cd ~USERNAME:切换至指定用户的家目录

   cd –:在上一个目录和当前目录之间来回切换

 

相关环境变量:

   PWD:保存了当前目录路径—pwd

   OLDPWD:上一次所在目录路径—-cd –

      [root@www ~]# cd $OLDPWD
      [root@www etc]# cd $OLDPWD

  

pwd 显示当前目录

 

ls: list

   显示指定路径下的文件列表

   ls [OPTION]… [FILE]…

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

      -A: 显示所有文件,但不包含. ..

      -l: 显示文件详细信息,长格式

         -/rw-r–r–./ 1/ root/ root/ 9615 /Jun 25 20:43/ install.log

         文件类型/权限/文件被硬链接次数/属主/属组/size/文件最近一次被修改的时间/文件名

      -h: 单位换算,易读

      -d: 显示目录自身的相关属性,通常和-l结合使用

      -r: 逆序显示。以文件名开头字母为准

      -R: –recursive  递归显示,显示目录及目录下的所有文件。还是tree好使

 

 

stat

stat /PATH/TO/SOMEFILE

获取指定文件的元数据

 [root@www ~]# stat /etc
File: `/etc'
Size: 4096        Blocks: 8          IO Block: 4096   directory
Device: 802h/2050d  Inode: 12          Links: 63
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2016-06-28 11:46:11.597990443 +0800
Modify: 2016-06-28 19:16:22.341021361 +0800
Change: 2016-06-28 19:16:22.341021361 +0800

2.4 文件查看命令

   cat

    连接显示文件内容

      cat [OPTION]… [FILE]…

         -E: 显示行结束符$

         -T: 显示制表符

         -n: 对显示出的每一行进行编号

    

一般和EOF结合使用的较多

cat <<EOF>FileName

EOF

   tac

   cat显示相反,倒序的显示

 

   file

   查看文件内容类型

   file /PATH/TO/SOMEWHERE

   echo

      回显

      -n: 禁止自动添加换行符

      -e: 允许使用转义符

         \n: 换行

         \t: 制表符

echo "$VAR_NAME": 变量会替换,弱引用

echo '$VAR_NAME': 变量不会替换,强引用

echo “ : 命令引用

 

   which

   显示命令对应的程序文件路径

   which [options] COMMAND

      –skip-alias 跳过别名

             [root@www ~]# which –skip-alias ls

   whatis

      使用mkwhatis命令可将当前系统上的所有帮助手册及与之对应的关键字创建为一个数据库

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

(0)
N21_LorneN21_Lorne
上一篇 2016-06-29
下一篇 2016-06-29

相关推荐

  • 文件挂载

    (1)创建目录 /mnt/file,利用dd命令创建一个大文件; (2)将文件格式化,这个文件有文件系统,相当于一个分区; (3)直接用blkid 看不到文件,可以用mount -o loop 挂载文件,挂载上后,文件就可以当作分区来用了; (4)挂载文件的优势在于,方便移动。分区不能随便移动而文件可以; centos6是要加-o loop的 centos7…

    2017-05-03
  • linux文件管理

    目录创建删除,软硬链接的区别和注意,file命令的使用,工作中遇到一些情况的处理方法

    2017-11-18
  • 萧田国给你五个2017GOPS北京站的参会理由!

    2017年7月28日,GOPS全球运维大会即将开幕,发起人萧田国将在主会场发表题为《运维如何延续自己的职业生涯》演讲,参加第七届北京站您会有哪些收益? 收益一: 【长达半天时间的培训式演讲】让您系统性掌握顶级互联网自动化运维体系 收益二: 【腾讯智能运维】传奇背后的细节,听了才知道 收益三: 与Facebook、Twitter、BATJ等运维大咖【面对面深度…

    Linux干货 2017-07-24
  • openssl基本应用

    导言: 我们知道在互联网上进行文件传输、电子邮件商务往来存在许多不安全因素,特别是对于一些大公司和一些机密文件在网络上传输,所以为了保证安全,我们必须给文件加密。今天,我们就来谈谈加密、解密、openssl的使用以及CA的实现过程。 数据的3大加密方式 对称加密 含义 指加密解密使用同一组密钥,是按数据分块以后进行加密的,前后数据块彼此之间有关联关系。 特性…

    Linux干货 2016-12-05
  • N23-北京-阿来

           我是阿来,我参加了马哥Linux运维网络班,从2016年9月开始我将跟随马哥学习Linux技术。我的学习宣言是:学习的路,就在脚下,一步一个脚印,领路的人,就这这里,一天一点进步!

    Linux干货 2016-09-12
  • NET25_第6周作业

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; (1) cp /etc/rc.d/rc.sysinit /tmp cd /tmp vim rc.sysint vim命令::%s/\(^[[:space:]]\)\+/#\…

    Linux干货 2017-03-15

评论列表(1条)

  • 马哥教育
    马哥教育 2016-06-29 15:29

    写的很好,排版还可以在漂亮一些,加油