Linux 基础知识

1、环境变量

2、帮助

3、时间

4、引用

5、命令历史

6、FHS

7、命令别名

8、Globbing文件名通配

9、命令,路径补全

10、快捷键

============================================

shell:是用户和linux(或者kernel)之间的接口程序,你在提示符下输入的每个命令都先由shell解释(命令语言解释器)然后传给linux kernel,

shell分类:sh,bash,csh,ksh,zsh等,常用为bash.

shell启动:在你成功登录系统后启动,并始终作为你与kernel交互手段,直到你退出系统,每个用户都有一个缺省的shell,在/etc/passwd中查看

bash:

1、环境变量:

    我理解是系统启动之后初始化系统为各类程序运行提供默认运行环境(参数或变量),比如PATH,PS等

    set:查看当前系统所设定的环境变量

    修改环境变量,以PATH为例:

        echo $PATH    //查看当前shell下,二进制程序要执行时,所搜索的路径,其他变量都可以以echo $变量名 这样的方式显示

[root@neolinux ~]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/mysql/bin:/usr/local/apache/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

        临时修改:export

[root@neolinux ~]# export PATH=/usr/local/apache/bin:/usr/local/apache/sbin:$PATH
[root@neolinux ~]# echo $PATH
/usr/local/apache/bin:/usr/local/apache/sbin:/usr/lib64/qt-3.3/bin:/usr/local/mysql/bin:/usr/local/apache/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

         永久修改:将export 命令直接写入家目录.bashrc文件中,~/.bashrc,或者/etc/profile等文件中

        #命令学习:echo,export,basename(取路径基名),dirname(取路劲目录名)

2、获取帮助

        shell命令分为内置命令和外部命令

            内置命令:在shell程序中实现的命令

            外部命令:在文件系统上,某位置有一个与命令名称对应的可执行程序

        内置命令:#help Command

        外部命令:#Command –help或者使用手册#man Command

        man的使用机制:

            翻屏

                空白键:向文件尾部翻一屏

                b键:向文件首部翻一屏

                回车键:向文件尾部翻一行

                k键:向文件首部翻一行

                Ctrl+d:向文件尾部翻半屏

                Ctrl+u:向文件首部翻半屏

            文本搜索:

                /搜索关键字:向文件尾部搜索

                ?搜索关键字:向文件首部搜索

                n:与搜索命令相同的方向,搜索下一个

                N:与搜索命令相反的方向,搜索上一个

            q:退出man帮助

        #命令学习:type,which,hash

3、时间

        查看当前系统时间date

        %y:两个数字显示年份(00...99),测试命令#date +%y
        %Y:四个数字显示年份,#date +%Y
        %m:两位数字显示月份    #date +%m
        %M:显示分钟    #date +%M
        %d:显示当日号数    #date +%d
        %H:显示小时(00..23) #date +%H
        %S:显示秒数    #date +%S
        %F:显示日期    #date +%F 2016-06-01  等于#date +%Y-%m-%d  //常用+%F-%H-%M-%S

        linux有两个时钟:

            硬件时钟:类似在主板上,由电池维持工作。

            软件时钟:开启时读取硬件时钟

            hwclock:

                    -s:以硬件时钟为准

                    -w:以软件时钟为准

        #命令学习:shutdown,reboot,halt,poweroff,mkdir,pwd

        #mkdir    创建目录

                -p:创建多级目录时,先创建父目录,在创建子目录

                -v:显示创建目录的过程

4、引用:

        ' ':单引号,表示强引用,单引号范围内变量不会进行替换,

[root@neolinux ~]# echo '$PS1'    //直接显示$PS1这四个字符
$PS1
[root@neolinux ~]#

        " ":双引号,表示弱引用,双引号范围内能够执行变量替换

[root@neolinux ~]# echo "$PS1"    //显示PS1环境变量的赋值
[\u@\h \W]\$
[root@neolinux ~]#

        “:反引号,拼音输入法模式下,波浪线那个按键,命令替换,引用命令的执行结果

[root@neolinux ~]# echo `pwd`    //先执行pwd命令,在将命令的执行结果给echo输出
/root
[root@neolinux ~]#

 5、命令历史

        bash保存了过去曾经执行过的命令列表,使用上下箭头可以翻看此前曾经执行过的命令。

        当前shell保存历史命令在用户家目录.bash_history

        查看历史命令:

            #history    //查看历史命令

                -d #:删除第#号个命令

                -c :清空历史命令

            #~/.bash_history

        快速调用之前执行过的命令,(常用):

            !!:执行上一条命令

            !Command:执行上一次执行Command命令

            !$:引用上一个命令的最后一个参数,或者按ESC键松开,在按.

        HISTSIZE:命令历史中可以保存的命令个数       

                echo $HISTSIZE    //显示,export或者配置文件修改

        HISTFILE:命令历史文件

        HISTFILESIZE:命令历史文件中可以保存命令的个数

        HISTCONTROL:控制命令的生成

6、FHS(Filesystem Hierarchy Standard)文件系统目录标准

        /bin:所有用户可执行的程序
        /usr/bin
        /usr/local/bin
        /sbin:管理员可执行的程序
        /usr/sbin
        /usr/local/bin
        /boot:存储系统引导文件:内核,ramfs文件,bootloader(grub)
        /dev:设备文件目录
        /etc:配置文件目录
        /home:普通用户目录,在此目录下,有与用户名同名的目录作为用户家目录
        /root:管理员家目录
        /lib,/lib64:库文件目录
        /proc:伪文件系统,内核参数的映射
        /sys:伪文件系统,

        linux文件类型:

普通文件 目录文件 链接文件 字符设备 块设备 管道文件 套接字文件
– or f d l c b p s

srwxrwxrwx 1 mysql mysql 0 Jun  1 17:29 mysql.sock

s rwxrwxrwx 1 mysql mysql 0 Jun 1 17:29 mysql.sock
文件类型(套接字文件) 权限(属主,属组,其他人) 硬链接数 属主 属组 文件大小 文件最后一次修改时间 文件名

        #命令学习:ls,cd,cat,tac.head,tail,more,less,cp,mv,rm,touch,stat,file

7、命令别名

        为一个命令与参数起另外一个名字

        #alias 别名='命令'    #alias cdnet='cd /etc/sysconfig/network-scripts/'

        #unalias 别名 取消命令别名

8、Globbing文件名通配

* ? [] [:upper:] [:lower:] [:digit:] [:alpha:] [:alnum:] [:space:] [:punct:] [^]
任意长度任意字符(也包括空) 任意单个字符 指定字符范围内的任意单个字符 所有单个大写字母 所有单个小写字母 0~9中一个数字 所有单个大小写字符

所有单个大小写字母或者数字

单个空白字符 单个特殊字符 范围外任意单个字符

    注意:?*表示至少有单个字符,例如:a?*b,匹配不到ab

9、路径,命令

        shell当你在输入命令的一部分或者路径的一部分,他就猜测到你是大概需要什么,可以通过按Tab显示或者补全,类似配置网络设备的命令补全,多按Tab就对了

10、快捷键

Ctrl+a Ctrl+e Ctrl+u Ctrl+k Ctrl+l Ctrl+c Ctrl+z
切换光标至行首 切换光标至行尾 删除光标至行首内容 删除光标至行尾的内容 清屏(clear) 取消或终止执行 暂停目前工,fg切回


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

(0)
上一篇 2016-06-09 22:14
下一篇 2016-06-10 13:21

相关推荐

  • 基于LNMP网站平台,测试增加memcached缓存系统后网站访问效果

    LNMP安装教程链接:22-love cat 17周博客作业第2部分-构建一个LVS-DR模型的高性能集群 memcached 安装及测试效果 一、概念     memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态…

    Linux干货 2016-08-22
  • 设计模式 ( 十四 ) 迭代器模式Iterator(对象行为型)

    1.概述 类中的面向对象编程封装应用逻辑。类,就是实例化的对象,每个单独的对象都有一个特定的身份和状态。单独的对象是一种组织代码的有用方法,但通常你会处理一组对象或者集合。 集合不一定是均一的。图形用户界面框架中的 Window 对象可以收集任意数量的控制对象 - Menu、Slider 和 Button。并且,集合的实现可以有多种方式:PHP 数字是一个集…

    Linux干货 2015-07-19
  • 系统启动流程

    CentOS 5和6的启动流程服务管理Grub管理自制Linux启动排错编译安装内核 系统启动流程:  POST –> 读取BootSequence (BIOS),决定引导次序 –>读取引导设备的Bootloader(MBR grubstage1–>stage1.5/boot…

    Linux干货 2016-09-13
  • SHELL编程之数组运用及YUM软件包管理

    SHELL编程中,当要引用到多个值的时候,一个一个地进行变量赋值会让我们的脚本变得繁琐,不利于代码的优化,所以,就需要通过数组进行定义,优化代码,减少不必要的定义和命令操作。 SHELL中的数组:存储多个元素的连续内存空间 数组名:整个属组只有一个名字 数组索引: 编号从0开始   数组名[索引]   ${array_name[index…

    Linux干货 2016-08-24
  • 在vsftp中实现基于pam_mysql的虚拟用户机制

    FTP简介 在介绍vsftp相关内容前,简单描述下FTP。FTP全称File Transfer Protocol,文件传输协议。它是一个C/S架构的协议,在Linux中其服务端实现主要有vsftpd,pureftpd,proftpd,Filezilla,本文主要介绍的是vsftp。客户端实现主要是ftp和lftp两种工具。其工作方式:主要分为两个层面的连接:…

    Linux干货 2017-01-07
  • 联通电信双链路内网VRRP+BFD&&PPTP+MYSQL+FreeRadius实现IDC堡垒机连接IDC机房

    一、具体需求与实现 1、多wan:两条宽带接入链路,使用VRRP+BFD技术,实现链路冗余; 2、IDC机房远程管理和登录限制:使用PPTP+freeRadius+mysql实现VPN,限制指定网段或IP进行拨号认证登录IDC机房,并编写脚本检查非法用户登录IDC机房服务器情况; 3、内网VLAN划分:利于安全管理、IP分流和带宽限制; 4、内网监控:使用N…

    Linux干货 2016-08-22