前文回顾 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:
本文出自 “水滴石穿” 博客,请务必保留此出处http://shugao.blog.51cto.com/2396914/549000