Linux常用指令

北慕城南 提交于 2019-12-04 23:27:49

系统指令

  • init [选项] 切换到指定运行级别的指令
    • 0 系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
    • 1 单用户工作状态,root权限,用于系统维护,禁止远程登录
    • 2 多用户状态(没有NFS),没有网络服务
    • 3 多用户状态有网络服务,登录后进入控制台命令行模式
    • 4 系统未使用,保留给用户
    • 5 图形界面
    • 6 系统重启,系统默认运行级别不能设为6,否则不能正常启动
  • shutdown -h now 立即关机
  • shutdown -h 1 表示1分钟以后关机
  • shutdown -r now 立即重启
  • halt 直接使用,效果等价于关机
  • reboot 重启系统
  • sync 把内存中的数据同步到磁盘
  • ifconfig 显示网络设备

当我们关机或者重启时,都应该先执行一下sync指令,把内存中的数据写入磁盘,防止数据丢失

帮助指令

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

    文件目录类

  • pwd 显示当前工作目录的绝对路径
  • ls [选项] 显示当前目录下的内容
    • -a 显示当前目录所有的文件和目录,包括隐藏的
    • -l 以列表的方式显示信息
  • cd [相对路径或绝对路径] 切换到指定目录
    • cd ~ 切换到当前登录用户的主目录
    • cd ~用户名 切换至指定用户的主目录
    • cd - 切换至上次所在目录
    • cd . 切换至当前目录
    • cd .. 切换至上级目录
  • mkdir [目录名] 创建新目录
    • -p 递归创建所有目录
  • rmdir [选项] 目录名 删除空目录
    • -p 递归删除空目录
  • rm [选项] 文件或目录 删除文件或目录
    • -r 递归删除整个文件夹
    • -f 强制删除不提示
  • touch 文件名 创建文件
  • cp [选项] 源文件 目标文件 复制文件
    • -r 递归复制整个文件夹
  • \cp [选项] 源文件 目标文件 强制覆盖原来的文件不提示
  • mv 原文件名 新文件名 重命名
  • mv 源文件目录 目标目录 移动文件
  • cat [选项] 文件名 查看文件内容
    • -n 显示行号
  • more 文件名 以全屏幕得方式按页显示文本文件得内容
  • cat 文件名 | more 分页查看
  • less 文件名 分屏查看文件的内容
  • > 输出重定向,将原来的文件的内容覆盖

    ls -l > 文件名 ++列表的内容写入到文件(覆盖)++

  • >> 追加,不会覆盖原来文件的内容,而是追加到文件的尾部

    ls -l >> 文件名 ++列表的内容追加到文件的末尾++

  • cat 文件1 > 文件2 将文件1的内容覆盖到文件2
  • echo 输出内容 输出内容到控制台
  • head 文件名 查看文件头10行内容
    • head -n 5 文件名 查看文件头5行内容,5可以是任意数
  • tail 文件名 查看文件后10行内容
    • tail -n 5 文件名 查看文件头5行内容,5可以是任意数
    • tail -f 文件名 实时追踪该文档的所有更新,工作经常使用
  • ln [-s/-f] 源文件 目标文件 给文件创建链接
  • rm -rf 软链接名 删除软连接
  • history 查看已经执行过的历史命令
  • vim

    时间日期类

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

      搜索查找类

  • find 搜索范围 [选项] 要查找的内容
    • -name 按照指定的文件名查找模式查找文件
    • -user 查找属于指定用户名所有文件
    • -size 按照指定的文件大小查找文件
  • locate 搜索的文件 快速定位文件路径

    由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库

  • grep [选项] 查找内容 源文件 过滤查找
    • -n 显示匹配行和行号
    • -i 忽略字母大小写
  • | 管道符号,表示将前一个命令的处理结果输出传递给后面的命令处理

    压缩解压类

  • tar [选项] XXX.tar.gz 源文件或目录 归档打包,最后打包的文件是.tar.gz的文件
    • -c 产生.tar打包文件
    • -v 显示详细信息
    • -f 指定压缩后的文件名
    • -z 打包同时压缩
    • -x 解压.tar文件
  • gzip 源文件 压缩文件,只能将文件压缩为.gz文件

    当我们使用gzip对文件进行压缩后,不会保留原来的文件

  • gunzip 文件.gz 解压文件
  • zip [选项] 压缩包名 源文件或源目录列表 压缩文件和目录
    • -r 递归压缩,即压缩目录
  • unzip [选项] 压缩包名
    • -d 目录 指定解压后文件存放的目录

      用户和用户组管理类

  • more /etc/passwd 查看所有用户信息
  • useradd [选项] 用户名 添加用户
    • useradd -d 指定目录 用户名 给新创建的用户名指定家目录
  • useradd -g 组名 用户名 创建用户并放入组中
  • passwd 用户名 密码配置
    • passwd -S 用户名 查看用户密码的状态
    • passwd -l 用户名 锁定用户
    • passwd -u 用户名 解锁用户
    • echo "123" | passwd --stdin [用户名] 调用管道符,给用户设置密码"123"
  • usermod 用户名 修改用户
    • usermod -L 用户名 临时锁定用户
    • usermod -U 用户名 解锁用户
    • usermod -G 组名 用户名 把用户加入组
    • usermod -c 用户说明 用户名 修改用户说明
    • usermod -d 目录名 用户名 改变该用户登录的初始目录
  • chage 用户名 修改用户密码信息
    • chage -l 用户名 查看用户密码状态
  • userdel [选项] 用户名 删除用户
    • userdel -r 用户名 删除用户及用户的家目录
  • id 用户名 查询用户UID、GID和附加组信息
  • su 用户切换
    • su 用户名 用户切换
    • su - 用户名 用户切换
  • exit 返回到原来的用户
  • groupadd 组名 添加用户组
  • groupmod 组名 修改用户组
    • groupmod -g GID 组名 修改组ID
    • groupmod -n 新组名 组名 修改组名
  • groupdel 组名 删除用户组
  • newgrp 组名
  • logout 注销用户
  • whoami 打印当前执行操作的用户名
  • who am i 打印登录当前Linux系统的用户名

    权限管理

  • chgrp 组名 文件或目录 修改文件或目录的所属组
  • chown 用户名 文件或目录 修改文件或目录的所有者
  • chown 用户名:组名 文件或目录 同时修改文件或目录的所有者和所属组
  • chmod 权限值 文件或目录 使用数字修改文件或目录权限
  • chmod [u/g/o/a][+/-/=][r/w/x] 文件目录名 使用字母修改文件或目录权限

    任务调度

  • crontab [选项]
    • -e 编辑crontab定时任务
    • -l 查询crontab任务
    • -r 删除当前用户所有的crontab任务
  • service crond restart 重启任务调度

    磁盘管理

  • fdisk /dev/sdb 对硬盘sdb进行分区
  • mkfs -t 分区类型 设备名称 格式化
  • mount 设备名称 挂载目录 挂载
  • umount 设备名称/挂载目录 卸载
  • lsblk [选项] 查看系统分区和挂载情况
    • -f
  • df -h 查询系统整体磁盘使用情况
  • du [选项] 目录 查询指定目录的磁盘占用情况,默认为当前目录
    • -s 指定目录占用大小汇总
    • -h 带计量单位
    • -a 含文件
    • --max-depth=1 子目录深度
    • -c 列出明细的同时增加汇总值

      查询/opt目录的磁盘占用情况,深度为1。
      du -ach --max-depth=1 /opt

      磁盘情况-工作实用指令
  • 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 以树状显示目录结构

    软件安装

    RPM
  • rpm -qa 查询所安装的所有rpm软件包
    • rpm -qa | more 分页显示
  • rpm -q 软件包名 查询软件包是否安装
  • rpm -qi 软件包名 查询软件包信息
  • rpm -ql 软件包名 查询软件包中的文件
  • rpm -qf 文件全路径名 查询文件所属的软件包
  • rpm -e 软件包名 删除软件包
    • rpm -e --nodeps 软件包名 强制删除软件包
  • rpm -ivh BPM包全路径名称 安装rpm包
    • i=install 安装
    • v=verbose 提示
    • h=hash 进度条

      YUM
  • yum list | grep 软件名 查询yum服务器是否有需要安装的软件
  • yum install 软件名 安装指定的yum包

    进程管理

  • ps [选项] 显示系统执行的进程
    • -a 显示当前终端的所有进程信息
    • -u 以用户的格式显示进程信息
    • -s 显示后台进程运行的参数
    • -e 显示所有进程
    • -f 全格式

      ps -aus 查看进程
      ps -ef 以全格式显示当前所有的进程

  • kill [选项] 进程号 通过进程号杀死进程
    • -9 表示强迫进程立即停止
  • killall 进程名称 通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用
  • pstree [选项] 查看进程树
    • -p 显示进程的PID
    • -u 显示进程的所属用户

      服务管理

  • service 服务名 [start|stop|restart|reload|status]

    在centOS7.0后,不再使用service,而是systemctl
    service iptables status 查看防火墙状态

  • ls -l /etc/init.d/ 列出系统有哪些服务
  • chkconfig 可以给每个服务的各个运行级别设置自启动/关闭
  • chkconfig --list 查看服务
    • chkconfig --list | grep sshd
    • chkconfig sshd --list
    • chkconfig --level 5 sshd on/off 将服务在运行级别为5下设置为自启动或不启动

      chkconfig 重新设置服务后自启动或关闭,需要重启机器reboot才能生效
      sudo service iptables status 查看防火墙状态
      sudo chkconfig iptables off 永久关闭防火墙

  • top [选项] 动态监控进程
    • -d 指定top命令每隔几秒更新
    • -i 使top不显示任何闲置或者僵死进程
    • -p 通过指定监控进程ID来仅仅监控某个进程的状态
  • 与top交互操作
    • P 以CPU使用率排序,默认就是此项
    • M 以内存的使用率排序
    • N 以PID排序
    • q 退出top
  • netstat [选项] 查看系统网络情况
    • -an 按一定顺序排列输出
    • -p 显示哪个进程在调用

      持续更新
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!