Linux 指令集

Linux 指令集

1. 文件目录

image.png

  • /bin

    • Binary 的缩写,放着最经常使用的命令
  • /sbin

    • sSuper User 的意思,这里放着系统管理员使用的系统管理程序
  • /home

    • 存放普通用户的主目录
    • Linux 中每个用户都有自己的目录,一般目录以用户的账号名命名
  • /root

    • 该目录为系统管理员的用户主目录
  • /lib

    • 系统开机所需要最基本的动态连接共享库,类似 Windows 中的 DLL 文件。
    • 几乎所有的系统应用程序都需要用到这些共享库
  • /lost+found

    • 该目录一般情况下为空,在系统非法关机后就放了一些日志文件
  • /etc

    • 所有的系统管理程序所需要的配置文件和子目录
  • /usr

    • 用户的许多应用程序和文件都放在这个目录下
    • 类似 Program File 目录
  • /boot

    • 此目录下存放 Linux 启动的核心文件,包括连接文件以及镜像文件
  • /proc

    • 此目录为虚拟目录,是系统内存的映射,可以通过访问此目录来获取系统信息
  • /srv

    • Service 的缩写,该目录存放一些服务启动后提取的数据
  • /sys

    • 系统内核文件
  • /tmp

    • 临时文件储存目录
  • /dev

    • 类似与 Windows 的设别管理器,将所有硬件以文件形式储存
  • /media

    • Linux 会自动识别一些设备,如U盘、光驱等等,在识别后,会将这些识别的设备挂载到这个目录下
  • /var

    • 该目录下放着不断扩充的文件,我们习惯上将进场修改的文件放在这个目录下,包括各种日志文件
  • /selinux

    • SELinux是一种安全子系统,它能控制程序只能访问特定文件
  • /usr/local

    • 这是另一个给主机额外安装软件所安装的目录,一般通过编译源码方式安装的程序
  • /opt

    • 这是默认给主机安装软件所拜访的目录,默认为空
  • /mnt

    • 系统提供该目录是为了让用户临时挂在别的操作系统的,我们可以将外部的存储挂在在 /mnt 上,然后进入该目录查看内容

2. 系统关机

  • 系统关机
    • shutdown
    • shutdown -t now
    • shutdown -t 1
  • 重启
    • reboot

3. 用户管理

  • 添加用户

    • useradd #{User_Name}

      创建用户时,会同时在 /home 目录下创建用户目录

  • 设置用户密码

    • passwd #{Password}
  • 查看用户信息

    • id #
  • 删除用户

    • userdel #{User_Name} ==> 删除用户,但不删除用户文件
    • userdel #{User_Name} ==> 删除用户,同时删除用户文件
  • 用户跳转

    • su #{User_Name}
  • 创建用户组

    • groupadd #{Group_Name}
  • 删除用户组

  • groupdel #{Group_Name}

  • 添加用户时直接加上组

    • useradd -g #{User_Group} #{User_Name}
  • 修改用户所在的用户组

    • usermod -g #{Group_Name} #{User_Name}
  • 配置文件

    • 用户配置文件(用户信息)
      • /etc/passwd
    • 组配置文件(组信息)
      • /etc/group
    • 口令配置文件(密码和登陆信息,是加密的)
      • /etc/shadow

4. 实用指令

4.1 系统运行级别

系统运行级别:

  • 0:关机
  • 1:单用户(找回丢失密码)
  • 2:多用户(没有网络服务)
  • 3:多用户有网络服务
  • 4:系统未使用保留给用户
  • 5:图形界面
  • 6:系统重启

常用的运行级别为 35 ,要修改默认的运行级别可修改文件 /etc/inittabid:5initdefault:

也可以使用指令

  • init 0/1/2/...

image.png

可以看到,在CentOS 7.3 中,旧版本的指令已经不再有效,在此文件中加入信息对系统也不会产生任何影响。

原指令 Ctrl + Alt + Delete 将会被 /user/lib/systemd/system/ctrl-alt-del.terget 文件处理。

现在运行的 muti-user.target 对应早期版本的 级别3

现在运行的 graphical.target 对应早期版本的 级别5

若需要查看默认的运行级别,应使用

  • systemctl get-default

若需要改变默认的运行级别,应使用

  • systemctl set-default TARGET.target

4.2 帮助指令

  • 使用 man 获得指令详细信息

    • man #{COMMAND}
  • 使用 help 获得指令详细信息

    • help #{COMMAND}

4.3 文件目录

  • 显示当前工作目录的 绝对路径

    • pwd
  • 查看当前目录或者文件信息

    • ls [#{Option}] [#{Directory_Or_File}]
      • -a 显示当前目录下所有的文件和目录,包括隐藏文件
      • -l 以列表的方式显示信息
      • 若要组合使用,可以直接输入 -al
  • 切换文件目录

    • cd #{CONTENT}
      • /root 使用绝对路径
      • ../root 使用相对路径
  • 创建目录

    • mkdir [#{PARA}] #{DIRECTORY}
      • -p 允许创建多级目录
  • 删除目录

    • rmdir [#{PARA}] #{DIRECTORY}

      • 只能删除空目录,当目录下存在内容则无法删除
    • rm -rf #{DIRECTORY}

      • 删除目录
  • 创建空文件

    • touch #{FILE}...
      • 可以一次创建多个文件
  • 拷贝

    • cp [#{Option}] #{SOURCE} #{TARGET}
      • -r 递归扩散至整个文件夹
      • 当粘贴时需要股改原有文件时可以在 cp 前加 \ 来全体覆盖,如 \cp -r test hello
  • 删除

    • rm [#{Option}] #{Directory_Or_File}
      • -r 递归扩散至整个文件夹
      • -f 强制删除不提示
  • 移动文件 / 重命名

    • mv #{Old_File_Name} #{New_File_Name}
      • 重命名
    • mv #{File_Path} #{Target_Path}
      • 移动文件
  • 查看文件内容

    • cat [#{Option}] #{File}

      • -n 显示行号
      • | more 分页显示,加在命令的最后段
    • more #{File}

      • 以 VI 全屏形式查看所有文本,并自动退出
      • Ctrl + b 显示上一页内容
      • Ctrl + f 显示下一页内容
      • 空格翻页
    • less #{File}

      • 以 VI 全屏形式查看部分文本,不会自动退出
  • 输出重定向

    • >
      • echo 'LANG="zh_CN.UTF-8"'> /etc/locale.conf覆写文件
  • 追加

    • >>
  • 输出内容到控制台

    • echo [#{Option}] #{Varible}
      • echo $PATH 输出环境变量路径gzhi
  • 输出文件的开头部分

    • head [#{Option}] #{File}
      • 不加其余指令则是查看文章前十行
      • head -n 5 #{File} 查看文章前5行内容
  • 输出文件的结尾部分

    • tail [#{Option}] #{File}
      • 不加其余指令则是查看文章后十行
      • tail -n 5 #{File} 查看文章后5行内容
      • tail -f #{File} 实时追踪该文档的所有更新
  • 查看执行过的指令

    • history [#{Number}]
    • !#{Number} 调用执行过的第多少行指令

4.4 时间日期

  • 显示当前时间
    • date
      • + %Y 显示当前年份
      • + %m 显示当前月份
      • + %d 显示当前日期
      • date -s #{Time} 设置时间
  • 查看日历
    • cal [#{Option}]
      • cal #{Year} 显示一年的日历

4.5 搜索与查询

  • 查找文件
    • find #{Search_Range} [#{Option}]
      • -name 按名字来搜索
      • -user 按用户来搜索
      • -size +20M 按照文件大小来搜索
  • 过滤查找
    • grep [#{Option}] #{String}
      • -n 显示行号
      • -i 忽略大小写
  • 管道符号
    • |
      • 将前一个命令的处理结果传递给豆面的命令处理

4.6 压缩与解压

  • 压缩文件
    • gzip #{File_Name}
      • 将文件自动压缩成 *.gz,不保留压缩之前的源文件
    • gunzip #{File_Name}
      • 将压缩文件解压
    • zip [#{Option}] #{File_Name}
      • -r 递归压缩文件
    • unzip [#{Option}] #{Target}
      • -d 指定解压文件后的存放目录
  • 打包
    • tar[#{Option}] #{File_Name}
      • 将文件打包为 *.tar.gz
      • image.png

5. 组管理和权限管理

  • 查看文件的所有者
    • ls -ahl
  • 改变文件的所属区域
    • chown #{User_Name} #{File}
    • chgrp #{Group_Name} #{File}

文件权限

image.png

  • 第一个字符
    • - 表示普通文件
    • d 表示文件夹
    • l 表示软连接文件
    • c 表示字符设备,如鼠标,键盘
    • b 块文件,如磁盘
  • 第二,三个字符
    • rw 表示可以对文件进行读和写
  • 第四、五、六个字符
    • r-- 表示文件所在组的用户对此文件只有读的权限
  • 第七、八、九个字符
    • r-- 表示其他组的用户对此文件也只有读的权限
  • 用户前的数字
    • 如果是文件,表示硬链接的个数
    • 如果是目录,表示该目录子目录的个数
  • 组后的数字
    • 4096 表示此文件为目录
  • 文件前的两个时间
    • 表示用户最后修改的时间
  • image.png
  • 修改用户文件

6. 磁盘情况查询

  • 查询磁盘使用情况
    • df [#{Option}]
      • df -l 列出
    • du -h #{Directory_Path} 查看指定目录的磁盘占用情况,默认为当前目录
      • -s 指定目录占用大小汇总
      • -h 带计量单位
      • -a 含文件
      • -c 列出明细的同时增加汇总值
      • --max-depth=1 指定子目录深度
    • image.png

7.网络配置

  • 查看网络配置
    • ifconfig (Bash)
    • ipconfig (PowerShell)
  • 通过修改配置文件来指定IP,并且可以连接到外网
    • /etc/sysconfig/network-csripts/ifcfg-eth0 目录
      • 在此之前需要将 IP 地址设置为静态的
      • image.png
      • 修改后需要重启服务
      • service network restart
      • reboot

8. 进程管理

  • Linux 中,每个执行的程序都称为一个进程。每一个进程都会分配一个 ID 号,就像 Windows 下的 PID

  • 每一个进程都会对应一个父进程,而这个父进程可以复制多个子进程,例如 www 服务器

  • 每个进程都可以以两种方式存在,前台与后台

    • 所谓前台进程就是用户目前的屏幕上可以进行操作的
    • 后台进程则是实际在执行操作,但是由于屏幕上无法看到的进程,通常使用后台方式执行
  • 一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中,知道关机才结束

  • 查看系统中运行的程序

    • ps [#{Option}]

      • -a 显示当前中断的所有进程信息
      • -u 以用户形式显示进程信息
      • -x 显示后台进程运行的参数
    • 字段说明
      PID进程标识号
      TTY终端机号
      TIME该进程所消耗 CPU 的时间
      CMD正在执行的命令或进程名

      image.png

      image.png

  • 查看进程的父进程

    • ps -ef
    • image.png
  • 终止进程

    • kill [#{Option}] #{PID}
      • -9 强制终止
    • killall #{Process_Name}

服务

  • PowerShell 下测试 Linux 端口是否可用
    • telnet #{IP} #{Port}
  • 给每个服务的各个运行级别设置自启动
    • chkconfig
      • chkconfig --list | grep #{Service_Name}
      • chkconfig #{Service_Name} --list
      • chkconfig --level #{Level} #{Service_Name} on/off

动态监控进程

  • 动态监控进程
    • top [#{Option}]
      • -d #{Second} 设置刷新的时间
      • -i 不显示限制或者僵死进程
      • -p #{PID} 指定监控进程
      • k #{PID} 杀死进程

监控网络状况

  • 监控网络状态
    • nestat