• linux常用命令以及基本操作


    1.基本命令

    2.文件操作

    3.用户以及用户权限

    4.进程相关

     

    查看centos版本信息: cat  /etc/os-release(注意cat后面有个空格)

    Linux磁盘管理常用三个命令为df、du和fdisk。

    • df:列出文件系统的整体磁盘使用量

    • du:检查磁盘空间使用量

    • fdisk:用于磁盘分区

    关机

    sudo halt 立即关机
    sudo poweroff 立即关机
    shutdown -h now(root用户)
    shutdown -h 60 表示60分钟后自动关机

    重启

    sudo reboot
    shutdonw -r now(用户)
    shutdown -r  60  (root)  表示60分钟之后重启

    基本命令

    1.cd --进入目录    

    cd      相对路径或者绝对路径
    cd ..   进入上一级目录
    cd -    回到上一次操作的目录
    cd ~    进入用户下面的根目录

    2.pwd --查看当前目录路径 

    3.ls --查看目录或文件    

    -a 显示隐藏文件
    -l  显示文件或者文件夹的详细信息
    -R 递归显示,包括子文件或者子目录
    -t   按时间排序

    4.mkdir --创建目录 

    -m

    -p   创建目录, 若无父目录则创建

    5.rmdir --删除目录  

    -p 递归删除所有空目录

    6.touch --创建空文件 

    -t  指定时间
    -r  参考文件的时间作为当前创建文件的日期

    7.cat --查看文件内容 

    -n    显示行号

    -b    

    -s   

    tac  从最后一行开始显示,可以看出 tac 是 cat 的倒著写!

    nl   显示的时候,顺道输出行号!

    8.find --查找文件或目录   

    find [搜索路径] [搜索关键词]

    -a  逻辑与

    -o  逻辑或

    -name 文件名

    -size 文件大小

    -ctaime 文件修改时间

     

     tail 查看文件内容

    -f 常用于查看正在改变的日志文件

    # 要实时监视apache访问日志文件并显示包含IP地址192.168.43.157的行
    tail -f /var/log/httpd/access_log |grep 192.168.43.157

    9.rm --删除文件或目录 

    -r  递归删除

    -f  强制删除

    -i  

    10.cp --复制 

    -r   递归复制

    -f   覆盖复制

    -i   提示是否覆盖

    -p   保留文件夹的权限

    11.mv --移动文件/重命名   

    -b

    -f

    -i

    grep 查找文件里符合条件的内容

    # 要实时监视apache访问日志文件并显示包含IP地址192.168.43.157的行
    tail -f /var/log/httpd/access_log |grep 192.168.43.157

    # 系统报警显示了时间,但是日志文件太大无法直接 cat 查看。(查询含有特定文本的文件,并拿到这些文本所在的行)
    grep -n '2019-10-24 00:01:11' *.log

    top 动态查看进程

    ps  静态查看进程

    kill 杀死进程/结束进程

    netstat -anp | grep 端口号  查看某端口号 是否被占用    LISTEN 表示被占用

    netstat -nultp 查看当前所有已经使用的端口号

    文件操作

     

    文件权限

    ls -alh 文件 ---查看文件详情

    ls -l --查看所有文件文件夹详情

     第一个字符代表这个文件是目录、文件或链接文件等等。

    • 当为[ d ]则是目录
    • 当为[ - ]则是文件;
    • 若是[ l ]则表示为链接文档(link file);
    • 若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
    • 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

    后面每三个为一组,总共为三组且均为‘’ rwx ‘’;分别代表着 ‘主权限’ , ‘组权限’ , ‘’其他用户权限‘’

    • ' r '代表可读(read)
    • ' w '代表可写(write)
    • ' x '代表可执行(execute)
    • ' - ' 代表无权限

    2中分别表示文件的创建者和拥有者

    变更文件拥有者 

    sudo chown zhuyalong iphone11 -- zhuyalong为变更后的所有者,iphone11为文件名

    修改文件权限

     chmod 777  test.py -- 777为文件权限级别,test.py为文件名

     

    vim使用

    sudo  apt  install  vim --安装vim编辑器

    vim三种模式:命令模式、插入模式、编辑模式。使用ESC 或 来切换模式。

    命令模式下:

    :q                      退出

    :q!                     强制退出

    :wq                   保存并退出

    :set number     显示行号

    :set nonumber  隐藏行号

    /apache            在文档中查找apache 按n跳到下一个,shift+n上一个

    yyp                   复制光标所在行,并粘贴

    h(左移一个字符←)、j(下一行↓)、k(上一行↑)、l(右移一个字符→)

    打包压缩相关命令

    gzip:

    bzip2:

    tar:                打包压缩

         -c              归档文件

         -x              压缩文件

         -z              gzip压缩文件

         -j              bzip2压缩文件

         -v              显示压缩或解压缩过程 v(view)

         -f              使用档名

    例:

    tar -cvf /home/abc.tar /home/abc              只打包,不压缩

    tar -zcvf /home/abc.tar.gz /home/abc        打包,并用gzip压缩

    tar -jcvf /home/abc.tar.bz2 /home/abc      打包,并用bzip2压缩

    当然,如果想解压缩,就直接替换上面的命令  tar -cvf  / tar -zcvf  / tar -jcvf 中的“c” 换成“x” 就可以了。

     

    用户以及用户权限

    创建用户:

    sudo adduser zhuaylong --创建名为 zhuyalong 的用户

    创建用户组 :

    groups  zhuyalong -- 查看用户zhuyalong 属于哪个用户组

    其中冒号之前表示用户,后面表示该用户所属的用户组。这里可以看到 zhuyalong 用户属于 zhuyalong 用户组,每次新建用户如果不指定用户组的话,默认会自动创建一个与用户名相同的用户组。

    cat  /etc/group --查看所有用户组

    /etc/group 的内容包括用户组(Group)、用户组口令、GID(组 ID) 及该用户组所包含的用户(User),每个用户组一条记录。格式如下:

    group_name:password:GID:user_list

    你看到上面的 password 字段为一个 x,并不是说密码就是它,只是表示密码不可见而已。

    将某用户加入sudo用户组

    默认情况下新创建的用户是不具有 root 权限的,也不在 sudo 用户组,可以让其加入 sudo 用户组从而获取 root 权限:

    sudo usermod -G sudo zhuyalong

    删除用户和用户组

    sudo deluser lilei -- 删除 'lilei' 用户

    sudo deluser lilei --remove-home  -- 使用 --remove-home 参数在删除用户时候会一并将该用户的工作目录一并删除。如果不使用那么系统会自动在 /home 目录为该用户保留工作目录。

    groupdel --删除用户组。倘若该群组中仍包括某些用户,则必须先删除这些用户后,才能删除群组。

     修改用户密码

    sudo passwd 修改当前用户密码

    sudo passwd 【用户】 修改用户密码

    切换当前用户

    su --切换root用户,su zhuyalong --切换为 zhuyalong 用户

    进程相关

    top    动态查看进程

    我们看看第top显示的 第一排:

    内容解释
    top 表示当前程序的名称
    15:39:50 表示当前的系统的时间
    up 269 days,11:25 表示该机器已经启动了多长时间
    1 user 表示当前系统中只有一个用户
    load average: 0.56,0.47,0.40 分别对应 1、5、15 分钟内 cpu 的平均负载

    #查看物理 CPU 的个数 cat /proc/cpuinfo | grep "physical id" | sort | uniq |wc -l

       #每个 cpu 的核心数      cat /proc/cpuinfo | grep "physical id" | grep "0" | wc -l

    来看 top 的第二行数据,基本上第二行是进程的一个情况统计

    内容解释
    Tasks: 26 total 进程总数
    1 running 1 个正在运行的进程数
    25 sleeping 25 个睡眠的进程数
    0 stopped 没有停止的进程数
    0 zombie 没有僵尸进程数

    来看 top 的第三行数据,这一行基本上是 CPU 的一个使用情况的统计了

    内容解释
    Cpu(s): 1.0%us 用户空间进程占用 CPU 百分比
    1.0% sy 内核空间运行占用 CPU 百分比
    0.0%ni 用户进程空间内改变过优先级的进程占用 CPU 百分比
    97.9%id 空闲 CPU 百分比
    0.0%wa 等待输入输出的 CPU 时间百分比
    0.1%hi 硬中断(Hardware IRQ)占用 CPU 的百分比
    0.0%si 软中断(Software IRQ)占用 CPU 的百分比
    0.0%st (Steal time) 是 hypervisor 等虚拟服务中,虚拟 CPU 等待实际 CPU 的时间的百分比

    来看 top 的第四行数据,这一行基本上是内存的一个使用情况的统计了:

    内容解释
    8176740 total 物理内存总量
    8032104 used 使用的物理内存总量
    144636 free 空闲内存总量
    313088 buffers 用作内核缓存的内存量

    来看 top 的第五行数据,这一行基本上是交换区的一个使用情况的统计了:

    内容

    解释

    total 交换区总量
    used 使用的交换区总量
    free 空闲交换区总量
    cached 缓冲的交换区总量,内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖

    再下面就是进程的一个情况了

    列名解释
    PID 进程 id
    USER 该进程的所属用户
    PR 该进程执行的优先级 priority 值
    NI 该进程的 nice 值
    VIRT 该进程任务所使用的虚拟内存的总数
    RES 该进程所使用的物理内存数,也称之为驻留内存数
    SHR 该进程共享内存的大小
    S 该进程进程的状态: S=sleep R=running Z=zombie
    %CPU 该进程 CPU 的利用率
    %MEM 该进程内存的利用率
    TIME+ 该进程活跃的总时间
    COMMAND 该进程运行的名字

    ps  静态查看进程

    kill 杀死进程/结束进程

    netstat -anp | grep 端口号  查看某端口号 是否被占用    LISTEN 表示被占用

    netstat -nultp 查看当前所有已经使用的端口号

     

  • 相关阅读:
    LFI、RFI、PHP封装协议安全问题学习
    Django:(博客系统)添加文章(中文)出现UnicodeEncodeError乱码
    Django:(博客系统)使用使用mysql数据->后台管理tag/post/category的配置
    Spark:性能调优
    Django:(博客系统)使用使用mysql数据&创建post/category/tag实体,并同步到数据中
    C#:多进程开发,控制进程数量
    Django通过pycharm创建后,如何登录admin后台?
    扑克牌游戏研究先告一段落
    Zookeeper通过java创建、查看、修改、删除znode
    ZooKeeper:win7上安装单机及伪分布式安装
  • 原文地址:https://www.cnblogs.com/zhuyalong/p/11046110.html
Copyright © 2020-2023  润新知