用户操作
whoami >>查看当前用户
$ >>普通用户
# >>管理员
su root或su >>切换到管理员用户,需要管理员密码
useradd 新用户名 >>创建一个账户,要在root上操作
passwd 新用户名 >>为账户设置密码,要在root上操作
例子:useradd -u 3000 -g root -G test01,test02 lewis
创建lewis用户,它的uid为3000,属于root组,附属组为test01、test02
useradd
-u:设置UID
-g:设置主要组
-G:设置要附属组
-c:设置用户说明
-d:指定用户家目录
-s:指定用户shell
-e:账号失效日期,格式为:YYYY-MM-DD
useradd -e 2020-01-01 test08
-f:指定密码是否失效,0表示立刻失效,1表示永不失效
useradd -f 0 test11
usermod可以对用户账户的信息进行细微的修改
-c:账号说明
-d:修改家目录
-g:修改主要组
-G:修改附属组
-a:与-G一起用,增加附属组
-l:修改用户名
-u:修改UID
-L:冻结账号
-U:解冻
passwd 用户名 //所有人都可以通过该命令来修改自己的密码
-l:锁住该账号,在/etc/shadow中放密码的位置加个!
-u:解锁
-S:显示账号的密码参数
-n:接天数,设置多久可以不修改密码
-x:接天数,设置多久内必须修改密码
-w:接天数,设置密码过期前警告天数
-i:接天数,设置密码失效天数
chage 可以修改和密码有关的时间参数
-l:查看一个账户和密码有关的时间参数
-d:YYYY-MM-DD,修改最近一次更改密码的时间
-E: YYYY-MM-DD,修改账号的失效时间
-I:天数,设置密码几天后失效
-m:天数,设置密码至少保留几天
-M:天数,设置密码多久后,需要更新
-W:天数,设置密码过期前警告时间
举例1:
创建一个账号test01,初始密码为123,用户登入后必须修改密码,然后强制使用新的密码登入
chage –d 0 test01 (-d中特殊的用法)
新密码必须符合复杂度的规范
举例2:
修改root账号最近一次改密码的时间为2000年1月1号,必须要求root账号在100天后必须修改密码。
chage -d 2000-1-1 -M 100 root
删除一个用户-userdel
要彻底的删除一个账号,比较麻烦
会自动删除:
1、删除/etc/passwd;/etc/shadow文件中的内容
2、删除/etc/group;/etc/gshadow
需手动删除:
1、删除/home/username;
邮箱目录:/var/spool/mail/username
2、删除该用户曾经来该Liunx中创建的文件find进行搜索,先搜索,在使用userdel
-r 连同家目录和邮箱一起删除
删除mengwei1账户:userdel -r mengwei1
文件路径操作
pwd >>查看当前所在路径
ls -a -l
或 ls -al
或 ls -l /dev>>查看当前目录下的文件信息
-d >>只看当前信息
-l >>看详细信息
-a >>显示所有(.表示隐藏文件,表示很重要)
-h >>显示文件大小
(-rw-rw-r--)
(drw-rw-r--)
文件类型:
d >>目录
- >>文件
l >>软连接文件
b >>设备文件,存储的接口设备
c >>设备文件--键盘
cd / >>进入根目录
cd /目录 >>进入目录,绝对路径
cd 目录 >>进入目录,相对路径
cd - >>返回之前的目录
cd .. >>返回到上一级目录
cd ~ >>返回到所在的家目录
复制cp、移动mv、删除rm、创建文件mkdir\touch
cd /
cd tmp 在tmp目录下操作
mkdir 目录 或 mkdir 目录/abc>>创建目录(创建abc目录时,根目录必须存在否则报错)
mkdir -p 目录/目录 >>递归式创建目录,注意文件夹名字千万不要出错
touch 文件名 >>创建文件
cp abc a >>复制abc文件命名为a
cp a abc lewis1/ >>复制 a、abc文件到lewis1目录
cp -r lewis lewis-cp >>复制lewis目录为lewis-cp名称(递归复制)
mv a ab >>重命名a改为ab
mv a目录 ab目录 >>ab不存在就是重命名,存在时a目录移动到ab目录
mv a目录 ab目录 abc目录 >>a、ab目录移动到abc目录
mv a ab lewis2/ >>移动a、ab文件到lewis2目录中
rm a 或 rm a abc >>删除a abc文件(root用户文件删除时都会有询问:y)
rm -f a >>强制删除文件,没有询问
rm -f -r /tmp/* >>无询问删除tmp目录下所有文件(-r删除目录)
查看文件
cat/less/more 查看文件
例子:cat -b etc/passwd >>查看etc目录下的passwd文件内容
例子:more -b etc/passwd
例子:less -b etc/passwd
-A 整合命令-vET
-b 列出行号,但是空白行不标志行号
-E 将结尾的断行字符($)显示出来
-n 列出行号,空白行也会标志行号
-T 将tab按键以^I显示
-v 列出一些看不来的特殊字符
more(一页一页翻动)
空格 向下翻一页
回车 向下翻一行
/字符串: 所搜
:f 立刻显示文件名和行数
b 翻到第一页
q 离开
less(一页一页翻动)
空格 向下翻动一页
pagedown向下翻动一页
pageup 向上翻动一页
/字符串 搜索
n 重复前一个搜索
N 反方向重复前一个搜索
q 退出
nl 查看文件,显示时,出现行号
-b
-ba 无论是否有空行,都列出行号
-bt 如果有空行,则不列出行号(默认)
-n
-nln 行号在屏幕最左方
-nrn 行号在屏幕最右方,前面不加0
-nrz 行号在屏幕最右方,前面加0
-w 设置缩进
tac 从最后一行开始显示
head 默认显示前10行 -n:设置行数
例子:head -5 etc/passwd
tail 默认显示尾10行 -n:设置行数(一般看日志文件时使用)
wc 显示文件的行数,数字,字节
-c 只显示字节
-w 只显示字数。一个字被定义为由空白、空格或换行字符分隔的字符串。
-l 只显示行
vim编辑器使用:
vim /tmp/abc 编辑abc文件
i 键插入
esc 退出
u 撤销
x 删除
v 选择文本
y 复制
yy 复制当前行
dd 删除光标所在行
p 粘贴
:w 保存
:wq 保存退出
:q! 强退(不保存直接退出)
gedit使用(Linux自带似Windows记事本):
gedit /tmp/abc
软硬链接
软链接(类似windows下的快捷方式)
创建软连接
ln –s oldfile newfile
例子:ln -s abc a >>a是abc的软链接
特点:
1.可以对不存在文件创建软链接
2.可以对文件或者目录创建软链接
3.删除了软链接,不会影响他的指向文件
4.删除了指向文件,该软链接就会变成死链接(红色,touch创建文件后又恢复正常)
硬链接
创建硬链接
link oldfile newfile
ln oldfile newfile
例:link a lewis >>a与lewis硬连接,它们是相同的文件。
Inode编号:
查看命令:ls -l -i
Inode编号的作用:
文件名:给人看的
Inode编号:给机器看的
硬链接:多个文件对应同一个inode编号
对多个文件中的某一个文件进行修改时,其他文件也会同时发生更改。多用户协同一致工作。
特点:
1、不能对目录进行硬链接的创建
2、只能对已经存在的文件进行硬链接的创建
3、删除一个硬链接文件,不影响其他相同的inode编号的文件
关机
要注意的事项:
观察系统的使用状态
通知在线使用者关机的时间
正确的关机指令使用
关机的指令
数据同步写入磁盘:sync
常用的关机指令:shutdown
重启,关机:reboot,halt,poweroff
Shutdown
-t 添加秒数,几秒后关机
-k 不是真关机,而是发出告警信息
-r 在系统服务都停止后,重启
-h 在系统服务都停止后,关机(常用)
-f 关闭并且开机以后,强行略过磁盘检查(硬盘出现坏道的情况使用)
-F 重启后,强制进行进行磁盘检查
-c 取消已经在进行的shutdown指令内容
常用关机例子:
shutdown –h now 马上关机
shutdown –h 12:00 12点后关机
shutdown –h +10 十分钟以后关机
shutdown –r now 马上重启
shutdown –r +30 ‘the system will reboot’ 发出警告30分钟后重启
shutdown –k now ‘this system will reboot’ 马上发出警告信息,但是不会重启
帮助文件
man ls
man 1 ls
man 5 ls
文件权限
文件:rwx:读、写、执行
目录:rwx:查看目录下有哪些文件、新建删除移动等、是否可以使用cd进入
cat /etc/group >>查看所有组
groups >>查看当前组
gpasswd -a 用户名 组名 >>将用户添加到组
chown:修改文件的拥有者,前提是要有该拥有者(root权限)
chown 拥有者 文件/目录
例子:chown mengwei1 abc >>把abc的拥有者改为mengwei1
-R 递归修改
chown -R mengwei1 目录 >>把目录和目录下文件的拥有者都改为mengwei1
chgrp:修改文件所属组,前提是要有该组
例子:chgrp mengwei1 abc >>把abc文件的拥有组改为mengwei1
-R 递归修改
chmod:修改拥有者和所属组的权限
加减法:u/g/o +/-/= r/w/x
数字法:r=4,w=2,x=1
rwx=4+2+1=7
rw-=4+2=6
r--=4
r-x=4+1=5
例子:chmod 777 123 >>修改123文件的权限为-rwxrwxrwx
注意:
文件的拥有者,即使没有w权限,也可以强制写入,所属组和其他人不行。
如果一个用户对一个目录没有w的权限,是否可以编辑该目录中拥有者是自己的文件?可以编辑!
文件权限-getfacl和setfacl
acl:针对单一使用者,设置单一文件或目录来进行rwx的权限修改
getfacl:获取单一使用者,针对单一文件或目录的权限
setfacl:配置单一使用者,对单一文件或目录的权限
-m 配置acl参数
-x 删除单个文件的acl
-b 删除acl的配置
-R 递归配置acl参数
例子:setfacl -m u:lewis:rwx 123 >>root将123文件的拥有者权限赋值给lewis
例子:setfacl -m g:lewis:rwx 123 >>root将123文件的拥有者权限赋值给lewis
例子:getfacl 123 >>获取单一文件的权限
默认权限
umask >>查看当前用户的umask权限; -S 选项
0022---拿走的权限
第一个数字表示特殊权限
022=rwxr-xr-x
0002=rw-rw-r-- >>拿掉了最后一个2=w
默认创建文件和目录的权限,文件会拿走X权限
临时的修改:umask 0000
文件:-rw-rw-rw-
目录:drwxrwxrwx
永久修改: /etc/bashrc(不建议)
假设你的 umask 为 003 ,请问该 umask 情況下,建立的文件和目录的权限分为多少?
答:umask 为 003 ,所以拿掉的权限为 --------wx,因此:文件: (-rw-rw-rw-) - (--------wx) = -rw-rw-r--目录: (drwxrwxrwx) - (d-------wx) = drwxrwxr--
普通用户:002
Root:022
在什么情况下,要使用umask
假设你和的同事在同一个目录下进行同一个项目的工作。如果使用默认权限022,那么你创建的文件,你的同事将无法编辑。因此我们可以将权限调整为002
SUID\SGID\SBIT
当s出现在拥有者的x权限位置时候,表示拥有者有SUID的权限(Set UID)
当s出现在所属组的x权限位置时候,表示所属组有SGID的权限(Set GID)
当t出现在其他人的x权限位置时候,表示其他人有SBIT的权限(Sticky Bit)
SUID4的文件:临时获取文件拥有者的权限—只能针对文件
SGID2,即使可以作用于目录,也可以作用于文件
作用于文件:SUID一样
作用于目录:继承父集目录—目录会不停的继承
SBIT1的目录:只有文件的拥有者,才能删除属于他的文件。
S和T都有大写和小写之分
大写说明:没有x权限
id >>查看UID GID
/etc/passwd :记录了Linux上所有的账号
/etc/shadow:记录了账户对应的密码
/etc/group:记录了所有的组
网友评论