zoukankan      html  css  js  c++  java
  • 从零开始学Linux[二]:常用操作:用户组、进程、网络、ssh、定时任务、Screen命令

    摘要:Linux基础学习:创建用户组和用户、软件包管理、磁盘管理、进程管理、前后台进程的切换、网络配置、浏览网页、远程登录ssh、定时任务、Screen命令。

    第一节,主要介绍一些简单命令,这节介绍一些日常操作。

    1.创建用户组和用户

    sudo groupadd workgroup
    sudo useradd -G workgroup lucy
    sudo passwd lucy 回车输入口令

    sudo useradd -m john 添加用户的同时指定主目录
    sudo useradd tom 添加用户时不添加主目录
    (login out 后,选择tom,输入密码 由于没有主目录,登陆失败,按Ctrl+Alt+F1(或F2)进入1号或2号控制台,输入tom,输入密码,可 正常登陆。按Alt+F7回到终端)
    history 历史命令
    history 10 最近的十条命令
    users查看所有用户
    sudo userdel lewis
    sudo userdel -r tom 删除用户同时删除主目录
    sudo usermod -l mike -d /home/mike -e 12/30/10 tom 将tom用户更改为mike
    sudo id zhang 查看用户信息
    id 查看当前登陆用户的信息

    sudo cat /etc/sudoers 指定用户可以执行的特权命令 文件内容如下:
    ……
    root ALL=(ALL:ALL) ALL //root用户可以在任何机器上以任何身份来执行任何命令
    %admin ALL=(ALL) ALL //admin用户组的中户可以以任何身份执行任何命令(安装时指定的用户名属于admin组)

    cd /etc :
    ls passwd 除用户信息及口令外的信息保存于此
    ls shadow 用户信息及用户口令保存在此
    cat passwd 中 lucy:x:1001:1002::home/lucy:/bin/sh 用户、已设置密码、用户id、用户组id、主目录、登陆shell
    cat shadow 中 密码用md5加密
    cat group 中 lucy:x:1002: 用户、密码、用户组id、当前组的组成员

    2.软件包管理

    dpkg -l | grep qq 查找名称包含qq的软件包
    sudo dpkg -r linuxqq 删除qq应用
    dpkg -S openssh 查看openssh安装时带来哪些软件
    dpkg --remove openssh 删除openssh相关的软件包

    3.磁盘管理

    sudo mkdir /mnt/mycdrom 创建挂载介质目录
    sudo mount /dev/cdrom /mnt/mycdrom 挂载光盘到mnt下的mycdrom目录
    sudo umount /dev/cdrom 卸载光盘(,先将目录改为光盘上一级或更上级)

    格式:mount [-参数] [设备名称] [挂载点]
    mount [-t vfstype] [-o options] device dir
      1.-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型常用类型有:
      光盘或光盘镜像:iso9660
      DOS fat16文件系统:msdos
      Windows 9x fat32文件系统:vfat
      Windows NT ntfs文件系统:ntfs
      Mount Windows文件网络共享:smbfs
      UNIX(LINUX) 文件网络共享:nfs
      2.-o options 主要用来描述设备或档案的挂接方式。常用的参数有:
      loop:用来把一个文件当成硬盘分区挂接上系统
      ro:采用只读方式挂接设备
      rw:采用读写方式挂接设备
      iocharset:指定访问文件系统所用字符集
      3.device 要挂接(mount)的设备。
      4.dir设备在系统上的挂接点(mount point)。


    cat -n /etc/fstab 查看配置文件
    df查看挂载信息
    df -t ext3 查看以ext3格式挂载的磁盘
    fsck /dev/sdb 修复文件系统
    sudo mkfs -t ext3 /dev/sdb1 格式化硬盘(在硬盘上建立文件系统)
    sudo mkfs -t ext3 /dev/sdb1 -c 检测坏的块
    gzip mvhello 压缩mvhello文件为mvhello.gz
    sudo gunzip mvhello.gz 解压缩mvhello.gz文件 (gzip -d)
    gzip -l mvhello.gz 查看压缩率
    gzip -t mvhello.gz 检测压缩文件的完整性(是完整的,无信息)
    gzip -tv mvhello.gz 检测压缩文件的完整性(完整时仍然输出信息)
    tar -cvf example.tar ./ 将当前文件打包到example.tar中 cvf(c创建tar文件、v输出详细打包过程、f打包文件的名称)
    tar xvf example.tar 解压包
    tar -cwvf example2.tar 压缩给提示
    tar -czvf ex3.tar.gz 将归档文件打包
    tar -xzf ex3.tar.gz 解压缩文件再解开打包文件
    ls /dev | grep sd 查看所有以sd开头的设备名
    sudo fdisk /dev/sdb 进入fdisk命令行状态

    4.进程管理

    vi badpro.sh
    输入:#!/bin/bash
    while echo "i'm making file!"
    do
    mkdir adir
    cd adir
    touch afile
    sleep 2s
    done
    :w:q
    chmod u+x badpro.sh
    执行:./badpro.sh &
    ps -e |grep bad //kill "id"
    ps aux 进程和相关的所有信息
    top 动态显示进程
    kill -l 各种信号

    ps aux | grep nginx | grep -v grep | awk '{print $2}' | xargs kill -9 批量杀掉某个程序启的进程 

    5.前后台进程切换

    1.启动时 + & //放到后台启动
    2.已经在前台运行的程序
       ctrl + z    //放到后台暂停
       bg %1    //将指定的job程序放到后台运行,1是作业号,可以通过jobs指令查看
    3.将后台job切换到前台
       fg %1    //将指定job程序放到前台运行

    6.网络配置

    ifconfig 显示当前系统网络信息
    sudo pppoeconf 进行宽带连接
    sudo pon dsl-provider 打开连接?
    sudo poff dsl-provider 断开连接
    ifconfig 本机网络地址、IP协议等等信息
    sudo ifconfig eth0 192.168.1.200 netmask 255.255.255.0 up 设置第一个网卡的IP及网络掩码
    sudo ifconfig eth0 down 关闭该网络设备
    netstat -r 查看本机的路由信息
    netstat -anp | grep port 查看端口是否被占用
    sudo route add default gw 192.168.1.123 添加路由
    sudo route add -net 10.62.74.0/24 gw 192.168.1.1 前一个地址的包全部转发的第二个地址
    sudo route add -host 10.62.74.4 gw 192.168.1.1 前一个地址的包全部转发到第二个地址
    sudo route add -host 10.62.74.4 gw 10.71.84.51 dev eth0
    sudo route del default 删除系统中默认的路由表
    cd /etc/ ----
    cat hosts ---- 查出主机名对应的IP地址(DNS服务器)
    sudo vi hosts

    7.浏览网页

    firefox
    firefox & 后台打开
    firefox www.baidu.com
    sudo apt-get install lynx 安装lynx浏览器 (终端浏览器)
    lynx www.google.com 打开google网站

    8.远程登录 

    sudo apt-get install ssh 安装ssh
    sudo apt-get install vnc4-common vnc4server 图形化的登录
    ssh -l wesnorth 192.168.1.101 远程登录地址(默认监听22端口) (exit退出)
    ssh -l liu -p 202 10.71.84.145 远程登录端口为202
    ssh -X -l horseman 192.168.1.101 通过ssh连接查看远程服务器的图形化界面
    1.远程主机 ssh-keygen 以rsa生成密钥文件 1)默认保存在用户主目录下的.ssh隐藏目录之中 2)输入密码掩码
    2.主机 chmod 700 .ssh 取消其他用户对该目录的权限
    3.远程主机 scp .ssh/id_rsa.pub horseman@192.168.1.101:/home/horseman/.ssh/authorized_keys
    4.主机 ssh -l horseman 192.168.1.101 (登陆过程不要求输入密码 自动登陆)
    PuTTY 软件 可以在window连接linux (运行在ssh上)

    SSH无密登录机制:

       

    9.定时任务

    查看当前用户的定时任务  crontab -l
    编辑当前用户的定时任务  crontab -e
    删除当前用户的定时任务  crontab -r

    定时任务时间格式如下:

    *  *  *  *  *  command
    分 时 日 月 周 命令
    第1列表示分钟1~59 每分钟用*或者 */1表示
    第2列表示小时1~23(0表示0点)
    第3列表示日期1~31
    第4列表示月份1~12
    第5列标识号星期0~6(0表示星期天)
    第6列要运行的命令

    crontab文件的一些例子:
    45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
    上面的例子表示每月1、10、22日的4 : 45重启apache。
    10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
    上面的例子表示每周六、周日的1 : 10重启apache。
    0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
    上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。
    0 */1 * * * /usr/local/etc/rc.d/lighttpd restart
    每一小时重启apache
    0 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
    晚上11点到早上7点之间,每隔一小时重启apache
    0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
    每月的4号与每周一到周三的11点重启apache

    10.screen命令

    常用screen参数:

    screen -S yourname -> 新建一个叫yourname的session
    screen -ls -> 列出当前所有的session
    screen -r yourname -> 回到yourname这个session
    screen -d yourname -> 远程detach某个session
    screen -d -r yourname -> 结束当前session并回到yourname这个session

    在每个screen session 下,所有命令都以 ctrl+a(C-a) 开始。

    C-a n -> Next,切换到下一个 window
    C-a p -> Previous,切换到前一个 window
    C-a d -> 退出当前终端,返回加载screen前的shell命令状态
    C-a w -> 显示所有窗口列表
    exit :关闭当前窗口,并且切换到下一个窗口(当退出最后一个窗口时,该终端自动终止,并且退回到原始shell状态)

  • 相关阅读:
    cs ip 通过jmp转移命令间接赋值。无法直接对其赋值。
    8086 cpu为什么要把段地址*16+偏移量形成物理地址呢?
    保护模式和实模式的区别
    计算机的内存是以字节为单位的, 这个认知很重要。
    计算机的内存是以字节为单位的。
    一个字 word 是16位, 一个字由两个字节组成 , 字节=byte ,一个字节8位, 位=bit 如果没有特殊说明kb 就是指 k*bit
    物理地址为20位 如10000H 用段地址*16+偏移地址表示
    深入学习Java线程池
    在线考试系统镜像构建、推送、部署
    容器 变成镜像提交到阿里云镜像仓库
  • 原文地址:https://www.cnblogs.com/wonglu/p/5261041.html
Copyright © 2011-2022 走看看