• linux知识点整理


    第一单元《Linux系统简介及安装》

    1. linux的理解:linux是一个计算机操作系统
    • Vmware的理解:

    vmware

    是一个虚拟主机软件

    • Linux的版本:

    centos

    只是

    linux

    发行版本的一种,

    linux

    的版本有很多

    • Linux的发展:

    linux

    是由

    unix

    发展过来的

    • Linux下查看

    ip

    的命令:

    ifconfig  

    此命令必须是超级管理员才能使用

    • Linux下切换用户的命令是:

    su

    • Linux

    windows

    的异同:都是操作系统,

    linux

    安全性能以及运行效率都比

    windows

    要高,

    windows

    操作系统安全性能较低

    • Linux

    ip

    理解:

    Linux

    ip

    也可以作修改,可以在安装完成后使用命令

    setup

    来修改

    ip

    • Linux安装的模式的理解:

    linux

    的安装可以选择图形界面安装也可以选择文本模式安装

    • Linux运行级别的文件地址:

    /etc/inittab

    • Linux常用的关机命令:

    halt

    poweroff

    shutdown -h now

    (立刻关机)、

    shutdown -h 10

    10

    分钟后关机)

    • Linux常用的重启命令:

    reboot

    shutdown -r now

    (立刻重启)、

    shutdown -r 10

    10

    分钟后重启)

    • Linux下修改

    ip

    的文件:

    /etc/sysconfig/network-scripts/ifcfg-eth0

    第二单元《Linux

    文件常用命令》

    1. Linux命令格式:命令 选项 参数
    • Linux的文件属性:

    r:可读  权限码为

    4

    W:可写  权限码为

    2

    X:可执行 权限码为

    1

    3、有一个文件属性为:

    -rw-r--r--

    分析:

    第一个字符为-

    代表文件,为

    d

    代表目录,剩下的

    3

    个字符为一组

    第一组为:owner

    简称 

    文件或者目录的所有者

    第二组为:group

    简称 

    文件或者目录的用户组

    第三组为:others 

    简称

    文件或者目录的非用户组的操作者

    1. 改变文件的属性与权限命令:chmod
    1. 数字码修改文件权限:例如:chmod 777 a.txt    //

    a.txt

    的权限无论是用户、还是用户组、还是非此用户组的操作者的权限都设置为可读、可写、可执行

    6、字符修改文件权限:例如:

    chmod u=rw

    g=r

    o=r a.txt   //

    a.txt

    的用户权限设置为可读、可写,用户组的权限设置为可读,非此用户组的操作者的权限设置为可读(注:也可以对其中的一个组做出修改,例如:

    chomd u=rwx   

    就是将用户的权限设置为可读、可写、可执行)

    7、扩展:

    可以使用+  -

    来修改文件或者目录的权限

    例如:chmod u+r a.txt  //

    a.txt

    的用户添加了一个可读权限

    Chmod g-w a.txt   //

    a.txt

    的用户组减去了一个可以写的权限

    注:如果三个组的操作权限相同可以是直接使用a

    来赋权限

    例如:chmod a=rwx  a.txt    //

    a.txt

    的权限无论是用户、还是用户组、还是非此用户组的操作者的权限都设置为可读、可写、可执行

    8、新建文件:

    touch  

    路径

    /

    文件名    

    例如:touch /tmp/test.txt  //

    tmp

    目录下建立一个

    test.txt

    的文本文件

    9、复制文件:

    cp 

    文件名 路径

    /

    文件名      

    例如:cp a.txt bbb/b.txt  //

    a.txt

    文档拷贝到

    bbb

    目录下重命名为

    b.txt

    10、移动文件:

    mv 

    文件名 路径

    /

    文件名  

    例如:mv a.txt bbb/b.txt  //

    tmp

    下的

    res.txt

    文档移动到

    aaa

    目录下重命名为

    des.txt

    11、删除文件:

    rm 

    路径

    /

    文件名

    例如:rm -f /tmp/test.txt 

    -f 

    没有提示信息)

    //

    删除

    tmp

    目录下的

    test.txt

    文档没有提示

    12、查看文件内容:

    cat 

    路径

    /

    文件名

    例如:cat /etc/services  //

    查看

    etc

    目录下的

    service

    文件全屏显示

    head -n /etc/services(查看文件前

    n

    行的内容)

    tail -n /etc/services(查看文件后

    n

    行内容)

    more /etc/services 

    (文件内容会一屏一屏的显示出来,你只需用空格键就可以下翻了)

     

    13、重定向:

    >  

    是定向输出到文件,如果文件不存在,就创建文件;如果文件存在,就将其清空;

    >>这个是将输出内容追加到目标文件中。如果文件不存在,就创建文件;如果文件存在,则将新的内容追加到那个文件的末尾,该文件中的原有内容不受影响。

    Cat  /etc/services > a.txt(输出重定向只需要加上

    这位一个符号就可以了

    )

    14、管道符的使用:

    cat /etc/services | more

    cat

    显示出来的内容重新输出给 

    more 

    命令就可以达到想要效果)

    15、文件查找:

    find -name 

    文件名

    例如:find aaa -name a.txt   //

    查找

    aaa

    目录下的名称为

    a.txt

    的文件

    Find aaa -name 

    *.php

    ’  

    //

    查找

    aaa

    目录下后缀名为

    .php

    的文件

    16、

    压缩、解压文件:

    gzip  

    例如:gzip aaa/a.php    //将aaa目录下的a.php文件进行压缩    

    例如:gzip -d aaa/a.php.gz  //将aaa目录下的a.php.gz文件进行解压

     

    17、压缩、解压文件:bzip2

    例如:

    bzip2 

    aaa/a.php    //将aaa目录下的a.php文件进行压缩    

    例如:

    bzip2

     -d aaa/a.php.bz2  //将aaa目录下的a.php.bz2文件进行解压

    1. 帮助命令:--help  man

     

    1. table功能补全键

    第三单元   LINUX目录常用命令

    1、相对路径:路径的写法不是由

    /

    写起,例如:由

    /usr/share/doc

    要到

    /usr/share/man

    下面时,可以写成’

    cd ../man

    ’,写对路径的意义指相对于目前工作目录的路径

    绝对路径:路径的写法一定由根目录/

    写起,例如

    /usr/share/doc

    这个目录

    2、切换目录:

    cd 

    目录名

    例如:cd ..  //

    回到上级目录

    例如:cd /etc/aaa   //

    进入到

    etc

    目录下的目录里

    3、查看文件与目录:

    ll  ls

    例如:cd aaa

    目录下  使用

    ll  

    将所有的文件和目录以列表的形式展示出来 

    ls

    一样

    Ls -a:列出全部的文件,连同隐藏文件也一起列出来

    Ls -d:仅列出目录本身,而不是列出目录内的文件数据

    Ls -l:列出长数据串,包含文件的属性与权限等数据

    4、创建目录:

    mkdir 

    路径

    /

    目录名称

    -p:创建多级目录

    例如:mkdir -p /aaa/bbb/ccc  

    创建

    aaa

    目录,并在

    aaa

    里面创建

    bbb

    ,并在

    bbb

    目录里创建

    ccc

    5、复制目录:

    cp 

    参数 源目录名 目标目录

    -i:若目标文件已经存在了,在覆盖时会先询问操作的进行  输入

    n

    为不覆盖,

    y

    为覆盖

    -r:递归持续复制,用于目录的复制行为

    -a:复制目录 

    -a

    防止在复制目录的过程中改变目录的权限和属性

    例如:cp -a aaa bbb  //

    拷贝

    aaa

    目录到

    bbb

    目录下

    6、删除目录:

    rm

    或者

    rmdir

    例如:rmdir aaa   //

    aaa

    目录删除

    例如:rm -r aaa  //

    aaa

    目录删除,给出提示,输入

    y

    代表可以删除,输入

    n

    代表取消

    7、移动目录:

    mv

    例如:mv aaa bbb  //

    aaa

    目录移动到

    bbb

    目录下

    例如:mv /www/aaa  /www/bbb  //www

    目录下已经有了

    aaa 

    目录,但是没有

    bbb

    目录此时执行的

    mv

    是修改目录名为

    bbb

    8、取得路径的文件名:

    basename

    例如:basenmae  /aaa/bbb/a.txt   //

    返回输出

    a.txt

    9、取得目录的名称:

    dirname

    例如:dirname /aaa/bbb/a.txt   //

    返回输出

    /aaa/bbb

    第四单元   Vim/Vi

    文本编辑器应用

    1. Vi的三种模式:一般模式、编辑模式、命令行模式
    1. 命令行模式:以vi

    打开一个文件就直接进入了命令行模式  例如:

    vi a.txt

    ,在这个模式中可以使用上下左右键来移动光标,你可以删除字符或者整行,也可以复制、粘贴你的数据

    3、编辑模式:在一般模式里按下

    i

    I

    o

    O

    a

    A

    r

    R

    等任何一个字符进入编辑模式,如果要回到命令行模式需要按下

    esc

    键退出编辑模式

    1. 末行模式:在命令行模式中,输入:、/

    、?这

    3

    个中的任何一个按钮就可以将光标移动到最下面那一行,在这个模式中,可以提供你查找数据的操作,而读取、保存、大量替换字符、离开

    vi

    、显示行号等操作也是在此模式中进行的。

    4、模式切换指令(

    i a o  :  esc 

    I

    i

    A

    a

    O

    o

    按下这些键后进入编辑模式

    :按下后进入末行模式

    Esc:按下后从编辑模式退回到命令行模式

    5、光标操作指令(

    nG  ngg  H  M  L

    ):

    nG:进入一般模式后按下此键,光标将指向第

    n

    行,

    n

    为数字,如果只按下

    G

    光标将指向最后一行

    Ngg:进入一般模式后按下

    gg

    ,光标将指向第

    n

    行,

    n

    为数字,如果只按下

    gg

    光标将指向第一行

    H:进入一般模式后按下

    H

    ,光标移动到屏幕最上方的第一行的第一个字符

    M:进入一般模式后按下

    M

    ,光标移动到屏幕中央的那一行的第一个字符

    L:进入一般模式后按下

    L

    ,光标移动到屏幕最后一行的第一个字符

    6、内容操作指令(

    yy nyy  ndd  p 

    yy:复制光标所在的那一行字符

    p:粘贴刚才

    yy

    复制的字符

    nyy

    n

    为数字,复制光标所在的向下数

    n

    ndd:删除光标所在的向下数

    n

    行,从本行开始往下数

    7、末行指令(

    / ?  :set nu  w  q  x  ! 

    :wq 

    保存并退出

    ? 向上查找字符  例如:?Hello  

    向上查找

    hello

    向下查找字符  例如:

    /Hello  

    向下查找

    hello

    :W 

    将编辑的数据写入硬盘中

    :q 

    离开

    vi

    ,在没有进行修改文件内容的情况下使用

    :q! 

    强制离开文件,修改后不保存

    X:向前删除一个字符

    x:向后删除一个字符  

    Linux网络

    管理&

    软件安装

    1. linux运行级别的系统文件:

    /etc/inittab

    2

    Linux

    系统有

    7

    个运行级别

    (runlevel)

    运行级别0

    :系统停机状态,系统默认运行级别不能设为

    0

    ,否则不能正常启动

    运行级别1

    :单用户工作状态,

    root

    权限,用于系统维护,禁止远程登陆

    运行级别2

    :多用户状态

    (

    没有

    NFS)

    运行级别3

    :完全的多用户状态

    (

    NFS)

    ,登陆后进入控制台命令行模式

    运行级别4

    :系统未使用,保留

    运行级别5

    X11

    控制台,登陆后进入图形

    GUI

    模式

    运行级别6

    :系统正常关闭并重启,默认运行级别不能设为

    6

    ,否则不能正常启动

    1. 查看服务是否开机启动命令chkconfig

     --list

    1. RPM 默认安装的路径

    /var/lib/rpm

    • RPM安装软件包命令:rpm -ivh 软件包名称(可以显示安装的进度)
    • RPM查询安装软件包命令:rpm -q 软件名称  (查询已安装的软件)
    • RPM升级软件包命令: rpm -Uvh 软件名称 (后面的软件名称如果没有安装过则进行安装,如果版本过低,则系统会直接进行升级)
    • RPM卸载软件包命令:rpm -e 软件名称
    • Ta

    r打包命令:tar -cvf 打包后的包名(名字.tar) 要打包的文件夹

    • Tar打包并压缩命令:tar -zcvf 打包后的包名(名字.tar) 要打包的文件夹

    范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar

    [root@linux ~]# tar 

    -cvf

     

    /tmp/etc.tar /etc    <==仅打包,不压缩!

    [root@linux ~]# tar 

    -zcvf

     /tmp/etc.tar.gz /etc  <==打包后,以 gzip 压缩

    [root@linux ~]# tar 

    -jcvf

     /tmp/etc.tar.bz2 /etc  <==打包后,以 bzip2 压缩

    1. Tar解包命令:tar -xvf 包名.tar
    • 解包以

    gzip压缩的包:

    tar -zxvf /tmp/etc.tar.gz

    • 解包以

    bzip2压缩的包:

    tar -

    j

    xvf /tmp/etc.tar.

    bz2

    • .configure 配置

    文件

    • 编译源文件的命令:

    M

    ake

    • 编译后安装的命令:

    Make install

    • 安装RPM包的步骤:

    创建文件夹:mkdir /media/cdrom

    挂载光驱到指定的文件夹里:mount /dev/cdrom  /media/cdrom

    切换目录:cd /media/cdrom/CentOS

    安装gcc包:rpm -ivh 包名

    注意gcc包需要安装依赖包

    4

    第六单元 Linux用户及用户组管理

    1、Linux用来存放系

    统用户的信

    息的文件是:/etc/passwd

    2、Linux用来存放系统

    用户密码

    的文件是:/etc/shadow

    3、Linux用来存放系统

    用户组

    的文件是:/etc/group

    4、添加用户:useradd 参数 用户名

    其中各选项含义如下:

    代码:

    -c comment 指定一段注释性描述。

    -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。

    -g 用户组 指定用户所属的用户组。

    -G 用户组,用户组 指定用户所属的附加组。

    -s Shell文件 指定用户的登录Shell。

    -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

    用户名 指定新账号的登录名。

    此时后面不加任何参数的时候,一切由系统默认生成

    1. 生成一个uid
    • 创建一个用户组,组名与用户名一样
    • 创建一个用户的主文件夹  /home/用户名

    5、想查看zhangsan是否为系统用户,只需到这个文件找zhangsan即可

    grep zhangsan /etc/passwd

    1. 修改用户信息:usermod 参数 用户名

    参  数: 

     -c<备注>  修改用户帐号的备注文字。 

     -d登入目录>  修改用户登入时的目录。 

     -e<有效期限>  修改帐号的有效期限。 

     -f<缓冲天数>  修改在密码过期后多少天即关闭该帐号。 

     -g<群组>  修改用户所属的群组。 

     -G<群组>  修改用户所属的附加群组。 

     -l<帐号名称>  修改用户帐号名称。 

     -L  锁定用户密码,使密码无效。 

     -s  修改用户登入后所使用的shell。 

     -u  修改用户ID。 

     -U  解除密码锁定。

    1. 删除用户信息:userdel 用户名

    强制删除用户家目录:userdel -r

    8、设置用户密码:passwd 用户名

    9、创建用户组:groupadd 组名

    10、修改用户组:groupmod 参数 组名   参数说明:-g 修改组的id  -n修改组的名称

    11、删除用户组:groupdel 组名  

    12、向已有的用户组里添加用户进去:gpasswd -a 用户名 组名

    13、向已有的用户组里删除用户的方法:gpasswd -d 用户名 组名

    14、批量向用户组添加用户的方法:gpasswd -M 用户名1,用户名2...   组名

     

    第七单元 Linux 进程管理

    1、查看linux下的所有进程:ps aux

    2、查看linux下的某个服务的进程:ps aux | grep apache

    3、杀死linux下的某个进程:kill 进程id

    4、杀死linux下的某个服务的多个进程:killall 进程名称

    6、暂停linux下的某个工作到后台:ctrl+z

    7、查看linux下的所有工作:jobs

    8、把暂停的工作放到前台继续执行:fg 工作号

    9、把暂停的工作放到后台继续执行:bg 工作号

    10、linux下工作调度的种类:at、crontab

    11、at:用来执行计划任务,只执行一次

    12、at计划任务的启动:/etc/init.d/atd start

    13、设置at开机自动启动:chkconfig atd on

    14、at的运行方式:使用at这个命令来生成所要运行的工作,并将这个工作以文本文件的形式写入/var/spool/at目录内,该工作便能等待atd这个服务的取用和执行

    15、at执行计划任务: at 时:分 年-月-日 要执行的命令.....一个at可以写多行命令,加上ctrl+d会出现结束的字样

    16、查看单个at的计划任务:at -c 第几个任务号

    17、查询目前linux上有多少个at计划任务:atq

    18、crontab编辑计划任务:crontab -e

    此时会进入到一个编辑界面,注意,每个工作是一行:

    0   12  *   *  *  halt

    分 时  日  月 周  要执行的命令

    此例子的计划任务是:在每天的12点进行关机

    1. crontab查看linux下的所有计划任务:crontab -l
    • 删除所有的计划任务:crontab -r
    • 备份数据库命令:mysqldump -u用户名 -p密码 库名 > 备份地址
    • 备份数据表命令:mysqldump -u用户名 -p密码 库名 表名 > 备份地址

    第八单元Shell编程

    1. shell脚本的特点:自上而下、从左到右的分析执行、“#”作为批注、空白行将忽略掉
    • Shell脚本的后缀名:.sh
    • Shell脚本的第一行声明:

    #!/bin/bash

    4、

    Shell变量定义

    变量名=值

    5、

    掌握变量的使用

    $变量名

    6、shell脚本可以让用户输入的方法是:read -p

    7、shell脚本的判断:if....then

    8、shell脚本自定义函数:function 函数名(){ 函数体 }

    9、shell脚本的

    F

    or

    do..done的数值处理

    格式:

    For(( 初始值;限制值;步长 ))

    Do

    循环体

    Done

    For(( i=1; i<=9; i++ ))

    Do

    Echo $i

    done

    1. 追踪和调试shell脚本:

    Sh -[nvx] 脚本名称

    参数:

    -n :不要执行shell脚本,仅查询语法问题

    -v :在执行shell之前,先将shell的文件内容全部输出到屏幕上

    -x :将使用到的shell内容显示到屏幕上

    1. 加减乘除:

    a=10

    b=20

    Echo $(($a+$b))

    据设置的数字大小来进行判断,然后输出结果

    -lt  小于号

    -gt  大于号

    -eq  等于号

    num=8

    echo "the number is: " $num

    if [ $num -gt 10 ];then

       echo "the unmber is larger than 10"

    elif [ $num -eq 10 ];then

       echo "the number is equal with 10"

    else

       echo "the number is smaller than 10"

    F

    i

    //三个数求最大值

    #!bin/bash

    read -p "请输入第一个数

    " a

    read -p "请输入第二个数

    " b

    read -p "请输入第三个数

    c

    max=$a

    ;

    if [ $max -lt $b ];then

    max=$b;

    fi

    if [ $max -lt $c ];then

    max=$c;

    fi

    echo "三个数的最大值是:

    "$max;

    //九九乘法表

    #!bin/bash

    for(( i=1;i<=9;i++ ))

    do

    for(( j=1;j<=i;j++ ))

    do

    echo $j*$i=$(( $i*$j ));

    done

    done

    第九单元Linux网络管理

    1、查看linux下ip的命令是:

    ifconfig

    2、临时修改linux下的ip:

    ifconfig  eth0   ip

    3、工具修改linux的ip:

    S

    etup

    4、修改ip后重启网络服务的命令:service network restart

    5、测试网络是否通畅的命令:ping ip号

    6、ftp安装见文档

  • 相关阅读:
    RPC框架实践之:Apache Thrift
    ubuntu中安装hadoop集群
    前端开发浏览器兼容问题
    3亿(int)数据-2亿(int)数据 求差集
    mvn docker 部署 每次都需要下载包的问题
    树莓派操作记录
    mysql 实现类似开窗函数的功能
    mysql 多字段更新
    go proxy转发工作中碰到的问题
    之前项目使用的轻量的goweb框架
  • 原文地址:https://www.cnblogs.com/dongmengtao/p/7161887.html
Copyright © 2020-2023  润新知