1.权限管理
文件拥有者
文件所属组
其他人
-rw-r–r--. 1 root root 14 11月 28 14:22 file
-rw-r–r-- 文件类型与权限
root 文件拥有者
root 文件所属组
14 文件大小
11月 28 14:22 文件的最后修改时间
file 文件名
1.1 文件类型
a.通过文件属性的第一个字符
- 一般文件
d 目录
l 链接文件(快捷方式)
b.通过文件名的颜色
白色 一般文件
蓝色 目录
浅蓝色 链接文件
绿色 可执行文件(二进制文件)
红色 压缩文件
棕色/黄色 装置与设备文件
紫色 图片
c.使用命令file
file 文件名
file man.config 查看文件man.config的文件类型
1.2 文件权限
rw- r-x r–
rw- 文件拥有者的权限
r-x 文件所属组的权限
r-- 其他人的权限
r 可读
w 可写
x 可执行
- 无
注意: rwx 三个权限位的顺序是固定不变的,没有的权限就以"-"表示
修改权限的方式:
a.数字权限
r 4
w 2
x 1
- 0
rw- r-x r-- ==> 654
rw- = 4+2+0 = 6
r-x = 4+0+1 = 5
r-- = 4+0+0 = 4
需求:
设置目录的权限为 rwxrwx—
语法:
chmod 权限数字 文件名
chmod 770 file 修改文件file的权限为770
chmod -R 770 dir/ 修改目录及其下的所有文件的权限为770
b.字符权限
语法:
chmod [u|g|o|a][±=][r|w|x] 文件名
u user,文件拥有者
g group,文件所属组
o others,其他人
a all,所有人
- 添加,增加
- 减掉,拿掉
= 设置,赋予
需求:
给文件拥有者添加一个w权限
chmod u+w file
拿掉文件所属组的w权限
chmod g-w file
拿掉所有人的x权限
chmod a-x file
需求:
给文件设置权限为rw-rw-r–
u=rw
g=rw
o=r
chmod u=rw,g=rw,o=r file
优化:
chmod ug=rw,o=r file
给文件设置权限为rwxr-x—
u=rwx
g=rx
o=
chmod u=rwx,g=rx,o= file
原始权限:rwxr–r--
给文件所属组加上文件拥有者的权限
chmod g+u file
chmod g=u file
r—wxr–
chmod g+u file
1.3 修改文件拥有者与文件所属组
需求:
修改文件file的拥有者为admin
语法:
chown 用户名 文件名
chown admin file
chown -R admin dir/ 修改目录及其下的所有文件的拥有者为admin
chown 用户名.组名 文件名
chown admin.users file 修改文件file的拥有者为admin,同时修改其文件所属组为users
chown .users file 修改文件file的文件所属组为users
修改文件所属组
chgrp 组名 文件名
chgrp users file 修改文件file的所属组为users
权限补充:
r 可读
w 可写
x 可执行
针对文件:
r 可以看文件内容
w 可以修改与编辑文件内容
针对目录:
r 如果只有r权限,可以看到目录下的文件名
w 如果只有w权限,就没意义,一般需要配合x权限使用
x 如果只有x权限,可以进入目录,看不见里面的文件
r-x 可以进入目录,可以查看目录中的文件清单,不能重命名目录下的文件,不能删除文件,也不能创建文件
rwx 最高权限,可做任何操作
常见的目录权限:
rwx
r-x
常见的文件权限:
rw-
r–
切换用户:
su - 用户名
注销用户登录:
ctrl+d
exit
logout
Linux文件与目录的常用操作
ls
ls -l 以长格式列出目标目录下的文件清单
ls -a 列出所有文件(包含隐藏文件:以"."开头的文件名)
ls -d 将目录像文件一样显示,而不是显示其下的文件清单
ll 别名,等同于ls -l
l. 只显示隐藏文件
查阅文件内容
cat/tac/more/less/head/tail/nl
cat file 一次性次将文件内容输出到屏幕上
cat -n file 显示行号
tac file 倒序查看
more file 分页显示文件内容
less file 分页显示文件内容(可以分页显示目录下的文件清单)
ctrl+f 向下翻页
ctrl+b 向上翻页
q 退出
head file 显示文件的前10行
head -20 file 显示文件的前20行
tail file 显示文件的末尾10行
tail -20 file 显示文件的末尾20行
nl file 加上行号显示文件内容
文件与目录的操作
新建目录mkdir
mkdir 目录名
mkdir dira 在当前目录中新建一个目录dira
mkdir dir1 /tmp/dir2 …/dir3 新建多个目录(在不同目录下)
mkdir dir{1,2,3,a,b,xx} 新建多个以dir开头的目录:dir1,dir2,dir3…
mkdir -p a/b/c 将目录中不存在的目录全部创建出来
删除空目录rmdir
rmdir dir 删除空目录dir
新建文件touch
touch 文件名
touch file 在当前目录中新建一个文件file(如果文件file已存在,则修改文件的最后修改时间为当前系统时间)
touch file1 file2
touch file1 …/file2 /tmp/file1
touch file{1,2,a,b}
删除文件与目录rm
rm file 删除文件
rm -f file 直接删除文件file,不用确认
rm -r dir 删除目录及其下的所有文件
rm -rf dir 删除任意文件,不用确认
复制文件与目录cp
cp 源文件|目录 目标文件|目录
cp file dir/ 复制文件file到目录dir
cp file1 file2 file3 dir/ 复制多个文件到目录dir
cp file newfile 复制file到当前目录并重命名为newfile
cp -r dir/ newdir/ 复制目录dir及其下的所有文件到目录newdir中
重新定义命令别名alias:
alias cp=‘cp -f’
alias i=‘ifconfig’
修改配置文件使别名永久生效:
vi ~/.bashrc
修改后,使用source ~/.bashrc 立即生效
移动/重命名mv
mv file dir 将文件file移动到目录dir中
如果dir不存在,则将file重命名为dir
mv file dira/ dira后加了/,如果dira目录不存在,则报错
mv -f file dir 如果file已存在,则直接覆盖
用户管理
3.1 用户
a.添加用户useradd
useradd 用户名
useradd jack 创建一个用户jack
useradd -g 组名 用户名
useradd -g users tony 创建一个用户tony并加入到users组
b.修改用户usermod
usermod -g 新群组名 用户名
usermod -g root jack 修改用户jack的群组为root
usermod -l 新的用户名 旧的用户名
usermod -l tom tony 修改用户tony的用户名为tom
groups 用户名
groups jack 查看jack用户所属的组
c.删除用户userdel
userdel 用户名
userdel tom 删除用户tom(保留家目录)
userdel -r 用户名
userdel -r jack 删除用户jack(不保留家目录)
d.设置密码passwd
passwd 用户名
passwd jack 给jack设置密码
3.2 群组
新建群组groupadd
groupadd 群组名
groupadd Tester 新建一个群组Tester
修改群组groupmod
groupmod -n 新群组名 旧的群组名
groupmod -n Test Tester 修改群组Tester的名字为Test
删除群组groupdel
groupdel 群组名
groupdel Test 删除群组Test(不能删除用户的主要组)