-rw-r--r-- 文件类型(-文件 d目录 l软链接) rw- r-- r-- u所有者 g所属组 o其他人 r读w写x执行 组 kb 最后一次修改时间 -rw-r--r--. 1 root root 18 Dec 28 2013 .bash_logout -rw-r--r--. 1 root root 176 Dec 28 2013 .bash_profile -rw-r--r--. 1 root root 176 Dec 28 2013 .bashrc 文件搜索命令 文件搜索locate yum install mlocate locate 文件名 (查不到新建的文件,一天一更新数据库 可以使用updatedb命令更新) 文件搜索find find / -name 文件名 find / -iname 文件名 # 不区分大小写搜索 find / -nouser # 查找没有所有者的文件 find / -user root # 查找所有者为root的文件 find /var/log/ -mtime +10 # 查找10天前修改的文件 -10 10天内修改的文件 10 10天当天修改的文件 +10 10天前修改的文件 atime 文件访问时间 ctime 改变文件属性 mtime 修改文件内容 find / -size 25k -25k 小于25KB的文件 25k 等于25KB的文件 +25k 大于25KB的文件 * 匹配任意字符 ? 匹配任意一个字符 [] 匹配任意一个中括号内的字符 命令搜索whereis与which whereis 只能查系统命令(不能查文件) -m 只看文档 -b 只看路径 whereis ls which 只能查系统命令(不能查文件) which ls (可以看见文件的别名) 字符串搜索grep(在文件中查找字符串) -i 忽略大小写 -v 取反 grep xxx /root/xxx.txt find与grep区别 find 查找文件 grep 在文件中查找字符串 帮助命令 man man ls # 查看ls详细帮助文档 man -k password # 列出所有包含password相关的帮助 等同 apropos password man -f ls # 查看帮助级别 等同 whatis ls ls --help 压缩命令 zip 压缩文件 常见压缩格式: .zip .gz .bz2 .tar.gz .tar.bz2 zip 压缩文件名.zip 源文件 # 压缩文件 zip -r 压缩文件名.zip 源目录 # 压缩目录 unzip 解压缩 unzip 源文件.zip tar 文件打包 tar -cvf 打包文件名 源文件 -c 打包 -v 显示过程 -f 指定打包后的文件名 tar -cvf longzls.tar longzls tar 解打包 tar -xvf longzls.tar -x 解打包 tar.gz 压缩文件 tar -zcvf 压缩文件名.tar.gz 源文件 -z: 压缩为.tar.gz 格式 tar.gz 解压缩文件 tar -zxvf 压缩包.tar.gz -z: 解压缩.tar.gz格式 tar.bz2格式压缩 tar -jcvf 压缩包.tar.bz2 源文件 -j 压缩为.tar.bz2 格式 tar.bzt格式解压缩 tar -jxvf 压缩包.tar.bz2 -j: 解压缩.tar.bz2格式 指定到压缩目录 tar -zxvf 压缩包.tar.gz -C /temp/ -C 指定目录 shutown 命令 shutdown [选项] 时间 -c 取消前一个关机命令 -h 关机 -r 重启 reboot 重启命令 logout 退出登录 文件挂载命令 mount mount 查看系统已挂载的设备 mount -a # 依据配置文件/etc/fastab的内容,自动挂载 mount [-t 文件系统] [-o特殊选项] 设备文件名 挂载点 -t文件系统:加入文件系统类型来制定挂载的类型,可以是ext3,ext4,ios9660等文件系统 -o特殊选项:可以指定挂载的额外选项 mount xxx /mnt/xxx 卸载命令 umount /mnt/xxx w 查看用户登录信息命令 who 查看用户登录信息命令 last 查看登录用户信息 lastlog 查看所有用户登录信息 常用快捷键 ctrl + a 光标移动到行首 ctrl + l 清屏 ctrl + u 光标位置删除到行首 ctrl + e 光标移动到行尾 ctrl + z 把命令放入后台执行 ctrl + r 在历史命令中搜索 历史命令 history [选项] [历史命令] -c 清空历史命令 -w 把缓存中的历史命令写入历史命令保存文件~./bash_history 写入环境变量配置文件 vim ~/.bashrc # root 用户下的环境变量配置文件 每个用户下都有自己的配置文件 source .bashrc # 刷新配置文件 alias 别名 alias 查看系统别名 alias ls='ls --color=auto' # 设置系统别名 unalias 别名 # 删除别名 shell 脚本 echo "hello word" -e 支持特殊符 ( ...) echo "e[1;31m 张三 e[0m" # e使用颜色 1开启颜色 31m颜色类型 e[0m 结束颜色 标准输入输出 0 标准输入 1 标准输出 2 标准错误输出 输出重定向 标准输出重定向 命令 > 文件 # 覆盖的方式 命令 >> 文件 # 追加的方式 标准错误输出重定向 命令 2> 文件 # 覆盖 命令 2>> 文件 # 追加 正确输出和错误输出同时保存 命令 > 文件 2>&1 # 覆盖内容,正确和错误都输出到指定文件中A 命令 >> 文件 2>&1 # 追加内容,正确和错误都会追加到指定文件中B 命令 &> 文件 # 覆盖同A 命令 &>> 文件 # 追加同B ls &>/dev/null # 丢弃记录 命令 >> 文件A 2>>文件B # 正确的输出到文件A,错误输出到文件B 逻辑与 || , && , ; || 逻辑与 && 并且 ; 命令分隔符 管道符 | 前一个命令执行结果,作为后一个命令执行对象 netstat -an | grep 80 | wc -l 用netstat的查询结果作为对象,再用grep查询包含80关键字的行,再用wc统计行数 命令1 | 命令2 # 第一条命令需正确执行 通配符 ? 匹配一个任意字符 * 匹配0个或任意多个字符,匹配任何内容 [] 匹配任意括号中的一个字符[abc]匹配a或者b或者c [-] 匹配括号中一个范围[0-9] 匹配0-9任意一个数 [^] 匹配括号中一个范围[^0-9] 匹配不是数字的字符 特殊符号 `` 和 $() # aa=`ls` == aa=$(ls) '' # 字符串 "" # 可识别特殊符号 # # 注释符号 $ # 调用变量 # 转义符 vim编辑器 vim +3 xxx.txt # 打开文件光标定位到第三行 vim + xxx.txt # 打开文件光标定位最后一行 vim aa bb cc # 同时打开多个文件:n切换下个文件 :prev和:N切换上一文件 :w 保存 :q 退出 :! 强制执行 :ls 列出打开的文件 :n 下一个 :N 上一个 :14 定位行 /xxx 查询xxx字符串 ?xxx 光标处向前查询 hjkl 光标移动 用户和用户组 groupadd sexy # 创建用户组 groupadd -g 888 sexy # 创建用户组指定编号 useradd -g sexy sdf # 创建用户并加入用户组 # 未指定用户组系统会默认创建同名的用户组 useradd -d /home/xxx jzmb # 创建用户并指定用户目录(默认会创建同名目录) usermod -l newuser sdf # 修改用户名 usermod -c 注释 sdf # 给用户添加注释 usermod -g sexy sdf # 切换用户组到sexy userdel -r sdf # -r删除文件并删除用户 passwd -l sdf # 锁定用户 passwd -u sdf # 解锁用户 passwd -d sdf # 免密登录 查看所有进程 ps aux ps -le