目录

快速教程:常用命令

基本格式

命令 [选项] [参数]

目录操作命令

  • ls: 常用
    • ls -l(ll)
    • ls -a
  • cd: 目录切换
    • cd -:上次所在目录
    • cd .:当前目录
    • cd ..:上级目录
    • cd ~:用户家目录
    • pwd:当前所在目录
    • mkdir:创建空目录
      • mkdir -p 递归创建所有目录
    • rmdir:只能删除空目录
      • rmdir -p 递归删除

文件操作命令

  • touch: 创建空文件
  • stat: 查看文详细信息,最近访问时间,修改时间等
  • cat: 查看文件内容
    • -A: 相当于-VET,列出所有隐藏符号
    • -E: 列出每行结尾的回车符$
    • -n: 显示行号
    • -v: 列出特殊字符
  • more:分屏显示
  • less:同more,分行显示
  • head:显示文件开头
    • -n:行数
    • -v:显示文件名
  • tail:显示文件结尾
    • -n:行数
    • -f:监听文件新增内容
  • ln:建立链接 ln [选项] 源文件 目标文件
    • -s:建立软链,不加则建立 硬链
    • -f:强制,如果目标文件已存在,则覆盖
    • 硬链:拥有相同inode,block;修改任意一个,另一个改变;删除任意一个,另一个都能用;不能链接目录;不能跨分区;
    • 软链:与硬链相反;不论源多大,软链大小不变;

目录和文件通用

  • rm:rm [选项] 文件或目录
    • -f:强制删除
    • -i:交互删除
    • -r:递归删除
  • cp:cp [选项] 源文件 目标文件
    • -a: 相当于-dpr集合
    • -d: 如果源为软链,则复制出的也是软链
    • -i: 询问是否覆盖
    • -p: 复制后目录文件保留源文件属性
    • -r: 递归复制
  • mv:mv [选项] 源文件 目标文件
    • -f: 强制覆盖
    • -i: 询问
    • -v: 显示详细信息

基本权限管理

  • 例:-rw-r–r–(共10位):

    • 1位:文件类型: -普通文件;b块设备;c字符设备;d目录文件;l软链;p管道符;s套接字;
    • 2-4:所有者权限:r读;w写;x执行;
    • 5-7:所属组权限
    • 8-10:其他人权限
  • 权限命令:

    • chmod: chmod [选项] 权限模式 文件名

      • 权限模式: [ugoa][+-=][perms] 即[用户身份][赋予方式][权限] 用户身份:u所有者; g所属组; o代表其他人; a代表全部身份; 赋予方式:+加入权限; -减去权限; =设置权限
      • 数字权限: r=4; w=2; x=1;
      • 常用权限: 644(所有者读写;所属组织和其他人只读); 755;777;
    • chown: 修改文件和目录的所有者和所属组的命令(普通用户无法修改)

      chown [选项] 所有者:所属组 文件或目录

    • chgrp: 修改文件和目录的所属组的命令

    • umask: 查看系统默认权限

      对文件:新建时最大666 对目录:新建最大777

帮助命令

  • man: 显示联机帮助手册 man[选项] 命令
    • -f:查看拥有哪个级别
    • -k:查看所有帮助
  • info: 一套完整的资料
  • help: 只能读取shell内置命令
  • –help:常用

搜索命令

  • whereis: 搜索系统命令的命令,不能搜普通文件

  • which: 同whereis, 但which可以找到别名命令

  • locate: 按照文件名搜索普通文件命令(搜索快, 但只能通过文件名搜索) 需在/etc/updatedb.conf中配置生效

  • find:

    按文件名: find 搜索路径 [选项] 搜索内容
    			-name:按文件名
    			-iname:按文件名,不区分大小写
    			-inum:按inode号
    按文件大小: find 搜索路径 [选项] 搜索内容
      -size [+|-]大小
    按修改时间搜索: find 搜索路径 [选项] 搜索内容
      -atime [+|-]时间: 按文件访问时间搜索
      -mtime [+|-]时间: 按文件修改时间搜索
      -ctime [+|-]时间: 按文件状态修改时间搜索
      例: -5代表5天内修改; 5代表5-6天那一天修改; +5代表6天前修改
    按照权限搜索: find 搜索路径 [选项] 搜索内容
      -perm 权限模式: 等于权限模式的文件
      -perm -权限模式: 全部包含权限模式的文件
      -perm +权限模式: 包含权限模式的任意一个权限的文件
    按照所有者和所属组:
      -uid 用户id
      -gid 组id
      -user 用户名
      -group 组名
      -nouser
    按照文件类型搜索: 
      -type d: 查找目录
      -type f: 查找普通文件
      -type l: 查找软链
    逻辑运算符:
      -a: and逻辑与
      -o: or
      -not: not
    -exec: find 搜索路径 [选项] 搜索内容 -exec 命令2 {} \; 即将结果交给命令2处理
    -ok: 同-exec,只是会询问
  • grep: 提取和匹配符合条件的字符串行 grep [选项] “搜索内容” 文件名

    -i:忽略大小写
    -n:输出行号
    -v:反向查找 
    --color=auto: 关键字用颜色显示
  • find与grep区别:

    find:搜索符合条件的文件名,如需要模糊,则使用通配符完全匹配
    grep:搜索符合条件的字符串,如需模糊,使用正则包含匹配
    			通配符:匹配文件名,完全匹配
    				?:  匹配一个任意字符
    				*:  匹配0或多个任意字符
    				[]: 匹配括号中的任意一个字符
            [-]:匹配括号中的任意一个字符,但~代表范围, 如[a-z]
    				[^]:与上相反, 如[^0-9]
    			正则: 匹配字符串,包含匹配
    				?:  匹配前1个字符重复0次或1次
    				*:  匹配前1个字符重复0次或任意多次
    				[]: 匹配括号中的任意一个字符
    				[-]:匹配括号中的任意一个字符,但~代表范围, 如[a-z]
    				[^]:与上相反, 如[^0-9]	
    				^:  匹配行首
    				$:  匹配行尾
  • |:管道符 命令1|命令2(命令1的正确输出作为命令2的操作对象)

    例1: ll -a /etc/ | more 例2: netstat -an | grep 'established' | wc -l

  • 命令别名设置: alias 别名=‘命令名’

  • 常用快捷键:

    tab: 补全
    ctrl + a: 光标移动到开头
    ctrl + e: 行尾
    ctrl + c: 强制终止当前命令
    ctrl + l: 清屏,相当于clear
    ctrl + u: 删除或剪切光标之前的命令
    ctrl + y: 粘贴剪切的内容

压缩和解压缩

  • .zip:

    zip: zip [选项] 压缩包名 源文件或源目录
    			-r:压缩目录
    unzip: unzip [选项] 压缩包名
      -d: 指定解压缩位置
  • .gz:

    gzip: gzip [选项] 源文件
    			-c:将压缩数据输出到标准输出,可以用于保留源文件
    			-d:解压缩
    			-r:压缩目录
    gunzip: 同gzip -d
  • .bz2:

    bzip2 [选项] 源文件	
    			-d: 解压缩
    			-k: 压缩时, 保留源文件
    			-v: 显示压缩详细信息
    bunzip2: 同bzip2 -d
  • .tar

    tar: tar [选项] [-f 压缩包名] 源文件
      -c: 打包
      -f: 指定压缩包的文件名
      -v: 显示打包文件过程 
    tar: tar [选项] 压缩包
      -x:解打包
      -f:指定压缩包文件包
      -v:显示解打包过程 
      -t:测试,不解包,只看包中文件
  • .tar.gz/.tar.bz2:

    压缩: tar -zcvf/jcvf 压缩包 源文件
    解压: tar -zxvf/jxvf 压缩包

关机和重启

  • sync:刷新文件系统缓冲区

  • shutdown: shutdown [选项] 时间 [警告信息]

    -c: 取消已经执行的shutdown命令
    -h: 关机
    -r: 重启
  • reboot: 重启

  • halt/poweroff: 关机,不建议使用

  • init: 修改运行级别, init 0

常用网络命令

  • 配置ip地址: setup工具 或 vim /etc/sysconfig/network-scripts/ifcfg-eth0 (手动配置)

  • 重启网络服务: service network restart

  • ifconfig:查看ip

  • ping:通过icmp协议进行网络探测 如: ping -b -c 3 192.168.1.255 -b:对整个网段进行探测 -c:指定ping的次数 -s:指定探测包大小

  • netstat:网络状态查看命令,查看本机开启端口和网络连接

    -a: 列出所有网络状态
    -c 秒: 每隔几秒刷新一次网络状态
    -n: 使用ip和port显示
    -p: 显示Pid和程序名
    -t: 显示tcp协议端口使用状况
    -u: 显示Udp协议端口使用状况
    -l: 仅显示监听状态连接
    -r: 显示路由表
    
    State常见状态: 
      LISTEN:监听状态,只有TCP需要监听
      ESTABLISHED:建立连接状态
      SYN_SENT:发起包,主动发起连接数据包
      SYN_RECV:接收到主动发起包
      FIN_WAIT1:正在中断
      FIN_WAIT2:已经断开
      TIME_WAIT:连接中断,但套接字依然等待结束
      CLOSED:套接字没有被使用
  • write:向其他用户发送信息

  • wall:向所有用户发送信息

  • mail:发送邮件

系统痕迹命令

  • w:显示登录的用户,和正在做什么
  • who:和w类似,显示内容更加简单
  • last:查看所有登录过的用户,查看的是/var/log/wtmp日志文件
  • lastlog:查看系统中所有用户最后一次登录的时间和命令
  • lastb:查看错误登录的信息

挂载命令

mount:
		-l:查看已经挂载的设备
		-a:依据/etc/fstab内容,自动挂载