File Management file Management class commands
ls, 查看:cat,more,less,tail,head,tac 复制:cp 移动:mv 删除:rm 创建:touch 元数据属性:stat 查看内容类型:file 文本编辑器:nano,vi
File types for Linux
普通文件:-,f 目录文件:路径映射d 链接文件(符号链接):软连接l 设备文件: 字符设备:c,一次存取一个字符 块设备:b 命名管道:p fi,fo 套接字文件:s
Time stamp for Linux
访问时间:最近一次访问的时间 修改时间:写数据 改变时间:元数据改变的时间
LS uses the default selection of the current directory
-a:显示所有文件,包含隐藏文件 -A:不现实.和..常见的通用路径 --color:显示颜色 -l:长格式显示 文件类型 权限 硬链接数 属主 属组 最近一次的修改时间 文件名->原始文件 -d:显示目录自身的属性,通常与-l同时使用 -r:实现逆序显示 -R:递归显示 -i:inode号,index node -h:文件大小以人类易读格式显示 tree #cd /etc/yum.repos.d/ #wget http://172.16.0.1/centos6.5.repo #rm CenOS-Base.repo #yum -y install tree I
Name resolution: Name Resolving
Feature four of the Bash Shell: command aliases
clear 清屏 alias:当前shell中定义的所有别名: 任何随进程而生的属性,会在进程结束,属性消失 alias 别名=‘原始命令’ unalias 别名 取消定义的别名 在命令前加\使用命令本身,而不是别名
View Plain text files
file FILE..:查看文件内容的格式 cat:将文本连接起来显示在标准输出上 控制符 如换行符 -E --show-ends 显示结束符$ -e:等于-vE -v:显示非打印符 -n:显示每行按顺序编号 -s:将多个连续的空白行合并显示一个空白行 tac:逆序显示文件
Split screen Display
more:只支持向后翻(文件尾部以后) less:支持前后翻 head: -n #:显示前多少行 tail -n # 显示后多少行 -f:
Use of the echo command:
-e \b:删除前面的字符 \t:制表符 \v:垂直制表符 \n:换行符 \0NNN() 开始\033[# # 1 3前景色 颜色(1-7) 4背景色 结束\033[0m -n:不为显示内容自动换行
File operations
CP Copy
cp SRC DEST 假如SRC是一个文件: 如果目标是一个文件且目标存在:覆盖 如果目标文件不存在:创建新文件 如果目标存在,且是个目录:复杂源至目标目录中,并保持原名 cp SRC ... DEST 假如SRC有多个文件: 如果目标存在,且是一个文件:复制无法进行 如果目标存在,且是一个目录:复制各文件至目标目录中,并保持原名 如果目标不存在:复制无法进行 假如SRC只有一个且是目录:-r 如果目标是一个文件且目标存在:失败 如果目标文件不存在:创建新目录 如果目标存在,且是个目录:复制源目录到目标目录中,并保持原名
Common options for the CP command:
-r:递归 -i:提示,交互 -f:强制覆盖 -a: -dr 保留所有的文件信息 -d:当源为连接文件时,复制链接文件本身,而非指向的源文件 -p:保持原有属性
Mv:
移动,剪切,与cp相近 可以直接移动目录,不需要-r选项
Rm:
移除,删除非空目录 rm -rf
Touch: Used to modify timestamps, create empty files
-c:不创建空文件,只修改时间戳 -t:指定时间戳 -a:仅修改访问时间 -m:仅修改修改时间
Stat command: Displays file source data information, details
stat FILE -t 指定特定时间
Linux Editor
行编辑器:sed (使用于脚本)全屏编辑器:nano,vi,vim
Features of Bashshell five: globbing file name wildcard
Wildcard characters:
*:匹配任意长度的任意字符 ?:匹配任意单个字符 []:匹配指定字符范围内的任意单个字符,不区分大小写 [[:upper:]]:大写字母 [[:lower:]]:小写字母 [[:alpha:]]:所有字母 [[:digit:]]:所有数字 [[:alnum:]]:字母+数字 [[:space:]]:空格 [[:punct:]]:标点符号 特殊字符 [^]:匹配指定字符范围外的任意单个字符
Practice
练习一: 复制/var目录下所有1开头,以一个小写字母结尾,且中间出现一位数字的文件或目录至/tmp下 cp /var/l*?*[[:lower:]] /tmp 练习二: 复制/etc/目录下以P开头,中间跟了任意字符,并以d结尾的文件至/tmp/a目录中 cp -r /etc/p*d /tmp/a 练习三:复制/etc/目录下以P开头,中间跟了4个任意字符,并以d结尾的文件至/tmp/a目录中,如果a 不存在,先创建出来 cp -r /etc/p????d /tmp/a 练习四: 复制/etc/目录下以任意一位数字开头,并以非数字结尾的文件至/tmp/b目录中 cp -r /etc/[0-9]*[^0-9] /tmp/b 练习五: 复制/etc/目录下以非字母开头,后面跟了一个字母及其他任何长度字符的文件至/tmp/c目中 cp -r /etc/[^[:alpha:]][[:alpha:]]* /tmp/c/
User and Rights Management:
1. What is a user?
用户:资源获取标识符,资源分配,安全权限模型的核心要素之一 密码:来实现用户认证的
2. No user, can use
能使用
/etc/passwd
Encryption method:
对称加密:如果加密、解密使用相同的密码称之为对称加密 DES,3DES,AES 非对称加密:DSA,RSA 单向加密:雪崩效应,定长输出,不可逆 MD5:信息摘要 128bit定长输出16个字符 SHA1:安全的哈希算法 160bit CRC32:循环冗余校验码
Password database:/etc/shadow
6 sha512 1 MD5 $加密算法$8位盐$乱码 加密 : openssl passwd -1 -salt 12345678 输入密码 然后加密成功
Group
Groups can be understood as a user container that contains this role
File:
/etc/group 组名:密码占位符:GID:用户列表(附加组) /etc/gshadow 密码
Security context:
运行中的进程有其属主和属组:取决于进程的属组和属主
/etc/skel Default Copy file address
/etc/defauit/useradd Define default home directory, Environment profile directory, etc.
User Management commands
To create a user:
useradd UserName生成的属性信息/etc/passwd:用户名:x(密码占位符):UID:GUID(基本组ID):用户备注信息(多个以,隔开):家目录:默认shell/etc /shells:当前系统的安全shell列表
Useradd:adduser
-u UID:指定UID -g GID:指定GID,即用户的基本组,但GID要事先存在 -G GID:指定用户的额外组,但GID要事先存在 -d 目录: 指定家目录 -c 备注:备注 -s:shell:指定默认shell,应该指定使用/etc/shells文件中出现的shell -m:创建用户时,强制给用户创建家目录 -M:创建用户时,但不创建家目录 -D: 改变其默认shell -r: 创建系统用户 特点:id 1-499 不会为用户创建家目录 默认shell为/sbin/nologin id Username :显示用户的id号
Userdel: Delete user, home directory is reserved by default
userdel UserName
Groupadd GrpName
-g GID:创建组并为其指定GID
User Category
管理员:0普通用户:1-65535 系统用户:1-499 登 陆用户:500+
User groups:
管理员组: 普通组: 以用户为视角,组可以分为两类: 基本组:显示在/etc/passwd中GID字 段组,为用户的基本组 额外组:附加组:/etc/group
Set User password: passwd
普通用户:passwd 管理员: 改自己密码:passwd改其他用户密码:passwd UserName -l:锁用户 用户密码前加两个! -u:解锁
Password security Policy: complex enough
够长、交叉应用数字、大写字母、小写字母和特殊字符中的至少三种 尽量避免使用易猜测的密码: 定期更换:
/etc/shadow file Format:
登陆名:加密密码:最近一次的密码修改时间(距离1970-1-1的时间):最短使用期限:最长使用期限:警告区间:非活动区间(登陆就要修改密码):账号的过期期限:预留段 -l: 锁用户设定组密码:gpasswd GroupName
To modify a user's attribute definition (CHSH):
chsh:修改默认的shell chfn:修改用户注释
Usermod: Similar to useradd command use method
-u UID: -g GID: -G GID:默认会覆盖原有的附加组,如果要是添加,可以同时使用-a选项 -c string -d new home 默认不会迁移用户的家目录,如果要迁移,同时使用-m选项 -s SHELL: -l New_login_name:修改用户登录名称 -e 过期期限 -f 非活动期限 -L:锁定用户账号 -U:解锁
How to modify a group property definition:
groupmod: -g GID -n New Group 修改用户的属组 groupdel gpasswd
To modify the account date attribute:
chage:修改用户的日期属性 -E:距离1970-1-1号的时间天数,过了这个时间,账号不可访问 -I: 设置活动天数 -m:修改密码最小使用时间 -M:修改密码最长使用时间 -W:警告时间
To view information about a user:
id -n 显示名称 -u 显示UID -g:显示基本组ID -G:显示所有组ID who 显示当前登录用户 whoami:显示当前终端登录的用户 su:Swith User 切换用户 -l:登陆式切换 -c:不切换用户,直接执行命令
Practice
1. Create a user Mandriva, where the ID number is 2002 and the base Group is distro (group ID 3003) The additional group is Linux
useradd -u 2002 -g distro =G linux mandriva
2. Create a user fedora with the full name of Fedora Community, which is the default shell of TCSH
3. Modify Mandriva with ID number 4004, Basic Group Linux, additional group distro and Fedora
usermod -u 4004 -g linux -G distro,fedora
4. Add a password to Fedora and set its password to a minimum of 2 days for a maximum of 50 days
passwd fedora
5. Change the default shell of Mandriva to/bin/bash
usermod -s /bin/bash mandriva
The answer is not unique
# Linux Learning log (ii) user