常见目录介绍
/ 根目录
/root //root用户的家目录
/home/username //普通用户的家目录
/etc //配置文件目录
/bin //命令目录
/sbin //管理命令目录
/usr/bin/usr/sbin //系统预装的其他命令
文件管理
//显示当前的目录
pwd 显示当前的目录名称
//更改当前的操作目录
cd //更改当前的操作目录
cd /path/to/... //绝对路径
cd ./path/to/... //相对路径
cd ../path/to/... //相对路径
//目录文件的创建与删除
mkdir //建立空目录mkdir a
常用参数
-p //递归创建多级文件夹
rmdir //删除空文件夹
rmdir a
rm //可以删除非空目录及文件
常用参数
-r //删除目录
-f //强制删除,不提示
需要注意,rm -rf 后面可以跟多个目录,不要出现 rm -rf / usr 这种,会从根目录开始删除
通配符
定义:shell 内建的符号
用途:操作多个相似(有简单规律的)文件
常用通配符:
* //匹配任何字符串
? //匹配1个字符串
[xyz] //匹配xyz任意一个字符
[a-z] //匹配一个范围
[!xyz]或者[^xyz] //不匹配
文本内容查看
cat //文本内容显示到终端 显示全部
head //查看文件开头
head test.txt //默认查看前10行
head -5 test.txt
tail //查看文件结尾
tail -1000f catalina.out
常用参数
-f //文件内容更新后,显示信息同步更新
wc //统计文件内容信息
wc -l /tmp/test.txt //查看文件有多少行
-c或--bytes或——chars: //只显示Bytes数;
-l或——lines: //只显示列数;
-w或——words: //只显示字数。
more //分行显示
less
打包和压缩
最早的Linux备份介质是磁带,使用的命令是tar可以打包后的磁带文件进行压缩储存,压缩的命令是 gzip 和 bzip2
经常使用的扩展名是 .tar.gz .tar.bz2 .tgz
tar 打包命令
常用参数
c //打包
x //解包
f //指定操作类型为文件 v 显示进度 P 使用绝对路径
打包
tar cf /tmp/etc-backup.tar /etc 把 /etc 这个文件夹打包放在/tmp/etc-backup.tar会提示,但是也能成功:tar: Removing leading `/' from member names
tar cPf /tmp/etc-backup.tar /etc 使用绝对路径 (没有提示)
tar czf /tmp/etc-backup.tar.gz /etc (tar集成了gzip和bzip2)
tar cjf /tmp/etc-backup.tar.bz2 /etc (压缩比例更高)
解包
tar xf /tmp/etc-backup.tar -C /root 把 tar包解压到 /root 目录下
tar zxf /tmp/etc-backup.tar.gz -C /etc
tar zjf /tmp/etc-backup.tar.gz -C /etc
用户与权限管理
useradd 新建用户 useradd dongye(可以用 id dongye 来验证是否存在)
创建一个用户后,自动在 /home建立家目录,并且创建一些隐藏文件。同时,在 /etc/passwd 这个文件里会加入新用户dongye的数据,/etc/shadow里面也有会相关数据(密码相关)。如果没有组的话,创建一个同名的组。
userdel 删除用户
userdel dongye
userdel -r dongye 同时删除家目录
passwd 修改用户密码
passwd dongye
passwd更改当前用户密码
/etc/passwd 和 /etc/shadow 里面的数据也被删除
usermod 修改一个用户账户
usermod -d /home/other dongye 家目录从 /home/dongye 改成 /home/other
chage 修改用户生命周期 设置用户密码的过期时间,甚至用户本身的过期时间
组管理命令
groupadd 新建用户组
groupadd group1
useradd user1
usermod -g group1 user1 把user1这个用户的组改成group1
useradd -g group1 user2 新建用户user2时就把它放到group1组下
groupdel 删除用户组 groupdel group1 删除组group1
用户切换
su 切换用户 su - USERNAME 使用 login shell 方式切换用户
su USERNAME 不完全切换,比如还是在 /root下而不会自动跳转到用户家目录
sudo 以其他用户身份执行命令
visudo 设置需要使用sudo的用户(组)。下图设置 user3用户拥有shutdown -c权限,需要输入 user3自己的密码
用户和用户组的配置文件介绍
/etc/passwd 用户配置文件,7个字段
user3:x:1003:1003::/home/user3:bin/bash
user3:用户名称
x:是否需要密码验证,x表示需要,空表示不需要
1003:用户的uid,用户的id信息,唯一识别用户的标识。root是0。
1003:用户的gid,表示组id信息
第五个字段:注释
/home/user3:家目录
/bin/bash:用户登录后的命令解释器。/sbin/nologin 表示不能登录
/etc/shadow 保存用户和用户密码相关信息的
第一个字段:用户名称
第二个字段:用户加密过后的密码(看到也没用,经过处理,即使相同的密码也会显示不同)
/etc/group 用户组相关的配置文件,4个字段
group:x:10:another
group:组的名称
x:是否需要密码验证
10:gid
another:其他组设置,说明another这个用户的第二个组是group比如输入 id user1uid=1001(user1) gid=1001(group1) 组=1001(group1)id anotheruid=1002(another) gid=1002(another) 组=1003(group) 查找another信息,发现他的第二个组是group
文件与目录权限
文件类型- 普通文件
d //目录文件
b //块特殊文件
c //字符特殊文件
l //符号链接
f //命名管道
s //套接字文件
文件权限的表示方法
字符权限表示方法
r //读
w //写
x //执行
数字权限的表示方法
r=4
w=2
x=1
文件权限的表示方法
rwxrwxrwx
第一个表示文件属主的权限,第二个表示文件属组的权限,第三个表示其他用户的权限
创建新文件有默认权限,根据umask值计算,属主和属组根据当前进程的用户来设定
目录权限的标识方法
x //进入目录
rx //显示目录内的文件名
wx //修改目录内的文件名
文件权限的修改方法
修改权限命令(测试的时候别用root,root不受限制)
chmod 修改文件、目录权限
chmod u+x /tmp/testfile u表示属主
chmod u=rwx /tmp/testfile
chmod g-r /tmp/testfile g表示属组
chmod 0-r /tmp/testfile o表示其他用户
chmod a+r /tmp/testfile a表示所有
chmod 755 /tmp/testfile如果属主没有权限,所属的组有权限,以属主为准,还是没有权限。
chown 更改属主、属组
chown user1 /test 把test这个目录的属主改成user1
chown :group /test 把test这个目录的属组给成group chown user1:group /test 一起修改
chgrp 可以单独更改属组、不常用
linux一般创建一个文件默认会赋予666权限,然后根据用的umask值来计算。
用户默认umask值为022,所以一般是 666-022=644,对应rw-r--r--
特殊权限
SUID //用于二进制可执行文件,执行命令时取得文件属主权限 如,/usr/bin/passwd
SGID //用于目录,在该目录下创建新的文件和目录,权限自动更改为该目录的属组
文件共享时使用
SBIT // 用于目录,该目录下新建的文件和目录,仅root和自己可以删除
如 /tmp
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至22018681@qq.com 举报,一经查实,本站将立刻删除。