1. man、help、info帮助命令

为什么要学习帮助命令

  • Linux的基本操作方式是命令行
  • 命令过多不适合”死记硬背”

man 帮助(manual)

  • 使用man man查看man命令帮助
  • 使用man x man查看第 x 篇文档(共有9篇
    man 5 man查看第 5 篇文档
  • 使用man x 名字,查看在第 x 篇文档中对该名字命令的帮助
    x缺省相当于1,即man 名字=man 1 名字
    man -a 名字:在所有文档中查询帮助

如:

  • 使用man ls查看ls命令帮助

0x1 系统操作篇 - 图1

可以自行百度将man文档更改中文方便阅读

help

shell (命令解释器)自带的命令成为内部命令,其他的都是外部命令。

  1. # 内部命令使用 help 帮助
  2. help cd
  3. # 外部命令使用 help 帮助
  4. ls --help
  5. # 使用 help ls 会报错
  6. # -bash: help: no help topics match `ls'. Try `help help' or `man -k ls' or `info ls'.
  7. # 同样使用 cd --help 也会报错

可以使用 type 命令 区分命令是外部还是内部命令,如type cd,返回cd is a shell builtin

info 帮助

info 帮助比 help 更详细,作为 help 的补充,如info ls,info帮助暂无中文版

2. pwd / 用户切换 / clear / Ctrl C

文件管理是Linux管理的基础和核心 — Linux一切皆文件

  • pwd 显示当前目录的名称
  • su - root,输入密码后即可切换为root用户

若提示:su: Authentication failure,则可以使用sudo passwd root后,再执行一遍

  • 清除界面
    • clear 命令清除界面内容
    • Ctrl + L 也可以清除界面内容
  • Ctrl C 中断正在执行的命令

    3. 查看当前目录文件 ls 命令

    ls 查看当前目录下的文件

  • ls [选项,选项… ] 参数 …

  • 常⽤用参数:
    • -l ⻓长格式显示⽂文件

image.png

  1. 第一列 表示的信息为文件的类型和权限:如 drwxr-xr-x``<br />
    1. 第一个字符表示文件的类型,-表示普通的文件,d表示文件夹,文件夹也是通过文件的方式进行管理的
    2. 后面的9个表示文件的权限
  2. 第二列 表示文件的个数
  3. 第三列 表示是哪个用户创建的文件
  4. 第四列 表示该用户属于哪个用户组
  5. 第五列 表示文件的大小
  6. 第六列 表示文件最后修改时间
  7. 第七列 表示文件名
  • -h 以M/G的形式显示文件大小
  • -a 显示隐藏⽂文件
  • -r 逆序显示
  • -t 按照时间顺序显示
  • -R 递归显示

可以使用合并的命令,如ls / -lrt即为以时间顺序逆序显示文件

  1. # 显示当前目录下的文件
  2. ls /root
  3. # 显示当前目录下的文件和其他的目录,如 /
  4. # 用' ' 空格 将不同的目录分隔开
  5. ls /root /

4. 改当前的操作目录 cd 命令

  • cd 更改当前的操作目录
    • cd /path/to/... 绝对路径
    • cd ./path/to/... 相对路径

./也可以省略掉

  • cd ../path/to/... 相对路径
  • cd - 回到刚才使用的目录
  • cd ..回到上一级目录

当文件夹大部分已经敲完后可以使用 Tab 键进行补全

5. 目录文件的创建与删除

mkdir 命令

  • mkdir可以建一个空的目录,目录已存在则会创建失败

    • mkdir /a 在根目录下创建名为a的文件夹
    • mkdir .a 在当前目录下创建名为a的文件夹 .可以省略
    • mkdir b c d 在当前目录下创建b、c、d目录
    • mkdir -p /a/b/c/d/e 创建多级目录

      rmdir命令

      rmdir可以删除当前目录,如果目录非空则会报错

      rm 命令

      rm -r删除目录,即使非空也可以删除
  • -r 删除目录 包括目录下的所有文件

    • rm -r /a 删除a目录及其中的文件夹
  • -f 删除文件不进行提示

    • rm -r -f /arm -rf 强制删除a目录及其中的文件夹,有危险,执行前仔细检查

      touch 命令

      touch /filea 新建文件filea

      6. 复制和移动目录

      cp 命令

      cp [选项] [源目录文件] [目的目录文件] cp单独使用只能复制文件
  • -r 复制目录

  • -v 显示复制的信息
  • -p 保留用户,权限,时间等文件属性(默认复制后时间等信息会更新
  • -a 等同于-dpR

    mv 命令

    mv [源目录文件] [目的目录文件] 重命名功能 / 移动功能 ,在底层中重命名是通过移动的操作实现的

  • mv /filea /filebfilea重命名为fileb fileb文件夹原来不存在

  • mv /fileb /tmpfileb移动到tmp 存在 tmp 文件夹
  • mv /tmp/fileb /filecfileb 重命名为filec 并移动到根目录下

    通配符

    • 通配符:匹配任何字符串

cp file* /将当前目录下以cp开头的文件复制到根目录
mv * /将当前目录下所有文件移动到根目录

  • ?通配符:匹配1个字符串

ls file? 显示当前目录下以file开头且后面还有一个字母的文件

  • [xyz] 匹配xyz任意一个字符
  • [a-z] 匹配一个范围
  • [!xyz] 或 [^xyz] 不匹配

    7. 文本查看命令

    cat 命令 文本内容显示到终端

    head / tail 命令 查看文件开头 / 结尾

    默认显示文件开头 / 结尾十行
    head -5 /tmp/filex 显示文件开头5行
    常用参数 -f 文件内容更新后,新式信息同步更新

    wc 命令 统计文件内容信息

  • -l 查看文件多少行

    more / less 分行显示

8. 打包和解压缩

  • 打包最早应用在linux是备份命令,使用的命令是tar
  • 可以对打包后的磁带进行压缩储存,压缩的命令是gzipbzip2
  • 经常使用的扩展名是 .tar.gz .tar.bz2 .tgz

  • tar czf /tmp/etc-backup.tar.gz /etctar cjf /tmp/etc-backup.tar.bz2 /etc

    • c 打包命令 没有-
    • z / j 压缩
    • f 指定操作类型为文件
    • 打包保存文件名及地址
    • 要打包的文件地址
  • tar xf /tmp/etc-backup.tar -C /ROOT
    • xf / zxf / jxf 解压缩

9. Vim 的使用

Vim 只需要键盘就可以完成所有操作,分为如下四种模式

Vim 的常用命令

正常模式

vim + 文本路径 打开文件并进入正常模式
h/j/k/l 依次代表向左下上右移动光标

  • 复制

yy 复制
数字 + yy 复制多行
eg. 3yy 复制3行
y$复制光标到当前行尾的内容

  • 剪切

dd 剪切
数字 + dd 剪切多行
eg. 3dd 剪切3行
d$剪切光标到当前行尾的内容

  • u 撤销
  • Ctrl r 反撤销
  • p 粘贴
  • x 删除单个字符
  • r 要替换的字符替换单个字符
  • :set nu 显示行号
  • g/G 移动到行首行/尾
  • 数字 + Shift G 移动到指定行

    插入模式

    i -insert 插入模式
    I -insert 插入模式 光标移动到行首
    a -insert 插入模式 光标移动到行首第二位?
    A -insert 插入模式 光标移动到行尾
    o -insert 插入模式 光标移动到原光标的下一行,原内容依次向下移动
    O -insert 插入模式 光标移动到原光标的上一行,原内容依次向下移动

    命令模式

  • 退出 :q <Enter>

  • 保存 :w <保存文件名> <Enter>
  • 不保存退出 :q!<Enter>
  • 使用 Linux 命令 :! linux命令
  • 查找 /要查找的内容 n 下一个
  • 对光标所在行进行替换 :s/要替换的内容/替换后的内容
  • 全局替换 :%s/要替换的内容/替换后的内容<全局多次操作>
  • 指定行替换 :行号<,行号..>s/要替换的内容/替换后的内容<全局多次操作>
  • :set nu显示行号 / :set nonu不显示行号

    可视模式 (多光标)

  • 字符可视模式 v

  • 行可视模式 V
  • 块可视模式 Ctrl v
  • 配合d I 命令进行块的便利操作

10. 用户和用户组管理

常用命令

  • 新建用户 useradd
  • 删除用户 userdel
  • 修改用户密码 passwd
  • 修改用户属性 usermod
  • 修改用户属性 chage
  • 查看是否有该用户 id 用户名

    su 和 sudo

  • su 切换用户

    • su - username 使用 login shell 方式切换用户
  • sudo 以其他用户的身份执行命令
    • visudo 设置需要使用sudo的用户(组)

用户和用户组的配置文件

  • /etc/passwd
    • username:x:1001:1001::/home/user:/bin/bash
    • 用户名称:是否需要密码:uid:gid:注释:家目录位置:命令解释器位置
  • /etc/shadow
    • userneme:encryptPassword
  • /etc/group
    • groupName:是否需要密码验证:gid:<其他组设置>