工作上使用Linux运维部署时,常用的命令详解

linux 经验:
    1.linux 服务器“只能”挂载,不能关机
    2.登录完服务器一定要logout
    
common sense:
    常见的UNIX:
    AIX --IBM,
    HP-UX --HP,
    solaris --SUN
    常见的linux:
    1. fedora RedHat CentOS SUSE gentoo 红旗 mandriva turbolinux RHEL enterprise
    2. Debian Ubuntu
1.  Linux分区包括主分区,扩展分区,逻辑分区,swap等
    一般/boot和swap分区为主分区,其他为逻辑分区,但是也不一定。根分区一般为8G
    /dev/cdrom -- 光驱
    /dev/sda -- scsi硬盘

    主分区为sda1-sda4 ----第一块scsi硬盘的1-4个主分区
    逻辑分区为sda5-sda16
    1~4为主分区或扩展分区
    5~7为逻辑分区
2.  
    ifconfig eth0    --检查网卡ip是否生效
    ifconfig eth0 ip --    临时设置网卡ip
    service network restart -- 网卡重启
    telnet ip 端口号 -- 查看服务端口是否开启
    
3.  ubuntu中没有默认为superman,如果想获得管理员权限,需要用sudo su ->根据提示输入密码
4.  安装源码包:.tar.gz
    1.解压:sudo tar zxvf 压缩包名 --也可以是tar zvxf,看到解压过程
    2.也可以解压缩包到home:->cd /home->cd 文件夹名字/->./vmware-install.pl,然后下一步下一步
    3. 查看结果 lsmod | grep vmblock
5.  设置共享文件夹:
    共享文件夹被建立在/mnt/hgfs目录下,添加工具:sudo apt-get install open-vm-dkms,然后:sudo mount -t vmhgfs .host/ /mnt/hgfs,
    这时/mnt/hgfs里就有share文件夹了
6.  ls -- 列出当前目录下的所有文件夹和文件 
    ls -l --长格式显示    -> long
    ls -a --显示所有文件(包含隐藏文件)  ->all
    ls -al --长格式显示(包含隐藏文件)    ->all long
    ls -hl --文件大小显示为常见大小单位    B    KB    MB  ->human-readable 
    ls -ahl -- 
    ls -d --查看目录属性 -- 貌似没作用
    附加:
    ll -- 同ls -l
    ls -lR 目录 --递归查看目录
    ls -l 文件名 -- 查看文件属性
7.  cd  ~    进入当前用户的家目录        /root        /home/aa/
    cd    (回车)-- 到家目录    
    cd  -        进入上次目录
    cd  ..        进入上一级目录
    cd  .        进入当前目录
    pwd --显示当前所在目录--得到绝对路径
    
    mkdir 目录名 --建立目录
    mkdir -p 11/22/33/44/ 递归建立目录
    mkdir ariel briel criel --同时建立多个目录,中间用空格隔开,同时建立多个文件也是如此
    mkdir dirctory{1..8} -- 集合操作
    
    touch 文件名 --建立文件,再次touch是修改时间
    touch file{1..10} --{}集合操作符 // 创建file1-file10十个文件
    
    vi file1(文件名) --修改文件 
    
    rmdir 目录名 --删除空目录
    rm 文件名 --删除文件 --提醒是否删除空(一般)文件...选择y or n
    
    rm -rf 目录名 --删除目录和文件
    rm -r 目录名 --递归删除目录
    rm -f 目录名 --强制删除
    
    tree 目录名 --显示指定目录下所有内容的目录树
        -a -- 显示文件加目录树
8.     linux常见目录
    普通用户的Desktop     -- /home/ariel/Desktop
    root用户的桌面在      -- /root/Desktop
    /            根目录
    /bin        命令保存目录(普通用户就可以读取的命令)
    /boot        启动目录,启动相关文件
    /dev        设备文件保存目录 -- device装置,设备
    /etc        配置文件保存目录 -- 
    /home        普通用户的家目录
    /lib        系统库保存目录 -- library 图书馆
    /mnt        系统挂载目录
    /media        挂载目录
    /root        超级用户的家目录
    /tmp        临时目录 --temporary 临时的,暂时的
    /sbin        命令保存目录(超级用户才能使用的目录)
    /proc        直接写入内存的
    /sys        
    /usr        系统软件资源目录
        /usr/bin/        系统命令(普通用户)
        /usr/sbin/        系统命令(超级用户)
    /var        系统相关文档内容
        /var/log/        系统日志位置
        /var/spool/mail/        系统默认邮箱位置

9. 如果配置静态ip,则添加如下内容:

     auto eth0

     iface eth0 inet static

     address 192.168.33.201

     netmask 255.255.255.0

     gateway 192.168.33.1  (在新打开的文件中直接加入这些内容 然后保存退出即可)

     要是配置生效,需要重启网卡:

     ifconfig eth0 down

     ifconfig eth0 up
     
     若还有没有配置成功,则需重启下网络服务
             /etc/init.d/network restart
            service network restart
10. ctrl+c 强制中断
11. clear 清空当前屏幕,->ctrl+l
12. centos中设置ip:
    setup->网络配置 -- tab键切换出来
13. touch 文件名 --创建文件,或者修改文件时间
    rm -rf ——删除文件
14. cat 文件名 --查看文件内容
    -n --列出行号
15. more 文件名 ——分屏显示内容 空格——向下翻页 b——向上翻页   q——退出
16. head 文件名 ——显示文件头
    -n (1.2.3)行数  指定显示文件头几行
17. tail 文件名 ——显示文件尾部
    -n  同上
18. ln -s —快捷方式   
    -- 软连接
    ln -s 源文件 目标文件  文件名都必须写绝对路径 [link]
    -- 硬连接
    ln 源文件 目标文件  文件都必须写绝对路径 [link]
19. root用户的桌面在/root/Desktop

20. cp -a 源文件 目标位置  -- -pdr 复制目录加文件连带文件属性
     -r ——复制目录连带子目录  
     -p -连带文件属性复制   
     -d 若源文件是链接文件,则复制链接属性

21. mv 源文件 目标位置 --移动文件或目录
    mv 源文件名 新文件名 --修改文件名或者目录
    
22. man 命令名 -- 帮助命令 --进入man以后,输入q退出
    命令 --help 查看命令的常用选择 --两个-
23. whereis 命令名 -- 查找命令的位置
    which 命令 -- 查找命令的命令,能看到相关别名,但不能查看文件
    locate 文件名 -- 在保存文件名的数据库中按文件名查找
    updatedb -- 强制更新数据库
24. z --搜索命令
    find 查找位置 -name 文件名    -- 如果没有指定目录,则表示在当前目录下查找
        -user 用户名
        -group 组名
        -nouser 找没有属主的文件
        -size 按照文件大小 +50k:大于50K  ,  -50k:小于50k, 50k:等于50k  --默认单位是数据块
            大于50M小于100M-- +50M -a -size -100M   -M必须大写  ,k必须小写
        -type 类型 按照文件类型查找f:普通   d:目录   |:链接
    --- 如果要加通配符,要在通配符外加引号   -name "^aabb*"
        eg: find /root -perm 644  按照权限查找
        -iname 按照文件名查找,不区分大小写
        -mtime 修改时间
        -inum  --inode - i节点
    -- 查找文件并删除
        find /var/log/ -mtime +10 -exec rm -rf {} \;
    -- 查找文件并同时列出详细信息
        find /home -name test.php -exec ls -l {} \; -- 必须有;
25. grep “字符串” 文件名  查找符合条件的字串行,文件名可给绝对路径
    -i “root” /etc/passwd
    -v 反向选择 -- eg:grep -v "^#" file.txt // 返回文件中没有以"#"开头的行
    -i 忽略大小写
        grep “key” 文件名
        grep “a*” 文件名 匹配整个文档,包括空白行
        
26. 管道符:
    命令1 | 命令2   命令1的执行结果作为命令2的执行条件
    netstate -an | grep ESTABLISHED | wc -l  统计正在连接的网络连接数量
    more 文件名 | grep "字串"  -- 提取含有“字串”的行
27. netstat 查看网络状态的命令
    -t  查看tcp端口
    -u  查看udp端口
    -l  监听
    -n  以ip和端口号显示,不用域名和服务名显示
28. 压缩和解压缩
    .gz   .bz2   .zip -- linux 可以识别的最常见的压缩格式
    .tar.gz    .tar.bz2 -- 常见的压缩和打包命令
    -- 解压 .tar 文件 ------tar xvf 文件名
    
    压缩同时打包
        tar -zcvf 压缩文件名  源文件
            -z --识别.gz格式
            -c 压缩 -- compress
            -v 显示压缩过程
            -f 指定压缩之后的文件名
    --eg:tar -zcvf aa.tar.gz aa
    解压缩同时解打包
        tar  -zxvf  压缩文件名    
             -x  解压缩
    --eg:tar -zxvf aa.tar.gz
--------------------------------------------------
    压缩同时打包
        tar -jcvf 压缩文件名 源文件
            -j --识别为.bz2格式
    解打包同时解压缩
        tar -jxvf 压缩文件名
-------------------------------------------------    
    压缩.zip
        zip 压缩包名 文件名
    解压缩.zip
        unzip 压缩包名
--------------------------------------------------
    .tar 打包
    tar -cvf 打包文件名 源文件
    -c 打包
    -v 显示打包过程
    -f 指定产生后的文件名
    tar 解包
    tar -xvf 打包文件名
    -x 解打包
    -v 显示解打包过程
    -f 指定产生后的文件名
--------------------------------------------------    
    查看不解包
        tar -ztvf 压缩文件名
        tar -jtvf 压缩文件名
            -t 只查看不解压
    
    指定解压缩位置 解压时追加目录路径
    tar -zxvf 压缩文件名 -C/tmp
30. 关闭和重启命令

    sync 数据同步 
    shutdown -h now  没有特殊情况使用此命令
    shutdown -r now  重启
    
    reboot --重启 

31. 挂载命令
    linux 中所有存储设备都必须挂载使用,包括硬盘

    光盘挂载 --光盘不能自动挂载

        /dev/sda1    第一个scsi硬盘的第一分区
        /dev/cdrom    光盘 --快捷方式
        /dev/hdc    光盘 --源文件
    1. mount -- 查看所有挂载的设备
        mount -t 文件系统 设备描述文件 挂载点(已经存在空目录,保证光盘在光驱中)
        mount 【-t iso9660】/dev/cdrom-设备文件 /mnt/cdrom--挂载点
        
    2. 光盘卸载
        umount  /dev/cdrom
    或者umount  /mnt/cdrom --强调:退出挂载目录(cdrom),才能卸载

    3,挂载U 盘
    fdisk -l //查看所有分区,确定U 盘的设备文件名
    mount -t vfat /dev/sdb1 /mnt/usb
    -t vfat-->fat32
    fat--->fat16
    //linux 默认情况下不识别ntfs 格式,如果要使用,必须重新编译内    
32.  网路命令:
    1.    ping 测试网络连通性
            ping -c 次数 -s 包大小 ip   探网路畅通 (-c 需要加上哦)
    eg : ping -c 10 -s 1000 192.168.140.168
    2.    ifconfig 查询本机网络信息
        

33. 权限管理

    1  权限位
    -rw-r--r--   1   root root     0 08-11 01:45 aa

        权限位是十位
        第一位:    代表文件类型

            -    普通文件
            d    目录文件 -- dir
            l    链接文件 -- link

            九位    所有者权限u(ser    属组权限g(roup     其他人权限o(ther
                r    读        4
                w    写        2
                x    执行        1
        7->读写执行   6->读写   5->读,执行 
        4->只读       3->写执行 2->写 1->执行
        
    2    修改权限
            chmod  ----change mode
            chmod  u+x  aa    --u-user    aa文件的属主加上执行权限
            chmod  u-x  aa -- 移除aa文件属主的执行权限
            chmod  g+w,o+w  aa  --g-group  对aa文件的组加上写权限,其他人也加上写权限
            chmod  u=rwx  aa -- 对aa文件的属主加上全部权限
            
            -R  --递归修改

            chmod  755  aa        
            chmod  644  aa

        3    权限意义:
            1)权限对文件的含义
                r:读取文件内容
                w:编辑、新增、修改文件内容
                   但是不包含删除文件
                x:可执行
            /tmp/11/22/abc   ---------    
                
            2)权限对目录的含义
                r:可以查询目录下文件名
                w:具有修改目录结构的权限。如新建文件和目录,删除此目录下文件和目录,
                重命名此目录下文件和目录,剪切
                x:可以进入目录
                chmod -R 777 /dir -- 对/dir目录及其目录下的所有文件为所有用户加上全部权限
        4    属主和属组命令
            chown    ------change owner 
            
            chown  用户名  文件名        改变文件属主
            chown  user1  aa        user1必须存在

            --chown :user1  aa    改变属主同时改变属组
            // chgrp  改变属组  --change group
            chgrp 组名 文件名 --改变文件的属组
            useradd  用户名         添加用户
            passwd  用户名            设定用户密码
--------------------------------------------------------------------------------
34. vi编辑器 --zhcon中文插件
    vim --- 全屏幕纯文本编辑器
    别名  alias 命令=‘命令别名’
          alias vi='vim'
    1.linux 用户环境变量配置文件 
       #vi /root/.bashrc  --修改环境变量配置文件
          要想生效必须重新登录   logout->
    2. vi 的三种模式:
        命令模式
        -- 1.光标移动
            :n -- 移动到第几行
            gg -- 移动到文件头
            G  -- 移动到文件尾
            ^  -- 移动到行首
            $  -- 移动到行尾
        -- 2.删除字母
            x  -- 删除单个字母
            nx -- 删除n个字母
        -- 3.删除整行 相当于剪切
            dd  -- 删除单行
            ndd -- 删除多行
            dG  -- 从光标所在行删除到文件尾
        -- 4.复制
            yy  -- 复制单行
            nyy -- 多行复制
        -- 5.粘贴
            p         -- 粘贴
            P(大写) -- 粘贴到光标前
        -- 6.撤销
            u      -- 撤销
            ctrl+r -- 反撤销
        -- 7.显示行号
            :set nu   -- 显示
            :set nonu -- 不显示:
        -- 8.颜色开关
            :syntax off --关
            :syntax on  --开
-- vi配置文件 
    ~/.vimrc 手工建立的,vi配置文件
        -- 9.查找
            /查找内容
            n -- 下一个
            N -- 上一个
        -- 10.替换
            :1,10s/old/new/g -- 替换1到10行的所有old为new
            :%s/old/new/g -- 替换整个文件的old为new
        -- 11.注释    
            :1,5s/^/#/g -- 注释1-5行
            :1,5/^#//g -- 取消注释
            
            :1,5/^\/\//g -- 文件头加入//
            
        输入模式
            a --追加,光标之后
            i --插入,在光标之前
            o -- 在下行插入
            O -- 在上行插入
        末行模式
            :
            :q --不保存直接退出 
            :q! --强制不保存退出
            :wq /:x-- 保存退出
            :wq! -- 强制保存退出,只有管理员能用

35. 安装软件:
    1. 源码包
        优点:开源,自由定制
        缺点:编译时间长,一旦报错很难解决
    2. 脚本安装包
    3. 二进制rpm包
    
36. 二进制rpm包 --在挂载光盘中,首先挂载 mount -t iso9660 /dev/cdrom /mnt/cdrom
        优点:安装速度快,简易
        缺点:自定义性差,库文件依赖性--www.rpmfind.net找其目录
        
        包全名: 包名-版本号-发布次数-适合的linux平台-硬件平台.rpm
                如果我们操作的是未安装包,那么必须使用全包名,而且要使用绝对路径
                如果我们操作的对象是已经安装的包,那么必须使用包名,但是任何路径都可以执行
        --安装:
        rpm -ivh 包全名 --install -- 安装rpm包 库文件依赖 www.rpmfind.net
        rpm -Uvh 包全名 --update --升级,也可以直接安装
        --卸载:
        rpm -e 包名 -- 卸载rpm包,先卸载依赖包、、、、、
        rpm -e --nodeps 包名 -- 强制卸载,只允许试验使用
        --检查:
        rpm -q 包名 -- 检查包是否安装
        rpm -qa | grep 包名 -- 检查所有安装包,提取符合条件的包
        
        rpm -qi 包名 -- 查询包的信息 -i--information
        rpm -qip 包全名 -- 查询未安装包的信息
        
        rpm -ql 包名-- 查询包中文件的安装位置   -l--list
        rpm -qlp 包全名 -- 查询没有安装的包,打算安装的位置
        
        rpm -qf 系统文件名 -- 查询系统文件属于哪个包 -f -- file
        
-- 启动httpd服务
    1. service httpd restart|start|stop|status -- 不是标准命令
    2. /etc/rc.d/init.d/httpd start|restart|stop|status-- 绝对路径启动,标准启动模式


37. yum 包    -- 跟的只有包名    
        yum 包 --自动补全库文件,联网安装 -- 不允许卸载
        yum -y install 包名 -- 安装
    --    yum -y remove 包名 -- 卸载,一般不允许
        yum -y update 包名 -- 更y新升级
        yum list  --查询所有可以安装的包
        
        光盘作为yum源:
            1.cd /etc/yum.repos.d/
            (mv CentOS-Base.repo CentOS-BS.repo.bak--修改文件名)
            
            2. mount /dev/hdc /mnt/cdrom
            
    -- 如果没有网络,先使修改--(mv) CentOS-Base.repo文件名为CentOS-Base.repo.bak使其使用失效,
    -- 从而使系统使用CentOS-Media.repo文件
            3. vi /etc/yun.repos.d/CentOS-Media.repo
                baseurl=file:///mnt/cdrom    --指定yum源位置
                enabled=1     --源文件生效
                gpgcheck=0    --rpm验证不生效

            pkill -9 yum-updatesd        如果yum报错正在升级,执行此命令,强制杀死升级进程

            yum  -y  install  gcc         (gcc是c语言编译器,不装gcc,源码包不能安装)

38. 源码包安装
    1. 远程传输工具winscp传输apache到linux
        httpd
    2. 安装
        1.解压
        2.cd 解压目录--tar zxvf 文件名
        3.查看安装文档 -- INSTALL  README -- 里面有每一个源码包的配置文件
        4.编译前准备
        ./configure --prefix=/usr/local/apache2(名)--安装路径
            功能:
                1.检测系统环境,生成makefile
                2.定义软件选项
        -- 若安装中报错,使用make clean退出安装        
        5.编译
            make
        6.编译安装
            make install
    3. 启动
        /usr/local/apache2/bin/apachectl start   --源码包apaceh的启动方式
    4. 删除
        直接删除安装目录
        
39. date        查看系统时间
    date  -s  20130220        设定日期
    date  -s  09:30:00        设定时间

    du  -sh  目录名        统计目录大小
        -s    和
        -h    习惯单位
40. 普通用户转换到root用户
    su - root -- - 连带环境变量一起切换
    sudo su 
-------------------------------------------------------------------------------    
41.用户操作  
    用户信息文件: vi /etc/passwd
    -- 七列:
        briel :   x   : 501:501 :  briel  :/home/briel:/bin/bash
          |       |      |   |       |          |            |       
        用户名:密码位:UID:GID:用户说明:用户家目录:用户登录之后的权限
    UID -- 用户ID, >500为普通用户
    GID -- 初始值ID
    影子文件:/etc/shadow
    
    组信息文件:/etc/group
        briel:   x   : 501 :
          |      |      |h        |
        组名 :密码位:组ID:组中附加用户
    
    1. -- 添加用户
        useradd 【选项】 用户名
        选项:
            -g -- 指定初始组,一般不手工指定
            *-G -- 指定附加组,把用户加入组,一般使用附加组
            -c -- 添加说明
            -d -- 手工指定家目录,不需要事先建立
            -s -- /bin/bash 手工指定用户登录之后的权限
    -- eg useradd -G ariel(附加组) briel(用户) --添加用户briel,同时指定附加组为ariel(初始组为briel)
    初始组:每个用户初始组只能有一个,一般都是和用户名相同的组作为初始组
    附加组:每个用户可以属于多个附加组。要把用户加入组,都是加入附加组

    2. -- 添加密码
        passwd 用户名
        
        普通用户修改自己的密码:
            passwd -> 当前密码->新密码->新密码
    3. -- 删除用户
        userdel -r 用户名  --连带家目录一起删除
    4. -- 添加组
        groupadd 组名
    5. -- 删除组
        groupdel 组名 注意:组中没有初始用户才能删除
    6. -- 把已经存在的用户加入组
        gpasswd -a 用户名 组名 -- 把用户加入组  -add
        gpasswd -d 用户名 组名 -- 把用户从组中删除  -delete

42. 用户相关命令
    1.id 用户名 -- 显示用户的UID,初始值,附加组
        id ariel -- uid=500(ariel) gid=500(ariel) groups=500(ariel)
    *2. su - 用户名  -- 连带环境变量一起切换
43. ACL权限:
    1. getfacl 文件名 -- 查询文件的acl权限
    2. setfacl 选项 u:用户名:权限 文件名 -- 设定acl权限
        -m -- 设定权限
        -b -- 删除权限
    --eg:     
    setfacl  -m  u:用户名:权限 文件名/目录
    setfacl  -m  g:组名:权限 文件名/目录
    -- 给特定用户设定acl权限
    setfacl -m u:ariel:rwx 文件名/目录    
    *setfacl -m u:ariel:rwx -R 目录     -- 递归赋予acl权限,只能赋予目录
    -- 删除权限
    setfacl -b 文件名/目录 -- 删除acl权限
    --注意: 更该或删除某个用户对某个文件的acl权限时,只需要给这个用户重新赋予acl权限 空是---
    
    -- acl 默认权限    注意:默认权限只能赋予目录
    // setfacl -m d:u:用户名:rwx -R 目录名  --d--default -- 对未来要新建的文件生效
    --注意:如果给目录赋予acl权限,两条命令都要输入
    /********************************************************
        -R 递归
        -m  u:用户名:-R 权限        只对已经存在的文件生效
        -m  d:u:用户名:-R 权限        只对未来要新建的文件生效
    *********************************************************/
44. 输出重定向
    1.输出重定向:
        把应该输出到屏幕的内容保存在文件里
          > 覆盖写    >> 追加写
    ls 【目录】 > 文件名  -- 输出信息覆盖写到文件中
    ls 【目录】 >> 文件名 -- 输出信息追加写到文件中
    
    ls gdlslga 2>>文件名  -- 错误信息输出到文件中  强调:错误输出,不能有空格
               2 --错误信息

    *掌握的知识:
    ls 【目录】>> 文件名 2>&1 --错误和正确信息都输入到文件中,可以追加写
                2>&1 --把标准错误重定向到标准正确信息中输出
    ls 【目录】 >> 文件名1 2>>/home/test/文件名2   -- 正确信息输出到文件1中,错误信息输出到文件2中            

45. 服务和进程管理
    一. 进程查看
        1. ps aux --查看当前系统所有运行的进程
            -a     显示前台所有进程
            -u    显示用户名
            -x    显示后台进程
            -------------------------
            user:用户名
            pid:-- 进程id。PID        1  init  系统启动的第一个进程
            %CPU -- cpu占用百分比
            %MEM -- 内存占用百分比
            VSZ    -- 虚拟内存占用量        KB
            RSS    -- 固定内存占有量
            tty    -- 登录终端    tty1-7    本地终端    1-6 字符  7图形    pts/0-5  alt+F1-F7
            stat -- 状态  S:睡眠 D:不可唤醒    R:运行      T:停止  Z:僵死  W:进入内存交换    X:死掉的进程     <:高优先级    N:低优先级    L:被锁进内存        s:含子进程    +:位于后台    l:多线程
            start -- 进程触发时间
            time -- 占用cpu时间
            command    -- 进程本身

        2. pstree -- 查看进程树
        3. top -- 
                第一行:系统当前时间 系统持续时间 登录用户    1,5,15分钟之前的平均负载
                第二行:进程总数
                第三行:CPU占用率    %id     空闲百分比
                第四行:内存使用:    总共    使用    空闲    缓存
                第五航:swap使用

                操作命令:    M    内存排序
                            P    CPU排序
                            q    退出
        4. 进程管理  --终止进程
            kill --信号 PID   -- 结束单个进程
                -9 --强制
            killall -9 进程名 -- 结束一类进程
            pkill -9 进程名
            
            pkill -9 -t 终端号 -- 把某个终端登录的用户踢出
            pkill -9 -t tty1 --把本地登录终端1登录用户踢出
            
    二.linux 服务管理
        1.分类
            系统默认安装的服务 --rpm包
            --1. 独立的服务
            --2. 基于xinetd的服务,xinetd是系统超级守护进程
            
            源码包安装的服务
            
        2. 系统默认安装的服务;
            *chkconfig --list   --查看服务的自启动状态
            运行级别:0-6
                0   关机
                1    单用户模式
                2    不完全多用户,不包含NFS服务
                3    完全多用户    字符界面
                4    未分配
                5    图形界面
                6    重启

                init 0    关机    
                init 3  字符界面
                init 5  startx 图形界面
                init 6    重启
        3. 独立的服务器管理
            ①启动:
            /etc/rc.d/init.d/服务名   start|stop|restart|status
            --eg /etc/rc.d/init.d/httpd  start

            service   服务名   start|stop|restart|status
            ②自启动
            *chkconfig --level 2345 服务名    on|off
            
            *推荐:vi  /etc/rc.local---->/etc/rc.d/rc.local
                  /etc/rc.d/init.d/httpd  start
            ②图框:ntsysv  --所有系统默认安装服务都可以使用ntsysv命令进行自启动管理
            -- 空格键添加*    tab键切换
        4. *源码包安装的服务
            1. 绝对路径启动:
                /usr/local/apache2/bin/apachectl start
                
            2. 自启动
                vi /etc/rc.local
                /usr/local/apache2/bin/apachectl start
            
            -- apache配置文件
                - vi /etc/httpd/conf/httpd.conf   --ServerName localhost

    三、计划任务
        
        echo 11 >> /root/aa  --在aa文件中追加11,一会定时任务验证用
        
        *循环定时任务
         crontab -e  编辑定时任务
            *  *  *  *  * 命令
            10  *  31  *  *  命令  // 每月的31号每小时的第10分钟执行
            10  *  *  *  *  命令   // 每小时的第十分钟执行
            5  4  *  5-10  *  命令 // 每月的5-10号的凌晨4点零分执行
            */10  *  *  *  *  命令 // 每十分钟执行一次
            5 4  1,15  *  *  命令    // 每月的1号和15号的凌晨4点零5分执行
            -- 日期和星期不要同时指定,会超出预期
            5 4 10 * 5 命令
            
            crontab -e 0 0 * * *  /sbin/reboot   --- 每天的0点钟重启
            
            第一个*:一小时中第几分钟        0-59
            第二个:一天中第几个小时        0-23
            第三个:一个月中第几天            1-31
            第四个:一年第几个月            1-12
            第五个:一周中星期几            0-6        
        注意:
            crontab -l --查看系统定时任务
            crontab -r -- 删除定时任务

    注意事项:
        选项都不能为空,必须填入,不知道的值使用通配符*表示任何时间 
        每个时间字段都可以指定多个值,不连续的值用,间隔,连续的值用-间隔
        间隔固定时间执行书写为*/n格式 
        命令应该给出绝对路径 
        星期几何第几天不能同时出现
        最小时间范围是分钟,最大时间范围是月

    四    系统运行级别
        
        *1    dmesg    -- 查看系统启动信息--相当于硬件管理

            cat  /var/log/dmesg        系统启动信息日志
            
            dmesg | grep eth0        查看eth0信息
            dmesg | grep CPU        查看cpu信息

        2    系统运行级别
            0    关机
            1    单用户
            2    不完全多用户,不含NFS
            3    完全多用户
            4    保留
            5    图形界面
            6    重启

            runlevel          查询系统运行级别

            init  运行级别        改变运行级别    init 0     init  6


            *修改系统默认运行级别
            vi  /etc/inittab            init配置文件
            id:3:initdefault:            系统默认运行级别
补充知识:
    1. df -h -- 查看分区使用情况
    2. du -h -- 统计目录大小
    3. du -sh -- 统计文件大小
------------------------------------------------------------------------------------------------     
46. 常见网络端口:
        20、21 -- ftp服务,文件共享
        22 -- ssh服务  安全远程网络管理
        23 -- telnet服务
        25 -- smtp: 简单邮件传输协议  --发信
        110 -- pop3 : 邮件协议   -- 发信
        80 -- www 网页服务
        3306 -- mysql 端口
        53 -- DNS端口
        
        /etc/services -- 查看端口
        端口数量 --tcp 65535 udp --65535
        
        telnet ip 端口号 -- 测试端口是否可以正常连接
            ctrl +l 退出测试
47. 抓包命令:
        
     
48.vsftp搭建:
    1.安装:
        >rpm -ivh -vsftpd……
        >yum -y install vsftpd
    2.ftp用户:
        就是系统用户,密码也是系统密码
    3.相关文件:
        配置文件:/etc/vsftpd/vsftpd.conf
        用户访问控制:/etc/vsftpd/ftpusers --写入此文件的用户都不能访问ftp服务器
        /etc/vsftpd/chroot_list  --不存在,需要手工建立        定义是否把用户限制在家目录
        
    4. 配置文件配置

        /etc/vsftpd/vsftpd.conf

        1    主机相关配置
            listen_port=21            监听端口
            connect_from_port_20=YES        数据传输端口
            ftpd_banner=                欢迎信息

        2    匿名用户登录            在linux下识别为  ftp  用户

            anonymous_enable=YES            允许匿名用户登录,一般禁用
        
        3    本地用户
            local_enable=YES            允许系统用户登录
            write_enable=YES            允许上传
            local_umask=022            默认上传权限
            local_max_rate=300            上传限速

        4    限制用户访问目录
            chroot_local_user=YES        只有此句,所有用户限制在家目录下

            chroot_local_user=YES        如有三句话,只有文件chroot_list中的用户可以访问任何目录,其他用户限制在家目录
            chroot_list_enable=YES
            chroot_list_file=/etc/vsftpd/chroot_list            
        5.重启服务:
            service vsftpd restsrt
    ftp客户端使用
        ftp  ip
            get  文件名        下载
            put  文件名        上传        不能上传和下载目录

49.linux常用命令:
    1. w -- 查询当前登录服务器的所有用户
    2. who -- 查询登录用户
    3. last -- 查询登录系统相关信息,重启动时间
    4. lastlog -- 显示所有用户最后一次的登录时间
    5. write 用户名 -- 给在线用户写信息
        write root tty1
        内容
        //ctrl+d 保存、发送
    6. wall -- 对所有在线用户说话
    7. telnet ip 端口 测试端口是否可以正常连接
        ctrl+] ----------- quit
    8. netstat -tlun 查看本机所有监听端口
        -t tcp -u udp -l 监听 -n 以IP 和端口号显示

你可能感兴趣的:(linux相关运维知识)