Linux学习笔记

本文详细介绍了Linux系统中的一些基本命令,包括用户切换、进程查看(ps、top)、grep和fgrep的区别、端口检查、日志查看、命令路径查找、目录操作、文件压缩与解压缩、系统关机重启、内存和磁盘查看等。此外,还讲解了字符串搜索(grep)、帮助命令(man)以及系统命令如历史记录、挂载和登录用户查看等,对于Linux系统的日常管理和运维工作具有指导意义。
摘要由CSDN通过智能技术生成

一、基本命令

1. 对用户的操作
  • 切换用户

    su/sudo + username(root)
    
  • 退出用户登录

    • 在终端输入exit或logout或使用快捷方式ctrl+d,可以退回到原来用户
    • $表示普通用户,#表示超级用户,也就是root
2. 查看进程的指令
  • ps

    • ps 就是进程状态的缩写,可以显示当前运行进程的详细信息,如用户名、用户 ID、CPU 使用率、内存使用、进程启动日期时间、命令名等等

    • 查看占用CPU最多的进程

      ps H -eo pid,pcpu | sort -nk2 | tail
      
    • 显示占用CPU较高的进程信息

      ps -eo pid,ppid,%mem,%cpu,cmd --sort=-%cpu | head
      

      -e:选择所有进程

      -o:自定义输出格式

      –sort=-%cpu:基于 CPU 使用率对输出结果排序

      head:显示结果的前 10 行

      PID:进程的 ID

      PPID:父进程的 ID

      %MEM:进程使用的 RAM 比例

      %CPU:进程占用的 CPU 比例

      Command:进程名字

  • top

    top
    shift + t
    
    • 能够显示Linux系统中运行的进程的动态实时视图
    • top 输出结果是按 CPU 占用进行排序,每 5s 更新一次结果
    • 可以使用 top-b|head-50 显示排前 50 的占用 CPU 最高的进程
    • 看进程的完整信息,可以加 -c 参数,如 top-b-c|head-50

    -b:批次档模式

    head -50:显示输出结果的前 50 个

    PID:进程的 ID

    USER:进程的归属者

    PR:进程的等级

    NI:进程的 NICE 值

    VIRT:进程使用的虚拟内存

    RES:进程使用的物理内存

    SHR:进程使用的共享内存

    S:这个值表示进程的状态: S = 睡眠,R = 运行,Z = 僵尸进程

    %CPU:进程占用的 CPU 比例

    %MEM:进程使用的 RAM 比例

    TIME+:进程运行了多长时间

    COMMAND:进程名字

3. grep 和fgrep的区别?
  • 两者都是搜索工具,但功能上有区别。

  • 首先,grep支持的是标准正则表达式。

  • fgrep,不支持正则表达式,只用于匹配固定字符串。

  • 后者要比前者速度快,当然同时后者的搜索功能要弱于前者。

4. 查看端口的连接情况
  • netstat

    // 实际命令
    netstat -lap | fgrep port
    
  • lsof

    // 实际命令
    lsof -i :port
    
5. 查找关键字及其前后的信息
  • 根据关键字查看日志
    cat hrun.log | grep "新增用户"
  • 根据关键字查看后10行日志
    cat hrun.log | grep "新增用户" -A 10
  • 根据关键字查看前10行日志
    cat hrun.log | grep "新增用户" -B 10
  • 根据关键字查看前后10行日志,并显示出行号
    cat -n hrun.log | grep "新增用户" -C 10
  • 查看日志前 50 行
    cat hrun.log | head -n 50
  • 查看日志后 50 行,并显示出行号
    cat -n hrun.log | tail -n 50

说明:
-A 表示关键字之后,After
-B 表示关键字之前,Before
-C 表示关键字前后,Context

6. 查找某个命令所在的绝对路径
which + 命令(ls/rmdir/rm)
7. 关于目录的命令
  • ~ 代表家目录, / 代表根目录
  • ls 显示目录下的内容
  • ls -a 显示所有文件,包括隐藏文件
  • ls -l 显示详细信息,与ll 相同
  • ls -d 查看目录属性,一般和l 一起使用,ls -ld
  • ls -h 显示文件大小为K或者M,配合人的习惯,一般和l 一起使用,ls -lj
  • ls -i 显示iNode
  • pwd 直接显示目前所在位置
  • cd - 进入上次目录
  • cd / + tab键,显示根下所有目录
  • rm 删除目录或文件,-r 删除目录, -f 强制删除
  • rm -rf 直接删除不再询问
  • -rf 删除系统盘
  • touch + 目录名,创建空目录
8. 常用目录的作用
  • / 根目录

  • /bin 命令保存目录,普通用户可以读取

  • /boot 启动目录,启动相关文件

  • /dev 设备文件保存目录

  • /etc 配置文件保存目录

  • /home 普通用户的家目录

  • /lib 系统库保存目录

  • /mnt 系统挂载目录

  • /media 挂载目录

  • /root 超级用户的家目录

  • /tmp 临时目录

  • /sbin 命令保存目录,超级用户才能使用

  • /proc 直接写入内存

  • /sys

  • /usr 系统软件资源目录

    • /usr/bin/系统命令 (普通用户)
    • /usr/sbin/系统命令(超级用户)
  • /var 系统相关文档内容

  • :proc和sys目录不能直接操作,这两个目录保存的是内存的过载点

9. 复制剪切命令(cp&mv)
  • 格式为:cp [选项] [原文件或目录] [目标目录]
  • 选项
    • -r 复制目录
    • -p 连带文件属性复制
    • -d 若源文件是链接文件,则复制链接属性
    • -a 相当于 -pdr ,目标文件和原文件一模一样
  • 剪切命令:mv [原文件或目录] [目标目录]
  • /bin 为可执行文件
10. 链接命令(ln)
  • 类似于Windows中的快捷方式
  • 格式为:ln -s [原文件] [目标文件]
  • **注:**创建软链接一定要写绝对路径
11. 文件搜索命令(locate&find)
  • locate

    • 格式:locate [文件名]
    • 在后台数据库中按文件名搜索,搜索速度更快
    • /var/lib/mlocate,locate命令所搜索的后台数据库
    • updatedb,更新数据库
  • find

    • 格式:find [搜索范围] [搜索条件]

    • find / -name isntall.log,-name之后为搜索条件

      • find /root -iname install.log,-iname 不区分大小写

      • find /root -user root ,-user按照所有者搜索

      • find /root -nouser ,-nouser查找没有所有者的文件

      • find /var/log/ -mtime +10,-mtime + 10查找10天前修改的文件

        • -10,10天内修改文件
        • 10 , 10天当天修改的文件
        • +10,10天前修改的文件
        • atime, 文件访问时间
        • ctime,改变文件属性
        • mtime, 修改文件内容
      • find . -size 25k ,查找文件大小时25kb的文件

        • -25k,小于25KB的文件
        • 25k,等于25KB的文件
        • +25k,大于25KB的文件
      • find . -inum 262422,查找i节点为262422的文件

      • find /etc -size +20k -a -size -50k,-a 逻辑与,-o 逻辑或

    • 避免大范围搜索,非常耗费系统资源,匹配时可使用通配符

    • 通配符

      • * 匹配任意内容
      • ? 匹配任意字符
      • [] 匹配任意一个中括号内的字符
  • cat

    • 查看命令,只能查看可读可写文件,查看全文
  • more

    • 查看命令,一步一步读取,有进度条和分页的查看
  • tail

    • 读取日志,从后开始查看,默认十行

      • -f ,一直读取最新的内容

      • -c ,显示文档的字节数

      • -n,从第n行开始读起

12. 地址搜索命令(whereis&which)
  • whereis [命令] ,搜索命令所在路径及帮助文档所在位置
    • 选项: -b 只查找可执行文件
    • -m 只查找帮助文件
  • which [文件名],搜索命令所在路径及别名
  • shell 表示当前操作页面,不能用whereis和which找到
13. 字符串搜索命令(grep)
  • grep [选项] [字符串] [文件名] ,在文件中匹配符合条件的字符串
  • 选项:-i 忽略大小写;-v 排除指定字符串
  • find 和 grep的区别:
    • find:在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配
    • grep:在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式时包含匹配
14. 帮助命令(man)
  • 格式:man [命令]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UmRsnE9w-1608111320325)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201215180352393.png)]

  • 查看命令拥有哪个级别的帮助:man -f ,相当于 whatis

  • man -5 passwd,不表明帮助等级,默认打开最小等级

  • 查看和命令相关的所有帮助:man -k ,相当于apropos

  • 选项帮助:[命令] --help,例如:ls --help

  • 详细命令帮助info:

    • -回车,进入子帮助界面
    • -u ,进入上层页面
    • -n,进入下一个帮助小节
    • -p ,进入上一个帮助小节
    • -q,退出
15. 压缩命令
  • 常用压缩格式:.zip、.gz、.bz2,.zip格式Windows和Linux通用

  • .zip格式压缩

    • 压缩文件:.zip [压缩文件名] [源文件]
    • 压缩目录:zip -r [压缩文件名] [源目录]
    • 解压缩:unzip 压缩文件
  • .gz格式压缩

    • gzip [源文件],压缩.gz格式的压缩文件,源文件会消失
    • gzip -c [源文件] > 压缩文件,压缩.gz格式,源文件保留,例如:gzip -c lang > lang.gz
    • gzip -r 目录,压缩目录下所有的子文件,但是不能压缩目录
    • .gz格式可以在window中解压缩
    • 解压缩:
      • gzip -d 压缩文件
      • gunzip 压缩文件
  • .bz2格式压缩

    • bzip2 源文件,不保留源文件
    • bzip2 -k 源文件,保留源文件
    • bzip2不能压缩目录
    • 解压缩:
      • bzip2 -d 压缩文件
      • bunzip2 压缩文件
  • 打包命令tar

    • 格式:tar -cvf [打包文件名] [源文件]

    • 选项:

      • -c,打包
      • -v,显示过程
      • -f,指定打包后的文件名
    • 实例:tar -cvf longzls.tar longzls

  • 解打包命令

    • 格式:tar -xvf 打包文件名
    • -x ,解打包
    • 实例:tar -xvf longzls.tar
  • .tar.gz压缩格式

    • 压缩格式:tar -zcvf 压缩包名.tar.gz 源文件
    • 解压缩格式:tar -zxvf 压缩包名.tar.gz
    • -z ,压缩为.tar.gz格式
  • .tar.bz2压缩格式

    • 压缩格式:tar -jcvf 压缩包名.tar.bz2 源文件
    • 解压缩格式:tar -jxvf 压缩包名.tar.bz2
  • 压缩到指定目录下

    • 格式:tar -jxvf jp.tar.bz2 -C /tmp/
    • -C ,指定解压目录
  • -ztvf中的t表示查看压缩包中的内容而不解压

  • 将多个文件压缩到一个压缩包,并压缩到指定目录下

    • 格式:tar -zcvf /tmp/test.tar.gz jp anoconda-ks.cfg

    • 将后面三个文件压缩到/tmp/文件夹内

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VSFn6drx-1608111320327)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201215185238046.png)]

16.关机重启命令
  • shutdown命令

    • 格式:shutdown [选项] [时间]

    • 选项:

      • -c , 取消前一个关机命令
      • -h ,关机
      • -r ,重启
    • 实例:shutdown -r 06:30

  • 其他关机命令

    • halt
    • poweroff
    • init 0
  • 其他重启命令

    • reboot
    • init 6
  • 系统运行级别

    • 0,关机
    • 1,单用户
    • 2,不完全多用户,不含nfs服务
    • 3, 完全多用户
    • 4,未分配
    • 5,图形界面
    • 6,重启
  • 查询系统运行级别:runlevel

  • 退出登录:logout

16. 系统命令
  • 查看内存free

    • 格式:free -m
    • free -h,人类可识别格式
  • 查看磁盘df

    • 格式:df -h
  • source,生效命令

  • 安装命令

    • yum

      • 安装:yum install 软件名
      • 删除:yum remove 软件名
    • rpm安装

      • 安装:rpm -ivh 软件名
      • 删除:rpm -e 软件名
      • 查看:rpm -q 软件名
17. 其他命令
  • 挂载命令

    • 查询系统中已经挂载的设备,mount
    • 自动挂载,mount -a
    • 挂载光盘,mount -r iso9660
    • 卸载命令,umount 设备名或挂载点
    • 用完命令之后一定要卸载命令,不然会报错
  • 登录用户查看命令

    • w [用户名]

    • 命令输出:

      • USER:登录的用户名

      • TTY:登录终端

      • FROM:从哪个ip地址登录

      • LOGIN:登录时间

      • IDLE:用户闲置时间

      • JCPU:指的是和该终端连接的所有进程占用的时间。这个时间并不包括去后台作业时间,但是包括正在运行的后台作业所占用的时间

      • PCPU:是指当前进程多占用的时间

      • WHAT:当前正在运行的命令

    • who [用户名]

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v5ZqCL9r-1608111320329)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201216170503314.png)]

    • last ,默认读取/var/log/wtmp文件数据

    • lastlog,默认读取/var/log/lostlog文件内容

  • echo输出命令

    • echo [选项] [输出内容]
    • 将我想要显示的内容显示到屏幕上
    • -e 支持反斜线控制的字符转换
  • 查看当前Linux的内核版本号

    • uname -a
    • uname -r
  • 编写脚本,vi hello.sh

  • 赋予执行权限,直接运行

    • chmod 755 hello.sh
    • ./hello.sh
  • 通过bash调用执行脚本

    • bash hello.sh
  • 历史命令

    • history [选项] [历史命令保存文件]

      • -c ,清空历史命令
      • -w ,把缓存中的历史命令写入历史命令保存文件~/.bash_history
    • !n ,重复执行第n条历史命令

    • !!,重复执行上一条命令

    • !字符串,重复执行最后一条以该字符串开头的命令

  • 输入重定向

    • wc [选项] [文件名]
    • 选项:
      • -c 统计字节数
      • -w 统计单词数
      • -l 统计行数

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值