Linux实战技能(二)-常用命令

1. 概述

常用命令包括:

  • pwd
  • ls
  • cp/mv
  • 文本查看命令

2. 文本查看命令

  • cat
    • ⽂文本内容显示到终端
  • head
    • 查看⽂文件开头
  • tail
    • 查看⽂文件结尾,常⽤用参数 -f ⽂文件内容更更新后,显示信息同步更更新
  • wc
    • 统计⽂文件内容信息

例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 显示文件所有内容
$ cat test.txt

# 显示文件前10行内容
$ head -10 test.txt

# 显示文件末尾2行内容
$ tail -2 test.txt

# 刷新显示文件末尾内容
$ tail -f test.txt

# 统计文件内容行数
$ wc -l test.txt

3. 文件打包和压缩

  • 打包
    • 最早的 Linux 备份介质是磁带,使⽤用的命令是 tar
    • tar 打包命令
      • c 打包
      • x 解包
      • f 指定操作类型为⽂文件
  • 压缩
    • 可以打包后的磁带⽂文件进⾏行行压缩储存,压缩的命令是 gzip 和 bzip2
    • 经常使⽤用的扩展名是 .tar.gz .tar.bz2 .tgz
  • 解压缩
    • -z gzip 格式压缩和解压缩
    • -j bzip2 格式压缩和解压缩

例如:

1
2
3
4
5
6
7
8
# 将test.txt文件进行打包为文件
$ tar cf test.tar test.txt

# 将test.txt文件进行打包为文件并压缩
$ tar czf test.tar.gz test.txt

# 将test.tar解压缩到test文件夹下
$ tar xf test.tar -C test/

4. 强⼤的⽂文本编辑器器 vi

  • 模式

    • 正常模式 (Normal-mode)
      • esc 从其他模式回到正常模式
    • 插⼊模式 (Insert-mode)
      • i I a A o O 进⼊插⼊模式
    • 命令模式 (Command-mode)
      • : 进⼊入命令模式
    • 可视模式 (Visual-mode)
      • v V ctrl+v 进⼊入可视化模式
  • 基本操作

    | 操作 | 命令 |
    | :—————————————- | :—————————————————————————————- |
    | 复制单行/多行/当前位置至行尾 | Yy / n+yy,其中n表示行数 / y+$ |
    | 剪切/当前位置至行尾 | dd / d$ |
    | 粘贴 | p |
    | 撤销 | u |
    | 重做 | ctrl + r |
    | 删除单个字符 | x |
    | 替换单个字符 | r |
    | 定位指定的⾏ | G |
    | 定位到⾏⾸ | ^ |
    | 定位到⾏尾 | $ |
    | 写入 | :w |
    | 退出 | :q |
    | 执⾏Shell 命令 | :! |
    | 替换 | :s |
    | 查找 | / |
    | 设置命令 | :set,如:”:set nu”,设置显示行号 |
    | 左右上下移动 | hjkl |
    | 在VIM中执行Shell命令 | :!,如:”:!ifconfig”,查看网络IP地址 |
    | 查找和移动 | /和n/N |
    | 替换 | :s(只针对光标所在行),:%s(针对整个文件),如:”:%s/x/X”,将x替换为X,全局替换:”:%s/x/X/g”,在指定行内替换:”:3,5s/x/X/g” |
    | 可视模式 | ctrl+v 块可视模式 |

5. 用户与权限管理理

  • 多用户操作系统的⽬的是隔离
    • 用户权限隔离
    • 系统资源隔离
    • root ⽤用户与普通⽤用户的区别

5.1 用户管理理常⽤用命令

命令 功能
useradd 新建用户
userdel 删除⽤户
passwd 修改⽤户密码
usermod 修改⽤户属性
chage 修改⽤户属性
id username 查找某个用户是否存在
groupadd 新建用户组
groupdel 删除⽤户组
sudo 以其他⽤户身份执⾏行行命令
visudo 设置需要使用 sudo 的用户(组)
  • 例子
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// 删除用户,保留home目录
# userdel XXX

// 删除用户,不保留home目录
# userdel -r XXX

// 修改某一用户的密码
# passwd XXX
// 修改当前用的密码
# passwd

// 修改用户的home目录
# usermod -d /home/XXX XXX

// 建立用户组
# groupadd groupXXX
# usermod -g groupXXX XXX
// 新建用户和用户组
# useradd -g groupXXX XXX

// 切换用户
# su XXX
// 切换用户并跳转至该用户的根目录
# su - XXX

image-20191204002646432

其中,users代表用户,如果对用户组进行设置,在user前加%。

5.2 查看文件权限的⽅方法

image-20191205234045988

  • 类型
    • -表示文件
    • d表示文件夹
    • b表示块特殊文件
    • c表示字符特殊⽂件
    • l表示符号链接
    • f表示命名管道
    • s表示套接字⽂件
  • 权限
    • 前三个表示用户的权限、中间三个表示用户组的权限、最后三个表示其他用户权限
    • r表示读,可用数字4表示
    • w表示写,可用数字2表示
    • x表示执行,可用数字1表示
  • 创建新⽂件有默认权限,根据 umask 值计算,属主和属组根据当前进程的⽤户来设定
  • 修改权限命令
    • chmod 修改⽂件、⽬录权限
    • chmod u+x /tmp/testfile
    • chmod 755 /tmp/testfile
    • chown 更更改属主、属组
    • chgrp 可以单独更改属组,不常⽤
1
2
3
4
5
6
7
8
// 字符权限
# chmod u+x /tmp/testfile
# chmod g+x /tmp/testfile
# chmod o+x /tmp/testfile
# chmod a+x /tmp/testfile

// 数字权限
# chmod 644 file_name

5.3 特殊权限

  • SUID
    • ⽤于⼆进制可执⾏文件,执⾏命令时取得⽂件属主权限
    • /usr/bin/passwd
  • SGID
    • ⽤于⽬录,在该⽬录下创建新的⽂件和⽬录,权限⾃动更改为该目录的属组
  • SBIT
    • ⽤于⽬录,该⽬录下新建的⽂件和⽬录,仅 root 和⾃己可以删除

6. 参考