ubuntu解压命令全览

.tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包,不是压缩!)
———————————————
.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName
.tar.gz 和 .tgz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
———————————————
.bz2
解压1:bzip2 -d FileName.bz2
解压2:bunzip2 FileName.bz2
压缩: bzip2 -z FileName
.tar.bz2
解压:tar jxvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName
———————————————
.bz
解压1:bzip2 -d FileName.bz
解压2:bunzip2 FileName.bz
压缩:未知
.tar.bz
解压:tar jxvf FileName.tar.bz
压缩:未知
———————————————
.Z
解压:uncompress FileName.Z
压缩:compress FileName
.tar.Z
解压:tar Zxvf FileName.tar.Z
压缩:tar Zcvf FileName.tar.Z DirName
———————————————
.zip
解压:unzip FileName.zip
压缩:zip FileName.zip DirName
———————————————
.rar
解压:rar x FileName.rar
压缩:rar a FileName.rar DirNamerar请到:http://www.rarsoft.com/download.htm 下载!
解压后请将rar_static拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):
[[email protected] tmp]# cp rar_static /usr/bin/rar
———————————————
.lha
解压:lha -e FileName.lha
压缩:lha -a FileName.lha FileName

lha请到:http://www.infor.kanazawa-it.ac.jp/~ishii/lhaunix/下载!
>解压后请将lha拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):
[[email protected] tmp]# cp lha /usr/bin/
———————————————
.rpm
解包:rpm2cpio FileName.rpm | cpio -div
———————————————
.deb
解包:ar p FileName.deb data.tar.gz | tar zxf –
———————————————
.tar .tgz .tar.gz .tar.Z .tar.bz .tar.bz2 .zip .cpio .rpm .deb .slp .arj .rar .ace .lha .lzh .lzx .lzs .arc .sda .sfx .lnx .zoo .cab .kar .cpt .pit .sit .sea
解压:sEx x FileName.*
压缩:sEx a FileName.* FileName

sEx只是调用相关程序,本身并无压缩、解压功能,请注意!
sEx请到: http://sourceforge.net/projects/sex下载!
解压后请将sEx拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):
[[email protected] tmp]# cp sEx /usr/bin/

在ubuntu中mount挂载NTFS分区

ubuntu已经默认安装了ntfs-3g 支持读写ntfs 格式分区,不过建议重要数据储存在ext3格式分区上毕竟linux比windows安全,而且ntfs会产生更多磁盘碎片。

先用fdisk -l 命令查看分区 或用 添加/删除 分区编辑器(安装后在系统-系统管理下看到)查看分区

挂载ntfs分区:
假设/dev/hda1是Windows分区(NTFS)的位置,而要挂载的目录是:/media/windows :

第一行命令为了在media目录下建立一个类似快捷方式的文件

第二行是将硬盘分区挂载到media/windows下
要卸载Windows分区
sudo umount /media/windows/
挂载优盘命令如下:
并且能够正确显示中文:
sudo mkdir /media/U
sudo mount /dev/sda1 /media/U/ -t vfat -o
以下资料是从网上搜集的

mount命令详解
功能:加载指定的文件系统。
语法:mount [-afFhnrvVw] [-L] [-o] [-t] [设备名] [加载点]
用法说明:mount可将指定设备中指定的文件系统加载到Linux目录下(也就是装载点)。可将经常使用的设备写入文件
/etc/fastab,以使系统在每次启动时自动加载。mount加载设备的信息记录在/etc/mtab文件中。使用umount命令卸载设备时,记录将被清除。
常用参数和选项:
-a 加载文件/etc/fstab中设置的所有设备。
-f 不实际加载设备。可与-v等参数同时使用以查看mount的执行过程。
-F 需与-a参数同时使用。所有在/etc/fstab中设置的设备会被同时加载,可加快执行速度。
-h 显示在线帮助信息。
-L 加载文件系统标签为的设备。
-n 不将加载信息记录在/etc/mtab文件中。
-o 指定加载文件系统时的选项。有些选项也可在/etc/fstab中使用。这些选项包括:
async 以非同步的方式执行文件系统的输入输出动作。
atime 每次存取都更新inode的存取时间,默认设置,取消选项为noatime。
auto 必须在/etc/fstab文件中指定此选项。执行-a参数时,会加载设置为auto的设备,取消选取为noauto。
defaults 使用默认的选项。默认选项为rw、suid、dev、exec、anto nouser与async。
dev 可读文件系统上的字符或块设备,取消选项为nodev。
exec 可执行二进制文件,取消选项为noexec。
noatime 每次存取时不更新inode的存取时间。
noauto 无法使用-a参数来加载。
nodev 不读文件系统上的字符或块设备。
noexec 无法执行二进制文件。
nosuid 关闭set-user-identifier(设置用户ID)与set-group-identifer(设置组ID)设置位。
nouser 使一位用户无法执行加载操作,默认设置。
remount 重新加载设备。通常用于改变设备的设置状态。
ro 以只读模式加载。
rw 以可读写模式加载。
suid 启动set-user-identifier(设置用户ID)与set-group-identifer(设置组ID)设置位,取消选项为nosuid。
sync 以同步方式执行文件系统的输入输出动作。
user 可以让一般用户加载设备。
-r 以只读方式加载设备。
-t 指定设备的文件系统类型。常用的选项说明有:
minix Linux最早使用的文件系统。
ext2 Linux目前的常用文件系统。
msdos MS-DOS 的 FAT。
vfat Win85/98 的 VFAT。
nfs 网络文件系统。
iso9660 CD-ROM光盘的标准文件系统。
ntfs Windows NT的文件系统。
hpfs OS/2文件系统。Windows NT 3.51之前版本的文件系统。
auto 自动检测文件系统。
-v 执行时显示详细的信息。
-V 显示版本信息。
-w 以可读写模式加载设备,默认设置。
简单用法:
fat32的分区
mount -o codepage=936,iocharset=cp936 /dev/hda7 /mnt/cdrom (mount -t
vfat -o iocharset=cp936 /dev/hda7 /mnt/cdrom)
ntfs的分区
mount -o iocharset=cp936 /dev/hda7 /mnt/cdrom
iso文件
mount -o loop /abc.iso /mnt/cdrom
软盘
mount /dev/fd0 /mnt/floppy
USB闪存
mount /dev/sda1 /mnt/cdrom 说明: /mnt/cdrom 目录必须存在
所有/etc/fstab内容 mount -a
可以指定文件格式”-t 格式”, 格式可以为vfat, ext2, ext3等.
镜像文件:
mount fileName mountPoint -o
loop,fileName是镜像文件名(*.iso,*.img),其它的不用说了,跟上面一样。用例:如我有一个a.iso光盘镜像文件,mount
a.iso a -o loop,这样进入目录a你就能浏览a.iso的内容了,*.img文件的用法一样。
显示中文方面,如果是fedora core 1 的话,用utf8更好
mount -o iocharset=uft8 /dev/hda1 /mnt/c
mount -o iocharset=uft8 /dev/sda1 /mnt/usb
mount -t smbfs //ip_addr/share/dir /mnt/smb/share -o
iocharset=uft8,username=name, password=passwd

开机就mount上windows下的分区
自动将windows的d盘挂到/mnt/d上,用gedit打开/etc/fstab

sudo gedit /etc/fstab

加入以下一行
/dev/hda5 /mnt/d vfat defaults,codepage=936,iocharset=cp936 0 0
注意,先得手工建立一个/mnt/d目录
sudo mkdir /mnt/d

这样每次开机后就可以自动挂在分区

 

/dev/sda6 /mnt/E ntfs iocharset=utf8,umask=0 0 0
/dev/sda7 /mnt/F ntfs iocharset=utf8,umask=0 0 0
/dev/sda8 /mnt/G ntfs iocharset=utf8,umask=0 0 0

nginx报错accept() failed (24: Too many open files)

查看了一下nginx的error.log日志文件,发现有很多像下面这样的报错:

accept() failed (24: Too many open files)

一看就知道系统对打开文件数目做了限制,用下面命令

ulimit -n    查看当前用户的

命令查看了一下,结果显示文件打开数目限制为1024,我们需要让这个数字更大一些,好让我们的网站访问并发更高一些。

下面是修改 ulimit 限制数的方法:

1.首先你得修改nginx.conf配置文件,在定义error.log日志路径的位置添加一行

worker_rlimit_nofile 65535;

2.在/etc/profile文件最后面添加下面内容

ulimit -n 65535

3.在/etc/security/limits.conf文件最后面添加下面内容

* soft nofile 65535

* hard nofile 65535

*代表所有用户,如果想代表某个用户的话,则user soft nofile 65535

soft代表软连接   hard代表硬限制

查看软限制数量  ulimit -Sn

查看硬限制数量  ulimit -Hn

4.要使 limits.conf 文件配置生效,必须要确保 pam_limits.so 文件被加入到启动文件中

在/etc/pam.d/login 文件最后面添加下面内容

session required /lib/security/pam_limits.so

或者也可以在/etc/profile后面加上ulimit -n 65535

完成上面操作后,再用在退出当前会话,重新登录ulimit -n 查看文件限制数已经被修改为65535了。我再试了一下打开网站,速度快起来了,已经恢复正常了。观察了几分钟,发现nginx日志也没有此类报错信息了。

iptables 添加,删除,查看,修改

iptables是linux系统自带的防火墙,功能强大,学习起来需要一段时间,下面是一些习iptables的时候的记录。如果iptables不熟悉的话可以用apf,是一款基于iptables的防火墙,挺好用的。请参考:linux apf 防火墙 安装 配置

一,安装并启动防火墙

  1. [[email protected] ~]# /etc/init.d/iptables start

当我们用iptables添加规则,保存后,这些规则以文件的形势存在磁盘上的,以centos为例,文件地址是/etc/sysconfig/iptables,我们可以通过命令的方式去添加,修改,删除规则,也可以直接修改/etc/sysconfig/iptables这个文件就行了。

二,添加防火墙规则

1,添加filter表

出口我都是开放的iptables -P OUTPUT ACCEPT,所以出口就没必要在去开放端口了。

2,添加nat表

将源地址是 192.168.10.0/24 的数据包进行地址伪装

3,-A默认是插入到尾部的,可以-I来插入到指定位置

  1. [[email protected] ~]# iptables -I INPUT 3 -p tcp -m tcp –dport 20 -j ACCEPT
  2. [[email protected] ~]# iptables -L -n –line-number
  3. Chain INPUT (policy DROP)
  4. num  target     prot opt source               destination
  5. 1    ACCEPT     all  —  0.0.0.0/0            0.0.0.0/0
  6. 2    DROP       icmp —  0.0.0.0/0            0.0.0.0/0           icmp type 8
  7. 3    ACCEPT     tcp  —  0.0.0.0/0            0.0.0.0/0           tcp dpt:20                //-I指定位置插的
  8. 4    ACCEPT     tcp  —  0.0.0.0/0            0.0.0.0/0           tcp dpt:22
  9. 5    ACCEPT     tcp  —  0.0.0.0/0            0.0.0.0/0           tcp dpt:80
  10. 6    ACCEPT     all  —  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
  11. 7    DROP       all  —  0.0.0.0/0            0.0.0.0/0           state INVALID,NEW
  12. 8    ACCEPT     tcp  —  0.0.0.0/0            0.0.0.0/0           tcp dpt:21                //-A默认插到最后
  13. Chain FORWARD (policy ACCEPT)
  14. num  target     prot opt source               destination
  15. Chain OUTPUT (policy ACCEPT)
  16. num  target     prot opt source               destination

三,查下iptable规则

1,查看filter表

  1. [[email protected] ~]# iptables -L -n –line-number |grep 21 //–line-number可以显示规则序号,在删除的时候比较方便
  2. 5    ACCEPT     tcp  —  192.168.1.0/24       0.0.0.0/0           tcp dpt:21

如果不加-t的话,默认就是filter表,查看,添加,删除都是的

2,查看nat表

  1. [[email protected] ~]# iptables -t nat -vnL POSTROUTING –line-number
  2. Chain POSTROUTING (policy ACCEPT 38 packets, 2297 bytes)
  3. num   pkts bytes target     prot opt in     out     source               destination
  4. 1        0     0 MASQUERADE  all  —  *      *       192.168.10.0/24      0.0.0.0/0

四,修改规则

  1. [[email protected] ~]# iptables -R INPUT 3 -j DROP    //将规则3改成DROP

五,删除iptables规则

  1. [[email protected] ~]# iptables -D INPUT 3  //删除input的第3条规则
  2. [[email protected] ~]# iptables -t nat -D POSTROUTING 1  //删除nat表中postrouting的第一条规则
  3. [[email protected] ~]# iptables -F INPUT   //清空 filter表INPUT所有规则
  4. [[email protected] ~]# iptables -F    //清空所有规则
  5. [[email protected] ~]# iptables -t nat -F POSTROUTING   //清空nat表POSTROUTING所有规则

六,设置默认规则

  1. [[email protected] ~]# iptables -P INPUT DROP  //设置filter表INPUT默认规则是 DROP

所有添加,删除,修改后都要保存起来,/etc/init.d/iptables save.上面只是一些最基本的操作,要想灵活运用,还要一定时间的实际操作。

ubuntu不小心删除了libc-bin的恢复办法

不小心删除了 libc-bin, 使用apt-get install 命令都会报错,错误如下:

解决办法:

1下载libc-bin扩展包

2复制文件到系统

3修复系统状态

ubuntu搭建LEMP环境,解决 fpm监听失败

1.安装mysql

  1. sudo apt-get install mysql-server mysql-client

安装过程中要输入root用户的密码。

2.安装nginx

  1. sudo apt-get install nginx

2.安装php

   1.  sudo apt-get install php5-fpm php5-cgi php5-mysql php5-fpm php5-curl php5-gd  php-pear php5-imagick php5-imap  php5-memcache   php5-sqlite php5-tidy php5-mongo

这是常用的扩展

一路安装下来后配置nginx

cd  /etc/nginx/ #配置文件默认在此

通过nginx.conf可以看到引入了 sites-available/文件夹下文件,

vi sites-available/default

可以看到这是本地默认的localhost配置,这就是为什么你在nginx.conf里再加入一个localhost的server  nginx会有waring的原因了,因为它已经定义了。

修改default文件为:

server {
listen 80;
listen [::]:80 default_server ipv6only=on;

root /data/www/;

server_name localhost;

location / {
index index.php index.html index.htm;
}

location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME /data/www/$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

location ~ /\.ht {
deny all;
}

}

然后重启nginx和php-fpm

service nginx restart

service php5-fpm restart

在网站根目录编写:

info.php:

<?php

    phpinfo() ;

?>

访问,不成功,查看nginx错误日志,默认是放在/var/log/nginx下

cd /var/log/nginx

tail -fn100  error.log

发现:[error] 15980#0: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: “GET /info.php HTTP/1.1”, upstream: “fastcgi://127.0.0.1:9000”, host: “127.0.0.1”

可知是php-fpm的问题

netstat -lnp|grep 9000 (查看9000端口是否被监听)

无内容

解决方法

1 . 按照/etc/php5/fpm/pool.d/www.conf的默认配置使用php5-fpm

# # With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;

2 . 修改/etc/php5/fpm/pool.d/www.conf里的修改为listen=9000

# # With php5-cgi alone:
fastcgi_pass 127.0.0.1:9000;
# # With php5-fpm:
#fastcgi_pass unix:/var/run/php5-fpm.sock;

重启php-fpm

ubuntu启用apache的mod_headers和mod_expires

ubuntu部署好wordpress后,发现插件wp_super_cache里面有几个警告,请启用mod_expires和mod_headers.

可以按照以下命令,启用apache的缓存

Ubuntu系统启用Apache Mod_rewrite模块

在终端中执行

sudo a2enmod rewrite

指令后,即启用了 Mod_rewrite 模块。

另外,也可以通过将 /etc/apache2/mods-available/rewrite.load 连接到 /etc/apache2/mods-enabled/rewrite.load 来打开 Mod_rewrite 模块。用指令操作就是:

sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load

一点小提示

事实上,当我在 Ubuntu 中采用上述做法并重启了 Apache 服务后,仍然无法正常 rewrite 网址。这里,还有一点需要注意的地方:

sudo vim /etc/apache2/sites-enabled/000-default

将其中的:

AllowOverride None

修改为:

AllowOverride All

上面的 /etc/apache2/sites-enabled/000-default 实则为 /etc/apache2/sites-available/default 的连接。而 AllowwOverride None 则会完全忽略 .htaccess 文件,自然其中所定义的 rewrite 规则也就不能生效了。

最后,别忘了使用下列指令来重启 Apache:

sudo /etc/init.d/apache2 restart.

ubuntu+apache2环境wordpress固定链接404的问题

我的系统是ubuntu,自己配置的Apache、PHP、Mysql系统架构,或使用的某些安装包,可能会有这个问题,本人曾经遇到过,解决方法如下:

1.  首先.htaccess文件要给权限666

2. AllowOverride Not Enabled

网上教程是修改/etc/httpd.conf 我的貌似叫/etc/apache2.conf 这个里面是修改全局的 其实这个不用改

可以在你网站自己的配置里的<VirtualHost *:80>中加入:

然后执行service apache2 restart

测试完全正常