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的文件
- 选项:-name 按照指定文件名查找
-
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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY