文本管理类命令:
查看:cat,head,tail,less,more,tac
复制:cp
移动:mv
删除:rm
创建:touch
元数据属性:stat
查看内容类型:file
文本编辑器:nano,vi
Linux文件类型:
普通文件:-,f
目录文件:d
链接文件(符号链接):l
设备文件:
字符设备:c
块设备:b
命名管道:p
套接字文件:s
Linux文件时间戳:
分为三个时间: 访问时间:atime
修改时间:ctime
改变时间:mtime
access time,atime 访问时间
modify time,mtime 修改时间
change time,ctime 改变时间
ls:
-a:显示所有文件,包含隐藏文件。
-l:长格式。
l rwxrwxrwx. 1 root root 2 Feb 12 09:49 rvi -> vi
文件类型 文件权限 硬链接数 属主 属组 最近一次修改时间 文件名 原始文件
-d:显示目录自身的信息,通常与-l同时使用。
-r:逆序显示
-R:递归显示
-h:文件大小易读格式显示。
-i:inode号,index node
bash的特性之四:命令别名
alias:显示当前shell中定义的所有别名。
alias别名=‘原始命令’
unalias别名
文本文件查看:
file FILE。。。查看文件内容的格式。
cat:
-E:显示行结束符
-v:显示非打印字符。
-e:相当于-vE
-n:显示时给行按顺序编号
-s:多个连续的空白行显示为一个空白行。
tac:逆向查看
more:向后翻
less:向前翻
head
-n #:设置行号。
-#
tail
-n #
-#
-f:查看不退出。
bash的特性之四:命令别名。
alias:显示定义的别名。
\:显示命令本身的属性信息。
alias 别名=‘原始命令’ 没有空格不用加引号。
unalias:取消别名。
file FILE。。。。查看文件内容的格式。
cat:
控制符,如换行符。
-E:显示行结束符$
-v:显示非打印字符。
-n:显示行号。
-e:相当于-vE
-s:多个连续的空白行显示为一个空白行。
{}命令行展开cat /etc{passwd,fstab}
tac:逆序显示。
more:向后翻。
b向前翻。
less:向前翻
echo命令的用法
-e:启用转移字符。
-n:并排显示。
\033终端显示颜色的。
echo -e “\033[31mhello\033[0m"
\033[0m":这个是结束表示。
41m
32m
37m
第一个#:3表示前景色
4表示背景色。
第二个#:颜色,1-7
echo -e ”、033【1mhello
echo -e “\033[1mhello"
echo -e “\033[2mhello"
echo -e “\033[3mhello"
echo -e “\033[4mhello"
echo -e “\033[5mhello"
echo -e “\033[6mhello"
这样用了其中的一个就是一直用默认颜色了。没有结束。ls执行后,就会好了。
reset重置终端
history -a是把命令历史追加到histfile文件中。
文件操作命令:
touch时间戳
cp:copy
SRC,DEST
cp SRC DEST
假如src是一个文件
如果目标是一个文件且存在:覆盖
如果目标存在,且是一个目录:复制源至目标目录,并保持原名。
cp SRC... DEST
假如SRC有多个文件:
如果目标存在,且是一个文件:复制无法进行。
如果目标存在,且是一个目录,复制各文件至目标目录中,并保持原名。
如果目标不存在,复制无法进行。
如果SRC只是一个且是目录:
如果目标是一个文件且存在:失败
如果目标存在,且是个目录:复制源目录至目标目录中。且保持原名
bash特性之五:globbing,文件名统配。
通配符:
*:匹配任意长度的任意字符。
?:匹配任意单个字符。
[]:匹配指定字符范围内的任意单个字符。
通配符不区分大小写。
[a-z]
[A-Z]
[0-9a-zA-Z]
[0-9]
只能用字符集区分大小写。
[[:upper:]]相当于A-Z
[[:lower:]]相当于a-z
[[:alpha:]]相当于a-zA-Z
[[:digit:]]相当于0-9
[[:alnum:]]相当于0-9
[:space:]]空白
[[:punct:]]标点符号。
[^]:匹配指定字符范围外的任意单个字符。
两个cp引用练习引用案例:
cp /var/l*[0-9]*[[:lower:]] /tmp/
cp -r /etc/[^[:alpha:]][[:alpha:]]* /tmp/c
cp常用选线:
-r递归
-f强制
-i交互
-a相当于-dr
-d复制链接文件本身而非指向的源文件。
-p保留原有属性。
mv引动。用法和cp相似。
可以直接移动目录。无须再加-r选项。
rm:移除文件。
删除非空目录:#rm -rf
stat命令:文本编辑器nano
touch改变时间戳
-c不创建空文件,之改变时间戳
-t修改时间。STAMP:[CC]YYMMDDhhmm.ss
-a仅修改访问时间。
-m仅修改修改该时间
改变时间人为不能操作。
touch -t 201402031234.42 /tmp例子
access time,atime 访问时间
modify time,mtime 修改时间
change time,ctime 改变时间
stat命令
stat FILE。。
用户和权限管理:
用户:资源分配。是安全权限模型的核心要素之一。
密码:用户认证。
多用户的操作系统。
信息库:用户 密码名称解析:User Identifier, UID身份表示符。
用户容器:组(group),角色(Role)
组名:Group identifier,GID
解析:在数据库按搜索码查找到对应的条目。并找与之对应额外其他数据过程。
数据库:
文本文件
SQl数据库
ladp数据库
/etc/passwd:用户的信息库。
加密方法:
堆成加密:DES(已被破解),3DES(双层加密),AES(高级加密)。
公钥加密:DSA,SA。
单向加密:雪崩效应,定长输出。不可逆。
MD5:信息摘要128bits
SHA1(安全的hash算法):160bits
CRC32:循环冗余效验码。
SHA256:
SHA512:
密码信息库:/etc/shadow影子文件。
6表示sha512加密算法
1 MD5
组:用户容器,角色
/etc/group
/etc/gshadow
安全上细纹。
创建用户:
useradd UserName
/etc/passwd;
用户名:x:UID:基本组ID:comment信息:HOME:默认shell
useradd:adduser
-u UID:指定UID
-g GID:指定GID,即指定用户的基本组,但GID要事先存在
-G GID:指定用户的额外组,组要事先存在。
-d /path/to/somewhre:指定某个目录成为家目录,而不要使用预设值;
-c "comment“: -c "fedora community" fedora
-s /path/to/shell:指定默认shell,应该指定使用/etc/shells文件中出现的shell。
groupadd GrpName
-g GID:创建组并为其指定GID
-m:创建用户时,强制给用户创建家目录。
-M:创建用户,但不创建家目录。
-D:default,为useradd命令创建的用户指定新的默认值。
-r删除家目录
groupadd GrpName
-g GID:创建组并为其指定GID
userdel:删除用户,默认会保留家目录
格式:userdel UserName
-r::一并删除家目录
总结:
/etc/passwd:
username:x:UID:GID:comment:home:shell
/etc/group:
GrouPname:x:GID:User List
/etc/skel,/etc/default/useradd
设定用户密码:passwd
普通用户:passwd
管理员
改自己密码:passwd
改其他用户密码:passwd Username
密码安全性策略:足够复杂
够长,
交叉应用数字,大写字母,小写字母和特殊中的至少三种:
尽量避免使用易猜测的密码:
定期更换:
用户类别:
管理员:0
普通用户:1-65535
系统用户:1-499
登陆用户:500+
用户组:
管理员组
普通组
以用户为视角,组可为两类:
基本组:显示在/etc/passwd中GID字段组,为用户的基本组。
额外组,附加组:/etc/group
/etc/shadow文件的格式:
UserName:加密的密码:最近一次密码修改时间:最短使用期限:最长使用期限:警告区间。非活动区间:账号的过期期限:预留段
设定组密码:gpasswd GroupName
如何修改用户的属性定义:
修改用的属性定义:
修改用户默认shell:chsh
修改用户注释:chfn
chfn修改用户信息chfn +用户
finger user1查看详细的信息用户。
usermod:
-u UID:
-g GID:
-G GID:默认会覆盖原有的附加组,如果是添加,则同时使用-a
-a添加附加组
-c string:改注释
-d /path/to/New_HOme:默认不会迁移用户的家目录,如果要迁移,则同时使用-m。
-s SHELL:
-l New_login_name:
-L:锁定用户账号
-U:解锁
如何修改组属性定义:
groupmod:
-g GID
-n New_Group_Name:
usermod -u 4004 -g linux -a -G distro,fedora mandriva
chage -m 2 -M 50 fedora 修改用户密码时间
修改账号密码的有效期限:chage
-E:有效期,0表示立即过期,-1表示永不过期
-I:密码过期后,锁定账号的天数
-m:修改密码的最小天数
-M:修改密码的最大天数
-W:密码过期前,开始警告天数
查看用户相关信息id:
id UserName:
-u:显示UID,跟-n一起使用则显示用户名。
-g:显示基本组ID,跟-n一起使用则显示基本组名。
-G:显示所有组ID,跟-n一起使用则显示所有组名。
组管理相关命令总结:
groupadd:
-g 指定组ID号
-r:加入组ID
-f:加入已经有的组
groupmod:修改组属性:
groupdel:删除组
gpasswd:添加组密码
newgrp:切换用户所在用户组命令。登录另一个组中。
su:Switch User
切换用户:
su Username
-登录时切换
不加-是非登录时切换
-l 加这个参数,相当于重新登录为改使用者。
-c ‘COMMAND’:指的就是不用切换到这个用户,用这个用户执行想要的命令。