美文网首页
Linux常用命令——个人笔记

Linux常用命令——个人笔记

作者: 卖毛玉的小贩 | 来源:发表于2019-08-27 17:09 被阅读0次

    系统简介

    1. 系统调用:
      • 操作系统提供给上层调用的函数
    2. 操作系统作用:
      • 承上启下:给上层应用提供接口,给下层应用提供"驱动程序"
    3. shell:
      • 命令解析器
      • 自动运行在'终端'中,用来解析'终端'中的命令
      • 到/bin下调用同名可执行文件
    4. 终端提示符格式:
      • 用户名 @ 主机名 : 当前shell 进程工作目录位置 $
        • $:普通用户
        • #: root用户 (管理员用户)

    Linux目录

    • / 根目录
      • /bin、/usr/bin:存放二进制可执行文件 ==尽量少碰==
      • /dev :存放设备文件
      • /etc :存放系统配置文件
      • /home :系统默认的普通用户的家目录
        • 对于'oMaoyu'用户而言,/home/oMaoyu 是它的"家目录"(宿主目录)
      • /lib 存放系统的函数库
      • /proc : 存放进程相关东西,也就是程序运行后的数据存放在内存当中,不占用磁盘空间,占用内存存储
      • /root : 系统管理员root的家目录,存放root用户数据
      • /tmp : 保存程序工作期间的临时文件
      • /var :保存系统工作过程中,经常变化的数据
        • 日志
        • 数据库

    Linux操作

    Linux帮助

    • Linux下查看帮助
    -- help
    - man 手册:
        `9卷  了解4卷`
              1. `shell 命令帮助信息`
          2. `系统调用帮助信息`
          3. `库函数 帮助信息`
          5. `文件格式:man passwd等
    

    热键

    • 热键 win Ctrl mac control
    1. 快补 tab
    2. 列出执行过的命令 使用!编号 执行过往命令
    3. Ctrl+p 列出上一条命令
    4. Ctrl+n 列出下一条命令
    5. Ctrl+a 将光标移至行首
    6. Ctrl+e 将光标移至行尾
    7. Ctrl+u 清空光标以前的命令

    目录操作

    • 目录的进入
      • /xx/xxx/xx/
        • 起始/为根目录 中间/为目录分割 结尾/是目录提示符
      • 绝对路径
        • 从/根目录开始,依次向后访问
      • 相对路径
        • "."当前目录 cd ./go 去当前目录的go
        • ".."上一级目录 cd ../go 去上级目录的go

    日常使用命令

    • cd
      • cd / 到达根目录
      • cd /xx 到对应目录
      • cd .. 回到上一级目录
      • cd(空格) 从当前目录直接回到家目录
      • cd - 回到上一次shell工作目录
      • cd ~回到目录
    • ls 获取当前目录下的文件 绿色为可执行文件
      • ls - l 获取长信息
        • 七部分内容:
          1. 文件属性:
            • 文件类型: (Linux系统,不以后缀名作为区分文件类型的依据)
              • 普通文件 - 占用磁盘存储
              • 目录文件 d 占用磁盘存储
              • 软连接(win 快捷键) l 占用磁盘存储
              • 字符设备 c 不占用磁盘存储 (伪文件)
              • 块设备 b 不占用磁盘存储 (伪文件)
              • 管道文件 p 不占用磁盘存储 (伪文件)
              • 套接字 s 不占用磁盘存储 (伪文件)
              • 未知 unknow
            • 读写执行权限
              • 以3-3-3==ugo==形式划分
                • u: 所有者 rwx 读写执行 (创建用户对该文件操作权限)
                • g:所属组 rwx 读写执行 (同组用户对该文件操作权限)
                • o:其他人 rwx 读写执行 (不同组用户对该文件操作权限)
          2. 硬链接计数:硬链接个数
          3. 文件的所有者
          4. 文件的所属组
          5. 文件大小
            • 普通文件:实际大小
            • 目录文件:占用磁盘存储大小(4k整数倍)
          6. 最后修改时间
          7. 文件名
      • ls -a 查询所有文件 包含.开头隐藏文件
      • ls -d 查看目录本身信息
        • ls -l 查询目录,默认查询目录的子内容的详细信息
      • ls -F 查看文件信息并带有对应提示符
      • ls -i 查看i结点 iNode
      • ls -h 查询文件时,带有M,G,等大小后缀
    • sudo 获取root用户管理权限
    • touch 创建空文件
    • umask 文件掩码
    • mkdir 创建空目录
      • -p 可以创建多级目录
    • redir 删除空目录 (目录必须为空
    • rm ==删除文件,目录 (不可还原,慎用)==
      • -i 表示交互方式执行
      • -f ==强制删除==
      • -r 表示递归删除,从里往外依次删除 ==用来删除目录==
    • 链接文件
      • 硬链接:
        • 创建语法: ln 文件名 硬链接文件名
        • 特性: 源文件和硬链接文件具备相通的数据信息,并且能够同步信息
        • 原理: 指同个文件的iNode,每新增一个硬链接,增加一个"目录项",硬链接计数+1
        • 删除: 每删除一个硬链接,目录项-1 当为0的时候,操作系统可以重新分配
        • ==目录文件不允许硬链接==
      • 软链接:
        • 相当于win下的快捷方式
        • 创建语法: ln - s 文件or目录名 软链接文件名
        • 强调:建议使用==绝对路径==创建软链接,可以随意移动
        • 软链接文件大:就是指向当初文件的路径地址大小
    • cp 拷贝文件 目标位置[/新文件or目录名]
      • -r 拷贝目录时指定 只拷贝内容
      • -a 拷贝目录时指定 带有原有的属性以及内容
      • -i 交互式拷贝
    • mv 移动文件or改名
      • -f 强制
      • -i 交互
      • -v 现实移动进度
    • >: 输出重定向
      • 语法: 命令>文件名 文件不存在创建 存在覆盖
      • >>:追加
    • cat 查看文件内容
    • tac 可以倒着现实文件内容
    • more less: 查看大文件
      • enter 显示一行
      • 空格 显示一屏
      • less可以使用↑↓ moer不能
      • q! Ctrl-c 终止查看
    • head tail :查看文件头部、尾部
      • head-N 文件名 查看文件前N行
      • tail-N 文件名 查看文件后N行
    • "|"管道命令:
      • 将前一个命令的输出作为后一个命令的输出
      • ls-l | more
    • pwd:打印当前shell进程工作目录位置
    • which 查询命令可执行文件所在目录位置

    压缩解压

    • 压缩:
      • 语法: tar -zcvf 压缩包名.tar.gz 压缩原材料 or tar -jcvf 压缩包名.tar.bz2 压缩原材料
        • z 为.tar.gz格式
        • j为tar.bz2格式
        • c 创建
        • v 压缩过程
        • f 指定压缩名(最后一个)
    • 解压:
      • 语法: tar -zxvf 压缩包名 or tar-jxvftt
        • x 解压缩
        • -C 指定解压位置 如 tar -zxvf XXX -C
      • file 命令可以查看文件类型 当没有指定.tar.gz or .tar.bz2时可以用这个查看类型

    用户管理

    • su
      • su 用户 :切换登录用户,不改变工作路径
      • su - 用户: 切换登录用户,改变工作路径,为用户的家目录
      • sudo:临时获得管理员权限 sudo 对应的命令执行结束,权限自动消失
    • 添加:sudo adduser 用户名
    • 验真:查看/etc/passwd 多出来的新用户
    • 删除:suod deluser 用户名
    • 修改当前登录用户密码:passwd
      • 新增用户默认不能使用 sudo 修改配置文件/etc/sudoers,添加 与root用户格式完全一致的配置项

    用户组管理

    • 添加:soud addgroup 用户组

    • 验证:查看/etc/group

    • 删除用户组:sudo delgroup 组名

    • 修改文件所有者:sudo chown 新用户名 文件

    • 修改文件用户组:sudo chgrp 组名 文件名

    • 修改文件权限:chmod

      • 文字设定法:
        • u:所有者
        • g:所属组
        • o:其他人
        • a:所有
        • +:添加权限
        • -:删除权限
        • =:赋值权限
        • rwx:读、写、执行
      • ==数字设定法==
        • 4 2 1
        • r w x
    • 比较rwx对于目录和文件的差异

      • 文件 目录
        r 查看文件内容,cat、tac、more、less、head、tail、vi 查看目录文件内容, ls、vim 目录
        w 文件内容可以修改、删除、增加、vi、>、>> 目录内可以增加,改名,删除。rm、mv 、cp、touch、mkdir...
        x 可以执行 ./文件名 目录可以被进入,cd

    系统管理

    ps命令

    • 语法:ps xua | grep 关键字
      • 搜索结果应该在>=2条,表示系统运行相关进程

    Kill

    • top:动态获取Linux下的进程状态,类似win任务管理器
    • kill:
      1. ps aux | grep 关键字 获取 进程id(唯一标识符)
      2. kill - 9 进程id 杀死进程
      3. kill -l 查看Linux系统支持的所有"信号"

    查找和检索

    find命令

    • 语法:find 目录位置 -选项 参数
      • -name 按名字搜
        • find /home/itcast/go - name "*.mp4"
        • find 目录 -name "p?"
      • -type 按类型搜
        • 类型: - d l c b p s
        • find 目录 type -
      • -size 按文件大小搜索
        • find 目录 -size +nk -size -nk (大小前面必须加上 -size)
        • k必须小写 M必须大写 G必须大写
        • 不加单位,默认以扇区 512b,0.5k
      • -maxdepth 指定搜索层级深度
        • find 目录 -maxdepth N - 结合上面搜索类型
        • 建议将 -maxdepth 放在所有参数最前端
      • -exec 给find搜索结果转交给其他语法继续执行 类似管道
        • 语法:find语句 -exec 命令 {} ;
      • xargs 解析 | :对find的搜索结果,执行某些命令
        • find 搜索语法 | xargs 命令
        • 当问及名包含特殊字符(空格)时,通过-print0 分割find 搜索结果 在xargs中,指定分割标记
    • 通配符:
      • ?:匹配任意一个字符
      • *:匹配任意多个字符(包含0个)

    grep命令

    • 语法:grep -r "搜索关键字" 目录位置

    vim文本编辑工具

    • 安装 sudo apt-get install vim
    • 工作模式
      • 命令模式 vi/vim 文件名 进入后一开始为命令模式
        • i、a、o、s 进入文本模式
          • ==i:插入到光标所在位置的前面==
          • a:插入到光标所在位置的后面
          • ==o:插入在光标所在行的下一行==
          • O:插入在光标所在行的上一行
          • I:插入光标所在行的行首
          • A:插入光标所在行的行尾
          • s:删除光标选中字符,修改工作模式
          • S:删除光标所在行,修改工作模式
        • : 命令模式转末行模式
        • ==ZZ保存退出命令模式==
      • 编辑模式(文本模式)
        • esc 回到命令模式
      • 末行模式
        • ==wq 保存退出==
          • w:保存
          • q:退出
          • ==q! :强制退出==
          • x:保存退出
        • esc*2回到命令模式
    • vim移动
      • gg:跳转文件的首航
      • G:跳转文件的末行
      • gg=G:自动排版
      • nG:跳转到文件的N行
      • 末行模式下:
        • n 跳转到文件的N行
        • 0 移至光标到行首
        • $移至光标到行尾
    • 复制粘贴
      • yy:复制光标所在行
      • p:粘贴到光标所在行的下一行 np粘贴n次
      • P:粘贴到光标的所在行上一行 nP粘贴n次
      • ndd:剪切从光标位置向后的N行
      • 区域剪切
        • 将光标移至待剪切的起始位置上
        • 按v 左下角出现"—可视--"提示
        • 使用hjkl移动光标,选中待剪切区域
        • 使用d剪切
        • 移动光标到粘贴位置,p向后粘,P向前粘
      • d0:剪切从光标位置到行首的内容
      • d$/D:剪切从光标位置到行尾的内容
      • dw:将光标位置于单词的首字母上,剪切单词
      • 撤销反撤销
        • u撤销
        • ctrl-r 反撤销
        • 误按Ctrl+s 按Ctrl+q退出
    • 查找替换
      • 查找:
        • 想找一个字符串,在文本中找寻
          • 命令模式下:/(在末行位置出现提示符)
          • 输入待找寻的字符串
          • 按n,从前向后找
        • 看到一个字符串,找后出现的位置
          • 将光标移至单词的任意一个字符上
          • 按*从前向后找,按#从后向前找
          • 按n代表下一个
      • 替换:末行完成
        • 语法:s/旧字符串/新字符串
        • 单行替换:
          1. 光标移至待替换行任意位置
          2. 进入末行
          3. s/旧字符串/新字符串/g /g的作用,如果出现多次旧字符串可以全部替换
        • 通篇替换:
          • %s/旧字符串/新字符串/g
        • 多行替换:
          • 起始行号,终止行号s/旧字符串/新字符串/g
    • 其他功能
      • 分屏
        • 横屏:
          • 末行 sp
          • 命令模式下 Ctrl-ww 在分屏中切换
        • 竖屏:
          • 末行 vsp
        • :wq退出当前分屏
        • :wq退出所有分屏
      • vim中使用shell命令:
        • 在vi里可以使用!后跟所有指令

    SSH远程登录

    • ssh远程连接
      1. 保证网络通畅
      2. 安装ssh
      3. shh主机用户名@主机ip地址:
        1. 确认远程登录
        2. 输入对端主机密码
        3. 默认登录到用户的家目录下
        4. 就像操作自己本地主机一样
    • ssh远程传输
      • 将远端文件拷贝到本机:
        • scp -r 主机用户名@ip地址: 待拷贝文件绝对路径 本地存储路径
      • 本地文件传输远端主机:
        • scp -r 本地文件路径 主机用户名@ip地址: 远端存储绝对路径

    相关文章

      网友评论

          本文标题:Linux常用命令——个人笔记

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