Linux csplit 命令用于分割文件
Linux csplit命令用于分割文件。将文件依照指定的范本样式予以切割后,分别保存成名称为xx00,xx01,xx02...的文件。若给予的文件名称为"-",则csplit指令会从标准输入设备读取数据。
语法
csplit [-kqsz][-b<输出格式>][-f<输出字首字符串>]
[-n<输出文件名位数>][--help][--version][文件][范本样式...]
csplit(选项)(参数)
参数:
-b<输出格式>或--suffix-format=<输出格式> 预设的输出格式其文件名称为xx00,xx01...等,您可以通过改变<输出格式>来改变输出的文件名。
-f<输出字首字符串>或--prefix=<输出字首字符串> 预设的输出字首字符串其文件名为xx00,xx01...等,如果你指定输出字首字符串为"hello",则输出的文件名称会变成hello00,hello01...等。
-k或--keep-files 保留文件,就算发生错误或中断执行,也不能删除已经输出保存的文件。
-n<输出文件名位数>或--digits=<输出文件名位数> 预设的输出文件名位数其文件名称为xx00,xx01...等,如果你指定输出文件名位数为"3",则输出的文件名称会变成xx000,xx001...等。
-q或-s或--quiet或--silent 不显示指令执行过程。
-z或--elide-empty-files 删除长度为0 Byte文件。
MAC通过SSH使用PEM文件登录
1.命令如下ssh -i key.pem
ssh -i key.pem root@IP
如果出现报错说明这个问题是文件的权限太大了,需要给小点
sudo chmod 600 key.pem
然后再执行ssh -i key.pem root@IP
ssh-add -k key.pem
ssh root@IP
Linux du命令查看文件夹大小并按降序排列
1. df -lh2. du -s /usr/* | sort -rn
这是按字节排序
3. du -sh /usr/* | sort -rn
这是按兆(M)来排序
4.选出排在前面的10个
du -s /usr/* | sort -rn | head
5.选出排在后面的10个
du -s /usr/* | sort -rn | tail
du -h –-max-depth=0 user
du -sh –-max-depth=2 | more
总结du常用命令
linux ps 详解
要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而ps命令就是最基本同时也是非常强大的进程查看命令.使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等等.总之大部分信息都是可以通过执行该命令得到的.ps命令最常用的还是用于监控后台进程的工作情况,因为后台进程是不和屏幕键盘这些标准输入/输出设备进行通信的,所以如果需要检测其情况,便可以使用ps命令了.
注意:ps是显示瞬间进程的状态,并不动态连续;如果想对进程进行实时监控应该用top命令。
Linux程序编译问题cc1: warnings being treated as errors
AM_CFLAGS = -Wall -g $(MATCHBOX_PANEL_CFLAGS) \-I$(top_srcdir) -I$(top_builddir) -Werror
把上面的 -Werror去掉,不把warnning当作error处理
Linux下的五种IO模型
Linux下的五种IO模型概念说明
用户空间与内核空间
现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方)。操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的所有权限。为了保证用户进程不能直接操作内核(kernel),保证内核的安全,操作系统将虚拟空间划分为两部分,一部分为内核空间,一部分为用户空间。针对linux操作系统而言,将最高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF),供内核使用,称为内核空间,而将较低的3G字节(从虚拟地址0x00000000到0xBFFFFFFF),供各个进程使用,称为用户空间。
进程切换
为了控制进程的执行,内核必须有能力挂起正在CPU上运行的进程,并恢复以前挂起的某个进程的执行。这种行为被称为进程切换。因此可以说,任何进程都是在操作系统内核的支持下运行的,是与内核紧密相关的。
标签: linux select io epoll poll
php-fpm:No pool defined
# service php-fpm startStarting php-fpm [28-Nov-2015 17:13:23] WARNING: Nothing matches the include pattern ‘/etc/php-fpm.d/*.conf’ from /etc/php-fpm.conf at line 125.
[28-Nov-2015 17:13:23] ERROR: No pool defined. at least one pool section must be specified in config file
[28-Nov-2015 17:13:23] ERROR: failed to post process the configuration
[28-Nov-2015 17:13:23] ERROR: FPM initialization failed
解决方法:
进入PHP安装目录/etc/php-fpm.d
cp www.conf.default www.conf
#service php-fpm start
## netstat -ntlp | grep 9000
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 32664/php-fpm: mast
linux ansible 常用模块
ansible 常用模块一、ping模块
测试主机是否是通的,用法很简单,不涉及参数:
# ansible 192.168.8.12 -m ping
192.168.8.12 | success >> {
"changed": false,
"ping": "pong"
}
二、setup模块
setup模块,主要用于获取主机信息,在playbooks里经常会用到的一个参数gather_facts就与该模块相关。setup模块下经常使用的一个参数是filter参数,具体使用示例如下(由于输出结果较多,这里只列命令不写结果):
# ansible 192.168.8.12 -m setup -a 'filter=ansible_*_mb' //查看主机内存信息
# ansible 192.168.8.12 -m setup -a 'filter=ansible_eth[0-2]' //查看地接口为eth0-2的网卡信息
# ansible all -m setup --tree /tmp/facts //将所有主机的信息输入到/tmp/facts目录下,每台主机的信息输入到主机名文件中(/etc/ansible/hosts里的主机名)
标签: linux shell python ansible
Redis 未授权访问缺陷可轻易导致系统被黑
Redis 默认情况下,会绑定在 0.0.0.0:6379,并且没有开启auth认证,这样将会将Redis服务暴露到公网上,如果在没有开启认证的情况下,可以导致任意用户在可以访问目标服务器的情况下未授权访问Redis以及读取Redis的数据。攻击者在未授权访问Redis的情况下可以利用Redis的相关方法,可以成功将自己的公钥写入目标服务器的 /root/.ssh 文件夹的authotrized_keys 文件中,进而可以直接登录目标服务器。
解决办法:
a.配置bind选项, 限定可以连接Redis服务器的IP(如:bind 127.0.0.1), 并修改redis的默认端口6379(如:port 6300)
b.配置AUTH, 设置密码开启密码验证, 密码会以明文方式保存在redis配置文件中.
c.配置rename-command CONFIG “RENAME_CONFIG”, 这样即使存在未授权访问, 也能够给攻击者使用config指令加大难度
d.好消息是Redis作者表示将会开发”real user”,区分普通用户和admin权限,普通用户将会被禁止运行某些命令,如conf
linux pip 安装使用详解
pip类似RedHat里面的yum,php中composer, 安装Python包非常方便。本节详细介绍pip的安装、以及使用方法。1、pip下载安装
1.1 pip下载
# wget "https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz#md5=834b2904f92d46aaa333267fb1c922bb" --no-check-certificate
1.2 pip安装# tar -xzvf pip-1.5.4.tar.gz
# cd pip-1.5.4
# python setup.py install
热门日志
分类
- Django(4)
- ssdb(1)
- Mac(7)
- C(1)
- memcache(1)
- Python(32)
- Vim(8)
- sed(2)
- ansible(3)
- awk(4)
- shell(3)
- about(1)
- git(9)
- bat(4)
- svn(0)
- docker(1)
- Tornado(1)
- go(2)
- 架构(18)
- Vue(1)
- game(2)
- Html(6)
- Java(8)
- Mysql(37)
- Ajax(2)
- Jsp(1)
- Struts(8)
- Linux(72)
- JavaScript(39)
- Staruml(0)
- Mouth(1)
- Php(102)
- Windows(8)
- Message(48)
- Lua(10)
- Compute(1)
- Redis(7)
- Nginx(12)
- Jquery(1)
- Apache(1)
- cocos2d-x(8)