前文回顾
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:
库文件,通常也是执行文件被运行
media
,
mnt:挂载额外设备专用的目录
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
创建和删除目录:
mkdir
和
rmdir
-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
六个冒号隔开的七个字段
用户名:
x
:
uid
:
gid
:描述信息(可为空):家目录:
shell
/etc/group
三个冒号隔开的四个字段
组名:
X
:
Gid
:用户
创建组:
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: