Linux基础概念和基础命令

计算机基础:

    一、计算机系统组成

          QQ图片20160722202702.png

    二、冯诺依曼体系

        QQ图片20160722203206.png

    三、服务器存储类型

        DAS:直接连接存储,存储直接与服务器相连,类似于在服务器上直接加个存储,用IDE、SATA线等线缆进行连接

        NAS:网络连接存储,通过局域网,在多个服务器之间实现了文件共享,类似于NFS、windows共享的模式,

        SAN:存储区域网络,有SAN的服务端和SAN的客户端,客户端通过网络连到存储上,效果类似在本地加上一块磁盘,通过光纤或网线相连

    

    四、ABI和API:

        ABI:应用程序二进制接口,在应用程序和而操作系统之间

        API:应用程序调用接口,在底层和操作系统之间

    

    五、文件系统:

         ntfs、fat、iso9660

         ext2、3、4 CentOS6.X系统默认的文件系统

         xfs、btrfs CentOS7默认用的是xfs文件系统

    六、分区方案:

         MBR:

             主分区:一个磁盘主分区的数量 <=4,系统要装在主分区上,如果服务器上有两块磁盘,那么其中一块磁盘可以没有主分区

             扩展分区:一个磁盘只能有一个扩展分区,扩展分区数量+主分区数量 <=4,扩展分区不能存储数据,只能用来划分逻辑分区

             逻辑分区:逻辑分区分区号从5开始编号,sda5

             主分区和扩展分区的编号可以认为指定,但是扩展分区里面的逻辑分区的编号是系统自动指定的

             分区后需要挂载后才能使用

        

         swap分区在以前内存比较小的情况下,一般是内存的两倍

         但目前服务器内存比较大,一般测试环境给2G就够了,生产环境中8G以上的内存,可以分10G左右就够了

    

    七、Linux哲学思想:

         1、一切皆文件

         2、小型、单一用途的程序

         3、链接程序,共同完成复杂的任务

         4、避免令人困惑的用户界面

         5、配置数据存储在文本中

    八、shell类型

        shell:功能可以理解为将命令翻译成计算机能够识别的0101代码,翻译器

        shell的种类:sh、csh、tcsh、ksh、bash、zsh

        /etc/shell  配置文件中保存了当前系统支持的shell类型

        

    九、用到的一些命令

        lscpu 可以查看cpu的信息

        md5sum /dev/sr0 可以计算出来指定文件的md5值

        whoami 可显示当前是哪个用户登录

        tty 可以显示出当前登录的是哪个终端

        chvt 1-6  表示利用终端切换界面

        hostname  可显示完整的主机名

        lsb_release -a  查看当前操作系统的版本信息

        uname -r  查看内核版本

        id -u 可查看当前登录用户的UID

        id -u USERNAME  可查看指定用户的UID

        echo $SHELL 可查看默认shell类型

        getent passwd ftp  可以查看ftp用户的/etc/passwd中的条目

        type COMMAND  可以查看指定的命令是外部命令还是内部命令

        hash  可以将外部命令的路径结果缓存下来

            

    十、相关命令详解

        cd:改变工作目录

          语法:cd /PATH/TO/SOMEDIR  切换到指定目录

            cd  切换回家目录

            cd ~   切换回自己家目录

            cd ~USERNAME   切换到指定用户的家目录(只有管理员才有权限切换到其他用户的家目录)

            cd –    在上一次所在目录与当前目录之间来回切换

                PWD   用来记录当前工作目录的环境变量

                OLDPWD   用来记录上一次工作目录的环境变量

        

        ls:列出指定目录下的内容

           语法:ls [OPTION]…[FILE]…

             常用选项:

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

                 -A  显示除.和..之外的所有文件

                 -l  长格式列表,表示显示文件的详细属性信息

                     显示出来的信息为

                    -rw-r-x—  1  root  root  8827  10月15 20:34 testa.log

                      -rw-r-x—该文件的文件类型和相应的权限

                   最前面一个-表示文件的类型,后面9位表示相应的权限

                     文件类型:

                         -:表示是普通文件,

                         d:表示是目录

                         b:表示是块设备文件,支持以“block”为单位进行随机访问

                         c:表示是字符设备文件,支持以“character”为单位进行线性访问

                         l:表示是符号链接(软链接)文件

                         p:表示是管道文件,有名字的管道文件

                         s:表示是套接字文件

                         1 表示文件被硬链接的次数

                     root  表示文件的属主

                     root  表示文件的属组

                     8827  表示文件的大小

                     但是如果对ll /dev 该处显示的是两个数字,类似brw-rw—-. 1 root cdrom    11, 0   7月13 00:34 sr0

                     这里的数字前一个表示主设备号,后一个表示次设备号,一个标识设备类型,后一个标识同一类不同设备

                      10月15 20:34 表示文件最后一次被修改的时间

                -h 表示对文件大小做单位换算,换算后的结果可能为非精确值(1000和1024的区别)

                -d 表示仅显示目录自身,而不是目录下面每个文件的属性,要与-l一起使用,显示目录自身的属性信息

                -r ,–reverse 表示显示时以逆序的方式进行显示,默认是升序显示

                -R ,–recursive 表示递归显示

        

        cat:显示文本文件的文件内容

        语法:cat [OPTION]…[FILE]…

         选项:

             -n 给显示的文本行编号

             -E  显示行结束符,Linux行结束符为$

             FILE可以有多个,显示的时候将多个文件全部列出来

        

        echo:回显命令

        语法:echo [OPTION]…[STRING]…

         选项:

             -n 显示完成后不自动进行换行

             -e  让转意符生效,而不是显示出来

             转意符:\n 表示换行

                     \b 表示退格

                     \t 表示制表符

                     \0nnn插入nnn(八进制)代表的ASCII编码

                     利用上述的可以改颜色,颜色配置文件在/etc/DIR_COLORS

                     echo -e “\033[背景颜色;字体颜色m字符串\033[0m”   背景颜色可省略

                     echo -e “\033[43;31m nihao \033[0m”

                     43;31表示前景色和背景色

                     字体颜色:30-37分别表示:黑、红、绿、黄、蓝、紫、天蓝、白色

                     背景颜色:40-47分别表示:黑、红、绿、黄、蓝、紫、天蓝、白色

                     \033[0m是控制选项,0m表示无属性,1m表示高亮度,4m表示下划线,5m表示闪烁,7m表示反显,8m表示隐藏显示

                                     echo -e "\033[5m\033[44;32m*\033[0m"  显示为*号闪烁,如果写到最后面\033[0m这里,

                                    则会变成显示完成后换行后的命令提示符闪烁

             STRING:可以使用引号,单引号和双引号均可使用

                 单引号:强引用,变量引用不执行替换;

                 双引号:弱引用,变量引用执行替换;

                 如:echo “$SHELL”

                 显示出来的信息为 /bin/bash

                  echo ‘$SHELL’

                  显示出来的信息为  $SHELL

                     echo echo $USER结果为echo root

                     echo ‘echo $USER’结果为 echo $USER

                     echo “echo $USER”结果为 echo root

                     echo `echo $USER`结果为root

        

         注意:变量引用中的正规引用表示法为 ${SHELL},只是很多时候{}可以被省略

        

        

        shutdown: 关机或重启命令

            语法:shutdown [OPTIONS…][TIME][WARNING…]

            选项:

                 -h:表示关机

                 -r:表示重启

                 -c:表示取消之前定义的关机或重启操作

            TIME:

                 now:表立即

                 hh:mm  表示指定的时间点

                 +m  表示在当前时刻的多少分钟之后

        WARNING:

             表示提示信息

         例如:shutdown -r +10 “system is going to reboot after 10 minutes”

        

        日期相关的命令:date、clock、hwclock、cal

         Linux有两套时间,一套是硬件时钟,一套是系统时钟,系统启动时,从硬件读取日期和时间信息;读取完成以后,就不在与硬件相关

         date:显示或设置系统时间(显示和设定系统时钟)

         语法:date [OPTION]… [+FORMAT]  用来显示时间日期

               date [MMDDhhmm[[CC]YY][.ss]]  用来设置时间日期

              date -d “STRING” :显示指定字符串的日期

                 例如:date -d yesterday

                 date -d “10 days ago”  显示10天以前的日期

                 date -d “1 month 10 days ago” 显示1个月10天之前的日期

                 date -d “20 days”  显示20天之后的日期

                 date –set 20160725  可以将日期设置为2016年7月25日

                 date –set “20160726 17:25:26”可以设定日期和时间

         +FORMAT:表示显示为指定格式的日期,+为固定格式

             FORMAT支持的常用格式有:

                 %F:显示为例如2016-07-20的日期格式

                 %T:显示为例如08:58:15这样的时间显示格式

                 %Y:显示年

                 %m:显示月

                 %d:显示日

                 %H:显示几点

                 %M:显示几分

                 %S:显示几秒

                 %j:显示当前数一年中的第多少天,值为1-356

                 %D:显示为07/22/16这样月/日/年格式

                 %s:显示时间戳,也就是从1970年1月1号0点0分0秒到当前时间所经历的秒数

               多个格式之间用空格分隔,可以将整个格式用双引号引起来

                 例如:date +“%F %T”

                 例如:date +“%Y%m%d %H%M%S”

                 date +“YEAR:%Y Month:%m”

             设定时间的例子:

             date 072008522016.25 表示修改时间为07月20日08点52分钟2016年 25秒

        clock,hwclock:查询和设定硬件时钟(硬件时钟,可理解为BIOS时钟)

        clock和hwclock为同一套命令,clock是hwclock的硬链接

         clock不跟任何信息,表示显示硬件时钟

         -s,–hctosys  表示将系统时间设置为跟硬件时间一样的时间

         -w,–systohc  表示将硬件时间设置为跟系统时间一样的时间

         cal:显示日历

             cal  表示显示当前这个月的日历

             cal 2016  表示显示指定年的全年的日历

             cal 07 2016  表示显示指定年的指定月的日历

    

        type:显示命令的类型,是内建命令还是外部命令

         例如:type ls

         如果原始命令被隐藏,要想使用原始命令,可以使用\ls

        whatis COMMAND可以显示命令的大致功能说明

        which:用来显示命令的完整路径

             语法:which [OPTION]…COMMAND

             例如:which ls

             选项:

         –skip-alias  忽略命令别名,而直接显示命令本身

        

        whereis:显示命令的路径以及相关帮助文件的路径信息

             语法:whereis [OPTIONS] NAME

             例如:whereis ls

             选项:

         -b仅显示二进制文件程序的路径

         -m仅显示帮助文件的程序的路径

         who:显示当天系统的有哪些登录用户

         语法:who [OPTIONS]…

             who  显示当前系统的所有登录用户的信息

             who -b  显示系统启动的时间

             who -r  显示系统启动的时间,以及当前的系统运行级别

             who -d  显示系统死亡进程的信息

             who -u  显示各个登录用户的信息,包括显示登录持续时常和登录的进程号

        

        w:增强版的who命令,用于显示当前所有登录的用户,及其在操作的动作等详细信息

        

    命令别名:

     alias  可以显示当前系统上的命令别名信息

     定义命令别名:

         alias NAME='COMMAND'  只对当前shell有效,立即生效,重启后失效

         例如 alias cds=‘cd /etc/sysconfig/network-scripts/’

     撤销别名:

         umalias NAME

         例如 unalias cds

       hash命令:可以对命令的路径缓存至内存中

         hash 可以查看缓存的列表

         hash -d COMMAND 可以将hash缓存中包含COMMAND的条目删除

         hash -r 可以清空hash路径缓存的缓存表

    

        screen命令:字符界面实现远程协助(前提是:连到同一台机器,使用同一个账号)需要安装该screen软件,yum install screen

             打开新共享桌面:screen -S 共享会话的名称

             显示共享桌面会话列表:screen -ls 

             对方连到建立的共享会话上:screen -x 会话名称

             退出会话ctrl+a,d

             退出后再次连接上 screen -r 会话的进程号

             退出并完全关闭会话exit

             在远程登录的时候,运行一个执行过程比较长的程序(例如备份),为了防止断网后,

                    程序断开,无法知道程序运行的状态,可以单独开个screen来运行该程序

        

        命令执行的优先级:命令别名>内部>外部命令缓存(hash)>外部命令

    十一、课后作业

       1、 用echo显示闪烁的,带颜色的倒三角

            echo -e “\033[背景颜色;字体颜色m字符串\033[0m”   背景颜色可省略

             echo -e “\033[43;31m nihao \033[0m”

             43;31表示前景色和背景色

             字体颜色:30-37分别表示:黑、红、绿、黄、蓝、紫、天蓝、白色

             背景颜色:40-47分别表示:黑、红、绿、黄、蓝、紫、天蓝、白色

             \033[0m是控制选项,0m表示无属性,1m表示高亮度,4m表示下划线,5m表示闪烁,7m表示反显,8m表示隐藏显示

             echo -e "\033[5m\033[44;32m*\033[0m"  显示为*号闪烁,如果写到最后面\033[0m这里,

             则会变成显示完成后换行后的命令提示符闪烁

            故可以用echo -e "\033[5m\033[31m*******\n ***** \n  ***  \n   *    \033[0m"来显示一个红色,闪烁的倒三角

        

        2、date显示前十天前的日期,后20天的日期信息

          date -d "10 days ago" +%F   显示10天前的日期

          date -d "20 days" +%F  显示20天后的日期

        

        3、screen命令:字符界面实现远程协助(前提是:连到同一台机器,使用同一个账号)需要安装该screen软件,yum install screen

             打开新共享桌面:screen -S 共享会话的名称

             显示共享桌面会话列表:screen -ls 

             对方连到建立的共享会话上:screen -x 会话名称

             退出会话ctrl+a,d

             退出后再次连接上 screen -r 会话的进程号

             退出并完全关闭会话exit

             在远程登录的时候,运行一个执行过程比较长的程序(例如备份),为了防止断网后,

                    程序断开,无法知道程序运行的状态,可以单独开个screen来运行该程序

        

原创文章,作者:M20-1倪文超,如若转载,请注明出处:http://www.178linux.com/25291

(0)
M20-1倪文超M20-1倪文超
上一篇 2016-07-22
下一篇 2016-07-22

相关推荐

  • 大数据计算:如何仅用1.5KB内存为十亿对象计数

    Big Data Counting: How To Count A Billion Distinct Objects Using Only 1.5K This is a guest post by Matt Abrams (@abramsm), from Clearspring, discussing how they are able to accurat…

    Linux干货 2015-04-08
  • bash的特性和目录管理命令

    bash的特性和目录管理命令 bash特性     1. 命令补全机制: 所谓的命令补全,就是当输入命令的前几个字符的时候,按下tab,此时,bash根据输入的字符串,到path路径下进行寻找,把找到的且能唯一根据这个字符串标识的命令,予以补全。 如果根据这个字符串能在一个目录下面找到多个相同的命令,则再按一下tab就能列出所有…

    Linux干货 2016-10-29
  • 人志建,则无敌—if、case练习

    马哥21期网络班-9周博客作业 1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash for i in `cut -d: -f7 /etc/passwd`;&…

    Linux干货 2016-09-05
  • 磁盘配额的限制

    用一个块新的分区当做硬盘进行磁盘的配额限制实验 堆一块新的硬盘进行三步骤 分区,格式化,挂载 以/dev/sdb为例  (1) 分区: fdisk /dev/sdb sdb 8:16 0 200G 0 disk └─sdb1 8:17 0 10G 0 part (2) 格式化: mkfs.ext4 /dev/sdb1 /dev/sdb1: UUID…

    Linux干货 2017-04-30
  • 进程查看管理工具htop/dstat/top/ps

    ps:显示系统当前进程的运行情况         选项与参数(一):            a:所有与终端相关的进程;    x:所有与终端无关的进程;    u:以用户为中心组织进程状态信息显示;   &nb…

    2016-12-04
  • Shell脚本编程基础

    1编程基础 程序:指令+数据 程序编程分格: 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心,指令服务于数据 Shell程序:提供了编程能力,解释执行 程序的执行方式 计算机:运行二进制指令 编程语言: 低级:汇编 高级:编译:高级语言->编译器->目标代码 编译性语言编写的程序通常是需要通过编译器去转换成计算机可以识别的二进制文件,…

    2017-11-27