Linux 常用命令大全(含定时任务调度、网络配置等等)

目录

      • 1. vi 和 vim 快捷键
      • 2. 开关机、重启和用户登录注销
      • 3. 用户管理
      • 4. 指定运行级别
      • 5. 帮助命令
      • 6. 文件和目录相关指令
      • 7. 时间日期类
      • 8. 搜索查找类
      • 9. 压缩和解压类
      • 10. 组管理和权限管理
      • 11. 定时任务调度
      • 12. 磁盘分区、挂载
      • 13. 网络配置
      • 14. 进程管理
      • 15. rpm 和 yum 软件安装。

1. vi 和 vim 快捷键

  • yy:复制当前行。
  • 5yy:复制当前行向下的5行。
  • p:粘贴。
  • dd:删除当前行。
  • 5dd:删除当前行向下的5行。
  • /关键字:回车查找关键词,输入n查找下一个。
  • :set nu:设置行号。
  • :set nonu:取消行号。
  • shift+g:移动到末行。
  • gg:移动到首行。
  • u:撤销动作。
  • 20 shift g:光标移动到20行。

2. 开关机、重启和用户登录注销

  • shutdown -h now:立刻关机。
  • shutdown -h 1:一分钟后关机。
  • shutdown -r now:立刻重启。
  • shutdown -r 1:一分钟后重启。
  • halt:立刻关机。
  • reboot:立刻重启。
  • sync :在重启和关机前,通常先执行此命令,将内存的数据写入磁盘。
  • su 用户名:切换用户。
  • logout:注销用户,此命令在图形运行级别无效。

3. 用户管理

  • useradd 用户名:添加一个用户,默认家目录为/home/用户名。
  • useradd -d 指定目录 用户名:给新添加的用户指定家目录。
  • passwd 用户名:给用户设置密码。
  • whoami:查看当前登录用户。
  • userdel 用户名:删除用户,但保留家目录。
  • userdel -r 用户名:删除用户及用户主目录。
  • id 用户名:查询用户信息。
  • groupadd 组名:新添加一个组。
  • useradd -g 用户组 用户名:添加用户并指定用户组。
  • groupdel 组名:删除一个组。
  • usermod -g 新的组名 用户名:修改用户的组。
  • /etc/passwd文件:用户的配置文件,记录用户的各种信息。
    每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell。
  • /etc/shadow文件:口令的配置文件。(每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:保留。)
  • /etc/group文件:组的配置文件,记录Linux包含的组的信息。(每行含义:组名:口令:组标识号:组内用户列表。)

4. 指定运行级别

  • 基本介绍:
    • 0:关机。
    • 1:单用户,类似安全模式,该模式可以帮助找回root密码。
    • 2:多用户无网络。
    • 3:多用户有网络。
    • 4:系统未使用保留给用户。
    • 5:图形界面。
    • 6:重启。
  • 修改默认的运行级别可改文件 /etc/inittab 的 id:5:initdefault: 这一行中的数字。
  • init [0123456]:切换运行级别。
  • 如何找回 root 密码。
    • 启动时->快速输入enter->输入e-> 进入到编辑界面-> 选择中间有kernel 项->
      输入e(edit)-> 在该行的最后写入 1 [表示修改内核,临时生效]-> 输入enter->
      输入b [boot]-> 进入到单用户模式。

5. 帮助命令

  • man [命令或配置文件]:获得帮助信息。
  • help 命令:获得shell内置命令的帮助信息。

6. 文件和目录相关指令

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

  • ls [选项] [目录或是文件]

    1. -a:显示当前目录的所有的文件和目录。

    2. -l:以列表的方式显示信息。

    3. -h:显示文件大小时,以k、m、G为单位。

  • cd 绝对或相对路径:切换路径。

  • mkdir 目录:创建目录。

  • mkdir -p 目录:创建多级目录。

  • rmdir 目录:删除空目录。

  • rm -rf 目录:删除非空目录。

  • -r:表示递归删除,将该目录下的文件和子目录全部删除。

  • -f:表示强制删除,不需询问。

  • touch 文件名:创建空文件,还可以更新文件的修改时间。

  • cp [选项] source【源】 dest【目的文件】:拷贝文件。

  • -r:递归复制整个文件夹。

  • mv oldNameFile newNameFile:重命名文件。

  • mv /temp/movefile /targetFolder:移动文件或目录。

  • cat [选项] 要查看的文件:查看文件内容。

    1. -n:显示行号。
  • more 要查看的文件:以全屏幕的方式按页显示文本文件的内容。

    1. space:向下翻一页。
    2. enter:向下翻一行。
    3. q:退出。
    4. =:输出当前行的行号。
    5. :f :输出文件名和当前行的行号。
  • less 要查看的文件:less指令用来分屏查看文件内容。

  • echo [选项] [输出内容]:输出内容到控制台。

  • head 文件:查看文件的前 10 行内容。

  • head -n 5 文件:查看文件的前 5 行内容。

  • tail 文件:查看文件的后 10 行内容。

  • tail -n 5 文件:查看文件的后 5 行内容。

  • tail -f 文件:实时追踪该文件的所有更新。

  • >:输出重定向,覆盖写。

  • >>:追加,将内容添加到文件末尾。

  • ln -s [原文件或目录] [软链接名]:给原文件创建一个软连接。

  • history:查看已经执行过的历史命令。

  • history 10:显示最近使用过的 10 个指令。

  • !10:执行历史编号为 10 的指令。

7. 时间日期类

  • date:显示当前时间。
  • date +%Y:显示当前年份。
  • date +%m:显示当前月份。
  • date +%d:显示当前是哪一天。
  • date “+%Y-%m-%d %H:%M:%S”:显示年月日时分秒。
  • date -s 字符串时间:设置时间。
  • cal [选项]:不加选项,显示本月日历。
  • cal 2020:显示 2020 年日历。

8. 搜索查找类

  • find [搜索范围] [选项]:从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。
    1. -name 文件名或目录名:按文件名查找文件。
    2. -user 用户名:查找属于指定用户的所有文件。
    3. -size 文件大小:按照指定的文件大小查找文件,+n大于n…。
  • locate 搜索文件:定位文件的路径。由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。
  • grep 过滤查找 , 管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理。
  • grep [选项] 查找内容 源文件
    1. -n:显示匹配行及行号。
    2. -i:忽略字母大小写。

9. 压缩和解压类

  • gzip 文件:只能将文件压缩为 *.gz 文件。
  • gunzip 文件.gz:解压缩。
  • zip [选项] xxx.zip 文件或目录:压缩文件和目录。
  • -r:递归压缩,即压缩目录。
  • unzip [选项] xxx.zip :解压缩文件。
  • -d<目录>:指定解压后文件的存放目录。
  • tar [选项] xxx.tar.gz 打包的内容/目录:打包目录,压缩后的文件格式 .tar.gz。
    1. -zcvf: 压缩
    2. -zxvf:解压
  • tar -zxvf xxx.tar.gz -C 目录:解压到指定目录下。

10. 组管理和权限管理

  • chown 用户名 文件名:修改文件的所有者。
  • chmod 用户名:组名 文件名:修改文件的所有者和所有组。
    1. -R:如果是目录,则使其下的所有子文件或目录递归生效。
  • chgrp 组名 文件名:修改文件所在的组。
    1. -R:如果是目录,则使其下的所有子文件或目录递归生效。
  • usermod -g 组名 用户名:修改用户所在的组。
  • usermod -d 目录名 用户名:修改该用户登录的初始目录。
  • chmod u=rwx,g=rx,o=x 文件/目录。
  • chmod o+w 文件/目录。
  • chmod a-x 文件/目录。
  • chmod 777 文件/目录。

11. 定时任务调度

  • crontab [选项]

    1. -e:编辑 crontab 定时任务。
    2. -l:查询 crontab 定时任务。
    3. -r:删除当前用户所有的 crontab 定时任务。
  • 执行 crontab -e 命令后,接着输入任务到调度文件,如:*/1 * * * * ls -l /etc/ > /tmp/to.txt,意思说每小时的每分钟执行 ls –l /etc/ > /tmp/to.txt命令

    项目 含义 范围
    第一个“*” 一小时当中的第几分钟 0-59
    第二个“*” 一天当中的第几小时 0-23
    第三个“*” 一个月当中的第几天 1-31
    第四个“*” 一年当中的第几月 1-12
    第五个“*” 一周当中的星期几 0-7(0和7都代表星期天)
    特殊符号 含义
    * 代表任何时间。比如第一个“*”就代表一小时中每分钟都执行一次的意思。
    代表不连续的时间。比如“0 8,12,16 * * * 命令”,就代表在每天的8点0分,12点0分,16点0分都执行一次命令
    - 代表连续的时间范围。比如“0 5 * * 1-6”命令,代表在周一到周六的凌晨5点0分执行命令
    */n 代表每隔多久执行一次。比如“*/10 * * * * 命令”,代表每隔10分钟就执行一遍命令
  • service crond restart :重启任务调度。

12. 磁盘分区、挂载

  • lsblk 或者 lsblk -f :查看所有设备挂载情况。

  • 增加一块硬盘的步骤:

    1. 增加一块硬盘。

    2. 重启服务器。

    3. 给 sdb 硬盘分区。分区命令:fdisk /dev/sdb。

      m 显示命令列表
      p 显示磁盘分区 同 fdisk –l
      n 新增分区
      d 删除分区
      w 写入并退出

    4. 说明: 开始分区后输入n,新增分区,然后选择p ,分区类型为主分区。两次回车默认剩余全部空间。最后输入w写入分区并退出,若不保存退出输入q。Linux 常用命令大全(含定时任务调度、网络配置等等)_第1张图片

    5. 格式化 sdb1:mdfs -t ext4 /dev/sdb1。
      Linux 常用命令大全(含定时任务调度、网络配置等等)_第2张图片

    6. 挂载:mount /dev/sdb1 /home/newdisk。

    7. 上面的方式,只是临时生效,当你重启系统,挂载的关系没有, 配置linux的分区表,实现启动时,自动挂载:vim /etc/fstab。
      Linux 常用命令大全(含定时任务调度、网络配置等等)_第3张图片

    8. 重启后,会自动挂载。

    9. 卸载:umount /dev/sdb1。

  • df -h:查询系统整体磁盘的使用情况。

  • du -h 目录:查询指定目录的磁盘占用情况,默认是当前目录。

    1. -s:指定目录占用大小汇总。
    2. -h:带计量单位。
    3. -a:含文件。
    4. –max-depth=1:子目录深度。
    5. -c:列出明细的同时,增加汇总值。
  • 统计/home文件夹下文件的个数 ls –l /home/ | grep “^-” | wc -l

  • 统计/home文件夹下目录的个数 ls –l /home/ | grep “^d” | wc -l

  • 统计/home文件夹下文件的个数,包括子文件夹里的 ls –lR /home/ | grep “^-” | wc -l

  • 统计/home文件夹下目录的个数,包括子文件夹里的 ls –lR /home/ | grep “^d” | wc -l

  • 以树状显示home目录结构 :tree /home。 先安装 tree:yum install tree。

13. 网络配置

  • 配置固定的 ip 地址。

    1. vim /etc/sysconfig/network-scripts/ifcfg-eth0
      Linux 常用命令大全(含定时任务调度、网络配置等等)_第4张图片
    2. 使配置生效:重启 reboot,或者重启网网络服务 service network restart
  • 配置主机名。

    1. 查看当前主机名:hostname。

    2. 修改主机映射文件:vim /etc/sysconfig/network

      文件中内容
      NETWORKING=yes
      NETWORKING_IPV6=no
      HOSTNAME= hadoop101 //写入新的主机名
      注意:主机名称不要有“_”下划线

    3. 修改 /etc/hosts 增加ip和主机的映射:172.16.247.131 hadoop101。

    4. 重启设备,生效。

14. 进程管理

  • ps -aux:显示所有的进程。

  • ps -aux | grep sshd:查看sshd进程。

  • 指令说明:

    System V展示风格

    USER:用户名称

    PID:进程号

    %CPU:进程占用CPU的百分比

    %MEM:进程占用物理内存的百分比

    VSZ:进程占用的虚拟内存大小(单位:KB)

    RSS:进程占用的物理内存大小(单位:KB)

    TTY:终端名称,缩写 .

    STAT:进程状态,其中S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等

    STARTED:进程的启动时间

    TIME:CPU时间,即进程使用CPU的总时间

    COMMAND:启动进程所用的命令和参数,如果过长会被截断显示

  • kill [选项] 进程号:通过进程号杀死进程 -9 强制终止。

  • killall 进程名称:通过进程名称杀死进程,也支持通配符。

  • pstree [选项] :查看进程树。

    1. -p:显示进程的 PID。
    2. -u:显示进程的所属用户。
  • service 服务名 [start | stop | restart | reload | status]。

  • 在CentOS7.0后 不再使用service ,而是 systemctl。

  • 如果希望设置某个服务自启动或关闭永久生效,要使用chkconfig指令。

  • chkconfig --list:查看所有服务。

  • chkconfig 服务名 --list:查看指定服务。

  • chkconfig --level 5 服务名 on/off:可以指定某个服务,某各个运行级别,开启或关闭。

  • chkconfig 服务名 on/off:关闭或开启服务。

  • top [选项]:用来显示正在执行的进程。top与ps最大的不同之处,在于top在执行一段时间可以更新正在运行的的进程(默认每3秒变化一次)。

    1. -d 秒数:指定每隔几秒更新。
    2. -i:使 top 不显示任何闲置或者僵死进程。
    3. -p:通过指定监控进程ID来仅仅监控某个进程的状态。

    交互操作说明:

    操作 功能
    P 以CPU使用率排序,默认就是此项
    M 以内存的使用率排序
    N 以PID排序
    q 退出top
    • 如何监视特定用户?
      1. top:输入此命令,按回车键,查看执行的进程。
      2. u:然后输入“u”回车,再输入用户名,即可。
    • 如何终止指定的进程?
      1. top:输入此命令,按回车键,查看执行的进程。
      2. k:然后输入“k”回车,再输入要结束的进程ID号。
  • netstat [选项]:查看网络情况。

    1. -an:按一定顺序排列输出。
    2. -p:显示哪个进程在调用。

15. rpm 和 yum 软件安装。

  • rpm -qa :查看已安装的 rpm 列表。
  • rpm -q 软件包名 :查询软件包是否安装。rpm -q firefox。
  • rpm -q 软件包名 :查询软件包是否安装。
  • rpm -ql 软件包名 :查询软件包中的文件。
  • rpm -qf 文件全路径名:查询文件所属的软件包。
  • rpm -e RPM包的名称:卸载 rpm 包。 rpm -e firefox。
  • rpm -ivh RPM包全路径名称:安装 rpm 包。
  • yum list|grep xxx:查询yum服务器是否有需要安装的软件。
  • yum install xxx:下载安装。

你可能感兴趣的:(Linux,相关)