前文回顾
date  “+%Y-%m-%d” 或者%D/%F
%s时间戳 “%H:%M:%S或者%T
date 月日时分年.秒
shell是自身具备的,在系统目录中没有一个二进制文件与之度对应的命令,内部命令:builtin
Type显示命令是什么类型的命令
一 获取命令的帮助信息
 whatis 简单描述一个命令功能(数据库里)   makewhatis创建一个whatis命令的数据库   非精确搜索
--help  简单的命令格式,支持外部命令 l例如#date –help
man(manual手册) 语法:man [chapter章节] command参数
章节:(一般有八个章节)位置:/usr/share/man
1 普通的用户命令 2 系统调用 3 库文件帮助信息 4特殊文件设备文件的说明信息
5 文件格式(主要说明某服务的配置文件的格式) 6 游戏相关
7 杂项 8管理命令
空格键 向后翻一屏
b 向前翻一屏
回车 向后翻一行
K向前翻一行
q 退出
/keyword 从文件首部开始搜索
?keyword n/N尾部开始
Info table打开超链接  显示的命令帮助信息更加详细,辅助man使用
help 内部命令  例如#help type
当使用终端登录时出现乱码时使用:export LANG=en输入字符集与当前环境相符
name 描述功能 synopsis 用法格式 description 所有选项的说明 files 相关联的所有的配置文件
/usr/share/doc命令的存储位置
Linux官网
 
二linux中各文件的作用
 ls 列出所有目录
bin: 所有用户执行文件
sbin:管理员可用的命令
boot:系统启动有需要的引导文件(内核),通常需要单独分区使用
dev: 设备文件(字符设备,块设备)特殊文件
etc:   配置文件目录
home普通用户的家目录的集中位置
lib:   库文件,通常也是执行文件被运行
mediamnt:挂载额外设备专用的目录
misc:杂项 备用目录
opt: 第三方软件的安装目录
proc: 伪文件系统,用户跟内核交互的一个接口
root:管理员root用户的家目录
srv: 跟服务相关(但与用户无关的)某些数据文件的存放位置
sys: 伪文件系统,硬件设备属性信息及一些内核相关的信息
tmp:临时文件
usr: 跟系统相关的额外的信息存放位置,不是系统启动的相关文件 用户管理的 /usr/bin /usr/sbin /usr/lib   第三方使用的 /usr/local   /usr/local/bin   /usr/local/sbin  /usr/local/lib
var: 可变化的文件 /var/mail /var/log /var/run
2路径
绝对目录:/usr/local/share/man
相对目录:相对于当前目录 share/man或 ./share/man或 ../share/man
cd 切换目录(change directory
cd ~回到家目录 或者直接输入cd回车
cd ~username到某用户的家目录
cd – 来回和上一层切换
3避免*/?><回车命名文件  在linux中文件名不能超过255个字符,并且严格区分大小写
4 ls的使用
-a显示所有的文件包括隐藏文件  以点开头的是隐藏文件
-A不显示隐藏文件    -d显示目录自身,不是目录中文件  
-l 显示文件的详细属性信息 -h易读的 –r 逆序排列 –R递归显示每个子目录
文件类型
普通文件:-(f)   目录文件:d      符号链接文件:l   字符设备文件:c
块设备文件:b     命名管道文件:p    socket文件(套接字):s
权限类型
文件的属主,文件的属组,其他
定义三类用户的权限又分读写执行
硬链接的次数
修改时间:modify文件内容
访问时间:access
改变时间:change 元数据 属性
4创建和删除目录:mkdirrmdir
-p先创建父目录 -v显示创建过程
rmdir只能删除空目录
tree显示层次化的目录
5文件相关命令cat   less   more   tail   head
cat :倾倒式全显示
-E显示换行符(即结束符号) -n加编号显示
more 分页向后看,但是不能向上翻看
less 可以来回翻,搜索
其中,空格向后翻一屏,回车向后一行,b向前一屏,k向前一行
tail 显示尾部   head 头部  默认显示十行
    tail/head -n N 显示多少行
tail –f 动态查看日志比较有用  取消:ctrl+c
6创建文件nano   touch
显示时间戳:stat 文件名
Change 元数据 
touch后加当前存在的文件时则改变文件时间戳
如何改变时间戳
-a 仅修改访问时间(access time)
-d 后面接日期
-t  后面接时间格式(年月日时分)
 
7文件管理 touch   cp mv rm
cp:例子:cp /etc/rc.local /root/rc.1
-f 强行执行   –i确认交互式    -r拷贝目录及其下的文件   -P不拷贝连接文件 -p保持文件原属性 -a保持文件原属性不复制连接文件
-v过程详细信息
rm –r 删除一目录递归删除 -f直接删除
mv 文件移动,或重名
 
8普通文件的不同特征命令file
1用户用户组及其权限
用户名是用来授权的,认证(密码,指纹,)家目录
/etc/passwd用户账号的信息/etc/shadow uid无符号的整数通常是0---60000的值。管理员root:0
普通用户:>=500   系统用户:1—499
组:权限的集合(容器)gid
/etc/group    /etc/gshadow
基本组和附加组
 
创建用户:useradd 创建密码:passwd
/etc/passwd 六个冒号隔开的七个字段
用户名:xuidgid:描述信息(可为空):家目录:shell
/etc/group 三个冒号隔开的四个字段
组名:XGid:用户
创建组:groupadd 组名    组密码:gpasswd
useradd的使用:
   -u指定UID –g指定基本GID/组名 –G指定附加组 -c注释信息 –d指定家目录 -s指定shell -m为某些用户创建目录 –r 创建一个系统用户 –M不创建家目录
查看本机可用shell:cat /etc/shells
passwd用法:
 -l锁定账号 –u解锁
groupadd用法:
 -g 指定GID -r创建系统组 
删除用户,组
#userdel 用户名 -r删除家目录
#groupdel 组名
修改用户账号信息:usermod
 -u  “-G –a”追加附加组仅有-G只会替换以前的附加组  -s 修改用户shell
-d修改用户家目录   -l 修改用户名
setenfoce 0 关闭 后需要重启下
-L用户加锁  -U解锁
例如:usermod -d /tmp/user5 user5会出现问题  应该加-m一块使用把以前的的资料一并移动过去
 -l改变登录名
/etc/shadow影子口令文件介绍
单向加密,hash 方法:MD5密钥算法和SHA1安全的哈希算法
用户名:密码:距上次登陆时间:密码最短修改时间:最长使用时间:提前修改时间:最多容许使用的时间:使用有限期:保留项
gpasswd在临时切换用户组使用的   newgrp切换临时组
 
linux的安全模型:
1, 任何文件都有一个属主和属组
2, 每个进程都以某个用户和组的身份在运行
安全上下文(安全背景)优先匹配用户,然后是该用户的组是否与文件组匹配否则以other身份运行
相对文件:
读r:cat,less,more  
写w:vim,nano 
执行x:普通文件不具有执行能力
目录:
读r:ls
写:在目录中能够创建或删除文件或目录的(在linux中文件和目录不能重名)
执行:cd,ll
如何修改文件的属主,属组或者其权限的
chown 改变属主   chown 属主文件名
chgrp 改变属组   chgrp 属组文件名 -R改变目录属主属组时对应的子目录也改变
chown 属主:属组  文件名可以修改文件的属主和属组  还可以使用”.”隔开
chmod设置权限 + -只管相对应位置的权限 =管所有的用户    三个权限要求不同时 1用逗号隔开分别赋予 2   R递归全改
例如chmod --reference=test haha 以某个文件为模板改权限
 
bash的使用技巧
Ctrl+a立即将光标移动至行首       ctrl+e移动至行尾 ctrl+u删除光标所在至行首 ctrl+k删除光标至行尾的 ctrl+箭头键可以移动一个单词 
 
文件名通配:
*:通配任意长度的任意字符
?:匹配任意单个字符
[]:范围表达式,一次匹配范围中的一个字符
^取反
[:alnum:] 字母加数字
[:alpha:]字母
[:digit:]数字
[:lower:]小写字母
[:upper:] 大写字母
[:punct:] 标点符号
[:blank:] 
[:cntrl:]
[:graph:]  
[:print:]
[:space:]
 [:xdigit: