zoukankan      html  css  js  c++  java
  • Linux高频命令精讲(三)

    【教程主题】:2.Linux高频命令精讲

    2.1Linux的运行方式

    图形运行方式

    本地使用KDE/Gnome集成环境

    运行X Server远程使用图形环境

    命令行(字符运行)方式

    本地虚拟终端

    使用Telnet远程登录

    使用SSH远程登录

    2.2】字符界面的使用

    为什么要使用字符工作方式

    可以高效率的完成任务

    远程登录操作均使用字符界面

    节省系统资源

    进入字符模式的方法

    图形环境下,右键桌面  —终端

    系统启动后直接进入字符模式

    远程telnet(明文)或SSH(加密)登陆字符模式

     

    2.3】本地登录和远程登陆

    本地登录

    Ø 虚拟控制台

    在系统启动时直接进入字符工作方式后,系统提供了多个(默认为6个)虚拟控制台。每个虚拟控制台可以互相独立使用,互不影响。

    可以使用Alt+F1~Alt+F6进行多个虚拟控制台之间的切换。

    Ø 字符界面下登陆Linux

    Linxu系统是严格区分大小写的,无论用户名,还是文件名、设备名都是如此。

    基于安全的考虑,一般应该使用普通用户登录系统,不要使用root用户登录,当需要进行超级用户的工作时 可以使用 su  命令切换为超级用户身份。

    logout登出     exit退出   都是注销操作     

    命令提示符后    #root用户          $为普通用户

    远程登陆

    Ø Linux下远程登录另一台Linux服务器

    Linux下的ssh命令是OpenSSH的客户端程序。要登陆远程Linux系统,必须保证远程Linux系统上启动了OpenSSH服务器。使用ssh命令登陆远程OpenSSH服务器的命令格式是:

     $ssh  远程主机上的用户名@远程主机的ip地址或主机名

     $ssh   IP地址

    Ø Windows下利用SSH工具登录一台linux服务器

    SecureCRT.exe

    http://baike.baidu.com/view/489722.htm   百度百科介绍

    xshell

    2.4Linux的系统运行级别

    0 - 系统关机状态

    1 - 单用户工作状态,用于维护。

    2 - 多用户模式(NFS未启动

    3 - 多用户模式, 字符界面。

    4 - 系统未使用,留给用户自定义

    5 – 多用户模式,并且在系统启动后运行X Window,给出一个图形化的登录窗口。

    6 – 所有进程被终止,重新启动

    查看当前系统的运行级别

    #runlevel

    切换运行级别

    #init[0123456]

    2.5linux的目录结构

    Linux文件系统是呈树形结构,了解Linux文件系统的目录结构,对于我们驾驭Linux还是有必要的

     

    目录

    说明

    /

    Linux文件系统的入口,也是处于最高一级的目录

    /bin

    基本系统所需要的命令。功能和/usr/bin类似,这个目录中的文件都是可执行的,普通用户都可以使用的命令

    /boot

    内核和加载内核所需要的文件。一般情况下,GRUB系统引导管理器也位于这个目录

    /dev

    设备文件存储目录,比如终端、磁盘等

    /etc

    所有的系统配置文件

    /home

    普通用户家目录的默认存放目录

    /lib

    库文件和内核模块所存放的目录

    /media

    即插即用型存储设备的挂载点自动在这个目录下创建,比如u盘、CDROM/DVD自动挂载后,也会在这个目录中创建一个目录。

    /mnt

    临时文件系统的挂载点目录

    /opt

    第三方软件的存放目录

    /root

    Linux超级权限用户root的家目录

    /sbin

    基本的系统维护命令,只能由超级用户使用

    /srv

    该目录存放一些服务启动之后需要提取的数据

    /tmp

    临时文件目录

    /usr

    存放用户使用系统命令和应用程序等信息,比如命令、帮助文件等。

    /var

    存放经常变动的数据,比如日志、邮件等。

     

     

    几个特殊的文件系统

    文件系统

    挂载点

    说明

    root

    /

    Linux系统运行的基点,根文件系统不能被卸载

    proc

    /proc

    以文件系统的方式为访问系统内核数据的操作提供接口,适用于2.42.6内核

    sysfs

    /sys

    以文件系统的方式为访问系统内核数据的操作提供接口,2.6内核使用

    tmpfs

    /dev   /var/run

    /var/lock

    程序访问共享内存资源时使用的文件系统

    usbfs

    /proc/bus/usb

    访问usb设备时使用的文件系统

    devpts

    /dev/pts

    内核用来与伪终端(以远程方式登陆)进行交互的文件系统

    swap

    内核使用的特殊文件系统,无挂载点

    用来创建虚拟内存

    2.6linux命令

    Linux命令的习惯

    命令及参数区分大小写

    程序可否执行与扩展名无关

    使用tab键来补全命令

    $command  [-options]    parameter1   parameter2  

       指令          选项             参数1          参数2

    说明:
    0. 一行指令中第一个输入的绝对是指令(command)’可执行文件
    1. command 为指令的名称,例如变换路径的指令为 cd 等等;
    2. 中刮号[]并不存在于实际的指令中,而加入参数设定时,通常为 号,例如   -h; 有时候完整参数名称会输入 -- 符号,例如 --help
    3. parameter1 parameter2.. 为依附在 option 后面的参数, 或者是 command        的参数; 
    4. command, -options, parameter1.. 这几个中间以空格来区分,不论空几格 shell 都视为一格; 
    5. 按下 [Enter] 按键后,该指令就立即执行。

    6. 指令太长的时候,可以使用  符号来跳脱 [Enter] 符号, 使指令连续到下一行。注意!  后就立刻接特殊字符。
    7. 在 Linux 系统中,英文大小写字母是不一样的。举例来说, cd 与 CD 并不同。

    常用命令介绍

    pwd

    查看当前工作目录

    cd  

    更换目录

    用法:

    cd    [目录]

    符号

    意义

    .

    当前工作目录

    ..

    父目录

    ~

    用户家目录

    -

    上个工作目录

     

     

     

    ls

    显示目录

    用法:  ls  [参数]   [目录名]

    ls 参数:

    -a:显示所有文件,包括隐藏文件(.开头的文件)

    -l:以长格式显示

    -t:按修改时间先后显示

    -R:显示目录及下级子目录结构(递归)

    -m:  横向输出文件名,并以“,”作分格符。 

    -S:  以文件大小排序。 

    用颜色代表不同文件

    白色:普通文件

    红色:压缩文件

    蓝色:目录文件

    浅蓝色:链接文件

    黄色:设备文件(/dev

    绿色:可执行文件(/bin/sbin

    粉红色:图片文件

    mkdir

    建立目录

    用法: mkdir  [参数]   {目录名}

     参数: -p 可以一次性创建整个目录树

    rmdir

    删除目录

    用法: rmdir  [参数]   {目录名}

    • 如果目录是空的,此命令会删除他们,如果目录中有内容,则会产生错误信息且不能删除目录,但是他会继续删除其余的空目录。注意,只包括一个子目录的目录不是空的。

    rm 

    删除文件和文件夹

    用法: rm   [参数]   {文件}

    参数: 

             -r   删除整个目录树

             -f   强制执行

    tree

    显示文件和目录树

    用法:  tree    [参数]   {文件}

    参数:  -a   不隐藏任何以.字符开始的条目

                -d   只显示目录不显示文件

                -f    每个文件都显示路径

                -t   根据最后修改时间排序

                -L n 只显示n层目录 (n为数字)

    touch

     创建空文件和更改时间戳

    用法:touch  [参数]   {文件}

    参数:   -d    更改时间戳为定义值   (后面加年月日,格式:20101212

    cp

    复制目录

    用法: cp  [参数]   {原文件}  {目标文件}

    参数:  -r  递归执行  (可复制目录树)

    mv  

    移动或重命名文件

    用法: mv  [参数]  {原文件} {目标文件}     把原文件更名为目标文件

                                     mv  [参数]  {原文件} {目标文件}    把一个或多个文件同时移动到目标文件中

     查看文档:

     cat  由第一行开始显示文件的内容 

    cat命令显示文件时会同时显示所有内容。大型文件在屏幕上一晃而过,难以阅读。所以他比较适合小于一屏的文件。

    用法:

    cat [option] filename

     

     tac  从最后一行开始显示 

     

    file显示文件类型

    file   [option] filename

     

     more 一页一页的显示档案内容 

    空格键 (space):代表向下翻一页; 

    Enter:代表向下翻『一行』; 

    /字符串:代表在这个显示的内容当中,向下搜索『字符串』这个关键词; 

    :f :立刻显示出文件名以及目前显示的行数; 

    帮助

     [ctrl]-b :代表往回翻页 

    q:退出 

     

    ·  less  more 类似,less可以往前翻页! 

    空格键:向下翻一页; 

    [pagedown]:向下翻一页; 

     [pageup]:向上翻一页; 

     /字符串:向下搜索『字符串』; 

    ?字符串 :向上搜索『字符串』; 

     n:重复前一个搜索 

    N:反向的重复前一个搜索

    h:帮助

     q:退出

     

    head显示文件开始几行

    用法:

    head [options]  {file}

    参数 :  n  number查看前几行的值

    tail显示文件最后几行

    用法:

    tail  [options]  {file}

    参数 :  n  number 查看后几行的值

                 f    一直监视

     

    7man 帮助文档

    路径:/usr/share/man

    用法: man  [参数]  [查询名

    /   来查找

    q退出

    其他获得帮助的方法

    --help

    -h

    info  命令

    help  内置命令

    readme

    8】关机

    将数据同步写入硬盘:sync

    shutdown命令

      shutdown命令的格式为:

    #shutdown [参数]  时间  [警告信息]

                   -t  sec :送出警告信息和删除信息之间要延迟多少秒

    k并不真正关机而只是发出警告信息给所有用户
        - r关机后立即重新启动
        - h关机后停止系统

    init 0

    重启:reboot  init6

    9】别名

    alias rm='rm -i'

    alias cp='cp -i'

    alias mv='mv -i'

    alias ls='ls --color=auto'

    alias ll='ls -lh --color=auto'

    alias l='ls --color=auto'

    alias grep='grep --color=auto'

    debian系统的时候要在/etc/profile里面进行设置

    10find

    [root@www ~]# find [PATH] [option] [action] 

    选项与参数: 

     

    1. 不时间有关的选项:共有 -atime, -ctime 与 -mtime ,以 -mtime 说明 

       -mtime  n 为数字,意义为在 天之前的『一天之内』被更改过内容的文件

       -mtime +n :列出在 天之前(不含 天本身)被改动过内容的文件; 

       -mtime -n :列出在 天之内(天本身)被更改过内容的文件。 

       -newer file file 为一个存在参照物,列出比 file 还要新的文件 

     

    [root@www ~]# find / -mtime 0 

    那个 是重点!代表目前的时间,所以,从现在开始到 24 小时前,有改动过内容的文件都会被列出来

    find / -mtime 3  #3天内改动过的文件

    find / -name file exec ls l {} ;

     

     

    文件的 Access timeatime 是在读取文件或者执行文件时更改的。

    文件的 Modified timemtime 是在写入文件时随文件内容的更改而更改的。

    文件的 Create timectime 是在写入文件、更改所有者、权限或链接设置时随 Inode 的内容更改而更改的。

    ls -lc filename 列出文件的 ctime

    ls -lu filename 列出文件的 atime

    ls -l filename 列出文件的 mtime

     

    11】查看命令历史

    history

     

    12】环境变量

    PATH命令搜索的路径

    export PATH=/usr/bin:/usr/local/zabbix/bin:/usr/local/php5/bin

     

    2.7】管道

    grep

    -c 只输出匹配行的计数。

    -i 不区分大小写(只适用于单字符)。

    -h 查询多文件时不显示文件名。

    -l 查询多文件时只输出包含匹配字符的文件名。

    -n 显示匹配行及行号。

    -s 不显示不存在或无匹配文本的错误信息。

    -v 显示不包含匹配文本的所有行。

     

    sort -r 反向排序

    cut 分割符 取第几段

    uniq 计数

    wc 统计多少行

     

    2.8linux中的正则

    &&

    ||

    几个概念:
    1.基本正则表达式   扩展的正则表达式  (由普通字符+元字符组成)
    2.通配                                            (由普通字符+元字符组成)
    3.元字符

    注意:正则表达式中元字符的意义和通配中元字符的意义有区别的


    bash shell本身不支持正则表达式,使用正则表达式的是shell的一些命令和工具,如grep,sed,awk等等
    但是bash可以使用正则表达式中的一些元字符实现通配的功能,此时的这些元字符叫通配符。
    此时通配中元字符的意义跟正则表达式中元字符的意义就不一样了。


    通配是指:将一个包含通配符的非具体的文件名扩展为计算机,服务器,网络上的一批具体的文件名的过程。


    基本正则表达式中元字符的意义如下:
    1.   *     匹配*前面的那一个字符的0次或多次
    hel*o       heo  helo  hello  helllo  ......


    2.   .     匹配任意一个字符(只匹配一个,可以是空格)
    ab.         abc  abd   ab3   ab   ......


    3.   ^     匹配行首,行首的字符序列必须是^后的字符序列
    ^suda       sudahuhuhuuuuuhuuh      sudaokokokokokoko   ......


    4.   &     匹配行尾,行尾的字符序列必须是$前的字符序列
    suda$       jijijijijiiijijsuda     lkokokokokjijhuhsuda   ......
    特殊的  ^$      匹配一个空行
               ^.$     匹配只有一个字符的空行


    5.   []    匹配字符集合中的任意一个字符(只匹配一个)
    [1234]  [1-4]     匹配1234的任意一个字符
    注意:^放在[]里面时,不再表示匹配行首,而是取反的意思
    [^1234]  [^1-4]       匹配不是1234的任意一个字符
    [a-z][A-Z]*  匹配任意一个英文单词 




    6.        用于转义元字符,使之成为普通字符
    *       此时*表示一个普通字符




    7.   <>     用于精确匹配
    <the>      表示精确匹配the这个单词,而不是them  then等等


    8.{}系列符号
    {n}       匹配前面字符的n
    {n,}      匹配前面字符的至少n
    {n,m}     匹配前面字符的n-m次,至少n次,至多m


    JO{3}B    匹配JOOOB
    JO{3,}B   匹配JOOOB  JOOOOB   ......
    JO{3,6}B  匹配JOOOB  JOOOOB   JOOOOOB   JOOOOOOB   



    扩展的正则表达式中元字符的意义如下:
    1.    ?    匹配前面的那一个字符的0次或1
    JO?B      匹配   JB     JOB    JOOB




    2.    +     匹配前面的那一个字符的1次或多次
    JO+B      匹配   JOOB   JOOOB   ......




    3.    |与()通常结合使用,表示一组可选的字符集合
    re(a|o|e)d     匹配read  reod  reed
    等同于re[aoe]d       



    通配中的元字符的意义如下:
    1.     *       表示任意多的任意字符
    2.     ?       表示一个任意字符
    3.     ^       表示取反
    4.     []      同正则表达式的用法
    5.     {}      表示一组表达式的集合   {}中表达式是或的关系
    ls -l  {*.cpp , [1234]*.c}            列出满足表达式*.cpp或者[1234]*.c的文件。


  • 相关阅读:
    JavaScript 数组去重,并按大小排序
    JavaScript 把秒转换成分钟,比如100s转换成 01:40
    JavaScript style.left、offsetLeft的问题
    JavaScript画出一个星罗密布
    bootstrap轮播图怎么居中
    JavaScript 把数组里的0放到后面
    JavaScript----- Moving Zeros To The End
    5.2 Array类型的方法汇总
    5.2 Array类型介绍
    5.1 JS中Object类型
  • 原文地址:https://www.cnblogs.com/suihui/p/3799617.html
Copyright © 2011-2022 走看看