基本操作
shell语法
- cal
[root@server02 ~]# cal --year -m 2020
查看日历 cal -help
-
ls
选项
-a:显示所有文件及目录 (.开头的隐藏文件也会列出)
-l:除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
-r:将文件以相反次序显示(原定依英文字母次序)
-t:将文件依建立时间之先后次序列出
-A:同 -a ,但不列出 “.” (目前目录) 及 “…” (父目录)
-F:在列出的文件名称后加一符号;例如可执行档则加 “*”, 目录则加 “/”
-R:若目录下有文件,则以下之文件亦皆依序列出
-h:将显示出来的文件大小以合适的单位显示出来
-普通文件(文本文档,二进制文件,压缩文件,电影,图片。。。)
d目录文件(蓝色) b块设备文件(块设备)存储设备硬盘,U盘 /dev/sda,/dev/sda1
c字符设备文件(字符设备)打印机,终端 /dev/tty1,/dev/zero
s套接字文件
p管道文件
l链接文件(淡蓝色)
-
file(查看文件类型)
-
stat(查看文件时间)
-
cd
-
pwd 显示工作目录
选项
-L 打印 $PWD 变量的值,如果它命名了当前的工作目录
-P 打印当前的物理路径,不带有任何的符号链接
-
clear(ctrl+L)
-
alias(设置别名)
-
cp
选项
-r:递归持续复制,用於目录的复制行为;(常用)
-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);
-v:显示复制的详细过程
-
less
-
head
选项
-q:隐藏文件名,默认是隐藏 -
v:显示文件名
-c <数目>:显示的字节数。
-n <行数>:显示的行数。
-
which
可以在查找到环境变量$PATH中路径里的文件,一般用来查找系统的自带指令
-
locate
yum -y install mlocate
这个查找文件的速度比较快,原因是会先将文件路径生成一个数据库,然后查找的时候在数据库中查找 -
find
find [选项] [路径] [查找条件 + 处理动作] [root@localhost ~]# find /etc -name "ifcfg-ens33" [root@localhost ~]# find /etc -size +5M # 大于5M [root@localhost ~]# find / -maxdepth 3 -a -name "ifcfg-ens33" # 最大查找深度 [root@localhost ~]# find /etc -mtime +5 # 修改时间超过5天 [root@localhost ~]# find /home -user xwz # 属主是xwz的文件 [root@localhost ~]# find /dev -type d [root@localhost ~]# find / -perm 644 -ls [root@localhost ~]# find /etc -regex '.*ifcfg-ens[0-9][0-9]' #按正则表达式
-
id+用户名
-
passwd
–stdin:从标准输入读取令牌(只有根用户才能进行此操作
root@localhost ~]# passwd test01 更改用户 test01 的密码 。 新的 密码: 重新输入新的 密码: passwd:所有的身份验证令牌已经成功更新。
-
chage
用于更改用户密码过期信息
选项
-d:将最近一次密码设置时间设为“最近日期”
-E 过期日期:将帐户过期时间设为“过期日期”
-I INACITVE:过期 INACTIVE 天数后,设定密码为失效状态
-l:显示帐户年龄信息
-m 最小天数:将两次改变密码之间相距的最小天数设为“最小天数”
-M 最大天数:将两次改变密码之间相距的最大天数设为“最大天数”
-W 警告天数:将过期警告天数设为“警告天数”
root@localhost ~]# chage -d 0 test01 强制用户在下次登录的时候换密码
-
sudo提权
通常普通的权限比较低,如果想要给普通root权限的话需要进行sudo提权,sudo提权的思路是将普通用户加入到wheel组中即可
usermod -aG wheel 用户名 -
chown
更改文件的属主属组命令
chown 属主 文件名
chown :属组 文件名
chown 属主:属组 文件名 -
chmod
更改文件权限的命令
[root@server1 ~]# chmod a+x test1
[root@server1 ~]# ll -
chgrp
-
文件访问控制列表 ACL
- getfacl 获取文件访问控制列表的详细内容
- -a:仅显示文件访问控制列表
- -c:不显示注释表头
- -R:递归显示子目录
- setfacl 以针对文件单独设置某个用户或者用户组队文件的管理权限
- -R:递归操作子目录
- -m:更改文件的访问控制列表
- -x:根据文件中访问控制列表移除条目
- -d:应用到默认访问控制列表的操作
- getfacl 获取文件访问控制列表的详细内容
[root@localhost ~]# setfacl -m u:user1:rx /workdir
单独给予user1的可读和可进入权限
[root@localhost ~]# setfacl -x u:user1 /workdir/
移除user1的访问控制列表权限
[root@localhost ~]# setfacl -m g:worker2:rwx /workdir
然后给这个组访问acl的权限
对workdir设置的acl权限并不会被之后在workdir下创建的子文件和子目录继承,可以设置默认ACL权 限,来让目录下面的新建文件和文件夹都继承父目录的权限
[root@localhost ~]# setfacl -m d:u:user1:rx /workdir
在前面加上一个d,就可以设置默认facl权限
root@localhost ~]# getfacl -c /workdir
-
特殊权限
-
设置位S(针对二进制文件)
为了让一般使用者临时具有该文件所属主/组的执行权限。
-
沾滞位T(针对文件夹)
只允许文件的创建者和root用户删除文件(防止误删除权限位)==
-
chmod u+s /usr/bin/passwd #设置位
chmod -R o+t 文件夹的名称 #粘滞位
- whereis命令
- 主要功能就是查询某个命令所在的路径,基本语法 => whereis passwd
相关的文件
- /etc/passwd
存放用户信息的文件
root:x:0:0:root:/root:/bin/bash
用户名
密码占位符
uid
uid为0的用户为root用户
centos7中uid在1-999的用户为系统用户
centos7中uid1000+的用户为普通用户
gid
组id,概念和uid类似
描述信息
用户的家目录
用户的登陆shell - /etc/shadow
存放用户密码信息的文件 - /etc/group
存放组信息的文件
用户组管理
-
group+ add mod del
选项
-g:指定新建工作组的 id;
-
用户组成员管理:gpasswd
gpasswd 是 Linux 下工作组文件 /etc/group 和 /etc/gshadow 管理工具,用于将一个用户添加到组或者从组 中删除
选项
-a:添加用户到组;
-d:从组删除用户;
-R:限制用户登入组,只有组中的成员才可以用newgrp加入该组。
[root@localhost ~]# useradd itadmin [root@localhost ~]# gpasswd -a itadmin it
-
useradd
选项
-c comment:指定一段注释性描述。
-d 目录:指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。 -m:创建用户的主目录
-g 用户组:指定用户所属的用户组,默认会创建一个和用户名同名的用户组。
-G 用户组:用户组 指定用户所属的附加组,一个用户可以属于多个附加组。
-s Shell文件:指定用户的登录Shell。
-u 用户号:指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
-
usermod
选项
-c <备注>:修改用户帐号的备注文字。
-a:追加,默认的修改是覆盖
-g <群组>:修改用户所属的群组。
-G <群组>:修改用户所属的附加群组
-s :修改用户登入后所使用的shell。
-u :修改用户ID。
-
userdel
-r:删除用户登入目录以及目录中所有文件
-
修改umask的数值(永久
[root@localhost ~]# vim /etc/profile
--------------
59 if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
60 umask 002
61 else
62 umask 022
63 fi
:修改用户所属的附加群组
-s :修改用户登入后所使用的shell。
-u :修改用户ID。
-
userdel
-r:删除用户登入目录以及目录中所有文件
-
修改umask的数值(永久
[root@localhost ~]# vim /etc/profile
--------------
59 if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
60 umask 002
61 else
62 umask 022
63 fi