Linux系统基础使用入门

Linux系统基础使用入门

1,登录:

  # starttx &   进入图形界面

2,终端(物理,虚拟,图形,模拟)

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

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

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

        可以使用快捷键Ctrl+Alt+F1~F6 来相互切换。默认启动虚拟终端1  

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

    设备文件路径:/dev/tty#      #=[1,6]

  模拟终端:

    图形界面下打开的命令行接口,基于ssh协议或telnet协议等远程打开的界面。

    设备文件路径:/dev/pts/#       #=[0,∞)

      ssh后面加上IP地址,可以建立连接相应的终端。

  查看当前的终端的命令:tty

3,交互式接口

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

  (1)GUI:图形用户界面

    X protocol, window manger,  desktop

    Desktop:

      GNOME(C, gtk)

      KDE(C++, qt)

      XFCE(轻量级桌面)

  (2)CLI:字符界面(shell)

    ①shell程序(外壳):

      sh(bourn)

      csh

      tcsh

      ksh(korn)商业程序

      bash(bourn again shell) ,结合csh和ksh,遵循GPL协议各个发行版的标准shell,tcsh和 ksh是bash集合

      zsh

    ②显示当前使用的shell:

      #  echo $SHELL    //注意大小写

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

      #  cat /etc/shells

    ④命令提示符:prompt

      [root@localhost~]#

             [root@localhost~]:PS1

        命令提示符prompt:

          管理员:#

          普通用户:$

    ⑤命令:

      输入命令,回车:

        提请shell程序找到键入命令所对应的可执行程序或代码,并由其分析后提交给内核分配资源将其运行起来:

          表现为一个或多个进程,which ls和whereis ls 这两个命令

          查看命令的路径命令:

              which ls    或者    whereis ls

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

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

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

            which, whereis可以查看外部命令

          区别内部或者外部命令的命令:

            # type COMMAND

      运行命令:   

        命令格式:

          COMMAND [OPTIONS...] [ARGUMENTS...]

            选项:启用或关闭的某个或某些功能:

              短选项:-c, 例如: -h, -h

                多个短选项可命令使用,例如 -l -h, 可写作 -lh,如果前者两个不合并使用,中间必须使用空白隔开

              长选项:--word,例如: --long, --human-readable

                长选项一般不能合并

            参数:命令的作用对象,生效对象。

              向命令提供数据:

          注意:

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

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

    ⑥文件系统:

        文件有两类数据:

          元数据:metadata(比如目录的内容数据,索引数据)

          数据:data(内存中存的内容)

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

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

          /:根目录,路径分隔符;

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

        4,所以 . 开头的文件,均为隐藏文件

        路径:

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

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

            当前位置的表示方式:

              (1)./:  ./sysconfig/network-scripts

              (2)省略上述符号   sysconfig/network-scripts

              ..: 表示当前目录的上一级目录

          当前目录:current directory,也称做working directory;

            pwd: printing working directory

        LSB: Linux Srandard Base   Linux标准库

4,命令总结

               ls, cd, type, tty, cat, which, whereis, pwd, echo

    命令:

      (1)文件系统相关:

        目录文件

        文件管理

        文件查看

        文件编辑

      (2)系统管理管理:

5,Linux命令帮助的获取

  (1)外部命令:

    都有一个可执行程序,位于文件系统某目录下

    whereis,which 查看命令的路径

    shell程序搜寻可执行程序文件的路径定义在PATH环境变量中:

      # echo $PATH 

      注意:自左至右

    COMMAND [OPTIONS...] [ARGUMENTS...]

  (2)内部命令:

    # help COMMAND

      (3)外部命令:

    ①# COMMAND  --help

      # COMMAND -h

    ②使用手册(manual)

      # man COMMAND

    ③ 信息页

      # info COMMAND

    ④程序自身的帮助文档

      README

      INSTALL

      ChangeLog

    ⑤ 程序官方文档

      官方站点:Documentation

    ⑥ 发行版的官方文档

    ⑦Google

  (4)内部命令帮助:(hash, history)

    # help COMMAND

    hash命令:

      shell搜寻到的外部命令的路径结果会缓存至kv(key-value)(键值存储)存储中:通俗一点就是会记录命令以及其使用的次数。

    history命令:

      作用是什么?相关的环境变量是什么?有用的选项?

      管理命令历史:

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

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

        history

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

          -d: 删除历史中指定的命令:指定是指定编号的(delete)

          -c:清空命令历史:(clear)

      快捷操作:  

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

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

        !!:重复运行上一条命令:

  (5)外部命令帮助:(--help, man)

    ① # COMMAD --help

    ② man COMMAND

      手册页:/usr/share/man/       (man1~8)

        man1:用户命令

        man2:系统调用

        man2:C库调用

        man4:设备文件及特殊文件

        man5:配置文件格式

        man6:游戏

        man7:杂项

        man8:管理类的命令

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

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

      man命令的配置文件:/etc/man.config

        MANPATH /PATH/TO/SOMEWHERE:指明新的手册文件搜索位置

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

    帮助手册终端段落说明:

      NAME:名字及简要说明

      SYNOPSIS:命令简要使用帮助

      DESCRIPTION:描述

      ......

    SYNOPSIS:

      [ ]:可选内容

      <>:必选内容

      a|b:二选一

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

      { }:这是只一个辅助性符号

    man命令的操作方法:

      Space,^V, ^f, ^F:向文件尾部做翻屏操作:

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

      d,^D: 一次性向文件尾部翻半屏;

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

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

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

      q:退出;

      #:键入数字,跳转至第#行

      1G:回到文件首部

      G:翻至文件尾部

    文本搜索:

      /KEYWORD:

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

          n:下一个

          N:上一个

      

      ?KEYWORD:

        以KEYWORD指定的字符串为关键字,从当前位置向文件首部搜索:不区分字符大小写;

          n:跟搜索命令同方向,下一个

          N:跟搜索命令反方向,上一个

    练习:date命令

      显示今天为周几?

      设定当前系统时间?

      显示今天的日期,形如: 08/15/15?

      显示当前的时间,形如: 16:01:21?     

  (6) info

    info COMMAND

  (7) 程序自身的帮助文档

    /usr/share/doc/COMMAND-WERSION

  (8)程序官方文档 openstack site

  (9)发行版的官方文档

    http://www.redhat.com/docs

  (10)Google

6,基础命令:

  (1)date:(date, cal)

复制代码
       
 1 用法:date [选项]... [+格式]
 2  或:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
 3 Display the current time in the given FORMAT, or set the system date.
 4 
 5 Mandatory arguments to long options are mandatory for short options too.
 6   -d, --date=STRING         display time described by STRING, not 'now'
 7   -f, --file=DATEFILE       like --date once for each line of DATEFILE
 8   -I[TIMESPEC], --iso-8601[=TIMESPEC]  output date/time in ISO 8601 format.
 9                             TIMESPEC='date' for date only (the default),
10                             'hours', 'minutes', 'seconds', or 'ns' for date
11                             and time to the indicated precision.
12   -r, --reference=文件        显示文件指定文件的最后修改时间
13   -R, --rfc-2822        以RFC 2822格式输出日期和时间
14                 例如:2006年8月7日,星期一 12:34:56 -0600
15       --rfc-3339=TIMESPEC   output date and time in RFC 3339 format.
16                             TIMESPEC='date', 'seconds', or 'ns' for
17                             date and time to the indicated precision.
18                             Date and time components are separated by
19                             a single space: 2006-08-07 12:34:56-06:00
20   -s, --set=STRING          set time described by STRING
21   -u, --utc, --universal    print or set Coordinated Universal Time (UTC)
22       --help        显示此帮助信息并退出
23       --version        显示版本信息并退出
24 
25 给定的格式FORMAT 控制着输出,解释序列如下:
26 
27   %%    一个文字的 %
28   %a    当前locale 的星期名缩写(例如: 日,代表星期日)
29   %A    当前locale 的星期名全称 (如:星期日)
30   %b    当前locale 的月名缩写 (如:一,代表一月)
31   %B    当前locale 的月名全称 (如:一月)
32   %c    当前locale 的日期和时间 (如:2005年3月3日 星期四 23:05:25)
33   %C    世纪;比如 %Y,通常为省略当前年份的后两位数字(例如:20)
34   %d    按月计的日期(例如:01)
35   %D    按月计的日期;等于%m/%d/%y
36   %e    按月计的日期,添加空格,等于%_d
37   %F    完整日期格式,等价于 %Y-%m-%d
38   %g    ISO-8601 格式年份的最后两位 (参见%G)
39   %G    ISO-8601 格式年份 (参见%V),一般只和 %V 结合使用
40   %h    等于%b
41   %H    小时(00-23)
42   %I    小时(00-12)
43   %j    按年计的日期(001-366)
44   %k   hour, space padded ( 0..23); same as %_H
45   %l   hour, space padded ( 1..12); same as %_I
46   %m   month (01..12)
47   %M   minute (00..59)
48   %n    换行
49   %N    纳秒(000000000-999999999)
50   %p    当前locale 下的"上午"或者"下午",未知时输出为空
51   %P    与%p 类似,但是输出小写字母
52   %r    当前locale 下的 12 小时时钟时间 (如:11:11:04 下午)
53   %R    24 小时时间的时和分,等价于 %H:%M
54   %s    自UTC 时间 1970-01-01 00:00:00 以来所经过的秒数
55   %S    秒(00-60)
56   %t    输出制表符 Tab
57   %T    时间,等于%H:%M:%S
58   %u    星期,1 代表星期一
59   %U    一年中的第几周,以周日为每星期第一天(00-53)
60   %V    ISO-8601 格式规范下的一年中第几周,以周一为每星期第一天(01-53)
61   %w    一星期中的第几日(0-6),0 代表周一
62   %W    一年中的第几周,以周一为每星期第一天(00-53)
63   %x    当前locale 下的日期描述 (如:12/31/99)
64   %X    当前locale 下的时间描述 (如:23:13:48)
65   %y    年份最后两位数位 (00-99)
66   %Y    年份
67   %z +hhmm        数字时区(例如,-0400)
68   %:z +hh:mm        数字时区(例如,-04:00)
69   %::z +hh:mm:ss    数字时区(例如,-04:00:00)
70   %:::z            数字时区带有必要的精度 (例如,-04,+05:30)
71   %Z            按字母表排序的时区缩写 (例如,EDT)
72 
73 默认情况下,日期的数字区域以0 填充。
74 The following optional flags may follow '%':
75 
76   -  (hyphen) do not pad the field
77   _  (underscore) pad with spaces
78   0  (zero) pad with zeros
79   ^  use upper case if possible
80   #  use opposite case if possible
81 
82 在任何标记之后还允许一个可选的域宽度指定,它是一个十进制数字。
83 作为一个可选的修饰声明,它可以是E,在可能的情况下使用本地环境关联的
84 表示方式;或者是O,在可能的情况下使用本地环境关联的数字符号。
85 
86 Examples:
87 Convert seconds since the epoch (1970-01-01 UTC) to a date
88   $ date --date='@2147483647'
89 
90 Show the time on the west coast of the US (use tzselect(1) to find TZ)
91   $ TZ='America/Los_Angeles' date
92 
93 Show the local time for 9AM next Friday on the west coast of the US
94   $ date --date='TZ="America/Los_Angeles" 09:00 next Fri'
95 
96 GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
97 请向<http://translationproject.org/team/zh_CN.html> 报告date 的翻译错误
98 要获取完整文档,请运行:info coreutils 'date invocation'
View Code
复制代码

    date [OPTION]... [+FORMAT]: 显示

      FORMAT:格式符号

    date [MMDDhhmm[[CC]YY][.ss]] :设置

      MM: 月份

      DD: 几号

      hh: 小时

      mm: 分钟

      yy: 两位年份

      CCYY:四位年份

      .ss: 秒钟              date 051115372018.30

    Linux的两种时钟:

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

      硬件时钟:

      hwclock:显示硬件时钟

        -s,--hcrosys  硬件到系统时钟,它将硬件时间复制到系统时钟

        -w,  --sysrohc  系统到硬件时钟,它将系统时间复制到硬件时钟

    cal:日历

  (2)目录相关的命令:

    当前目录或工作目录

    主目录,家目录:HOME

      root: /root

      普通用户:/home/USERNAME

        /home/tom

      ~: 用户的主目录

    cd: 

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

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

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

      .

      ..

      相关的环境变量:

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

        OLDPWD: 上一次所在目录路径:

    pwd:显示当前目录

    ls:list 

      列出指定路径下的文件列表

      ls [OPTION]...[FILE]...

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

        -l: 显示长列表信息,长格式

          -rw-r--r-- 1 root root 44800 Aug 14 14:32 insrall.log

            -rw-r--r--:

              最左侧的第一位:文件类型

                -(普通文件),d(目录文件),l(链接文件),b(块设备文件),c(字符设备文件),p(管道文件),s(套接字文件)

              后面的9位:访问权限,perm

            数字:文件被硬链接的次数:

            左root:文件的owner

            右root:文件的group

            44800:文件的size

            Aug 14 14:32:文件的最近一次被修改的时间(修改:内容被改变。改变:文件的属性发生改变,比如名字改变了)

            insrall.log:文件名字

        -h,--human-readable:单位换算

        -d:显示目录自身的相关属性:通常要与 -l 一起使用才有意义

        -r,--reverse:逆序显示

        -R,--recursive:递归显示,递归式地显示指定目录的各个子目录中的文件,通俗一点,把他们全显示出来。

      stat /PATH/TO/SOMEFILE:

          获取指定文件的元数据信息,在stat 后加上文件路径即可

       文件查看的命令:cat(链接文件并显示出来),tac(逆序文件显示) 

      cat:

        concatenate files and print on the standard outputposted

        链接文件并显示出来

        cat [OPTION]...[FILE]...

          -E:显示行结束符$

          -n:对显示出的行进行编号,仅仅用于显示

    文件内容查看命令:file,

      file:

        确定文件类型

        file /PATH/TO/SOMEWHERE file后面跟上文件路径

      echo:

        回显命令,显示一行文本。

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

        -e:允许使用转义符,比如可以在内容里面显示换行符,制表符:

          \n:换行

          \t:制表符  

        echo "$VAR_NAME": 变量会替换,上瘾好表弱引用

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

      which:

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

        which [POTION] COMMAND

          --skip-alias: 禁止显示别名

        whereis

      whatis:

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

 

 

欢迎转载,请注明出处并附上本文链接,谢谢。

 

 

 

posted @   Qiuma  阅读(988)  评论(0编辑  收藏  举报
努力加载评论中...
TOP ↑
点击右上角即可分享
微信分享提示

目录导航