美文网首页
Linux基础操作

Linux基础操作

作者: zxhnext | 来源:发表于2019-04-03 16:19 被阅读0次

    一、配置公钥

    打开虚拟机上的 ~/.ssh文件夹
    方法1:

    ssh-keygen -t rsa -C "你自己的名字" -f "你自己的名字_rsa" # -t 后面rsa是加密方式 
    ssh-copy-id -i "公钥文件名" 用户名@服务器ip或域
    

    方法2:

    ssh-keygen -t rsa -b 4096 -C "随意写" #生成公钥,私钥
    eval "$(ssh-agent -s)" #开启ssh代理
    ssh-add ~/.ssh/id_rsa #把ssh的key加入代理中
    ssh-add -K ~/.ssh/id_rsa # 添加到config文件中,不用再在config文件中手动添加
    

    免密登录时在本机生成密钥对,将公钥推到服务器上

    ssh-copy-id -i "公钥文件名" 用户名@服务器ip或域
    

    当配置服务器免密登录时,将本机的公钥提到服务器上,服务器的.ssh文件夹中会有一个authorized_keys来存放公钥

    二、服务器基础操作

    hostnamectl # 主机基本信息
    hostnamectl -h # 帮助
    hostnamectl set-hostname zxh-MAC #修改操作系统名字
    fdisk -l #查看挂载盘大小
    df -h #查看硬盘使用情况
    free -m #内存查看
    
    # 常用快捷键
    ctrl + s #暂时挂机,睡眠,暂停屏幕输出
    ctrl + q #退出睡眠,恢复屏幕输出
    ctrl+c #结束正在运行的程序【ping、telnet等】 ctrl+d 结束输入或退出shell
    ctrl+l #清屏,等同于Clear
    control a // 行首
    control e // 行尾
    
    # vi命令
    i #可编辑状态
    esc键 #回到命令状态
    :wq #保存退出
    :q! #不保存退出
    
    # 服务管理命令
    
    systemctl #列出全部服务
    q #退出服务列表状态
    systemctl start mysqld #启动mysql(stop停止,restart重启,d是守护进程的意思)
    systemctl start httpd #启动xampp(disable开机禁用,enable取消禁用)
    systemctl start nginx #启动nginx
    systemctl start sshd #不启动sshd是无法从远程访问服务器的
    # 命令行下载
    yum install #下包(ubuntu下是apt apt-get)
    # curl、wget
    wget http://www.baidu.com #下载百度首页
    curl http://www.baidu.com -o index.html  #(-o index.html,指定下载到本地后文件名字,不加就是把下载的内容呈现出来,并不会下载)
    yum install perl openssh git #安装git
    
    # 安全
    # 修改 /etc/ssh/sshd_config文件
    # port 范围0 ~ 65536,0~1024一般被系统占用,最好不要使
    PermitEmptyPosswords no # 是否允许空密码
    AllowUsers # 设置用户
    PermitRootLogin no # 关闭root用户登录
    
    sudo chmod 777 + 文件夹 #使文件夹可写,可读
    
    #配置banner
    cd /etc/ssh
    vi sshd.config
    # /banner #查找banner
    # 修改为 /etc/ssh-issue
    # 然后编辑这个文件
    systemctl restart sshd
    

    三、文件操作

    #1.从服务器复制文件到本地:
    scp root@192.168.1.100:/data/test.txt /home/myfile/
    # root@192.168.1.100 root是目标服务器(有你需要拷贝文件的服务器)的用户名,192.168.1.100是IP地址,后面紧跟的 “:” 不要忘记,/data/test.txt 是目标服务器中你要拷贝文件的地址,接一个空格,后面的 /home/myfile/ 是本地接收文件的地址。
    
    #2.从服务器复制文件夹到本地:
    
    scp -r root@192.168.1.100:/data/ /home/myfile/
    #只需在前面加 -r 即可,就可以拷贝整个文件夹。
    
    #3.从本地复制文件到服务器:
    scp -i zxhnext_rsa /filename root@192.168.1.1:/
    scp /home/myfile/test.txt root@192.168.1.100:/data/
     
    #4.从本地复制文件夹到服务器:
    
    scp -r /home/myfile/ root@192.168.1.100:/data/
    

    四、# 进程,线程,协程

    1. 多进程就是可以打开多个软件(进程比线程消耗资源多,切换进程和线程也会浪费cpu,操作系统在进程,线程的调度过程中浪费了时间)
    2. 一个操作可以启动多个进程,一个进程可以启动多个线程
    3. 普通进程被终止时他的子进程也被终止
    4. 守护进程不占用终端资源(比如向屏幕输出,比如nginx)
    ps aux | grep nginx # 查看nginx进程 master为主进程,一般pid小的为主进程
    kill + pid #终止守护进程
    kill -9 pid # 强制退出命令
    pkill + 进程名称 # 同上 kill原理是通过系统发给某个进程退出的命令,有的程序在便携时候会忽略这个命令,这是使用9号命令强制退出
    
    1. 进程的目的就是担当分配系统资源(CPU时间、内存)的实体,程序跑起来进程就跟着出现了
    2. 进程状态。S为睡眠进程,Z为僵尸进程(程序退出了但是还在进程里)或孤儿进程,父进程退出了,子进程还在(父子关系依赖失效导致)
    3. 网络相关,读写硬盘的都是io密集型
      计算密集型就是cpu密集型,比如解码视频,转换为一帧一帧等等

    五、centos添加,删除用户组

    usermod 选项 用户名 #修改已经存在的用户
    userdel -r 用户名 #删除用户表示自家目录一起删除
    groupadd 选项 组名 #添加新组
    groupmod 选项 组名 #修改已经存在的组
    groupdel 组名  #删除已经存在的特定组。
    
    adduser test # 添加用户 test
    passwd test # 修改test密码
    userdel test # 删除用户test
    userdel -r test # 删除用户以及用户目录
    groupadd sudo # 新建一个sudo用户组
    useradd -G sudo test # 创建一个新用户test,同时加入suso附加组中
    useradd -d /var/ftp/pub -M ftpadmin # 创建一个新用户ftpadmin,指定目录是/var/ftp/pub,不创建自家目录(-M)
    usermod -G sudo zh888 # 表示将zh888添加到附加组sudo组中去,zh888是已经新建好存在的用户
    userdel -r zhh888 # 表示删除zh888和/home中的目录一起删除
    groupdel sudo # 表示删除sudo组
    
    passwd passwd 选项 用户名 # 用户名账号名//禁止用户账户口令
    passwd -l 用户名 # 表示查看用户账户口令状态
    passwd -S 用户名 # 表示恢复用户账号
    passwd -u 用户名 # 表示删除用户账户口令
    

    六、设置网络

    ifup + 网卡名 #启动网卡
    ifdown + 网卡名 #禁用网卡
    ss -anp | grep 80 // 查看端口并过滤80端口 
    netstat -anp | grep 80 // 查看端口并过滤80端口 
    

    在Virtual Box中安装好CentOS 7的minimal后,第一件事就是设置网络访问。
    首先需要用 nmtui 命令进入 Network Manager,如下:


    image

    选择 Edit a connection 来配置你的网络连接:


    image
    选择Edit进入DHCP配置:
    image
    选择IPv4 CONFIGURATION为Automatic,并且勾选Automatically connect选项(按空格键)。

    最后返回命令行,输入:

    service network restart
    

    来重新网络服务,此时就可以正常连接网络了。如果是在Virtual Box中,注意Virtual Box的网络连接模式需要设置为NAT。
    有了网络连接后,在CentOS 7 minimal中,默认net-tools是没有预先安装的。现在有了网络连接后,就可以使用

    yum install net-tools
    

    来安装网络工具,安装完毕之后,诸如ifconfig等命令就都能用了。

    七、linux基础操作demo

    使用 mkdir 命令创建目录

    mkdir $HOME/testFolder
    

    使用 cd 命令切换目录

    cd $HOME/testFolder
    

    使用 cd ../ 命令切换到上一级目录

    cd ../
    

    使用 mv 命令移动目录

    mv $HOME/testFolder /var/tmp
    

    使用 rm -rf #命令删除目录

    rm -rf /var/tmp/testFolder
    

    使用 ls 命令查看 [/etc] 目录下所有文件和文件夹

    ls /etc
    

    /etc 目录默认是 *nix 系统的软件配置文件存放位置

    文件操作

    使用 touch 命令创建文件

    touch ~/testFile
    

    执行 ls 命令, 可以看到刚才新建的 testFile 文件

    ls ~
    

    使用 cp 命令复制文件

    cp ~/testFile ~/testNewFile
    

    使用 rm 命令删除文件, 输入 y 后回车确认删除

    rm ~/testFile
    

    使用 cat 命令查看 .bash_history 文件内容

    cat ~/.bash_history
    

    过滤, 管道与重定向

    过滤出 /etc/passwd 文件中包含 root 的记录

    grep 'root' /etc/passwd
    

    递归地过滤出 /var/log/ 目录中包含 linux 的记录

    grep -r 'linux' /var/log/
    

    管道
    简单来说, Linux 中管道的作用是将上一个命令的输出作为下一个命令的输入, 像 pipe 一样将各个命令串联起来执行, 管道的操作符是 |

    比如, 我们可以将 cat 和 grep 两个命令用管道组合在一起

    cat /etc/passwd | grep 'root'
    

    过滤出 /etc 目录中名字包含 ssh 的目录(不包括子目录)

    ls /etc | grep 'ssh'
    

    重定向
    可以使用 > 或 < 将命令的输出重定向到一个文件中

    echo 'Hello World' > ~/test.txt
    

    运维常用命令

    ping 命令
    对 cloud.tencent.com 发送 4 个 ping 包, 检查与其是否联通

    ping -c 4 cloud.tencent.com
    

    netstat 命令
    netstat 命令用于显示各种网络相关信息,如网络连接, 路由表, 接口状态等等

    列出所有处于监听状态的tcp端口

    netstat -lt
    

    查看所有的端口信息, 包括 PID 和进程名称

    netstat -tulpn
    

    ps 命令
    过滤得到当前系统中的 ssh 进程信息

    ps aux | grep 'ssh'
    

    八、防火墙

    systemctl stop firewalld.service #停止firewall
    systemctl disable firewalld.service #禁止firewall开机启动
    firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
    

    相关文章

      网友评论

          本文标题:Linux基础操作

          本文链接:https://www.haomeiwen.com/subject/qmzwvqtx.html