Linux

基本概念

文件和目录

  • Linux系统中的所有文件都存放在根目录下,以.开头的文件为隐藏文件

  • 目录

    • / :根目录

    • /home:所有普通用户的家目录

      • 普通用户的操作范围仅限在自己的家目录
    • /root : Linux系统超级管理员的家目录

    • /usr/bin: Linux命令大部分都存在于该目录下

  • 路径

    • 绝对路径:路径源头固定不变

      • / :根目录
      • ~:当前用户的家目录
    • 相对路径:当前所在路径为源头

      • ./当前路径
      • ../上一级路径

命令

  • 命令主体 [-命令选项1命令选项2] [命令参数]

    • 命令主体和选项之间必须包含一个空格
    • 命令选项的作用一般是用来扩展命令主体功能的
  • 查看命令帮助信息方法

    • 命令主体 --help

      • 可以查看命令具备哪些选项及选项含义
    • man 命令主体

      • 查看命令的手册信息

通配符

  • *:代表可以匹配任意长度的文件名
  • ?:代表可以匹配单个字符
  • []:括号内的内容表示一个范围

快捷键

  • 空格键:向下翻页
  • b:向上翻页
  • q:退出分屏
  • 上下键:快速调出历史命令
  • tab键自动补齐

文件和目录操作

路径操作

  • 查看当前路径

    • pwd
  • 切换路径

    • cd 路径
  • 查看当前路径下的文件和文件夹

    • ls

      • -a:显示所有文件,包含隐藏文件
      • -l:以列表形式显示文件详细信息

创建

  • 创建文件

    • touch 文件1 [文件2]
  • 创建文件夹

    • mkdir 文件夹1 [文件夹2](也可使用/创建多级目录)

复制

  • 复制文件并提示是否覆盖

    • cp -i 文件1 [文件2] 目录路径
  • 复制文件夹

    • cp -r 目录1 目录2

移动文件/文件夹

  • mv 文件名/文件夹名 目录路径

  • 重命名

    • mv 文件名1 文件名2(要在同一目录下)

删除

  • 删除文件

    • rm 文件名
  • 删除文件夹

    • rm -r 文件夹名

查找文件

  • find路径 -name '目标文件名'

    • 文件名可使用通配符,可在其后加上-exec 命令

链接文件

  • 软连接

    • ln -s 源文件/文件夹路径 链接文件名
  • 硬连接

    • ln 源文件 目标文件
  • 软连接与硬链接的区别

    • 软链接使用文件路径名作为指针。所以删除连接文件对源文件无影响,但是删除源文件,连接文件就会找不到要指向的文件。
    • 硬连接不管有多少个,都指向的是同一个I节点,会把结点连接数增加 ,只要结点的连接数不是 0,文件就一直存在,不管删除的是源文件还是 连接的文件,只要有一个存在,文件就存在
    • 软连接可以对目录进行连接,硬连接不可以

文件内容操作

查看文件内容

  • cat 文件名

  • more 文件名:分屏查看

  • head -n 文件名:前n行

  • tail -n 文件名:后n行

  • 动态查看日志内容

    • tail -f 日志文件名
  • 查看指定时间段日志

    • sed -n '/2021-09-17 10:00:00/,/2021-09-18 10:00:00/p' 日志文件名

写入内容

  • echo 内容>文件名
  • cat 文件1 文件2>文件3

追加内容

  • echo 内容>>文件名
  • cat 文件1 >>文件2

查找内容

  • grep 需查找内容 文件名

    • 命令 | grep 需查找内容

      • |左侧命令的结果传递给右侧命令当数据源
    • 统计字符串在文件中出现次数

      • grep -o 'str1|str2' 文件名|wc -l
  • 截取字符串:cut

    • 显示每行从开头算起 num1 到 num2 的文字 -b :以字节为单位进行分割。 -c :以字符为单位进行分割。 -d :自定义分隔符,默认为制表符。 -f :与-d一起使用,指定显示哪个区域。 -n :取消分割多字节字符。仅和 -b 标志一起使用。

      • cut [-bn] [file]
      • cut [-c] [file]
      • cut [-df] [file]
  • 将str1替换为str2

    • sed -i 's/str1/str2/g' 文件名

比较文件的差异

  • diff 文件1 文件2

    • 以逐行的方式,比较文本文件的异同处。如果指定要比较目录,则 diff 会比较目录中相同文件名的文件,但不会比较其中子目录
  • cmp 文件1 文件2

    • 当相互比较的两个文件完全一样时,则该指令不会显示任何信息。若发现有所差异,预设会标示出第一个不同之处的字符和列数编号。若不指定任何文件名称或是所给予的文件名为"-",则cmp指令会从标准输入设备读取数据
  • comm 文件1 文件2

    • 比较排序文件差异

文件权限操作

ls-l查看权限信息

  • 第一位字母代表文件类型

    • -:普通文件
    • d:文件夹
    • l:链接文件
  • 9位字母,3位一组

    • 拥有者权限
    • 用户组权限
    • 其他用户权限
  • 1位数字

    • 文件大小
  • 文件拥有者和用户组名称

  • 修改时间

  • 文件名

chmod 数字1数字2数字3 文件名

  • r4 w2 x1 -0
  • 数字1,2,3分别对应 拥有者,用户组,其他人

umask -s 文件名

  • 以rwx形式显示文件缺省权限

Vi编辑器

三种模式

  • vi 新文件名/已有文件名 ->命令模式

    • i->插入模式,可输入内容
    • :->末行模式 wq存盘退出,w存盘,q!不保存退出
  • 扩展命令

    • 命令模式

      • 移动光标

        • gg:

          • 光标移动文件开头
        • G:

          • 光标移动到文件末尾
          • 数字 G:移动到指定行
      • 删除命令

        • X:

          • 删除光标前一个字符,相当于backspace
        • dd:

          • 删除光标所在行
        • ndd

          • 删除指定的行数
      • 撤销命令

        • u

          • 一步一步撤销
        • Ctr-r:

          • 反撤销
      • 复制粘贴

        • yy:

          • 复制当前行
        • nyy

          • 复制n行
        • p:

          • 在光标所在位置向下新开辟一行粘贴
      • 查找命令

        • /str

          • 查找
        • n

          • 下一个
        • N

          • 上一个
    • 插入模式

      • i:光标当前位置插入 I:插入行首
      • a:光标后插入 A:光标所在行行尾插入
      • o:光标所在行下开启新行

系统相关操作

系统

  • 重启

    • reboot
  • 关机

    • shutdown -h now
  • 查看程序安装位置

    • which 程序名
  • 开启,关闭,重启服务

    • service 服务名 start/stop/restart
  • 显示系统信息

    • uname [-amnrsv][--help][--version]
  • 远程登录

    • ssh [-l name -p port] hostname
    • telnet hostname

进程

  • 查看当前系统的(某)进程信息

    • ps -aux | grep 进程名
  • 杀死进程

    • kill -9 进程ID
  • 动态查看所有的进程信息

    • top -p PID -d n(n秒刷新一次)

网络信息

  • 查看端口号

    • netstat -anptu| grep8080
  • 查看占用某一端口的的程序名称及进程ID

    • lsof -i:端口号
  • 查看设备网络信息

    • ifconfig
  • 测试网络连通性

    • ping

用户

  • 用户切换

    • su -用户名
  • 查看用户名称

    • whoami
    • id -un:自身用户名称
    • id -gn:组名称
  • exit

磁盘管理

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

    • df [-ahikHTm] [目录或文件名]
  • du当前目录及其所有子目录下所有文件的大小

    • du [-ahskm] 文件或目录名称
  • fdisk:用于磁盘分区

    • fdisk [-l] 装置名称

压缩与解压

tar和gzip

  • 打包和压缩

    • tar -zcvf 压缩包名.tar.gz 目标文件/文件夹
  • 解包和解压

    • tar -zxvf 压缩包名.tar.gz 目标文件/文件夹 -C 解压位置文件夹

tar和bzip

  • 打包和压缩

    • tar -jcvf 压缩包名.tar.gz 目标文件/文件夹
  • 解包和解压

    • tar -jxvf 压缩包名.tar.gz 目标文件/文件夹 -C 解压位置文件夹

zip和unzip

  • zip -r 压缩包名.zip 目标文件/文件夹
  • unzip -d 解压位置文件夹 压缩包名.zip