一、管理Linux目录和文件
1、查看及切换目录
pwd:查看当前工作目录
[root@control ~]# pwd
/root
cd:切换工作目录
– 格式:cd [目标文件夹位置]
cd ~root 表示进入root的家目录
~代表家目录
..表示上一层目录
ls:列出文档及属性
– 格式:ls [选项] [目录或文件名]…
常用选项:
-l:显示详细信息
-A:显示所有内容包括隐藏数据
-d:显示目录本身
-h:显示单位
-R:递归显示内容
ls -l /root
ls -A /root
ls -d /root
……
alias:别名
– 格式: alias [别名名称]
要设置永久别名,将别名放在~/.bashrc文件中
查看别名:
alias
将hostname设置成hn的别名:
alias hm='hostname'
删除hn别名:
unalias hn
cat查看文件内容
– 格式: cat [文件路径]
[root@control ~]# cat /etc/passwd
less分页显示长文件
– 格式: less [文件录课]
[root@control ~]# less /etc/passwd
2.新建目录/文件
mkdir 创建目录
创建/demo目录
[root@control ~]# mkdir /demo
同父目录一起创建
[root@control ~]# mkdir -p /opt/aa/bbb
touch创建文件
创建1.txt的文件
[root@control ~]# touch 1.txt
3.删除/移动/复制
rm删除
-格式:rm [选项] [参数]
常用选项:
-r:递归删除
-f:强制删除
[root@control ~]# rm -rf /demo/
mv移动
-格式:mv 源文件 目录路径
原数据会消失,也可以用于修改名字
[root@control ~]# mv demo/ /tmp/mvdemo
cp复制
-格式:cp [选项] 原文件 目录路径
常用选项
-r :递归复制
-p:保留原有的权限、所有者、所属组、特殊权限
[root@control ~]# cp -r /tmp/mvdemo /demo
4.vim编辑器
-作用:vim是一个文本编辑器,如果编辑的文本不存在,vim会自动创建
-工作模式:命令模式、输入模式、末行模式
-vim配置文件 .vimrc
.vimrc文件是配置vim编辑器功能开、关的配置文件。一般分为两类:系统配置和用户配置。
例:配置每次使用vim打开文件都显示行号
vim ~/.vimrc
set number #打开vim自动显示行号
set ai #自动缩进
命令行模式操作
-光标操作
移动光标:↑ ↓ ← →
行内跳转:home键或者^
行间跳转:gg跳转到行首 G跳转到文件末尾
-复制/粘贴/删除
yy复制一行,3yy复制3行
p粘贴
dd删除(剪切)
D从光标出删除到行尾
-查找/撤销
查找文本: /关键字 n跳至后一个结果 N跳至前一个结果
撤销:u 注意:不要用ctrl+z
反撤销:ctrl+r
末行模式操作
-保存退出
:wq 保存并退出 或者ZZ
不保存强制退出
:q!
-查找/替换
行内替换
:s/旧字符串/新字符串 #替换光标所在处第一个旧字符串
例 :s/oo/OO
:s/旧字符串/新字符串/g #替换光标所在行的所有旧字符串
例 :s/o/O/g
区域内替换
:1,10s/旧字符串/新字符串/g #替换1到第10行所有的旧字符串
例 :1,10s/bin/BIN/g
插入模式操作
- 按i或者o进入插入模式
-大写C删除一行并进入插入模式
二、管理Linux用户
1.账号控制描述
-作用:用于登录操作系统,不同用户具有不同的权限
-UID:用户的唯一标识,编号从1开始,默认最大到60000
管理员root的UID永远为0
普通用户的UID默认从1000开始
root:x:0:0:root:/root:/bin/bash
用户名:密码占位符:UID:GID:用户描述信息:家目录:解释器
第一字段:用户名
第二字段:密码占位符,一直为x
第三字段:UID
第四字段:基本组GID
第五字段:用户描述信息
第六字段:用户家目录
第七字段:用户shell解释器的路径
-/etc/passwd用户账号文件:用于保存账号的基本信息,每个用户记录一行,以冒号分割为7个字段
注:/etc/passwd- 是此文件的备份文件,linux自动备份的。如果/etc/passwd损坏,可以用于恢复
2.添加修改用户
-useradd添加用户
-格式:useradd [选项] 用户名
常用选项:
-u:指定UID(默认从1000开始)
-d:指定家目录
-G:指定附加组
-g:指定基本组
-s:指定用户的解释器 众多解释器在/etc/shells 中
添加zs用户 并且指定UID为2000
[root@control ~]# useradd -u 2000 zs
[root@control ~]# tail -1 /etc/passwd #查看用户文件的最后一行
zs:x:2000:2000::/home/zs:/bin/bash #可以看到UID为2000
添加liis用户,指定家目录为/opt/lisi
[root@control ~]# useradd -d /opt/lisi lisi
[root@control ~]# tail -1 /etc/passwd
lisi:x:2001:2001::/opt/lisi:/bin/bash
添加tom用户,附加组为adm
[root@control ~]# useradd -G adm tom
[root@control ~]# id tom
uid=2002(tom) gid=2002(tom) 组=2002(tom),4(adm) #基本组默认跟用户名同名,看到多了个adm组
添加jack用户,基本组为lisi组(默认基本组跟用户名同名)
[root@control ~]# useradd -g lisi jack
[root@control ~]# id jack
uid=2003(jack) gid=2001(lisi) 组=2001(lisi)
添加lili用户,解释器为/sbin/nologin。默认解释器为/bin/bash
[root@control ~]# useradd -s /sbin/nologin lili
[root@control ~]# tail -1 /etc/passwd
lili:x:2004:2004::/home/lili:/sbin/nologin
-usermod修改用户
-格式:usermod [选项] 用户名
常用选项:
-l: 更改用户的登录名称
-u:更改uid
-d:更改家目录 (不会自动创建家目录)
-G:重置附加组
-s: 更改解释器
-userdel删除用户
-格式:userdel [选项] 用户名
常用选项:
-r:连通家目录/用户邮件一起删除
-id查询用户
-格式:id 用户名
[root@control ~]# id one
uid=1000(one) gid=1000(one) 组=1000(one)
或者:grep 用户名 /etc/passwd
-su命令切换用户
作用:su的作用是切换用户身份,需要输入该使用者的密码,root用户除外
-格式:su - 用户名
[root@control ~]# su - one
[one@control ~]$
3.su和su -的区别
su 是切换到其他用户,但是不切换环境变量,切换前在哪个目录下,切换后依然在此目录,并没有切换环境
su - 是完整的切换到一个用户环境,切换后自动到新用户的家目录中
三、管理Linux中组账号
1.组管理描述
-作用:方便管理用户
-GID:组的唯一标识,编号从0开始,默认最大60000
-原则:Linux一个用户必须至少要属于一个组
2.组账户分类
-基本组:系统创建与用户同名
-附加组(从属组):由管理员创建、由管理员进入加入
-组账号文件/etc/group
此文件用于保存组账号的信息,每组记录一行,以冒号分割为4个字段
one:x:1000:one
组名称:密码占位符:GID:组成员
-组管理信息文件/etc/gshadow
one:!:kaka:jack
组名:密码占位符:组管理员:组成员
3.添加/管理/删除组
-groupadd添加组
格式:groupadd 组名
[root@control ~]# groupadd NTD
查看NTD组:
[root@control ~]# grep NTD /etc/group
NTD:x:2005:
-gpasswd管理组成员
格式:gpasswd [选项] 用户名 组名
常用选项:
-a:添加组成员,一次添加一个
-d:删除组成员,一次删除一个
-A:定义组管理员列表,让某用户可以管理此组,可往此组添加和删除用户
-M:定义组成员用户列表,可设置多个 gpasswd -M ‘用户1,用户2’ 组名,将多个用户加入到组中,组里原有的成员将被移除
-groupdel删除组
格式:groupdel 组名
注意:删除的组不能是用户的基本组
四、文件的归属和权限
1.权限和归属的概述
-访问权限:
读取:read允许查看内容 也可以用4表示
写入:write允许修改内容 也可以用2表示
执行:允许运行和切换:execute 也可以用1表示
-归属关系:
所有者(属主):user拥有此文件或目录的用户
所属组(属组):group拥有此文件或目录的组
其他用户:other除所有者、所属组以为的用户
2.权限位字段解析
输出信息包括7个字段:
dr-xr-x---. 16 root root 4096 9月 26 10:32 /root
权限位
子目录个数/硬连接数
属主(所有者)
属组(所属组)
大小
最后修改时间
文件/目录
ls -l或者ls -ld命令查看
以-开头:文本文件 例:ls -l /etc/passwd
以d开头:目录 例:ls -ld /etc
以l开头:快捷方式 例:ls -l /dev/cdrom
3.chmod权限控制
-格式:chmod [ugoa] [rwx] 文件名
u:user g:group o:other a:all
r:read w:write x:execute
常用选项:
-R:递归修改权限
[root@control ~]# ls -l /opt/1.txt #查看
-rw-r--r-- 1 root root 0 4月 24 14:47 /opt/1.txt
给/opt/1.txt添加属组的写入权限
[root@control ~]# chmod g+w /opt/1.txt
[root@control ~]# ls -l /opt/1.txt
-rw-rw-r-- 1 root root 0 4月 24 14:47 /opt/1.txt
4.chown归属控制
-格式:chown 属主 文件
修改属主:
[root@control ~]# ls -l /opt/1.txt #修改归属前查看:
-rw-rw-r-- 1 root root 0 4月 24 14:47 /opt/1.txt #属主为root
[root@control ~]# chown one /opt/1.txt #将属主改为one用户
[root@control ~]# ls -l /opt/1.txt
-rw-rw-r-- 1 one root 0 4月 24 14:47 /opt/1.txt
修改属主和属组:
[root@control ~]# ls -l /opt/1.txt #修改归属前查看:
-rw-rw-r-- 1 one root 0 4月 24 14:47 /opt/1.txt #属主为one 属组为root
[root@control ~]# chown zs:zs /opt/1.txt #将属主和属组改为zs
[root@control ~]# ls -l /opt/1.txt
-rw-rw-r-- 1 zs zs 0 4月 24 14:47 /opt/1.txt
修改属组:
[root@control ~]# ls -l /opt/1.txt #修改归属前查看
-rw-rw-r-- 1 zs zs 0 4月 24 14:47 /opt/1.txt #属组为zs
[root@control ~]# chown :root /opt/1.txt #将属组改为root组
[root@control ~]# ls -l /opt/1.txt
-rw-rw-r-- 1 zs root 0 4月 24 14:47 /opt/1.txt
五、文件/目录的默认权限
-目录:新建目录默认权限为755
默认权限取决于umask设置
默认的umask是0022,其中第一个0是附加权限,不看,就看022
777-022=755
-文件:新建文件默认权限为644
因为一般文件默认不给x执行权限,755减去执行权限就是644