• linux


    ====================实验楼===================
    touch:创建一个文件
    cd:进入目录
    pwd:查看当前所在目录
    ctrl+c:强行终止当前程序
    ls:查看
    tab:补全命令、补全目录、补全命令参数
    键盘向上键:恢复之前输入过的命令
    shift+up:将终端显示向上翻滚
    shift+down:将终端显示向下翻滚
    ctrl+a:将光标移至输入行头,相当于home键
    ctrl+e:将光标移至输入行末,相当于end键
    touch love_{1..10}_linux.txt:一次性创建10个从love_1_linux.txt到love_10_linux.txt个文件。注意:大括号里面只有两个..
    n:切换到下一个关键字所在处
    shift+n:上一个关键字所在处
    space:翻页
    enter:向下滚动一行
    j,k:向前或向后滚动一行
    q:退出
    h:显示帮助
    exit/ctrl+d:退出当前用户跟退出终端一样
    cat:用于读取指定文件的内容并打印到终端输出
    sort:将读取的文本进行一个字典排序再输出
    etc/group:包括用户组、用户组口令、GID、该用户组所包含的用户  如:group_name:password:GID:user_list 即:shiyanlou:x:5000:   x:表示密码不可见



    ========================文件权限=================================
    linux上不通过文件后缀名来区分文件的类型。一个目录同时具有读权限和执行权限才可以打开并查看内部文件,而一个目录要有写权限才允许在其中创建其他文件。


    =======================linux目录结构及文件基本操作================
    FHS:文件系统层次结构标准,FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录同时还给出了例外处理和矛盾处理。
    两层规范:
    第一层:/下面的各个目录应该要放什么数据文件
    /etc:放设置文件
    /bin与/sbin:放可执行文件
    第二层:针对/usr与/var这两个子目录
    /var/log:放系统登录文件
    /usr/share:放共享数据


    cd:切换用户  .表示当前目录 ..表示上一级目录(以.开头的文件都是隐藏文件,所以这两个目录都是隐藏的,可以使用ls -a 命令查看隐藏文件)
        - 表示上一次所在目录,~通常表示当前用户的home命令。使用pwd命令可以获取当前所在路径(绝对路径)

    绝对路径:以根“/”目录为起点的完整路径,以所要到的目录为终点 如:/usr/local/bin
    相对路径:相对于当前目录的路径
    在进行目录切换的过程中多使用tab键补全,可避免输入错误,连续按两次tab可以显示全部候选结果

    -p参数:同时创建父目录    mkdir -p father/son/grandson

    cp:使用cp命令复制一个文件到指定目录


    ==========================环境变量与文件查找============================================
    declare:创建变量
    echo和$:用于读取变量的值

    declare temp
    temp=shiyanlou
    echo $temp

    set、env、export:用于打印环境变量信息
    为了与普通变量区分,通常我们习惯将环境变量名设为大写。

    .profile:只对当前用户永久生效
    /etc/profile:对所有用户永久生效
    如果想要添加一个永久生效的环境变量,只需打开/etc/profile,在最后加上想添加的环境变量

    unset:删除一个环境变量
    source:让环境变量立即生效  如: $source .zshrc

    搜索文件:whereis,which,find,locate
    whereis:简单快速
    locate:快而全


    =======================寻找文件=====================================
    find,chmod,chown

    =======================文件的打包与压缩=============================
    linux上常用的压缩、解压工具,zip,rar,tar

    使用zip打包文件夹:$ zip -r -q -o shiyanlou.zip /home/shiyanlou
                       $ du -h shiyanlou.zip
                       $ file shiyanlou.zip
    将实验楼的home目录打包成一个文件,并查看打包后文件的大小和类型。第一行命令中,-r参数表示
    递归打包包含子目录的全部内容,-q参数表示为安静模式,即不向屏幕输出信息,-o表示输出文件,
    需在其后紧跟打包输出文件名。后面使用du命令查看打包后文件的大小。

    设置压缩级别 -[1-9],重新打包:
    $ zip -r -9 -q -o shiyanlou_9.zip /home/shiyanlou -x ~/*.zip
    $ zip -r -9 -q -o shiyanlou_1.zip /home/shiyanlou -x ~/*.zip
    1表示最快压缩但体积大,9表示体积最小但耗时最久,-x排除上一次创建的zip文件,否则又会被
    打包进这一次压缩。注意:这里只能使用绝对路径,否则不起作用。


    du:分别查看默认压缩级别、最低、最高压缩级别及未压缩的文件的大小。

    unzip:使用unzip命令解压缩zip文件

    使用-e 创建加密压缩包:
    $ zip -r -e -o shiyanlou_encryption.zip /home/shiyanlou

    windows中的换行为CR+LF,linux上的为LF,使linux创建的zip压缩文件在windows上解压后没有问题
    (如换行),需做如下修改
    $ zip -r -l -o shiyanlou.zip /home/shiyanlou
    -l参数将LF转换为CR+LF

    使用unzip命令解压缩zip文件:
    将shiyanlou.zip解压到当前目录   $ unzip shiyanlou.zip
    使用安静模式,将文件解压到指定目录: $ unzip -q shiyanlou.zip -d ziptest
    只查看压缩包的内容,用-l参数: $ unzip -l shiyanlou.zip

    linux默认编码格式为utf-8,windows中如果有包含中文的文档或以中文作为文件名时默认采用gbk或其他编码。
    用 -O(英文字母大写O)参数指定编码类型: unzip -O GBK 中文压缩文件.zip
     
    ======rar

    rar的命令参数没有-
    1.从指定压缩包文件中删除某个文件:
      $ rar d shiyanlou.rar .zshrc


    ======tar
    创建一个tar包:$ tar -cf shiyanlou.tar ~

    -C表示创建一个tar包文件  -f用于指定创建的文件名,文件名必须紧跟在-f之后

    解包一个文件(-x参数)到指定路径的已存在目录(-C参数):
    $ mkdir tardir
    $tar -xf shiyanlou.tar -C tardir

    只查看不解包文件 -t 参数:
    $ tar -tf shiyanlou.tar

    创建不同压缩格式的文件:使用gzip工具创建*.tar.gz   使用tar,只需换一个参数。在tar文件的基础上添加-z参数
    $ tar -czf shiyanlou.tar.gz~
    解压*.tar.gz文件
    $ tar -xzf shiyanlou.tar.gz

    压缩文件格式    参数
    *.tar.gz         -z
    *.tar.xz         -J
    *tar.bz2         -j


    常用命令:
    zip:   打包:zip something.zip something(目录请加-r参数)
           解包:unzip something
           指定路径:-d参数
    tar:   打包:tar -zcvf something.tar something
           解包:tar -zxvf something.tar
           指定路径:-C参数
           
           
           
           
    =================================文件系统操作与磁盘管理===================================================      
    df:查看磁盘的容量

    -h:以更易读的方式展示
    -d:参数指定查看目录的深度      如: $ du -h -d 0 ~    (查看1级目录的信息)
                                        $ du -h -d 1 ~    (查看2级目录的信息)
                                   
                                   
    使用dd命令创建虚拟镜像文件
    从/dev/zero设备创建一个容量为256M的空文件: $ dd if=/dev/zero of=virtual.img bs=1M count=256
                                                $ du -h virtual.img
    使用mkfs格式化磁盘
    输入sudo mkfs 然后按下Tab键,可以看到很多以mkfs为前缀的命令
    下面将虚拟磁盘镜像格式化为ext4文件系统:
    $ sudo mkfs.ext4 virtual.img

    mount:查看主机已经挂载的文件系统         $sudo mount

    挂载真正的磁盘到目录树  mount [options][source][directory]
    常用操作: mount[-o[操作选项]] [-t 文件类型] [-w|--rw|--ro][文件系统愿][挂载点]

    如:挂载虚拟磁盘镜像到/mnt目录:$ mount -o loop -t ext4 virtual.img/mnt
        以只读方式挂载: $ mount -o loop --ro virtual.img /mnt
                    或者 $ mount -o loop ro virtual.img /mnt
                 

    使用umount命令卸载已挂载磁盘   $ sudo umount /mnt
        

    ==================================linux下的帮助命令=================================

    $ type exit     结果  xxx is a shell builtin 内建命令

    $ type service  结果 xxx is /usr/sbin/xxx 外部命令
     
    $ type ls       结果 xxx is an alias for xx --xxx  得到alias结果


    ===================================linux任务计划crontab=================================================
    通过crontab命令,可以在固定的间隔时间执行指定的系统指令或shell script脚本

    #开头的都是注释

    ====================================命令执行顺序控制与管道=============================================================   
    一次性把命令输入完,让他自己去依次执行命令,使用;来完成。
    比如:  $ sudo apt-get update;sudo apt-get install some-tool;some-tool

    管道表现出来的形式:将前面每一个进程的输出直接作为下一个进程的输入

    过滤程序常用匿名管道
    源程序中常用具名管道


    查看/etc目录下的文件和目录,用ls
    $ ls -al /etc

    用管道
    $ ls -al /etc |less   通过管道将前一个命令的输出作为下一个命令的输入,然后一行一行看。

    用cut命令,打印每一行的某一字段



    grep命令的一般形式:grep[命令选项]...用于匹配的表达式[文件]...

    $ grep -rnI "shiyanlou" ~
    -r:表示递归搜索子目录的文件,-n表示打印匹配项的行号,-I忽略二进制文件。
    在匹配字段中使用正则表达式:  $ export | grep ".*yanlou$"  $表示一行的末尾


    wc命令,计数工具
    用于统计并输出一个文件中行、单词和字节的数目 比如输出/etc/passwd文件的统计信息
    $ wc /etc/passwd

    uniq:用于过滤或者输出重复行,只能去连续重复的行,不是全文去重。
    可以先排序,再过滤


    ========================================简单的文本处理============================================================
    tr:删除一段文本信息中的某些文字。或者将其进行转换。
    tr [option]...set1[set2]

    -d:删除和set1匹配的字符,注意不是全词匹配也不是按字符顺序匹配。
    -s:去除set1指定的在输入文本中连续并重复的字符。
    如: $ echo 'hello shiyanlou' | tr -d 'olh'  结果:e siyanu
        $ echo 'hello' | tr -s 'l'  结果:helo
        $ echo 'shiyanlou' | tr '[a-z]' '[A-Z]'  结果:SHIYANNLOU

    col:可以将tab换成对等数量的空格键,或反转这个操作
    col [option]
    -x:将Tab转换为空格
    -h:将空格转换为Tab(默认选项)


    将tab转换为空格
    $cat -A /etc/protocols|tail -n 5
    $cat /etc/protocols | col -x |cat -A |tail -n 5


    paste:与join命令类似,不对比数据的情况下,简单地将多个文件合并一起,以tab隔开
    paste [option] file...

    -d:指定合并的分隔符,默认为tab
    -s:不合并到一行,每个文件为一行

    $ echo hello >file1
    $ echo shiyanlou > file2
    $ echo www.shiyanlou.com >file3
    $ paste -d':' file1 file2 file3   合并的分隔符为:
    $ paste -s file1 file2 file3


    =====================================数据流重定向=====================================================
    >  或 >>  从左到右   将标准输出导向一个文件或追加到一个文件中
    <  或 <<  从右到左

    cat:用于读取指定文件的内容并打印到终端输出
    echo:用于字符串的输出


    mkfs  -t  ext3  /dev/sda5   是把sda5格式化为ext3文件系统
    fdisk -l   显示磁盘的详细信息




    tail 命令:用于查看文件内容,最基本的是cat 、 more 、 less













  • 相关阅读:
    三级指针
    外挂指针
    内存四区(1)(转载)
    内存四区(3)(转载)
    劫持(1)
    过滤劫持和函数回调(2)
    劫持程序(3)
    dll注入实现MFC程序劫持(4)
    virtual hust 2013.6.20 数论基础题目 I
    virtual hust 2013.6.20 数论基础题目 D
  • 原文地址:https://www.cnblogs.com/linqiuhua/p/7200887.html
Copyright © 2020-2023  润新知