Linux学习日志-1-基础命令

1.Linux的常见命令的部分功能举例(按重要性排序)

1.1熟练掌握

  1. cd 改变工作目录位置

    1. 基本用法
      cd [Absolute Path/Relative Path]
      
    2. 进阶用法
      1. 进入用户主目录
        cd ~ 
        
        cd 
        

        用户主目录:当用户登录时自动进入目录,这个目录通常用于存储用户的个人文件、配置文件和用户级程序数据。

      2. 返回上一级目录
        cd ../
        
  2. ls 列出目录

    1. 基本用法
      ls
      
    2. 进阶用法
      1. 列出详细信息
        ls -l
        
      2. 显示隐藏文件(.开头的文件)
        ls -a
        
      3. 显示递归列表
        ls -R
        

        递归列表:一个目录及其所有子目录和文件

  3. mkdir 创建目录

    1. 基本用法
      mkdir  [文件名]
      
    2. 进阶用法
      1. 创建一个多级目录:(文件1可以不存在)
        mkdir -p  [文件名1/文件名2]
        
      2. 创建一个设置权限后的目录:权限详解请看这里
        mkdir -m [权限代码|700] [文件名]
        
  4. rm 万能删除

    1. 基本用法
      rm  [文件名]
      
      可以一次性删除多个目录
      rm  [文件名] [文件名] [文件名]
      
    2. 进阶用法
      1. 删除目录(以及所有子目录、子文件)
        rm -r [目录名]
        
      2. 强制删除
        rm -rf [文件/目录名]
        
  5. rmdir 删除目录

    基本用法

    rmdir [文件名]
    

    可以一次性删除多个目录

    rmdir [文件名] [文件名] [文件名]
    

    目录通常只是一个保存了文件名和 inode 号的小文件,所以删除文件和删除非空目录在底层上不完全相同,删除非空目录是删除完文件后再删除空目录的过程

  6. cp 复制文件或目录

    1. 基本用法
      cp [样本地址] [目标地址]
      
      复制文件并改名
      cp [文件1] [文件2]
      
      复制多个文件到指定地址
      cp [文件1] [文件2] [目录]
      
    2. 进阶用法
      递归复制一整个目录
      cp -r [目录1] [目录2]
      
      覆盖复制
      cp -i [文件1] [文件2]
      
  7. mv 移动/重命名文件

    1. 基本用法
      移动文件
      mv [文件] [目录]
      
      重命名
      mv [原文件名] [新文件名]
      
    2. 进阶用法
      移动多个文件
      mv [文件1] [文件2] [目录]
      
      移动时覆盖文件
      mv [文件1] [文件2] [目录]
      

    mv 命令在移动目录时是递归的,即该目录下的所有子文件都会被操作。

  8. pwd 显示当前工作目录

    pwd
    
  9. vim 文本编辑器

    vim [文件名]
    

    正常模式(用于导航和编辑命令):

    命令功能
    i进入插入模式
    :w保存文件
    :q退出编辑器
    :wq保存并退出
    :q!不保存并退出
    dd删除当前行
    yy复制当前行
    p粘贴

    插入模式(用于插入文本):

    命令功能
    ESC返回正常模式
  10. find 搜索文件和目录

    1. 基本用法
      find [目录] [条件]
      
      e.g:
      在当前目录及其子目录中查找名为以“巴斯德班保研名额.txt”结尾的文件:
      find . -name "*巴斯德班保研名额.txt"
      

      . 为当前目录
      * 为通配符

    2. 进阶用法
      查找某一类型的文件 文件类型详解请看我另一篇文章
      find . -type [文件类型]
      
  11. chmod 文件的权限控制

    change model)

    1. 基础知识
      linux用户类型

      简称全称内容
      uUser文件或目录的拥有者
      gGroup文件或目录所属的组
      oOthers其他用户
      a(ugo)all所有用户

      文件默认的组是文件所有者所在的组,也可以修改成与所有者无关的组

      linux权限类型

      简称全称内容八进制数字
      rRead读取文件或目录1
      wWrite写入或修改文件或目录2
      xExecute执行文件或进入目录4

      符号表示法

      [用户类型][符号][权限类型]
      

      权限类型可以为空,=[空]代表移除所有权限

      符号内容
      +添加权限
      -移除权限
      =设置权限

      八进制表示法

      [数字1][数字2][数字3] #分别表示ugo的权限,将所有权限数字相加即可
      
    2. 基本用法

      chmod [符号表示法|八进制表示法] [文件名|文件夹名]
      

      递归改变文件夹子目录子文件

      chmod -R [符号表示法|八进制表示法] [文件夹名]
      
  12. fdisk 查看操作硬盘分区

    列出系统中所有硬盘和其分区的信息

    fdisk -l
    

    操作系统中的硬盘分区

    fdisk [硬盘位置]
    

    接着会进入命令模式:
    p:显示分区列表
    n:创建新分区
    d:删除一个分区
    t:更改分区的类型
    w:将更改写入磁盘(保存)
    q:退出而不保存更改

  13. cfdisk 查看操作硬盘分区(更友好)

    cfdisk [硬盘位置]
    

    cfdisk提供了一个更友好的、基于光标的界面,使得磁盘分区操作更直观。

1.2基本掌握

  1. grep/egrep/fgrep 文件搜索

    grep 使用基础正则表达式(Basic Regular Expressions)。
    egrep 是 grep -E 的等效命令,使用扩展正则表达式(Extended Regular Expressions)。
    fgrep 是 grep -F 的等效命令,用于固定字符串的搜索,而不解释任何正则表达式,优点是速度快(fast)。

    1. 常见用法

      grep [options] [正则表达式] [文件]
      
    2. options进阶用法

      options功能
      -i不区分大小写搜索
      -v返回不匹配行
      -l只列出包含匹配行的文件名
      -n显示匹配行及其行号
  2. chown 文件的所有者

    change owner)
    改变文件/文件夹的所有者

    chown [所有者] [文件名]
    

    改变文件/文件夹的所在组

    chown :[所有组] [文件名]
    

    改变文件/文件夹的所在组和所有者

    chown [所有者]:[所有组] [文件名]
    

    递归改变

    chown -R [所有者]:[所有组] [文件名]
    
  3. cat 万能连接文件

    1. 基本用法
      查看文件内容
      cat [文件名]
      
      连接多个文件的内容并显示
      cat [文件1] [文件2]
      
      创建新文件
      cat > [新文件名]
      
      在文件后添加内容
      cat >> [文件名]
      
      连接并写入新文件
      cat [文件1] [文件2] > [新文件]
      
  4. tar 打包文件(并不是压缩)

    归档文件,简称为“归档”,是一种将多个文件或目录组合成单一文件的方法,不涉及压缩。

    tar [options] [目标tar文件名] [文件名] ... [目录名] ...
    
    option功能
    -c创建新的归档文件
    -f保存文件
    -v显示详细信息
    -x解压文件
    -r追加文件
    -u更新文件
    -zgzip压缩
    -jbzip2压缩

    打包文件

    tar -cvf [目标tar文件名] [文件名] ... [目录名] ...
    

    解压文件

    tar -xvf [目标tar文件名] [文件名] ... [目录名] ...
    

    压缩文件(gzip)

    tar -xzvf [目标文件名].tar.gz [文件名] ... [目录名] ...
    

    压缩文件(bzip2)

    tar -xzvf [目标文件名].tar.bz2 [文件名] ... [目录名] ...
    

    追加文件

    tar -rvf [目标tar文件名] [文件名] ... [目录名] ...
    

    更新文件(不存在加入,不一致更新)

    tar -uvf [目标tar文件名] [文件名] ... [目录名] ...
    

    对于已经压缩为其他格式(如gzip或bzip2)的归档文件(如.tar.gz或.tar.bz2),无法直接追加或更新其中的文件。

  5. gzip/bzip2 压缩文件

    gzip :更好的速度,但压缩率差;bzip2:更好的压缩率,但速度较慢

    压缩文件:

    gzip/bzip2 [文件名]
    

    解压文件:

    gzip/bzip2 -d [文件名].gz
    

    默认生成压缩文件的同时,会删除掉原文件。

    option功能
    -c创建新的归档文件
    -f保存文件
    -k保留原文件
  6. mount 挂载文件系统

    挂载:一个文件系统可在特定的路径或目录下访问

    mount [options] [设备名] [挂载点]
    
    option功能
    -t [文件系统类型]指定文件系统类型
    -o [选项]指定挂载的选项

    挂载选项将决定了文件系统的行为和属性。

  7. umount 取消挂载文件系统

    umount  [设备名]|[挂载点]
    

    作用:在物理移除前确保所有写入操作都已完成,防止数据损坏。

  8. lftp/ncftp ftp的文件传输

    lftp/ncftp [ftp服务器地址]
    
  9. ps 显示进程

    列出与当前终端关联的进程:

    ps
    

    列出系统中所有的进程:

    ps -e
    

    使用完整格式显示进程,包括父进程ID、用户、CPU使用时间等(可以与其他option组合)

    ps -f
    

    列出指定用户的所有进程

    ps -u [用户名]
    
  10. kill 发送进程信号(ID)

    kill [信号] [进程ID]
    

    默认为终止信号

  11. killall 发送进程信号(名称)

    killall [信号] [进程名]
    

    可以批量终止同名进程

    终止某一用户的进程:

    killall -u [用户名] [信号] [进程名]
    

    终止运行超过某一时间的进程:

    killall -o/-y [运行时间] [信号] [进程名]
    
  12. crontab 调度任务

    编辑当前用户的 crontab 文件:

    crontab -e
    

    显示当前用户的 crontab 文件:

    crontab -l
    

    删除当前用户的 crontab 文件:

    crontab -r
    

    crontab文件格式:

    [minute] [hour] [day] [month] [day_of_week] [命令]
    

    可用*作为通配符。

  13. at 一次性调度任务

    at [time]
    

    time支持24小时制格式,接着输入要执行的命令即可
    也可以用sh直接导入:

    at [time] < [sh文件地址]
    
  14. batch 调度任务(低于某个负载值启动)

    batch
    

    将进入输入模式,按Ctrl+D退出。

这些调度命令实际是都是交给atd守护进程(at daemon)后台运行,本身不会一直挂在后台。

1.3了解部分

  1. df 显示整个系统磁盘空间大小

    将大小以可读的方式显示

    df -h
    

    显示文件系统类型

    df -T
    
  2. du 显示文件或文件夹磁盘空间大小

    du -h [文件或文件夹]
    
  3. more/less 打开一个文件并显示其内容

    more/less 文件名
    
    按键功能
    b查看上一页(less独有
    Space查看下一页
    Enter查看下一行
    / 后跟关键字用于搜索
    q退出
  4. head/tail 查看文件前/后 N 行

    默认输出10行

    head/tail [文件名]
    

    输出指定行数

    head/tail -n [行数] [文件名]
    
  5. man 查看命令的用法

    man [命令名]
    
  6. who 查看其他用户

    who
    

    显示所有信息:

    who -a
    

    显示用户进程:

    who -u
    

    显示运行级别:

    who -r
    

    传统的 System V init 运行级别:
    0: 关机
    1: 或 s 或 S: 单用户模式(通常用于系统维护,没有网络或多用户支持)
    2: 多用户模式,不带网络文件系统(NFS)
    3: 完整的多用户文本模式,带有网络
    4: 未定义/用户可定义
    5: 图形模式(即图形用户界面,或 GUI)
    6: 重新启动

  7. w 显示关于当前系统上登录的用户的信息

    w
    

    示例输出:

     13:05:34 up 7 days, 2:22,  2 users,  load average: 0.00, 0.01, 0.05
    USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
    john     pts/1    192.168.1.100     12:15    1.00s  0.18s  0.00s sshd: john@pts/1
    smith    pts/2    192.168.1.101     12:20   10:12   0.03s  0.03s -bash
    
    • USER:用户名。
    • TTY:用户使用的终端。
    • FROM:用户从哪个 IP 地址登录。
    • LOGIN:用户登录的时间。
    • IDLE:用户的空闲时间。
    • JCPU:与该终端关联的所有进程消耗的 CPU 时间。
    • PCPU:当前进程消耗的 CPU 时间。
    • WHAT:用户当前正在执行的命令。
  8. top 查看进程、CPU 、内存使用情况

    top
    

    图形化视图:

    htop
    
  9. ping 测试网络连接性

    ping [网址]
    
  10. passwd 密码管理

    修改密码

    passwd
    

    修改其他用户密码(需要超级用户权限)

    passwd [其他用户]
    

    锁定账户(需要超级用户权限)

    passwd -l [其他用户]
    

    解锁账户(需要超级用户权限)

    passwd -u [其他用户]
    

    强制用户到期修改(需要超级用户权限)

    passwd -x [天数] [其他用户]
    
  11. adduser 添加用户

    adduser [新用户名]
    

    默认会创建一个和用户名同名的组名

    adduser还可以将现有用户添加到现有组中:

    adduser [用户名] [组名]
    
  12. mail 发送邮件

    示例:

    echo "This is the body of the email" | mail -s "Subject Line" user@example.com
    

    使用mail要设置邮件传输代理

  13. clear 清屏

    clear
    
  14. reset 重启终端的显示设置

    reset
    
  15. jobs 列出后台的所有作业(当前shell)

    jobs
    

    使用 jobs 列出的作业编号,还可以控制特定作业:
    Ctrl+Z可以暂停一个前台作业,然后移动到后台
    将作业移至前台,并重新运行:

    fg %[作业编号]
    

    使暂停的作业在后台继续运行:

    bg %[作业编号]
    
  16. dmesg 检查内核环形缓冲区消息

    主要用于诊断问题检测硬件

    dmesg
    
  17. talk 终端里通讯

    talk [用户名]
    

    不同服务器的也可以

    talk [用户名]@[主机地址]
    
  18. write 终端里发信息

    与talk用法一致

  19. wall 服务器内通知

    wall [通知信息]
    
  20. mesg 通讯管理

    启用或关闭talk,write等功能

    mesg y/n
    

以上为笔者初学Linux的学习笔记,如有不妥之处,还请各位多多指教。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值