zoukankan      html  css  js  c++  java
  • linux使用

    一、linux shell 命令

    command -option opt:加符号`,opt可以为其他命令的输出,如top -p `pgrep python | tr "\n" "," | sed 's/,$//'`

    killall:通过进程名向进程发送信号,默认发送15号sigterm,通知进程正常退出(进程处于uninterruptible sleep时,进程表的信号域被置位,但进程无法处理sigterm信号,通常进行IO,不可被打断,保证内核态例程的执行)

    守护进程重启:killall -s HUP 进程。对于不与终端交互的守护进程,通常的设计是在接收到SIGHUP信号之后就会重新读取配置文件。

    进程关闭:killall  进程名(<-->kill 进程号),缺省产生15) SIGTERM 程序结束(terminate)信号,可以被阻塞和 
    处理,通常用来要求程序自己正常退出。;若无法关闭,killall -9强制关闭,9号信号SIGKILL无法被忽略

    ctrl-c 是发送 2号信号 SIGINT,终止一个前台进程

    ctrl-z 是发送19号信号 SIGSTOP,挂起一个进程

    ctrl-d 向终端输入EOF字符

    kill -l:显示所有Linux下支持的信号及其编号。早期UNIX系统只定义了32种信号,Linux 3.x支持64种信号,编号0-63(SIGRTMIN=31,SIGRTMAX=63),将来可能进 一步增加,这需要得到内核的支持。

    SIGHUP,hang up signal, sent to a process when its controlling terminal is closed,会在以下3种情况下被发送给相应的进程:

    1.终端关闭时,该信号被发送到session首进程以及作为job提交的进程(即用 & 符号提交的进程)

    2.session首进程退出时,该信号被发送到该session中的前台进程组中的每一个进程

    3.若父进程退出导致进程组成为孤儿进程组,且该进程组中有进程处于停止状态(收到SIGSTOP或SIGTSTP信号),该信号会被发送到该进程组中的每一个进程。

    nohup启动的进程不会收到sighup信号。可用于&放到后台执行的进程,shell 中,$! is the PID of the last backgrounded process.  $$ is the PID of the current shell.

    查找:

    which '命令':在$PATH设置的路径下(即执行shell的路径)查找'命令'的二进制文件

    whereis '命令':在可能安装软件的路径下查找'命令',即查找'命令'的安装目录(包括配置文件)。在Makefile中没有自动卸载的设置时,手动卸载软件用

    定时执行脚本:crontab  -e

    vim 十六机制显示文本:':%!xxd'

      :!command 执行shell命令command

      ?text:向上查找text,n向上查找,N向下查找 <-->/text:向下查找text,n向下查找,N向上查找

      Ctrl + d 向下滚动半屏

      Ctrl + u 向上滚动半屏

      :split file或:new file 用新窗口打开文件

      Ctrl+ww 切换到下一个窗口

      :%s/string1/string2/g:将所有的string1替换为string2

    查看信息:

    free -h:查看内存使用

    df -h:查看磁盘空间

    tail -f /var/log/message:系统信息

    ulimit -a:显示系统中所有的资源限制

    更改进程所能打开的最大文件数 /etc/security/limits.conf添加

    * soft nofile 65535
    * hard nofile 65535

    <-->ulimit -n只能更改当前的shell,不能更改系统的

    top -p 进程号 :指定进程的top信息。NI(nice),PR(priority):内核通过所有进程的nice计算出各个进程的pr,可以通过改变ni的值,使pr改变

    多于多进程:top -p `pgrep redis-server | tr "\n" "," | sed 's/,$//'`

    ps -eLf|grep 'name':获取线程信息

    pstree  进程号 -p(在进程名后显示进程号):进程树

    uptime 系统平均负载

    w:系统负载,每个用户占用CPU情况

    cat /proc/cpuinfo:cpu型号

    cat /proc/version:内核信息

    文件管理:

    chown user:group file 或 dir  -R  改变所有者和组

    chmod 124 file 或dir -R :改变权限。数值=rwx(r为4,w为2,x为1),三个数字对应user,group,other的权限

    man+分卷号+命令:默认从1号手册中查找

    分卷号1:用户命令, 可由任何人启动的

    分卷号2 :系统调用, 即由内核提供的函数

    分卷号3: 例程, 即库函数,比如标准C库libc

    二、Linux 环境变量

    Linux是一个多用户的操作系统。多用户意味着每个用户登录系统后,都有自己专用的运行环境。而这个环境是由一组变量所定义,这组变量被称为环境变量。用户可以对自己的环境变量进行修改以达到对环境的要求。环境变量是和Shell紧密相关的,它是通过Shell命令来设置的。环境变量又可以被所有当前用户所运行的程序所使用。对于bash来说,可以通过变量名来访问相应的环境变量。 

    1.常见的环境变量: 
    PATH      决定了shell将到哪些目录中寻找命令或程序
    HOME      当前用户主目录
    LOGNAME     当前用户的登录名 
    HOSTNAME    指主机的名称
    SHELL      前用户Shell类型 
    LANGUGE     语言相关的环境变量,多语言可以修改此环境变量
    PS1       基本提示符,对于root用户是#,对于普通用户是$
    PS2       附属提示符,默认是“>” 

    2. 环境变量的设置(以PATH为例): 

      "PATH=$PATH:路径"的形式可以把路径加入到当前环境变量中.$PATH”表示原先设定的路径 仍然有效,添加多个环境变量用冒号隔开.修改后,可以用echo命令显示当前环境变量值

     1)export命令:

       export命令将作为他参数的变量导入到子shell中,并使之在子shell中有效,shell关闭年这个命令就失效了

     2)修改/etc/profile和~/.bash_profile文件:

       对环境变量的设置永久生效./etc/profile对系统里所有用户都有效,~/.bash_profile只对该用户有效.修改后,在下次重新进入此用户时生效或运行source命令立即生效

     3)readonly命令:

       readonly命令设置只读变量,使用了readonly命令,变量就不可以被修改或清除了

     4)unset命令:清除环境变量

    三、【转载】systemctl命令的用法

    用法表,以 apache / httpd 为例
    任务 旧指令 新指令
    使某服务自动启动 chkconfig --level 3 httpd on systemctl enable httpd.service
    使某服务不自动启动 chkconfig --level 3 httpd off systemctl disable httpd.service
    检查服务状态 service httpd status systemctl status httpd.service (服务详细信息) systemctl is-active httpd.service (仅显示是否 Active)
    显示所有已启动的服务 chkconfig --list systemctl list-units --type=service
    启动某服务 service httpd start systemctl start httpd.service
    停止某服务 service httpd stop systemctl stop httpd.service
    重启某服务 service httpd restart systemctl restart httpd.service
     
     
     

    四、dd命令与cp的区别

    dd命令是对磁盘的操作,拷贝的是原始数据,可以控制数据在磁盘上的位置。cp命令是对文件系统(中inode节点)的操作,拷贝的是文件,而最终文件中的数据在磁盘上分布有文件系统决定。所以,对于不能以文件或目录格式呈现的数据(如缓冲块中的数据),只能用dd。

    五、fedora 19 静态ip设置--修改配置文件

    fedora 19较之前版本的ip配置文件差别较大,故将成功配置静态ip的过程作记录:

    修改 /etc/sysconfig/network-scripts/ifcfg-enp3s0相应项:

      BOOTPROTO=none
      IPADDR0=ip地址
      PREFIX0=子网掩码前缀长度
      GATEWAY0=网关地址

    重起网卡:service network restart

    六、安装软件

    在编译安装时常常遇到缺少依赖软件的开发包,这些开发包包含了编译所需的头文件和库,文件名中包含'-devel',安装方法:

    1.yum install '文件名*':安装'文件名'所包含的所有相关的文件。若需要安装的只有两个,则直接安装。缺点:安装的是rpm包,无法指定安装路径。若安装后编译时仍无法找到路径,通过rpm -ql查询安装位置,加入编译安装的参数中。

    2.源码编译安装:设置prefix=/usr,是其他文件编译时默认的查找路径

    七、关闭ipv6:

    $ sudo vi /etc/sysctl.conf

    net.ipv6.conf.all.disable_ipv6=1
    net.ipv6.conf.default.disable_ipv6=1
    重启网络
  • 相关阅读:
    Java生成json
    WinForm程序执行JS代码的多种方法以及使用WebBrowser与JS交互
    聚集索引和非聚集索引的区别
    如何编写函数才能提高代码质量
    前端程序员应该知道的15个 jQuery 小技巧
    FileShare枚举的使用(文件读写锁)
    ASP.NET MVC 数据库依赖缓存的实现
    C# 调用一个按钮的Click事件(利用反射)
    解决报错“超时时间已到。超时时间已到,但是尚未从池中获取连接”的方案
    关于浏览器URL中出现会话验证字符说明
  • 原文地址:https://www.cnblogs.com/wenxuanguan/p/3765727.html
Copyright © 2011-2022 走看看