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
重启网络

 

 

posted @ 2015-01-04 11:19 Firewalls 阅读(...) 评论(...) 编辑 收藏