第二章 Linux系统的基础命令
基础操作
- 目录处理常用指令
-
- wc:统计文件内容
-
- ls:列出目录
- -a:显示全部目录
- -d:仅列出目录本身
- -l:长数据串列出,包含文件属性和权限
- ls:列出目录
-
- cd:切换目录
-
- pwd:显示目前目录
-
- mkdir:创建一个新目录
- -p:帮助直接创建全部所需目录
- -m:配置文件的权限,直接配置
- mkdir:创建一个新目录
-
- rmdir:删除空目录
-
- cp:复制文件或目录
-
- rm:移除文件或目录
- -f:就是force的意思,忽略不存在的的文件,不会出现警告
- -i:互动模式,在删除前会询问使用者是否动作
- -r:递归删除
- rm:移除文件或目录
-
- mv:移动文件或目录,或修改器名称
- -f:force强制的意思,如果文件存在直接覆盖
- -i:若文件存在,询问是否覆盖
- -u:若目标存在且新,才会升级
- mv:移动文件或目录,或修改器名称
-
- csh 切换用户
-
- bash 切换回用户 但是csh未停止 需要用exit 退出
-
- cat /etc/shells 命令解释器
- 文件查看常用命令
-
- cat:由第一行开始显示文字内容
- -b:列出行号,仅针对非空白行做行号显示,空白行不标记
- -e:将结尾的断行的字节$显示出来
- -n:列印出行号,空白行也有行号
- -t:将[tab]按键以^|显示出来
- -v: 列出一些看不懂的特殊符号
- cat:由第一行开始显示文字内容
-
- tac:tac与cat正好相反,文件内容从最后一行开始显示
-
- more+/文件夹+/文件名:逐项查看 空格 最后主动退出
-
- less+/文件夹+/文件名:逐行查看 方向键 不可主动退出 q键退出
-
- head+/文件夹+/文件名
-
- tail+/文件夹+/文件名
- 端口查看删除
-
- 过滤占用80端口:netstat -tulnp | grep “:80”
-
- 显示pid并显示占用端口软件的pid:ps -ef | grep httpd
-
- 结束进程:kill -9 号
-
- 重启就可以了
过滤操作
- grep:过滤文件内容
-
- grep -n --color “root” /etc/passwd
- 解释:查看/etc下的Passwd文件包含“root”的行
- -n 显示行
- –color将关键字变颜色
- grep -n --color “root” /etc/passwd
- 扩展
- “root”关键词前加,即“root”表示以关键词开头的行
- 以 符 号 结 尾 , 即 " r o o t 符号结尾,即"root 符号结尾,即"root"表示以关键词结尾的行
- 在grep后添加-v,表示不看关键字
Vim编辑器
- vi编辑器的三种模式
- 命令模式
- 快速编辑器(自动进入的模式)i(insert)进入输入模式:进入末行模式
- 输入模式
- 可以任意的输入文本(在内存中缓存文件)esc键回到命令模式
*末行模式 - w(write)写入保存q(quit)退出 退格键回到命令模式
- 可以任意的输入文本(在内存中缓存文件)esc键回到命令模式
- 快捷键
- 命令格式下的快捷键
- 删除:光标输入到前行输入dd(剪切),10dd剪切当前行下10行
- 粘贴:p下粘 B上粘
- 显示行号:进入末行模式输入:set nu
- 快速移动:7G跳转到第七行,gg回到第一行 G到最后一行
- 拷贝:yy 65,73 yy 复制从65到73行
- 行内修改
- x 删除当前光标覆盖内容,数字加x删除光标后数字个字符
- r 替代光标覆盖的内容
- d^ 删除当前光标前所有内容
- d$ 删除光标后的所有内容
- Ctrl+左右 隔一个空格跳
- 数字+左右 可以调到光标所在位置的前后几位
- 末行格式快捷键
- :set nu 显示行号
- :set nonu 取消行号
- :w 保存 :w/tmp/text.txt 另存为
- :q 不保存退出会有提示 q!强制退出
- :r 读入文件内容,到当前文件最后一行
- -v 反向过滤
- :u 撤销上一操作
- 替换: % s/要替换的/替换成的/g %表示每一行 g全部替换
- 查找 /+要查找的内容 n向下查找
- r !blkid /dev/系统文件内容 查看uuid 永久挂载磁盘
- 命令格式下的快捷键
权限管理
-
组
- 添加组
- groupadd 名字
- -g ,–gid
- -o,允许组id重复
- 查看组信息 vim /etc/group
- 组名
- 组密码占位符(实际没密码)
- gid(组id名)
- 组成员
- 删除组
- groupdel+名字
- -r 删除组相关组文件
- 修改组用户
- groupmems -add用户名 -g组名 像组中添加用户
- groupmems -del用户名 -g组名 像组中删除用户
- groupmod -g 新的gid 组名
- 添加组
-
用户
- 当前系统中到底有哪些用户,有哪些组
- /etc/passwd系统中所有用户信息
- root:X:0:0:root:/root: /bin: /bash
- 第一列:用户名
- 第二列:密码占位符
- 第三列:uid 0当前用户的uid 0超级管理员 1-500 维护员 500以后普通用户
- 第四列:0当前用户所在组的gid号
- 第五列:用户信息
- 第六列:家目录 的位置
- 第七列:登录权限
- /etc/group 组的信息,现有组,再有用户
- 用户组信息
- root:X:0:
- 1.组名称
- 2.组密码占位符
- 3.gid
- 4.组成员
- 创建组groupadd
- 修改组的gid
- groupmod -g gid号 组名
- groupmod -g 601 class13 //将class3组 的gid改为601
- 删除组
- 用户组信息
- /etc/shadow 系统中密码信息存放的位置
- root:xxxx :17784:0:99999:7: :: :
- 用户名
- 加密后的密码
- 距离1970.1.1的天数 表示的是 最后一次修改密码时间
- 密码最短有效期 假如5 就是5天不可修改密码
- 密码最长有效期
- 密码过期前7天提示
- 密码不活跃期 用户在密码不活跃期认可修改密码
- 密码失效期
- root:xxxx :17784:0:99999:7: :: :
- /etc/passwd系统中所有用户信息
- 创建用户
- useradd 用户名
- -u 指定用户的UID号
- 0超级用户
- 1-499 程序用户
- 500~~60000普通用户
- -g 组 不指定,会自动创建同名组
- -G 指定用户附加组
- -M 不建立家目录
- -s (小)指定用户登录shell
- -p 给用户添加密码
- -u 指定用户的UID号
- 例如 useradd -U 251 -M -s/sbin/nologin testuser
- 创建一个名为testuser的用户,UID为251(程序用户)没有家目录,登录shell为nologin(不允许登录)
- useradd -U 600 -g class3 bob
- 创建一个名为Bob的用户,uid为600,组为class3
- 查看用户信息
- useradd 用户名
- 修改用户信息
- 修改密码: Passwd 用户名
- usermod 用户名
- -u -g -G -s 还能用
- usermod -u 620 -G class4 Bob
- 将 Bob uid从600 修改为620 将其添加到附加组class4中
- 为用户设置密码
- Passwd 用户名
- -L 锁定用户
- -U 解锁用户
- -S 查看用户密码状态
- 当前系统中到底有哪些用户,有哪些组
-
权限
- ls -dl 目录/文件 // 查看某一目录的权限
- 不加文件名 查看当前所在目录权限
- 加文件名 查看指定的文件权限
- 文件和目录权限分析
- d /rwx /r-x/r-x
- 第一列:文件的类型(d 文件夹 - 普通文件 l(L)链接(映射文件) b 块设备)
- 第二列:文件所属者的权限(对于文件 对目录)
- 第三列:用户组的权限(字母表示的意义相同)
- 第四列:其他用户权限(既不属所属组,也不是文件所有者,这种用户就是其他用户)
- d /rwx /r-x/r-x
- 文件权限的修改命令
- 用户
- 运算符号
- +(添加赋权)
- -(撤权)
- = (指定权限)
- 权限
- chmod+用户+运算符号+权限+文件或目录
- r(读)w(写)x(执行) -(不赋任何权限):
- 例如 chmod u=rw g=— o=— test.txt
- 修改文件/目录所属
- 改属组:chown+名+路径
- 改属组:chgrp+名+路径
- chown bob adjtime // 改变adjtime 的所有者为bob
- chgrp root abrt //改变adjtime 的所属组为root
- chgrp R root abc // 改变abc 这个目录及其目录下所有的文件所属的组织为root
- chown R root abc // 改变abc 这个目录及其下面所有的文件和目录所有者为root
- 权限赋值的常用方法
- 一般是八进制代表 r:4 w:2 x:1