Linux实操速记--入门

Linux实操速记--入门

Vi/Vim

模式切换

  • 正常模式:打开后的默认模式,可以移动、删除、复制内容
    • yy : 拷贝当前光标所在行
    • 5yy:拷贝当前光标向下5行
    • p : 粘贴
    • dd :删除光标所在行
    • 5dd : 删除光标所向下5行
    • G : 跳转末行
    • gg : 跳转首行
    • u : 撤销前一次操作
    • 20 shift + g :跳转到20行
    • 20G :跳转到20行
    • 20gg :跳转到20行
  • 插入模式:在正常模式下按i、I、o、O、a、A、r、R 进入,可以进行输入文本和编辑内容,按ESC回到正常模式
  • 命令行模式:在正常模式下输入冒号或/进入,可以输入指令,进行读取、存盘、替换、离开、显示行号等动作,按ESC回到正常模式
    • wq:存盘并退出
    • q :退出
    • q! :强制退出,不保存
    • /关键字: 查找某个“关键字”,按n下一个
    • set nu :打开行号
    • set nonu : 关闭行号

关机

  • shutdown -h now 立即关机
  • shutdown -h 1 “hello,1分钟后会关机了” 一分钟后关机,并发出此消息给所有用户
  • shutdown 一分钟后关机
  • shutdown -r now 立刻重启
  • halt 立即关机
  • reboot 立刻重启
  • sync 把内存的数据同步到磁盘,建议关机和重启前优先运行此命令

用户

登入

注意:一般不使用root账号登入,先用个人账号,如果需要管理员权限,可以用“su - 用户名”命令来切换系统身份,输入logout可注销用户(图形运行级别5情况下无效)

管理

  • useradd tom : 增加用户tom
    • 用户创建成功后,自动创建和用户同名的家目录
    • 默认生成一个用户同名用户组,并放入此用户,相当于一人一组
  • useradd -g wudan tom : 增加一个用户tom,直接将他指定到wudan用户组
  • useradd -d 指定目录 tom : 增加用户tom,并指定生成家目录名称
  • passwd tom : 给tom用户设置密码
  • passwd : 给当前用户设置密码
  • userdel tom : 删除tom用户
  • userdel -r tom : 删除tom用户,并删除该用户的家目录(慎重
  • usermod -g mojiao tom : 把tom用户放入mojiao用户组
  • id tom : 查看tom用户信息
  • su - root : 切换用户为root
    • 权限高切权限低无需密码,反之则需要
    • 需要返回时,输入logout/exit
  • whoami : 当前使用用户名(使用su切换后的用户,没用su就是原用户)
  • who am i :当前首次链接的用户信息 (无视su切换身份,显示原用户)

  • groupadd wudan : 增加组wudan
  • groupdel wudan : 删除组wudan

相关文件

  • /etc/passwd 用户的配置文件,记录用户各种信息
    • 每行含义:用户名:口令:用户标识号:注释性描述:主目录:登入shell
  • /etc/shadow 口令的配置文件
    • 每行含义:登入名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
  • /etc/group 组配置文件
    • 每行含义:组名:口令:组标识号:组内用户列表

实用指令

运行级别

init 【0-6】 指定运行级别,可以直接指定运行级别

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

systemctl set-default multi-user.target 设置默认运行级别为 3

systemctl set-default graphical.target 设置默认运行级别为 5

在centos7以前,在/etc/inittab文件中

找回Root密码

  • 启动系统,进入开机界面,在界面选项中按“e”进入编辑界面
  • 定位到linux16开头那一行汉末,增加字样“init=/bin/sh”
  • 按下ctrl+x,进入单用户模式
  • 输入mount -o remount,rw / 完成后按回车
  • 输入passwd进行修改密码,修改后提示passwd....的样式,说明修改成功
  • 输入touch /.autorelabel 完成后回车
  • exec /sbin/init 等待一会会自动重启,这时不要做任何操作,密码就生效了

帮助指令

  • man ls :获得ls指令的帮助信息
  • help cd :获得shell内置命令的帮助信息
  • 也可以选择直接百度看命令的帮助

文件目录类

  • pwd : 显示当前所在的工作目录的绝对路径
  • ls :列出当前工作目录下所有文件和目录
    • -a 显示包括隐藏的文件和目录
    • -l 已详细列表的方式显示信息
    • -h 显示人类容易阅读的信息
  • cd :可以切换指定目录,可以定位绝对路径和相对路径
    • cd ~ 或者 cd :回到自己的家目录
    • cd .. : 回到当前工作目录的上级目录
  • mkdir /home/dog : 创建目录dog位于home目录下
    • mkdir -p /home/animal/tiger : 创建多级目录,这里animal也是不存在的
  • rmdir /home/dog : 删除dog空目录,有文件时无法删除
  • touch hello.txt : 创建一个空文件 hello.text
    • 也可以用来修改文件时间戳
  • cp /home/hello.txt /home/bbb : 将/home/hello.txt拷贝到/home/bbb下面
    • cp -r /home/bbb /opt :递归复制整个/home/bbb文件夹全部内容到/opt
    • 如果有同名文件夹会提示覆盖确认
    • \cp -r /home/bbb /opt :强制覆盖不提示
  • rm 文件或目录名 :删除非空目录(谨慎
    • -r :递归删除整个文件夹
    • -f :强制删除不提示
    • -rf :结合上面两种功能
  • mv old文件路径 new文件路径:移动文件或目录或重命名
    • 如果前后两个文件名或目录名在同一目录,则为重命名
    • 如果前后两个文件名或目录名不在同一目录,则为移动
    • mv bbb/ /home : 移动目录bbb到home目录下
  • cat 查看文件内容(只查看不修改,更安全)
    • -n 显示行号
    • 带上管道命令 | more 对查看内容进行分页
  • more 基于vi文本过滤器,内置了快捷键
    • 空白键 向下翻页
    • 回车 向下一行
    • q 退出不在显示
    • ctrl + F 向下滚动一屏
    • ctrl + B 向上滚动一屁
    • = 输出当前行号
    • :f 输出文件名和当前行号
  • less 分屏查看文件内容,功能类似more,但比more强大,常用于显示超大文件有高效率
    • 空白键 向下一页
    • pagedown 向下一页
    • pageup 向上一页
    • /字串 向下搜寻“字串”;n向下查找,N向上查找
    • ?字串 向上搜寻“字串”;n向下查找,N向上查找
    • q 退出不在显示
  • echo 输出内容到控制台
    • echo $HOSTNAME 输出主机名环境变量到控制台
    • echo “hello word” 输出文本
  • head 输出文件的开头10行
    • head -n 5 文件名 输出文件开头5行
  • tail 输出文件的尾部10行
    • tail -n 5 文件名 输出文件尾部5行
    • tail -f 文件名 实时追踪文档的所有更新,会让控制台进入监控状态,按ctrl + c 退出
  • >与>> 输出重定向覆盖 与 追加
    • > 输出重定向写入到后面这个文件里,覆盖
    • >>输出重定向写入到后面这个文件里,追加
  • ln -s 【原文件或目录】 【软连接名】 给原文件创建一个软连接
    • ln -s /root /home/myroot 在home目录下创建一个软连接myroot ,连接到root目录
    • rm /home/myroot 删除软连接
    • 当我们使用pwd查看目录时,看到的是软连接所在目录,但是实际上它就是原来的目录
  • history 查看历史命令
    • history 10 查看最近的10个指令
    • !5 执行历史命令中编号为5的指令

时间日期类

  • date 显示当前日期
  • date “+%Y” 显示当前年份
  • date “+%m” 显示当前月份
  • date “+%d” 显示当前天
  • date “+%Y-%m-%d %H:%M%S” 显示年月日时分秒
  • date -s “2021-11-11 11:22:22” 设置系统当前时间为2021-11-11 11:22:22
  • cal 显示本月日历
  • cal 2022 显示2022年历

搜索查找类

  • find [搜索范围路径] [选项]

    • 选项:-name 按照指定文件名查找
      • find /home -name hello.txt 在home目录下遍历查找hello.txt文件
    • 选项:-user 按照所属用户查找
      • find /opt -user nobody 在opt目录下遍历查找用户nobody的文件
    • 选项: -size 按照指定文件大小查找(+n 大于 -n 小于 n等于,单位有k,M,G)
      • find / -size +200M 查找整个linux系统下大于200M的文件
  • locate 搜索文件 可以快速定位文件路径

    • 它无需遍历文件系统,查询速度快,为了保证查询结果准确性,管理员需要定期更新locate时刻
    • 它基于提前创建的数据库,所以第一次运行前,必须使用updatedb指令创建locate数据库
  • which 查看某个指令在哪个目录

    • which ls 显示ls命令在哪个目录
  • | 管道符 将前面的处理结果传递给后面的命令处理

  • grep 【选项】 查找内容 源文件 查找关键字符串在源文件里面的情况,可以显示内容和行号

    • -n 显示匹配行号
    • -i 忽略字母大小写
    • 在hello.txt文件中,查找“yes”所在行,并且显示行号
      • 写法1 cat /home/hello.txt | grep "yes"
      • 写法2 grep "yes" /home/hello.txt

压缩和解压类

  • gzip 文件路径 : 压缩文件,将文件压缩为*.gz文件(将源文件压了,不是新增压缩文件)

  • gunzip 文件.gz :解压缩gz文件

  • zip 文件路径 :压缩文件或者文件夹

    • -r 递归压缩
    • zip -r myhome.zip /home/ 压缩home文件夹和它所有子文件和文件夹
  • unzip :解压缩zip文件

    • -d 目录,可以指定解压后文件存放目录
    • unzip -d /opt/tmp /home/myhome.zip
  • tar 【选项】 xxx.tar.gz 打包的内容 (可以打包文件和目录)

    • -c 产生.tar打包文件
    • -v 显示详细信息
    • -f 指定压缩后的文件名
    • -z 打包同时压缩
    • -x 解包.tar文件
    • -C 设置解压位置
    • 压缩多个文件,将/home/pig.txt 和 /home/cat.txt 压缩成为pc.tar.gz
      • tar -zcvf pc.tar.gz /home/pig.txt /home/cat.txt
    • 将/home的文件夹压缩成myhome.tar.gz
      • tar -zcvf myhome.tar.gz /home/
    • 将pc.tar.gz解压到当前目录
      • tar -zxvf pc.tar.gz
    • 将/home/myhome.tar.gz 解压到/opt/tmp2目录下
      • tar -zxvf /home/myhome.tar.gz -C /opt/tmp2
posted @   邵泽龙  阅读(54)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示