linux之七天总结

操作系统的基本操作(cp mv ls cd rm mkdir 重定向 管道)
网络基本配置(ifconfig ping mii-tool dhclient)
用户权限(useradd userdel passwd su sudo)
网络安全(iptables tcpdump netstat)
磁盘管理(df mount fdisk gdisk dd mkfs [LVM/磁盘配额])
软件管理(rpm/yum dpkg/apt autconf cmake tar)
启动管理(grub)
服务管理(service)
进程管理(ps top kill pstree)
文本处理(cat head tail find grep wc sort uniq sed awk tr cut)
时间任务(crontab)
脚本(bash shell)

-------------------------------------------------------------------------------
进程管理
    进程: 将程序执行起来,相对操作系统系统对此运行程序起的名字
        软件 -> 程序 -> 进程 -> 线程
    进程管理即管理操作系统之上正在运行的程序
    每个进程都有一个唯一的标识符: PID

    ps  -aux / ps -ef
        列出当前操作系统正在运行的程序(即所有进程)
            进程所属用户
            PID
            CPU/内存使用量
            TTY     此进程使用的输入输出设备文件
                ?  代表此进程为守护进程,不使用I/O设备文件
            进程对应的程序名及参数
            进程状态
                S       可中断睡眠
                D       不可中断睡眠
                R       运行
                T       暂停
                Z       僵尸

    pstree -p   列出当前进程树

    kill    给对应进程发信号
        kill -15 PID
            给对应PID发送终止信号(进程有可能会忽略此信号)
        kill -9 PID
            给对应PID发送杀死信号(此信号不能忽略)

        kill -9 -PID
            给某个进程组发信号

        kill -9 -1
            给所有进程发信号

    top     文本版进程管理器
        实时检测当前进程状态
        q       退出
        空格    立即刷新进程列表
        c       按CPU使用量排序
        m       按内存使用量排序
        ?       得到top帮助信息
        k       选择进程发送信号

    jobs    列出当前终端所有后台进程
        进程组  包含一个或多个进程 组ID为组长的PID
        会话    包含一个或多个进程组
        控制终端    TTY,输入输出的设备, 每个会话只有一个控制终端
        前台进程组  正在使用控制终端的进程组为前台进程组
        后台进程组

        fg 切换会话中的前台进程组
        ctrl + z    将前台进程组放到后台

    后台运行程序: 运行程序后台加&
        例: gedit &

    killall  按进程名发信号
        例: killall -9 vim
-------------------------------------------------------------------------------
软链接(ntfs fat32不支持):
    ln -s 目标路径 软链接路径

BASH SHELL:
    命令历史 history
        !   操作命令历史
        !!      执行命令历史中最后一条命令
        !567    执行命令历史第567行命令
        !ls     执行命令历史从最后向前查找ls关键词的命令
        !$      获取命令历史中最后一条命令的参数

        命令历史记录文件: ~/.bash_history
        清除当前终端的命令历史: history -c

    命令别名 alias
        创建命令别名: alias 命令名称='执行的命令'
            例: alias u='sudo mount 3.3.3.9:/kyo /mnt'
        删除命令别名: unalias 别名名称
            例: unalias u

        命令别名只影响当前终端, 永久生效将命令别名创建到终端配置脚本 ~/.bashrc

    tab补全
        一次为补全
        二次为列表

    快捷键(emacs/vi)
        bash终端使用vi操作方式:
            set -o vi
        bash终端使用emacs操作方式(默认):
            set -o emacs

    特殊字符
        !       命令历史
        ~       家目录
        ``      执行命令,返回命令的结果
        @       不能单独使用 $@
        #       注释
        $       访问变量
        &       后台运行
        *       匹配所有
        $()     与``的功能一样
        []      内部命令,分隔命令使用
        {}      匹配范围
        \       脱义其它特殊字符
        ''      批量完全脱义
        ""      批量不完全脱义 ($不会脱义)
        /       根目录
        .       当前目录
        ..      上一级目录
        -       上次所在目录
        ;       命令结束符(一行执行多条命令)
        |       管道
        > >> < << 重定向
        ?       不能单独使用 $?

-------------------------------------------------------------------------------
查找命令
    which                           查找$PATH变量指定的目录里的命令

        which ifconfig              查出ifconfig命令的路径

    whereis                         查找命令,显示命令更多的信息

        whereis ifconfig            命令路径,帮助文档等

    locate                          文件查找命令

        速度快,通过系统自带的一个数据库去查找

            /var/lib/mlocate/mlocate.db

        locate hello                查找带hello的文件,如果hello是刚刚新建的就找不到,因为数据库还没有没保存现在的信息

        updatedb                    手动更新查找数据库,然后再查找就会很快找到刚刚新建的hello文件


    find                            文件查找命令,功能最强大,速度慢,因为会扫描整个硬盘

        find /etc -name grub.conf   查找/etc目录下的grub.conf文件

        find / -name "*.conf"       查找/下所有.conf文件

        find  / -iname grub.conf    查找/目录下的grub.conf文件,忽略大小写

        find / -maxdepth 2 -name grub.conf     可以使用-maxdepath参数来控制查找的层次,就是说只查当前目录和子目录,最多查2级目录
        find / -mindepth 2 -name grub.conf     最少查二级目录

        find /etc -type d           查找/etc/下所有的目录

        find /etc -type f           查找/etc/下的所有普通文件

        find /etc -type l -name *.conf      查找/etc/下软链接文件是.conf结尾的文件

        find /etc -type s           查找/etc/下所有socket文件

        find /etc -type c           查找/etc/下的所有字符设备文件

        find /etc -type p           查找/etc/下所有管道文件

        find /etc -user root        查找/etc/所属用户是root的文件

        find /etc -group root       查找/etc/所属用户组是root的文件

        find /etc -uid 500          查找/etc/下uid是500的文件,和-user类似

        find /etc -gid 500          查找/etc/下gid是500的文件,和-group类似

        find /etc -nouser           查找没有所属用户的文件

        find /etc -nogroup          查找没有所属用户组的文件

        find /etc -perm 777 -type d    查找/etc/下权限为777的目录

        find . -perm  111           查找权限是111的文件

        find . -size +10M           查找当前目录下大于10M的文件,单位可以有K,M,G,b等

        find / -size -2M            查找根目录下少于2M的文件

        find / -mtime 1             查找根目录下1小时以前修改的所有文件

        find / -mtime +2            查找根目录下2个多小时以前修改的所有文件

        find / -mtime -3            查找根目录下最近3小时内修改的所有文件

        find / -atime 1             查找根目录下1天以前访问或读过的所有文件

        find / -atime -1            查找根目录下最近1天内读过或访问的文件

        find / -ctime -3            查找根目录下最近3天内状态发生改变的文件

        find / -cmin -3             查找根目录下最近3分钟内状态发生改变的文件

        find / -empty               查找根目录下所有空白文件或者空目录

        find / -false               查找根目录下总是错误的文件

        find / -false -exec ls -l {} \;   查找根目录下总是错误的文件并且用ls -l查看

===============================================================================

字符处理工具
    wc                                      统计命令

        wc -c /etc/passwd                   统计/etc/passwd文件里有多少个字符

        wc -w /etc/passwd                   统计/etc/passwd文件里有多少个单词

        wc -l /etc/passwd                   统计/etc/passwd文件里有多少行

    sort                                    排序命令

         sort -n /etc/passwd                按数据排序

         sort -u /etc/passwd                去除重复行显示

         sort -r /etc/passwd                反向排序

         sort -n -k5 /etc/passwd            指定第五列进行按数字排序

         sort -t: -n -k5 /etc/passwd        以:为分隔符指定第五列按数字排序

    cut                                     字段载取

        cut -f1 /etc/passwd                 只显示第一列数据

        cut -f1,2,5 /etc/passwd             只显示第一列,第二列,第五列的数据

        cut -d: -f1,2,5 /etc/passwd         以:为分隔符只显示第一列,第二列,第五列的数据

    uniq                                    去除文件中相邻的重复行

        uniq -u /etc/passwd                 只显示没有被重复过的行

        uniq -d /etc/passwd                 只显示被重复过的行

        uniq -i /etc/passwd                 忽略大小写去除文件中相邻的重复行

        uniq -c /etc/passwd                 统计相邻重复行数

    diff                                    比较文件差异

        diff -B /etc/passwd passwd          忽略空行造成的不同

    grep                                    搜索文本

        grep -i hello /etc/passwd           在/etc/passwd文件里找hello并且忽略大写查找

        grep -n hello /etc/passwd           在/etc/passwd文件里找hello并给结果排号,如果是对目录搜索可以显示在文件里出现的行号

        grep -w hello /etc/passwd           在/etc/passwd文件里找完全匹配hello单词的行

        grep -v hello /etc/passwd           显示出在/etc/passwd文件里没有hello的行

        grep -r hello /etc/                 在etc目录里所有文件里找hello显示

    tr                                      替换字符

        cat /etc/passwd | tr a b            查看/etc/passwd文件并把里面的a替换成b

        tr a-z A-Z  /etc/passwd             把/etc/passwd文件里的小写全转成大写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值