title: 【学习之路】Linux命令学习
draft: true
tags:


Linux关机、重启、注销


  1. shutdown

    1. shutdown -h now : 表示立即关机
    2. shutdown -h 1 : 表示一分钟后关机
    3. shutdown -r now : 立即重启
  2. halt : 直接使用效果等价于关机
  3. reboot : 重启系统
  4. sync : 把内存的数据同步到磁盘 执行后无效果
  5. logout : 注销用户

logout注销指令在图形界面无效


用户管理(创建用户、查询用户信息、切换用户)

  1. 创建一个叫zhangsan的用户:useradd zhangsan
  1. 创建用户成功后,会自动创建和用户同名的家目录

  2. 也可以通过 useradd -d 指定目录 新的用户名,给新创建的用户指定家目录

  1. 给用户指定密码:passwd 指定密码的用户

  2. 删除用户:userdel 用户名

userdel 用户名 不会删除家目录需要使用 userdel -r 用户名

  1. 查询用户: id 用户名
  2. 切换用户: su - 用户名

高权限用户切换到低权限用户不需要输入密码

  1. 查看当前用户:whoami

vim的使用

vim的三种常见模式

  1. 正常模式
  2. 插入模式/编辑模式
  3. 命令行模式

vim的三种模式的相互切换

  1. 在正常模式下按键盘i进入插入模式
  2. 退出插入模式切换为正常模式 按键盘Esc键位即可
  3. 进入命令行模式得先退出插入模式,键盘按:即可进入命令行模式
  4. 退出命令行模式按键盘Esc键即可

Linux命令学习 - 图1

vim常用快捷键

  1. 拷贝当前行yy,拷贝当前向下的5行兵粘贴 5yy
  2. 删除当前行dd,删除当前向下5行 5dd
  3. 在文件中查找某个单词 在命令行模式下输入: /关键字,回车查找,输入n查找下一个
  4. 设置文件的行号,取消文件的行号:在命令行模式下输入 set nu 和 set nonu
  5. 使用快捷键到最首行和最末行 回到正常模式:gg 和 G
  6. 撤销动作 回到正常模式输入: u
  7. 定位行号 回到正常模式输入:20 Shift + g 定位到20行
  8. 退出vim模式,先切换到命令行模式

    1. wq 保存并推出
    2. q 退出不保存
    3. q! 强制退出不保存

  1. 创建组:groupadd 组名
  2. 删除组:groupdel 组名
  3. 增加用户时直接指定组: useradd -g 用户组 用户名
  4. 修改用户组:usermod -g 用户组 用户名

文件目录类指令

使用较多的指令已经标记出来

pwd 指令

pwd:显示当前目录的绝对路径

ls 指令

ls:查看当前目录的所有信息

  1. ls -l:以列表的方式显示信息
  2. ls -a:显示当前目录所有的文件和目录、包括隐藏目录

cd 指令

  1. cd ~:回到自己的家目录
  2. cd ..:回到上一级目录
  3. cd 绝对路径或相对路径:可以定位到路径下

mkdir 指令

  1. mkdir 目录名称:创建目录
  2. mkdir -p 目录名称/目录名称 创建多级目录

rmidr 指令

rmdir 目录名称 删除目录(只能删除空白目录)

rm -rf 指令

  1. rm -rf 目录名称 删除目录,包括有文件的目录也能删除

  2. -r 递归删除整个文件夹

  3. -f 强制删除不提示

touch 指令

创建空文件,可以一次创建多个

cp 指令

cp [选项] [需要复制的文件或目录] [复制到的目录]

  1. 常用选项 -r 递归赋值整个文件夹
  2. \cp 强制替换相同文件

mv 指令

  1. mv 名称 重命名称 重命名文件或文件夹
  2. mv 路径 移动到的路径 剪切文件

cat 指令

  1. cat /etc/profile 只读当前文件
  2. cat -n /etc/profile 只读当前文件并显示行号
  3. cat -n /etc/profile | more 只读当前文件并显示行号,并且可以按空格键翻页

more 指令

  1. more 要查看的文件
  2. more 指令所搭配的快捷键 | 操作 | 功能说明 | | —- | —- | | 空格(space) | 向下翻一页 | | Enter | 向下翻一行 | | q | 退出more,不在显示文件内容 | | Ctrl+F | 向下滚动一屏幕 | | Ctrl+B | 返回上一屏幕 | | = | 输出当前的行号 | | :f | 输出文件名和当前行的行号 |

less 指令

  1. less 文件名
  2. 使用less查看大文件较为方便,加载速度更快 | 操作 | 功能说明 | | —- | —- | | 空白键 | 向下翻一页 | | pagedown | 向下翻一页 | | pageup | 向上翻一页 | | /字符 | 向下搜寻字符的功能,n:向下查找 N:向上查找 | | ?字符 | 向上搜寻字符的功能,n:向上查找 N:向下查找 | | q | 离开less |

>>> 指令

  1. > 输出重定向

  2. ls -l > a.txt 将 ls -l显示的内容覆盖写入到a.txt文件,如果该文件不存在那么就自动创建。

  3. >> 追加

  4. ls -l >> a.txt 将 ls -l显示的内容追加到后面的文件中

  5. echo "hello" > c.txt 将引号中的字符覆盖到c.txt

echo 指令

  1. echo [选项] [输出内容]

head 指令

  1. head 文件名 默认显示当前文件的前10行
  2. head -n 行数 文件名 指定显示文件前N行

tail 指令

  1. tail 文件名 查看文件后10行

  2. tail -n 行数 文件名 指定显示文件后N行

  3. tail -f 文件名 实时追踪该文档的所有更新

ln 指令

  1. ln -s [源文件或目录] [软连接名] 软连接,类似于Windows里的快捷方式

history 指令

  1. history 查看所有使用过的指令

  2. history 10 显示最近使用过的10个指令

时间日期类指令

date 指令

  1. date 显示当前时间

  2. date+%Y 显示当前年份

  3. date+%m 显示当前月份

  4. date+%d 显示当前时那一天

  5. date -s "需要设置的时间" 设置时间

cal 指令

  1. cal[选项] 不加选项,显示本月日历

搜索查找类指令

find 指令

  1. find [搜索范围] [选项]
  2. find /home -name hello.txt 从/home目录按照名称来找hello.txt的文件
  3. find /opt -root nobody 从/opt目录按照用户名称来查找
  4. find /home -size +20M 从/home目录查找超过20M的文件

locate 指令

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

locate hello.txt

grep指令和管道符号

grep [选项] 查找内容 源文件

  • 选项

    1. -n 匹配行级行号
    2. -i 忽略字母大小写
  • 管道符号用来将前一个的结果给到第二个指令

    • cat hello.txt | grep yes cat指令浏览出来的结果给到grep用来查找yes这个字符

压缩和解压缩指令

gzip/gunzip 指令

  1. gizp hello.txt 压缩当前目下的hello.txt,当前hello.txt被压缩后不会保留源文件
  2. gunzip hello.txt.gz 解压当前目录下的hello.txt.gz解压完成后同样不保留原文件

zip/unzip 指令

  1. zip [选项] 要压缩的文件 目录 压缩内容

  2. zip [选项] 要解压的文件 解压缩文件

    • zip常用选项

      • -r 递归压缩,即压缩目录
    • unizp

      • -d <目录> 指定解压后文件存放的目录
  3. zip -r test.zip /home/ 压缩home目录文件夹所有文件

  4. unzip -d /opt/tmp/ test.zip 解压test.zip到/opt/tmp目录

tar 指令

  1. tar [选项] 需要打包的内容 | 选项 | 功能 | | —- | —- | | -c | 产生.tar打包文件 | | -v | 显示详细信息 | | -f | 指定压缩后的文件名 | | -z | 打包同时压缩 | | -x | 解包.tar文件 |
  1. tar -zcvf a.tar.gz 1.txt 2.txt 打包1.txt和2.txt文件为a.tar.gz

  2. tar -zxvf a.tar.gz 解包a.tar.gz

  3. tar -zxvf a.tar.gz /home/ 将a.tar.gz解压到home目录下