Linux就该这么学

第一章:

    对Shell的认识:

        计算机硬件是由运算器、控制器、存储器、输入/输出设备等设备组成的,而能够让机箱内各种设备各司其职的东西就叫做——系统内核。

        内核负责驱动硬件、管理活动和分配/管理硬件资源,所以它不能直接让用户操作

        因为用户不能直接控制硬件也不能直接操作内核,所以需要基于“系统调用接口”开发出的程序或服务来满足用户的日常工作。

        “Shell”——也可称为“壳”,充当的是人与内核(硬件)的翻译官,用户将一些命令“告诉”Shell,它就会调用相应的程序服务执行工作。

        现在包括红帽系统在内的很多热门Linux系统主流默认字符Shell是Bash(Bourne-Again Shell)

        Bash的优势:

            1.默认保存历史命令(可以上下键翻看);

            2.命令仅需要输入前几位就可以用tab键补全(RHEL7可以进行参数补全);

            3.强大的批处理脚本;

            4.使用的环境变量。

        

      

     Linux命令——常用系统工作命令:

        man      可用于查看命令的具体可用参数与对象格式等。例如:#man man 可以查看man自身的帮助信息。

        echo      用于在终端显示字符串或变量

        date      命令用于显示或设置系统时间或日期,格式为:“date [选项] [+指定的格式]”。

                参数    作用          参数    作用            参数    作用                参数    作用

                  %t    跳格[TAB键]       %S    秒(00-60)        %A    星期几(Sunday-Saturday)       %d    日(01-31)

                %H    小时(00-23)     %X    相当于%H:%M:%S    %a    星期几(Sun-Sat)           %j    一年中的第几天(001-366)

                %I    小时(00-12)      %Z    显示时区          %B    完整月份(January-December)    %m    月份(01-12)

                %M    分钟(00-59)     %p    显示本地AM或PM      %b    缩写月份(Jan-Dec)         %Y    完整的年份

                按照“年-月-日 小时:分钟:秒”的格式:# date "+%Y-%m-%d %H:%M:%S"  输出:2016-10-14 11:30:00,

                设置系统时间为2016年10月14日 11点30分的格式为:# date -s "20161014 11:30:00",

                查看当前系统时间:# date   输出:Sun Oct 14 11:34:09 CST 2016

        reboot      命令用于重启系统(仅root用户可以使用),格式为:“reboot”。   # reboot

        wget      命令用于使用命令行下载网络文件,格式为:“wget [参数] 下载地址”。

                参数    作用          参数    作用

                -b     后台下载模式      -c     断点续传

                -O     下载到指定目录     -p      下载页面内所有资源,包括图片、视频等

                -t      最大尝试次数      -r     递归下载

        elinks     用于实现一个纯文本界面的浏览器,格式为:“elinks [参数] 网址”。安装elinks 纯文本浏览器:# yum install elinks ;  使用elinks访问百度:# elinks www.baidu.com

 

    Linux命令——系统状态监测命令:

        ifconfig    用于获取网卡配置与网络状态等信息:格式为“ifconfig [网络设备] [参数]”。 查看本地当前的网卡配置与网络状态等信息:# ifconfig

        uname    命令用于查看系统内核版本等信息,格式为:“uname [-a]”。查看系统的内核名称、内核发行版、内核版本、节点名、硬件名称、硬件平台、处理器类型、操作系统等信息:# uname -a

                输出: Linux iZ28jc899pfZ 3.10.0-123.9.3.el7.x86_64 #1 SMP Thu Nov 6 15:06:03 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

                如果想看系统详细版本信息就看redhat-release文件:# cat /etc/redhat-release  输出:CentOS Linux release 7.0.1406 (Core)。

        uptime    命令用于查看系统的负载情况,格式为:“uptime”。也可以用 “watch -n 1 uptime” 来每秒刷新一次当前的系统负载情况,输出内容分别为系统当前时间、系统已运行时间、当前在线用户

                以及平均负载值。而平均负载分为最近1分钟、5分钟、15分钟的系统负载情况,负载值越低越好(小于1是正常)。

                例:# uptime  输出:14:34:41 up 114 days,  2:01,  1 user,  load average: 4.75, 5.42, 5.19

                另外还有个参数-V查看版本:# uptime -V  输出:uptime from procps-ng 3.3.9

        free      命令用于显示当前系统中内存的使用量情况,格式为:“free [-m/-g]”。以m为单位显示当前系统中内存的使用量情况:# free -m 

                              total       used        free       shared    buffers     cached

                Mem:         15631      14868        762         76         39         1632

                -/+ buffers/cache:      13195       2435

                Swap:        16383       1022      15361

        who     命令用于查看当前登录主机的用户情况,格式为:“who [参数]”。例:# who  输出:root     pts/0        2016-10-16 14:07 (221.218.215.59)

        history     命令用于显示历史执行过得命令,格式为:“history [-c]”。清空该用户在本机中执行过得命令:# history -c。

               history默认会保存1000条执行过得命令,诺要修改可直接编辑/etc/profile文件的HISTSIZE值。

        sosreport   命令用于收集系统配置并诊断信息后输出结论文档,格式为:“sosreport”。例:# sosreport

    Linux命令——工作目录切换命令:

        pwd     命令用于显示当前的工作目录,格式为:“pwd [选项]”。参数:-p  作用:显示真实路径(即非快捷链接的地址)

        cd      命令用于切换工作路径,格式为:“cd [目录名称]”。

               参数    作用                参数    作用              参数      作用                    参数    作用

               -      切换到上一次的目录,如“cd -”    ~     切换到“家目录”,如“cd ~”    ~username  切换到其他用户的家目录,如“cd ~teak”    ..      切换到上一级目录,如“cd ..”

        ls      命令用于查看目录中有那些文件,格式为:“ls [选项] [文件]”。  

                参数    作用                 参数    作用              参数      作用                    参数    作用

                 -a     查看全部文件(包括隐藏文件)    -d     仅看目录本身          -h       易读的文件容量(如k,m,g)         -l      显示文件的详细信息

    Linux命令——文本文件编辑命令:

        cat      命令用于查看纯文本文件(较短的),格式为:“cat [选项] [文件]”。参数:-n  作用:显示行号,  参数:-b  作用:显示行号(不包括空行),  参数:-A  作用:显示出“不可见”的符号,如空格,tab键等。

        more     命令用于查看纯文本文件(较长的),格式为:“more [选项] 文件”。参数:-数字  作用:预先显示的行数(默认为一页),  参数:-d  作用:显示提示语句与报错信息。

        head     命令用于查看纯文本文档的前N行,格式为:“head [选项] [文件]”。参数:-n 10  作用:显示10行,  参数:-n -10  作用:正常输出(如cat命令),但不显示最后的10行。

        tail      命令用于查看纯文本文档的后N行,格式为:“tail [选项] [文件]”。参数:-n 10  作用:显示后面的10行,  参数:-f  作用:持续刷新显示的内容。

        od      命令用于查看特殊格式的文件,格式为:“od [选项] [文件]”。

                参数    作用          参数    作用        参数    作用

                -t a    默认字符        -t o     八进制       -t x    十六进制

                -t c    ASCII字符       -t d     十进制       -t f     浮点数

        tr       命令用于转换文本文件中的字符,格式为:“tr [原始字符] [目标字符]”。

        wc      命令用于统计指定文本的行数、字数、字节数,格式为:“wc [参数] 文本”。参数:-l  作用:只显示行数,  参数:-w  作用:只显示单词数,  参数:-c  作用:只显示字节数。

          cut       命令用于通过列来提取文本字符,格式为:“cut [参数] 文本”。参数:-d 分隔符  作用:指定分隔符,默认为Tab,  参数:-f  作用:指定显示的列数,  参数:-c  作用:单位改为字符。

                例:# cut -d: -f1 /export/data/shell/shangdiandian_80_deploy.sh  参数作用:-d 以“:”来做分隔符,-f参数代表只看第一列的内容。

        diff       命令用于比较多个文本文件的差异,格式为:“diff [参数] 文件”。例:# diff a.txt b.txt

                参数    作用            参数    作用            参数      作用            参数    作用

                -b     忽略空格引起的差异     -B     忽略空行引起的差异     --brief或-q   仅报告是否存在差异     -c     使用上下文输出格式

     Linux命令——文本目录管理命令:

        touch     命令用于创建空白文件和修改文件时间,格式为:“touch [选项] [文件]”。

               对于在Linux中的文件有三种时间:

                  1.更改时间(mtime):内容修改时间(不包括权限的)  2.更改权限(ctime):更改权限与属性的时间  3.读取时间(atime):读取文件内容的时间

               参数    作用              参数    作用                参数    作用              参数    作用

               -a     近修改“访问时间”(atime)    -m      近修改“更改时间”(mtime)     -d     同时修改atime与mtime     -t     要修改成的时间[YYMMDDhhmm]

        mkdir    命令用于创建空白的文件夹,格式为:“mkdir [选项] 目录”。参数:-m=MODE  作用:默认的文件目录权限,如“-m 755”,参数:-p  作用:连续创建多层目录(若文件夹已存在则忽略),参数:-v 作用:显示创建的过程。

        cp      命令用于复制文件或目录,格式为:“cp [选项] 源文件 目标文件”。

               复制命令的三种情况:

                  1.目标文件是一个目录,会将源文件复制到该目录中    2.目标文件是一个文件,会将源文件覆盖该文件    2.目标文件不存在,将会复制原文件并修改为目标文件的名称(重命名)。

               参数    作用                        参数    作用                参数    作用

               -p     保留原始文件的属性                 -r     递归持续复制(用于目录)      -a     相当于-pdr(p,d,r为前面的参数)

               -d     若对象为“链接文件”,则保留该“链接文件”的属性     -i     若目标文件存在则询问是否覆盖

        mv      命令用于移动文件或改名,格式为:“mv [选项] 文件名 [目标路径|目标文件]”。例:# mv aaa bbb  将文件aaa重命名为bbb

        rm      命令用于删除文件或目录,格式为:“rm [选项] 文件”。参数:-f  作用:忽略警告提示,  参数:-i  作用:删除前先询问,  参数:-r  作用:删除文件夹。

                Linux系统中还有一个rmdir命令,它不同于rm -rf命令会删除一切,而是仅删除空目录,遇到目录有文件时则报错。

        dd      命令用于指定大小的拷贝的文件或指定转换文件,格式为:“dd [参数]”。

                参数    作用           参数    作用              参数        作用

                if      输入的文件名称      bs     设置每个“块”的大小       conv=ucase    将字母从小写转换为大写

                of     输出的文件名称      count    设置要拷贝“块”的个数      conv=lcase     将字母从大写转换为小写

                例:将光驱设备拷贝成镜像文件:# dd if=/dev/cdrom of=RHEL-server-7.0-x86_64-LinuxProbe.Com.iso

                  生成一个560m的空白文件:# dd if=/dev/zero of=560_file count=1 bs=560M

                  将硬盘的MBR信息拷贝出来:# dd if=/dev/sda of=sda_image count=1 bs=512K

     Linux命令——用户与组管理命令:

        useradd    命令用于创建新的用户,格式为:“useradd [选项] 用户名”。

                参数    作用                      参数    作用                    参数    作用              参数    作用

                 -d    指定用户的家目录(默认为/home/username)   -e     账号有效截止日期,格式:YYYY-MM-DD    -G     指定一个或多个扩展用户组    -s     指定默认的Shell

                 -D    展示默认值                    -g     指定一个初始用户组(必须已存在)      -N     不创建与用户同名的用户组    -u     指定用户的UID

                 例:创建名为hxm的用户,并定义家目录路径、UID以及登录解释器(不允许登录):# useradd -d /home/linux -u 888 -s /sbin/nologin hxm

                   查看hxm用户的基本信息:# id hxm

        passwd    命令用于修改用户的密码,格式为:“passwd [选项] [用户名]”。例:修改当前用户的密码:# passwd      修改其他用户的密码:# passwd 其他用户名

                参数    作用              参数    作用                                          参数    作用

                -l     锁定用户禁止其登录        --stdin    允许从标准输入修改用户密码,如(echo “NewPassWord” | passwd -stdin Username)   -e     强制用户下次登录时修改密码

                -u      解除锁定,允许用户登录      -d     是账号无密码                                       -S      显示用户的密码状态

        userdel    命令用于删除用户所有表格,格式为:“userdel [选项] 用户名”。参数:-f 作用:强制删除用户,家目录与其相关文件 参数:-r  作用:同时删除用户,家目录与其相关文件  例:userdel -d 用户名 删除用户与其家目录

        usermod    命令用于修改用户的属性,格式为:“usermod [选项] 用户名”。

                参数    作用

                -c     填写账号的备注信息

                -d -m   -d与-m连用,可重新指定用户的家目录并自动将旧的数据转移过去

                -e     账户到期时间,格式为“YYYY-MM-DD”

        groupadd   命令用于创建群组,格式为:“groupadd [选项] 群组名称”。例:# groupadd linuxprobe  创建名称为“linuxprobe”的用户群组

     Linux命令——打包压缩文件命令:

        tar      命令用于对文件打包压缩或解压,格式为:“tar [选项] [文件]”。例:# tar -czvf 压缩包名.tar.gz 文件名  打包并压缩文件,  # tar -xzvf 压缩包名.tar.gz  解压并展开压缩包。

                参数    作用              参数    作用              参数    作用              参数    作用

                -c     创建压缩文件          -z     用Gzip压缩或解压        -f     目标文件名           -C     指定解压到的目录

                -x     解开压缩文件          -j     用bzip2压缩或解压         -p     保留原始的权限和属性

                -t     查看压缩包内有哪些文件     -v     显示压缩或解压的过程       -P     使用绝对路劲来压缩

    Linux命令——文件查询搜索命令:                               ------------------------------------------------  10-20  ------------------------------------------------------

        grep      命令用于对文本进行搜索,格式为:“grep [选项] [文件]”。搜索某个关键词:“grep 关键词 文本文件”

                参数    作用                            参数    作用          参数    作用

                -b     将可执行文件(binary)当做文本文件(text)来搜索      -i     忽略大小写       -v     反向选择——仅列出没有“关键词”的行

                -c     仅显示找到的次数                       -n     显示行数

                例:搜索在/etc/passwd中“/sbin/nologin”出现的行,找出系统中不允许登录的用户:# grep /sbin/nologin /etc/passwd

                  找出文件“/export/data/shell/shangdiandian_80_deploy.sh”中所有包含entry的行并输出到/root/lines:# grep entry /export/data/shell/shangdiandian_80_deploy.sh >> /root/lines

        find      命令用于查找文件,格式为:“find [查找路径] 寻找条件 操作”。          

                参数        作用                        参数      作用              参数          作用

                -name       匹配名称                      -atime -n +n  匹配访问文件的时间      --type b/d/c/p/l/f   匹配文件类型(块设备、目录、字符设备、管道、链接文件、文本文件)

                -perm       匹配权限(mode为完全匹配,-mode为包含即可)   -ctime -n +n  匹配修改权限的时间      --size        匹配文件的大小(+50k查找超过50k的文件,-50k查找小于50k的文件)

                -user         匹配所有者                     -nouser    匹配无所有者的文件       -prune       忽略某个目录

                -group       匹配所有组                     -nogroup   匹配无所有组的文件       --exec {} \;    后面可接对搜索到结果进一步处理的命令

                -mtime -n +n    匹配修改内容的时间(-n指n天以内,+n指n天以前)  -newer f1 !f2  匹配比文件f1新却比f2旧的文件

                 搜索时“~”代表用户的家目录,“.”代表当前目录,“/”代表根目录。

                例:搜索在“/etc/”中所有以host开头的文件:# find /etc -name "host*" print

                  搜索整个系统中所有包含SUID的文件(因SUID的数字表示法是4,而减号表示只要包含即可):# find / -perm -4000 -print

                  找出用户hxm的文件并复制到/root/findresults目录(重点是“-exec {} \;”其中的{}代表find命令搜索出的文件,记住结尾必须是\;):# find / -user hxm -exec cp -arf {} /root/findresults/ \;

总结:以上就是linux系统中日常用到的命令。 

 

 

 

 

posted @ 2016-10-17 13:46  Jakey_Hong  阅读(3911)  评论(0编辑  收藏  举报