美文网首页
linux基础操作

linux基础操作

作者: 三省吾身_9862 | 来源:发表于2021-09-29 14:16 被阅读0次

    安装VMware Workstation Pro v15

    安装 centOS v7

    安装XShell v7

    安装 Xftp v7

    https://www.bilibili.com/video/BV1Sv411r7vd?p=3

    进入xshell,链接linux系统成功,在xshell中操作

    vi或vim编辑器操作

    vim下的三种模式
    vim hello.js // 进入 一般模式
    i // 进入编辑模式
    esc // 进入一般模式
    :或者/ // 进入命令模式,如果输入:set nu,想重新输入命令,再输入:
    :wq // 保存退出
    
    正常模式下 
     
    yy 复制  
    5yy复制5行  
    p 粘贴
    dd 删除
    5dd 删除5行
    G 最后一行
    gg 第一行
    u 撤销上一步操作
    定位到具体20行 20 shift+g
    
    命令行模式下
    
    输入/ 查询的字符, n 查找下一个;再输入/,重新查找其他字符
    
    设置行号 :set nu
    取消行号:set nonu
    
    halt 关机
    reboot 重启
    sync 把内存的数据 同步到磁盘
    
    su - 用户名    进入用户(在用户连末尾,增加一个用户)
    logout 退出登录(在用户连末尾,弹出一个用户)
    
    用户连
    useradd milan // 增加milan用户,并且增加文件夹 /home/milan
    useradd -d /home/tst king 增加king用户,并且指定增加文件夹 /home/tst
    
    passwd 用户名 // 一定要加用户名,不加,是给当前使用系统的用户,设置密码
    userdel milan // 删除milan
    userdel -r milan // 删除milan,并且删除  /home/milan 目录
    
    id root // 查看root用户信息
    who am i // 查看当前登录linux用户信息,不是使用的用户信息
    
    groupadd wd // 添加组wd
    groupdel wd // 删除组wd
    // 如果添加用户,没有指定组,系统自动生成一个和用户名相同的组
    useradd -g wd zwj // 给新增加的用户,指定组
    usermod -g 用户组 用户名  // 给用户换组
    
    more /etc/passwd // 显示用户信息
    more /etc/group // 显示分组信息
    
    运行级别
    // 设置当前运行级别
    init 0 // 关闭
    init 6 // 重启
    init 3 // 非图形界面 
    init 5 // 图形界面
    
    // 显示当前 运行级别
    systemctl get-default
    // 设置默认(linux系统开机后)运行级别,用户切换 图形界面 还是 非图形界面 
    systemctl set-default multi-user.target // 设置成linux系统开机后,采用 非图形界面 
    systemctl set-default graphical.target // 设置成linux系统开机后, 图形界面 
    
    // gzip 和 gunzip
    gzip Hello.js 
    gunzip Hello.js.gz 
    
    // zip 和 unzip
    zip He Hello.js // 把Hello.js压缩成He.zip
    zip -r myHome.zip /home // 选项 -r 递归压缩,既压缩文件夹
    unzip Hello.js
    unzip -d /opt/tmp myHome.zip // 选项 -d ,指定解压到哪个文件夹下
    
    // tar
    //压缩多个文件
    tar -zcvf hw.tar.gz /home/hello.js /home/world.js
    //压缩文件夹
    tar -zcvf home.tar.gz /home
    // 解压到当前目录
    tar -zxvf hw.tar.gz
    // 解压到指定目录
    tar -zxvf home.tar.gz -C /opt/tmp
    
    tar
    mkdir -p /home/animal/dog // 创建多级目录
    
    cp -r /home/bbb /opt/tmp // 把bbb文件夹 拷贝到tmp文件夹
    \cp -r /home/bbb /opt/tmp // 再次把bbb文件夹 拷贝到tmp文件夹,覆盖原来的/opt/tmp下的bbb,取消linux一个个提示,是否需要覆盖
    
    rm -f hello.js // 强制删除hello.js ,取消linux提示是否需要删除
    rm -rf /home/bbb // 强制删除 bbb文件夹
    
    mv oldFileName newFileName // 移动文件(夹),同一个文件夹是 重命名,不同文件夹是移动
    
    cat -n /etc/passwd // 查看文件带行数
    
    -f 强制 (force)
    -r 递归 (recursion)
    
    more
    less
    tail 文件 // 默认显示文件末尾10行
    tail -n 5 文件 // 显示文件末尾5行
    tail -f 文件 // 监控文件变化(退出监控:ctrl+D)
    
    head 文件 // 默认显示文件头部10行
    head -n 5 文件 // 显示文件头部5行
    
    >
    ln -s /root /home/myroot // 给/root创建快捷方式 ,到在/home/myroo
    rm -f /home/myroot // 删除快捷方式,和删除文件一样,不是删除文件夹
    
    history // 查看 历史执行命令列表,显示所有执行的命令
    history 10 // 显示最近10个
    !5 // 执行 历史列表 编号为5的那条命令
    
    date // 显示当前时间
    date "+%Y-%m-%d %H:%M:%S" // 显示 年月日时分秒
    date -s "2021-11-03 09:00:05" // 设置日期时间
    
    cal // 显示日历(不加选项,显示本月日历)
    cal 2020 // 显示 哪一年的日历
    
    find [哪个文件夹下查询] [选项]
    选项:
    -name 文件名
    -user 用户
    -size 文件大小 (+n大于,-n小于,n等于;单位K M G )
    find /home -name *.js
    find /home -user houchen | more
    find /home -size -1M
    
    ll -h // -h选项,是让列表信息,更让人看的懂
    
    updatedb
    locate hello.js
    
    which 指令 // 可以查看指定在哪个目录下
    
    grep "var" hello.js // 显示 在hello.js 中 含有var 内容的行
    grep -n "var" hello.js // 带行号显示出来
    grep -i "var" hello.js  // 查询内容不区分大小写
    

    chown 用户名 文件名 // 修改文件所有者
    chown 用户名:组名 文件名 // 修改文件所有者和所在组
    chown -R 用户名:组名 文件名 // 修改文件所有者和所在组;如果是文件夹,递归执行
    chgrp 组名 文件名  // 修改文件所在组
    chgrp -R 组名 文件名  // 修改文件所在组;如果是文件夹,递归执行
    usermod -g 用户组 用户名  // 给用户换组
    usermod -d 目录名 用户名 // 修改用户登录后,进入的初始目录
    
    文件权限
    权限说明
    chmod u=rwx,g=rw,o=x hello.js
    
    修改权限
    crontab -e // 进入 vi编辑模式
    */1 * * * * ll /etc/ > /root/to.txt
    
    crontab -r // 删除所有任务
    crontab -l // 列出所有任务
    
    crond语法
    crond时间规则
    ps // 可以查看进程的瞬间信息。
    ps -ef | grep [相应的进程名称]
    ps -ef | grep 'atd' // 查询atd 进程有没有启动
    
    at [选项] [时间]
    ctrl + D 结束at命令的输入, 输入两次 ctrl + D
    
    atq 查询系统中的任务列表
    atrm 编号 // 删除at任务
    
    // 1. 两天后下午5点,执行 ls /home 命令
    at 5pm + 2 days
    at> ls /home  
    // 2. 两分钟后,执行 date > /root/mydate
    at now + 2 minutes
    at>  date > /root/mydate
    
    
    atd任务
    at 时间
    lsblk 或者 lsblk -f  // 查看磁盘信息
    
    // 分区
    1. 在虚拟机上添加一块磁盘,重启虚拟机
    2. fdisk /dev/sdb
    3. n
    4. p
    5. 1
    6. w
    // 格式化
    mkfs -t ext4 /dev/sdb1
    // 把新格式化好的分区 ,挂载到 /newdisk目录下,重启reboot后,挂载会失效
    mkdir /newdisk
    mount /dev/sdb1 /newdisk
    // 卸载
    unmount /dev/sdb1 或者 unmount /newdisk
    
    // 永久挂载
    vim /etc/fstab // 具体设置见 图[永久挂载]
    
    分区
    永久挂载
    df -h // 查询磁盘使用情况
    du -h [目录] // 查看当前或者[指定]目录磁盘使用情况
    du -hac --max-depth=1 /opt // 查询/opt目录占用磁盘情况
    
    磁盘使用情况 image.png
    vim /etc/sysconfig/network-scripts/ifcfg-ens33 // 修改网络配置
    hostname // 查看主机名
    vim /etc/hostname // 修改主机名
    vim /etc/hosts // 设置主机名和ip的映射关系
    
    ipconfig/displaydns // DNS域名解析缓存
    ipconfig/flushdns // 手动清理dns缓存
    
    dns缓存 ps 进程图
    ps -aux | grep sshd
    ABRT 已检测到 '1' 个问题。预了解详细信息请执行:abrt-cli list --since 1633679860
    [root@houchen ~]# ps -aux | grep sshd
    root       1148  0.0  0.2 112900  4308 ?        Ss   15:55   0:00 /usr/sbin/sshd -D
    root       2122  0.0  0.3 160988  5632 ?        Ss   15:57   0:00 sshd: root@pts/0
    root       4249  0.0  0.0 112828   976 pts/1    S+   17:44   0:00 grep --color=auto sshd
    [root@houchen ~]# kill 2122
    [root@houchen ~]# kill 1148 // 远程xshell就登录不上了
    [root@houchen ~]# /bin/systemctl start sshd.sevice // 重启sshd服务
    [root@houchen ~]# ps -aux | grep bash // 查询bash(命令窗口)的进程信息
    
    进程
    pstree
    service [服务名] [start | stop | restart | reload | status] // 设置服务状态
    service network stop
    
    ll /etc/init.d // 查看 service 管理的服务状态
    setup // 查看所有服务
    
    chkconfig --list | grep network // 查看 service 管理的服务,在不通运行级别下,linux系统开机后:是自动开始,还是关闭
    chkconfig --level 5 [服务名] [on | off] // 设置service 管理的服务在不同运行级别下,linux系统开机后:是自动开始,还是关闭;设置成功,需要reboot重启生效
    chkconfig --level 5 network off // 在运行级别5下,network服务默认关闭;设置成功,需要reboot重启生效
    
    service
    systemctl [start | stop | restart | status] [服务名] // 设置服务状态
    systemctl stop firewalld // 关闭防火墙服务
    
    ll /usr/lib/systemd/system // 查看 systemctl 管理的服务状态
    systemctl list-unit-files | grep [服务名] // 查看 systemctl 管理的服务 开机启动状态
    
    systemctl [enable | disabled] [服务名] // 设置 systemctl 管理的服务 , 在3,5两个运行级别的,开机启动状态
    
    systemctl
    netstat -anp | more // 查询服务端口和协议
    
    // 给防火墙 开放端口 列表里 ,增加111端口
    firewall-cmd --permanent --add-port=111/tcp
    firewall-cmd --reload
    firewall-cmd --query-port=111/tcp
    
    firewall-cmd --permanent --remove-port=111/tcp
    
    防火墙示意图 防火墙服务
    top1
    top2
    rpm -qa | grep xx // 查询已安装的rpm列表
    rpm -qa | grep firefox // 查看是否安装了火狐浏览器
    
    rpm -qi [软件包名] // 查看已安装软件的信息
    rpm -ql [软件包名] // 查看软件安装的位置和安装后的文件夹含有哪些文件
    
    rpm -e [软件包名] // 卸载软件包
    rpm -e --nodeps [软件包名] // 强制卸载软件包
    
    // 安装软件包,要先下载好,放到一个文件夹里
    rpm -ivh [软件包位置] // 安装软件包  i=install v=verbose(提示) h=hash(进度条)
    
    rpm2
    yum list | grep [软件包名]
    yum install [软件包名] // 下载并安装软件包,并且下载安装相关依赖
    
    // 安装firefox
    yum list | grep firefox
    yum install firefox
    rpm -q firefox
    
    vim /etc/profile // 编辑环境变量文件
    export PATH=$PATH:/root/node-v12.18.1-linux-x64/bin 追加环境变量
    source /etc/profile  // 立即生效
    

    相关文章

      网友评论

          本文标题:linux基础操作

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