常用shell

Shell

    Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口
    Shell接收用户输入的命令然后送入内核去执行

    Shell起着协调用户与系统的一致性和在用户和系统之间进行交互的作用

   

    Shell命令解释过程

            用户提交命令后,Shell先判断它是否是内置命令,如果是就通过Shell内部的解释器将其解释为系统功能调用并转交给内核执行,若是外部命令或实用程序就试图从硬盘中查找该命令并调入内存,再将其解释为系统功能调用并转交给内核执行

   

    常见Shell版本:bash   ksh  tcsh等
    Shell元字符
        *   代表任意字符串
        ?   代表任意字符
        $   变量值置换
        '     '...'中字符当做文字处理
        "    "..."中间的字符当做文字处理并允许变量值置换
        `   命令替换
    通配符
        *   匹配任何字符和任何数目的字符
       ?  匹配单一数目的任何字符
       []    匹配[]之内的任意字符
       [!]   匹配除了[!]之外的任意一个字符

文本处理命令

    1.cat 显示文本内容
       cat [参数] [<文件>...]
       参数:-n 由1开始对所有输出编号
                   -b 不对空行编号   
    2.more 分屏显示文本文件
       more [参数] [<文件>...]
       参数:+num  从num行开始
    3.head 显示文件前面
       head -5(显示前5行,不指定参数就显示前10行) file
    4.tail 显示文件后面
       tail [参数] [<文件>...]
       参数:-n  显示后n行,不指定显示后10行
                  +n  从第n行显示到文件尾部
                   -F  用于跟踪显示不断增长的文件结尾内容(用于显示日志)
    5.cut  纵向切割文本指定部分并写道标准输出
       cut [参数] [<文件>...]
    6.paste 纵向合并多个文本写到标准输出
       paste [参数] [<文件>...]
    7.uniq 删除文本文件中相邻的重复的行并写到标准输出
       uniq [参数] [<输入文件> [<输出文件>]]
    8.wc  统计文本文件的行数,字数,字符数
       wc [参数] [<文件>...]
       参数:-c  输出字节数统计
                   -l   输出行数统计
                   -L  输出最长一行的长度
                   -w 输出单词数统计
    9.expand  将文件中的制表符转换为空格,写到标准输出
       expand [参数] [<文件>...]
    10.unexpand 将文件中的空格转换为制表符,写到标准输出
         unexpand [参数] [<文件> …]
    11.iconv  将文件从一种编码转换成另一种编码
         iconv [参数] <输入文件>
         常用参数:
                 -f <encoding> : 指定原始文本编码
                 -t <encoding> : 指定要转换的编码
                 -l : 列出所有已知编码字符集
                -c : 忽略输出中的无效字符
                -o <output file> : 指定输出文件,而不是在标准输出上显示

文件与目录操作命令

    1.ls  显示文件和目录列表
       ls [参数] [<文件或目录> …]
       常用参数:
               -a : 不隐藏任何以 . 字符开始的条目
                -l : 使用较长格式列出信息
    2.pwd 显示当前工作目录
       pwd -P(若目录是一个符号链接,显示的是物理路径而不是符号链接)
    3.mkdir 创建目录
       mkdir -p(创建目录树, 需要时创建上层目录,如目录已存在也不视作错误) some/path/dir/
    4.rmdir 删除空目录
       rmdir -p(删除目录,然后尝试删除指定路径中的所有上层目录) some/path/dir/
    5.touch 生成新的空文件或更改现有文件的时间戳
    6.cp 复制文件或目录
       cp [参数] <源> <目标>
       常用参数:
                -d : 当复制符号链接的源文件时,目标文件也将创建符号链接且指向源文件所链接的原始文件
                -f : 强制复制,不管目标是否存在
                -i : 交互式复制, 覆盖文件前需要确认
                -p : 在复制文件过程中保留文件属性,包括:属主、组、权限与时间戳
                -R, -r : 递归地复制目录及目录内的所有项目
    7.mv 移动文件或目录、文件或目录改名
       mv [参数] <源> <目标>
       常用参数:
               -f : 强制移动,不管目标是否存在
               -i : 交互式移动, 覆盖文件前需要确认
    8.rm 删除文件或目录
       rm [参数] <文件> …
       常用参数:
               -f : 略过不存在的文件,不显示任何信息
               -i : 进行任何删除操作前必须先确认
               -r, -R : 递归删除该目录下的所有目录层
    9.ln 创建链接文件
       ln [参数] <被链接的文件> <链接文件名>
       常用参数:
               -s : 创建符号链接,而非硬链接
               -f : 强行创建链接,不论其是否存在
               -i : 覆盖原有文件之前先询问用户
    10.tar 文件打包和解包
         tar [参数] <目录> …
         常用参数:
                  -f name : 使用nam e指定存档文件名或设备名
                  -v : 列出处理的详细信息
                  -c : 用于创建一个新的存档文件
                  -x : 从归档文件中恢复备份文件
                  -t : 用于列出一个存档文件中的文件名
                  -z : 用GNU的gzip压缩文件或解压
                  -Z : 用com pre ss压缩文件或解压
                   -j : 用bzip2压缩文件或解压

信息显示命令

    1.uname 显示系统信息
       uname [参数]
       常用参数:
               -a : 显示全部的信息
               -s : 显示内核名称(kernel name)
               -r : 显示内核版本(kernel release)
               -v : 显示内核版本类型及发布时间(kernel version)
               -m : 显示计算机系统架构类型,等同于arch命令
               -n : 输出网络节点上的主机名
               -o : 显示操作系统名称
    2.uptime 显示从开机到当前的时间
    3.dmesg  显示开机信息
    4.file 显示文件类型
       file [参数] [<文件或目录> …]
       常用参数:
               -z : 探测压缩过的文件类型
               -L : 直接显示符号链接所指向的文件类型
               -f namefile : 从文件namefile中读取要分析的文件名列表,让file依次辨识这些文件的类型。namefile的格式为每行一个文件名。如果要检查标准输入,使用 - 作为namefile 参数。
               -v : 在标准输出后显示版本信息
    5.stat  从inode中提取并显示文件状态信息或文件系统信息
       命令格式: stat [参数] [<文件> …]
       常用参数:
               -f : 显示文件系统信息
               -t : 使用简洁格式输出信息
               -L : 跟随链接
    6.du 统计文件的磁盘用量,目录取总用量
       du [参数]
       常用参数:
               -c : 显示所有项目相加后的总用量
               -h : 使用人类习惯的方式显示
               -s : 只分别计算命令列中每个参数所占的总用量
               -S : 不包括子目录的占用量
               -x : 忽略不同文件系统上的目录
               --max-depth=N : 值统计 N 层目录,N为整数
    7.df 查看磁盘剩余情况
       df [参数]
                -h : 以人类容易理解的格式显示
                -i : 显示 inode 的使用量而非块的使用量
                -l : 仅显示本地的文件系统
                -t <fstype> : 仅显示指定类型文件系统的使用量
                -x <fstype> : 不显示指定类型文件系统的使用量
    8.top  实时显示进程任务
       top [参数]
       常用参数:
                -c : 显示每个进程的完整指令
                -u <user> : 只显示指定用户账号的进程
                -i : 忽略僵死进程
               -s : 使用安全模式消除互动模式下的潜在威胁
    9.free 显示内存使用状态
       free [参数]
       常用参数:
               -b : 以Byte为单位显示内存使用情况
               -k : 以KB为单位显示内存使用情况
               -m : 以MB为单位显示内存使用情况
               -s <sec> : 持续观察内存使用状况,<sec> 为时间间隔秒数
               -t : 显示内存总和
    10.which 在环境变量 PATH 设置的目录下查找指定文件的位置
          which [参数] <文件> …
          常用参数:
                  -a : 显示所有匹配的路径
    11.whereis 在特定目录中查找符合条件的文件(包括二进制文件、手册页文件、源码文件)
          whereis [参数] <文件> …

基本网络操作命令

    1.telnet 用Telnet协议与另一个主机通讯
       telnet [参数] [<主机名[端口]>]
    2.ssh 使用SSH协议登录远程主机的客户端
       ssh [参数] [-l login_name] [hostname | [username@]hostname] [command]
    3.scp 基于SSH协议在本地主机和远程主机之间复制文件
       scp [[user@]host1:]file1 [...] [[user@]host2:]file2
    4.ftp ftp字符界面客户端
       ftp [参数] [主机名]
    5.wget 使用 HTTP 和 FTP 协议,支持代理服务器和断点续传,是基于控制台最强大的下载工具。
       wget [参数] <URL>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值