zoukankan      html  css  js  c++  java
  • linux指令学习小笔记,不断更新。

    都是一些零散的小知识,在学习中不断完善。


    知识一.

     解释执行:执行效率高,但与平台有关

     编译执行:执行效率低,但具有平台无关性

    知识二.

     gcc –Wall 选项:让GCC提供所有的警告信息。

    知识三.

     字符常量用单引号括起来,eg‘}’ (注意:单引号只能括一个字符

    知识四.

     在UNIX系统中,管道是一种先进先出的单向数据通路。利用管道符号“|”,可以把一个命令的标准输出连接到另一个命令的标准输入

        eg  ls /usr | wc –w

        (“-w”选项表示以字为单位进行计数)

    知识五.

     return 0 成功完成

        return 非0  失败

    知识六.

     重定向输出:

    eg ls –l > lsoutput.txt

    (把 ls 命令的输出保存到文件lsoutput.txt中,若文件已存在,则覆盖原文件)

    eg ls –l >> lsoutput.txt

    (把 ls 命令的输出保存到文件lsoutput.txt中,若文件已存在,则将信息添加到文件尾部)

    知识七.

      linux的通用“回收站”/dev/null来有效地丢弃所有的输出信息,如下所示:

    kill –l 1234 > /dev/null 2>&1

    (这条命令将把标准输出和标准错误输出都重定向到同一个文件中,注意操作符出现的顺序,这条命令的含义是“将标准输出重定向到文件/dev/null,然后将标准错误输出重定向到与标准输出相同的地方。”)

    知识八.

      grep –l POSIX * | more

    (搜索并输出当前目录下包含POSIX字符串的文件名)

     

    知识九.

     一般情况下,linux和UNIX很少利用文件扩展名来决定文件的类型。你可以为脚本使用.sh或者其他扩展名,但shell并不关心这一点。大多数预安装的脚本程序并没有使用任何文件扩展名,检查这些文件是否是脚本程序的最好方法是使用file命令,例如,file testshell 或 file /bin/bash。

    知识十.

    当编辑完shell文件(例如文件名为test)后,要用chmod +x test命令把它设置为可执行。

     

     

    知识十一.

     因为test命令在shell脚本程序以外用的很少,所以那些很少编写shell脚本的linux用户往往会将自己编写的简单程序命名为test。如果程序不能正常工作,很可能是因为它与shell中的test命令发生了冲突。(以后别用test做为文件名了

    知识十二.

     一般来说,如果需要循环至少执行一次,那么就使用while循环;如果可能根本都不需要执行循环,就使用until循环。

    知识十三.

     linux指令:touch file_one  (检查文件file_one是否存在,如果不存在就创建它)

                     rm –f file_two  (强制删除文件file_two,忽略不存在的文件,不提示确认)

    知识十四.

     echo命令总是返回true

    知识十五.

    kill命令:当需要中断一个前台进程的时候,通常是使用< Ctrl+c >组合键;但是对于一个后台进程恐怕就不是一个组合键所能解决的了,这时就必须求助于kill命令。该命令可以终止后台进程。kill命令是通过向进程发送指定的信号来结束进程的。如果没有指定发送信号,那么默认值为TERM信号。TERM信号将终止所有不能捕获该信号的进程。至于那些可以捕获该信号的进程可能就需要使用kill(9)信号了,该信号是不能被捕捉的。
    kill命令的语法格式很简单,大致有以下两种方式:
    kill [-s 信号 | -p ] [ -a ]进程号 ...
    kill -l [信号]
    -s 指定需要送出的信号。既可以是信号名也可以对应数字。
    -p 指定kill命令只是显示进程的pid,并不真正送出结束信号。
    -l 显示信号名称列表,这也可以在/usr/include/linux/signal.h文件中找到。

    应用实例一:
    1强行中止(经常使用杀掉)一个进程标识号为324的进程:
    kill-9324



    知识十六.

    Linux下NAT操作:

    案例

    1.源NAT(SNAT)

    比如,更改所有来自192.168.1.0/24的数据包的源ip地址为1.2.3.4

    iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0-j SNAT --to1.2.3.4

    系统在路由及过虑等处理直到数据包要被送出时才进行SNAT

    有一种SNAT的特殊情况是ip欺骗,也就是所谓的Masquerading,通常建议在使用拨号上网的时候使用,或者说在合法ip地址不固定的情况下使用。比如

    # iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

    2.目的NAT(DNAT)

    比如,更改所有来自192.168.1.0/24的数据包的目的ip地址为1.2.3.4

    iptables -t nat-A PREROUTING -s 192.168.1.0/24 -i eth1 -j DNAT --to1.2.3.4

    系统是先进行DNAT,然后才进行路由及过虑等操作。

    有一种DNAT的特殊情况是重定向,也就是所谓的Redirection,这时候就相当于将符合条件的数据包的目的ip地址改为数据包进入系统时的网络接口的ip地址。通常是在与squid配置形成透明代理时使用,假设squid的监听端口是3128,我们可以通过以下语句来将来自192.168.1.0/24,目的端口为80的数据包重定向到squid监听

    端口:

    iptables -t nat-A PREROUTING -i eth1 -p tcp -s 192.168.1.0/24 --dport 80 -j REDIRECT--to-port 3128




    知识十七.

    linux  指令:ifconfig -a              -----在所有接口报告的选项
                netstat -in              -----n e t s t a t( 1 )命令也提供系统上的接口信息。- i参数将打印出接口信息,-n参数则打印出I P地址,而不是主机名字。
                arp -a     -----用来检查arp高速缓存存放了最近I n t e r n e t地址到硬件地址之间的映射记录,参数-a的意思是显示高速缓存中所有的内容。

    添加路由表中的表项:
    route add default sun 1
    route add slip bsdi 1
    第3个参数(d e f a u l t和s l i p)代表目的端,第4个参数代表网关(路由器),最后一个参数代表路由的度量( m e t r i c )。r o u t e命令在度量值大于0时要为该路由设置G标志,否则,当耗费值为0时就不设置G标志。


    搜索无线接入点:
    iwlist wlan0 scanning
    接入指定无线接入点:
    iwconfig wlan0 essid "NETGEAR_11g(1)"

    数据包通过指定的网卡出去:
    route add 192.168.0.1 dev wlan0
    删除上面的操作:
    route del 192.168.0.1 dev wlan0
    设置IP
    sudo ifconfig eth0 133.133.133.190 netmask 255.255.255.0
    这样就算设置好了网卡eth0的IP地址和子网掩码


    重启网卡:/etc/init.d/networking restart


    网卡自动获取IP:dhclient wlan0


    知识十八

    每个账号都可以有多个用户组的支持


    知识十九

    chgrp:改变文件所属用户组

    例:chgrp -R users install.log

    其中-R表示进行递归(recursive)的持续更改,即连同子目录下的所有文件、目录都更新成为这个用户组。常常用在更改某一目录内所有的文件情况。

    chown:改变文件所有者

    chmod:改变文件的权限

    各权限的分数:r-4   w-2   x-1

    例: -rwxrwx---     分数则是owner = rwx = 4+2+1 = 7

    group = rwx = 4+2+1 = 7

    others=  ---  = 0+0+0 =0

    例:chmod 777 .bashrc


    知识二十    目录的相关操作

    cd:切换目录

    pwd:显示当前目录

    mkdir:新建一个新的目录

    rmdir:删除一个空的目录


    . 代表此层目录

    .. 代表上一层目录

    - 代表前一个工作目录

    ~ 代表“目前用户身份”所在的主文件夹

    ~accout 代表accout这个用户的主文件夹


    文件默认权限:umask

    文件隐藏属性:chattr    lsattr


    知识二十一 

    Linux系统中,标准输入的文件结束符是控制字符Ctrl-D。

  • 相关阅读:
    欧拉回路 定理
    UESTC 1087 【二分查找】
    POJ 3159 【朴素的差分约束】
    ZOJ 1232 【灵活运用FLOYD】 【图DP】
    POJ 3013 【需要一点点思维...】【乘法分配率】
    POJ 2502 【思维是朴素的最短路 卡输入和建图】
    POJ 2240 【这题貌似可以直接FLOYD 屌丝用SPFA通过枚举找正权值环 顺便学了下map】
    POJ 1860【求解是否存在权值为正的环 屌丝做的第一道权值需要计算的题 想喊一声SPFA万岁】
    POJ 1797 【一种叫做最大生成树的很有趣的贪心】【也可以用dij的变形思想~】
    js 实现slider封装
  • 原文地址:https://www.cnblogs.com/fengty90/p/3768879.html
Copyright © 2011-2022 走看看