用vi编辑/etc/hosts
分类: Linux
Vi编辑器如何复制一行
1)把光标移动到要复制的行上 2)按yy 3)把光标移动到要复制的位置 4)按p
CentOS常用文件操作命令
创建目录
mkdir 文件名
mkdir /var/www/test
cp复制命令
cp命令复制文件从一个位置到另一位置。如果目的地文件存在,将覆复写该文件; 如果目的地目录存在,文件将复制到该目录下 (目录不会被复写)。
语法:
语法是
cp [命令开关]… SOURCE DEST
cp [OPTIONS]… SOURCE… DIRECTORY
cp [OPTIONS]… –target-directory=DIRECTORY SOURCE…
命令开关:
-a | 等同于 -dpR. |
–backup[=CONTROL] | 对每个存在的目标文件制作备份。 |
-b | 如同 –backup,但是不接受参数。 |
-f | 如果存在的目标文件不能被写操作打开,删除它并且再试一次。 |
-p | 等同于 –preserve=mode,ownership,timestamps (保留模式,所有者和时间戳信息)。 |
–preserve[=ATTR_LIST] | 保留指定的属性 (默认属性:模式,所有者,时间戳)和安全配置, 如果可能的话添加附加属性:连接,所有。 |
–no-preserve=ATTR_LIST | 不保留指定的属性。 |
–parents | 在目录下添加源路径。 |
示例:
- C复制两个文件:
cp file1 file2
上述cp命令复制文件file1.php 的内容到文件file2.php中。
- 备份拷贝的文件:
cp -b file1.php file2.php
创建文件file1.php的带着符号 ‘~’的备份文件file2.php~。
- 复制文件夹和子文件夹:
cp -R scripts scripts1
上面的 cp 命令从 scripts 复制文件夹和子文件夹到 scripts1。
mv移动命令
mv 命令是move的缩写。 用它从一个目录到一个目录移动/重命名文件。 mv命令不同于cp命令,mv命令是完全的从源移动文件并且把文件移动到指定的目录,这里cp命令只是复制文件的内容从一个文件到另一个文件。
语法:
语法是
mv [-f] [-i] 原名称 新名称
命令开关:
-f | 在覆盖前不提示(equivalent to相当于 –reply=yes). mv -f 将在没有提示的情况下移动文件(多个文件),即使它将复写存在的目标文件。 |
-i | 在复写另一文件前做出提示 |
示例:
- To Rename / Move a file:
mv file1.txt file2.txt
这个命令重命名file1.txt文件的名字为file2.txt。
- To move a directory移动一个目录
mv hscripts tmp
在上述命令中,如果tmp目录已经存在,mv命令将移动hscripts文件夹/目录下的所有文件,目录和子目录到tmp目录。 如果没有tmp目录,它将重命名 hscripts目录为tmp目录。
- 移动多个文件/更多问价到另一目录
mv file1.txt tmp/file2.txt newdir
这个命令移动当前目录的file1.txt文件和tmp文件夹/目录的file2.txt文件到newdir目录。
rm删除命令
rm Linux 命令用来移除/删除目录下的文件。
语法:
语法是
rm [命令开关..] [文件 | 目录]
命令开关:
-f | 不提示用户,删除目录下的所有文件。 |
-i | 交互模式。使用这个选项,rm命令在删除任何文件前提示用户确认。 |
-r (或) -R | 递归的删除参数表中的目录及其子目录。 目录将被清空并且删除。 当删除目录包含的具有写保护的文件时用户通常是被提示的。 |
示例:
- 移除/删除文件:
rm file1.txt
这里rm命令将移除/删除文件file1.txt。
- 删除目录树:
rm -ir tmp
这里rm命令递归的删除tmp目录下所有子目录下内容,对于每个文件的删除都会提示你,然后删除tmp目录本身。
- 一次删除多个文件。
rm file1.txt file2.txt
rm命令同时删除文件file1.txt 和file2.txt。
linux文件重命名rename命令
利用mv移动命令:
mv file1.txt file2.txt
这个命令重命名file1.txt文件的名字为file2.txt。
Linux中zip压缩和unzip解压缩命令详解
以下命令均在/home目录下操作
cd /home #进入/home目录
1、把/home目录下面的mydata目录压缩为mydata.zip
zip -r mydata.zip mydata #压缩mydata目录
2、把/home目录下面的mydata.zip解压到mydatabak目录里面
unzip mydata.zip -d mydatabak
3、把/home目录下面的abc文件夹和123.txt压缩成为abc123.zip
zip -r abc123.zip abc 123.txt
4、把/home目录下面的wwwroot.zip直接解压到/home目录里面
unzip wwwroot.zip
5、把/home目录下面的abc12.zip、abc23.zip、abc34.zip同时解压到/home目录里面
unzip abc\*.zip
6、查看把/home目录下面的wwwroot.zip里面的内容
unzip -v wwwroot.zip
7、验证/home目录下面的wwwroot.zip是否完整
unzip -t wwwroot.zip
8、把/home目录下面wwwroot.zip里面的所有文件解压到第一级目录
unzip -j wwwroot.zip
系统运维 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链接
=====================================================
主要参数
-c:将解压缩的结果
-l:显示压缩文件内所包含的文件
-p:与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换
-t:检查压缩文件是否正确
-u:与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其它文件解压缩到目录中
-v:执行是时显示详细的信息
-z:仅显示压缩文件的备注文字
-a:对文本文件进行必要的字符转换
-b:不要对文本文件进行字符转换
-C:压缩文件中的文件名称区分大小写
-j:不处理压缩文件中原有的目录路径
-L:将压缩文件中的全部文件名改为小写
-M:将输出结果送到more程序处理
-n:解压缩时不要覆盖原有的文件
-o:不必先询问用户,unzip执行后覆盖原有文件
-P<密码>:使用zip的密码选项
-q:执行时不显示任何信息
-s:将文件名中的空白字符转换为底线字符
-V:保留VMS的文件版本信息
-X:解压缩时同时回存文件原来的UID/GID
CentOS下FTP客户端工具的安装及使用
1、安装方法
yum install ftp
2、使用方法
安装完成后,在终端中输入ftp,然后回车就可以使用了。下面就是连接方法。
ftp> open example.com
Connected to example.com (xxx.xxx.xxx.xxx).
220 (vsFTPd 2.2.2)
Name (example.com:xxxx):[此时输入FTP用户名]
331 Please specify the password.
Password:[此时输入FTP密码]
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> [此处可输入help查看ftp的所有命令]
wine 安装ie6报“Your wine does not have wineprefixcreate installed”错误解决
由于wine 1.3使用了winepath代替wineprefixcreate,所以安装ies4linux的时候,会提示wine版本太 旧,wineprefixcreate有误。可以通过修改ies4linux 2.99.0.1/lib的functions.sh、install.sh来简单解决ie6的安装问题。
在install.sh 426行左右
subsection $MSG_CREATING_PREFIX
set_wine_prefix "$BASEDIR/ie1/"
wineprefixcreate &> /dev/null
clean_tmp
改为:
subsection $MSG_CREATING_PREFIX
set_wine_prefix "$BASEDIR/ie1/"
winepath &> /dev/null
clean_tmp
在functions.sh 242行左右
function create_wine_prefix {
if which wineprefixcreate &> /dev/null; then
( wineprefixcreate 2>&1 ) | debugPipe
else
error $MSG_ERROR_NO_WINEPREFIXCREATE
fi
}
改为:
function create_wine_prefix {
if which winepath &> /dev/null; then
( winepath 2>&1 ) | debugPipe
else
error $MSG_ERROR_NO_WINEPREFIXCREATE
fi
}
保存后重新运行./ies4linux安装即可。
可能会卡住,你到~/bin/里看有没有ie6。
有就运行 ~/bin/ie6。
centos 6.2安装wine1.4少Xlib/Xfree86解决办法
centos 6.2安装wine1.4少Xlib/Xfree86解决办法 执行下面的命令,安装需要的包:
yum install alsa-lib-devel cups-devel dbus-devel esound-devel fontconfig-devel freetype-devel giflib-devel hal-devel isdn4k-utils-devel lcms-devel libICE-devel libjpeg-devel libpng-devel libSM-devel libusb-devel libX11-devel libXau-devel libXcomposite-devel libXcursor-devel libXext-devel libXi-devel libXinerama-devel libxml2-devel libXrandr-devel libXrender-devel libxslt-devel libXt-devel libXv-devel libXxf86vm-devel mesa-libGL-devel ncurses-devel openldap-devel openssl-devel pkgconfig sane-backends-devel xorg-x11-proto-devel gnutls openal-soft-devel gsm-devel libv4l- devel openal-soft-devel gcc flex bison git cabextract wget
xx is not in the sudoers file 问题解决
我用的是redhat5.4,在一般用户下执行sudo命令提示llhtiger is not in the sudoers file. This incident will be reported.解决方法:
一、$whereis sudoers -------找出文件所在的位置,默认都是/etc/sudoers
二、 #chmod u+w /etc/sudoers
三、vim /etc/sudoers 编辑文件,在root ALL=(ALL)ALL行下添加XXX ALL=(ALL)ALL,XXX为你的用户名。添加方法:找到root行,按下”i“键进入编辑模式添加即可!编辑好后esc键进入一般模式, “:wq”保存退出!
最后, #chmod u-w /etc/sudoers 回到文件的原权限!
下面这个稍微详细一点:
在 ubuntu中由于禁用了root用户,默认情况下会把安装系统时建立的用户添加到sudoers中。但在redhat和centos中并没有把任何 root用户之外的用户默认的添加到sudoers之中。这样我们在执行sudo 命令时就会出现xxx is not in the sudoers file. This incident will be reported.这样的错误输出。现在为了安全起见比较提倡使用普通用户做日常操作,而在需要超级用户的时候使用sudo 来做,这样,我们就有必要把一些用户添加到sudoers之中。
其实把用户添加到sudoers之中很简单。
首先利用whereis 命令查找sudoers配置文件的目录(默认会在/etc/sudoers)
[root@localhost xiaofei]# whereis sudoers
sudoers: /etc/sudoers /etc/sudoers.bak /usr/share/man/man5/sudoers.5.gz
然后需要切换到root用户,更改/etc/sudoers的权限
[root@localhost xiaofei]# chmod u+w /etc/sudoers
然后就可以利用vi编辑器来把用户添加到sudoers之中
[root@localhost xiaofei]# vi /etc/sudoers
然后找到root
顺便提一下vi编辑器的用法。刚进入vi编辑器的时候牌命令行模式,这时可以通过方向键来移动光标,找到要编辑的位置之后按下“i”,然后就进入了插入模 式,这时候你可以输入或删除字符。编辑完成之后按“esc”键退出插入模式,进入命令行模式,这时候按“:”可以进入末行模式,输入“wq”保存并退出。
下面是添加完的结果。
## Allow root to run any commands anywhere
root
xiaofei ALL=(ALL)
然后需要把sudoers 的写权限去掉(否则系统不允许执行suoders文件):
[root@localhost xiaofei]# chmod u-w /etc/sudoers
至此,在退出root用户之后就可以利用sudo命令来执行超级用户的权限了。
Linux安装IE浏览器
参照:
http://www.iefans.net/linux-ie7/
http://www.linuxidc.com/Linux/2008-10/16799.htm
若遇到wine版本过低的问题,参考:
CentOS 6.0 VNC远程桌面配置
引言:
必须明白:
vncserver在调用的时候,会根据你的配置来启用server端的监听端口,
端口默认是从5900开始,再加上你的桌面号。
比如你的桌面号为1,则vnc的连接端口号为5900+1=5901
比如你的桌面号为10000,则vnc的连接端口号为5900+10000=15900
======================================================================
下面配置VNC服务器,使用户(root)能够通过vnc客户端远程连接到linux系统的图形界面(前提是你的服务器要安装桌面)
1、检查linux系统是否安装VNC
在终端窗口输入命令:
rpm -q vnc-server
返回信息如下
package vnc-server is not installed
说明vnc服务器没有安装
2、运行以下命令进行安装:
yum install vnc vnc-server
3、启动VNC服务
vncserver You will require a password to access your desktops. Password: Verify:
会提示输入密码,这个密码是远程登录时所需要输入的密码,输入密码,回车
4、切换到root账号:su root然后输入root账号的密码
vi /etc/sysconfig/vncservers #vnc配置文件VNCSERVERS=”10000:root” # 把前面的#取消了 10000:root (桌面号:用户) # VNCSERVERARGS[10000]=”-geometry 800×600″
最后保存退出
5&6、配置防火墙,允许10000+5900=15900端口通过防火墙(否则远程连不上VNC服务器),并保存配置;重启防火墙,使刚才的端口配置生效
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 15900 -j ACCEPT service iptables save service iptables restart
7、重启vnc服务器
/etc/init.d/vncserver restart 或者 service vncserver restart
8、 设置vnc服务器开机自动启动
第一种方法:使用“ntsysv”命令启动图形化服务配置程序,在vncserver服务前加上星号,点击确定,配置完成。
第二种方法:使用“chkconfig”在命令行模式下进行操作,命令使用如下
chkconfig vncserver on chkconfig --list vncserver vncserver 0:off 1:off 2:on 3:on 4:on 5:on 6:off
9、更改vnc连接密码
vncpasswd
到此,VNC服务端设置完成,用VNC客户端可以连接了
vnc服务器:你的ip:15900
注意:如果在连接上之后,出现灰屏,可以按照下面的方法设置
进入用户的home目录, cd /home/user
如果是用root账号登录的,那么当前目录就是用户根目录
cd ~/.vnc vi xstartup #编辑 #twm & #注释掉这一行 gnome-session & #添加这一行
保存退出即可正常连接!
做到这里,总算是大功告成了,接下来你可以用http://IP:port的方式来WEB登录比如说
http://IP:5801,也可以在vncviewer里用IP:1这种来登录。
linux下IPTABLES配置详解
原文地址:http://www.cnblogs.com/JemBai/archive/2009/03/19/1416364.html
Chain INPUT (policy ACCEPT)
target prot opt source destination
target prot opt source destination
target prot opt source destination
target prot opt source destination
ACCEPT all — 0.0.0.0/0 0.0.0.0/0
ACCEPT icmp — 0.0.0.0/0 0.0.0.0/0 icmp type 255
ACCEPT esp — 0.0.0.0/0 0.0.0.0/0
ACCEPT ah — 0.0.0.0/0 0.0.0.0/0
ACCEPT udp — 0.0.0.0/0 224.0.0.251 udp dpt:5353
ACCEPT udp — 0.0.0.0/0 0.0.0.0/0 udp dpt:631
ACCEPT all — 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT tcp — 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
ACCEPT tcp — 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80
ACCEPT tcp — 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:25
REJECT all — 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
可以看出我在安装linux时,选择了有防火墙,并且开放了22,80,25端口.
Chain INPUT (policy ACCEPT)
target prot opt source destination
target prot opt source destination
target prot opt source destination
[root@tp ~]# iptables -X 清除预设表filter中使用者自定链中的规则
Chain INPUT (policy ACCEPT)
target prot opt source destination
target prot opt source destination
target prot opt source destination
上面的意思是,当超出了IPTABLES里filter表里的两个链规则(INPUT,FORWARD)时,不在这两个规则里的数据包怎么处理呢,那就是DROP(放弃).应该说这样配置是很安全的.我们要控制流入数据包
如果做了邮件服务器,开启25,110端口.
[root@tp ~]# iptables -A INPUT -p tcp –dport 25 -j ACCEPT
如果做了FTP服务器,开启21端口
IPTABLES -A OUTPUT -o lo -p all -j ACCEPT(如果是OUTPUT DROP)
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
target prot opt source destination
SNAT all — 192.168.0.0/24 anywhere to:211.101.46.235
target prot opt source destination
[root@tp sysconfig]# iptables -t nat -A PREROUTING -i eth0 -s 172.16.0.0/12 -j DROP
[root@tp sysconfig]# iptables -t nat -A PREROUTING -i eth0 -s 192.168.0.0/16 -j DROP
如果我们想,比如阻止MSN,QQ,BT等的话,需要找到它们所用的端口或者IP,(个人认为没有太大必要)
[root@tp ~]# iptables -t nat -A PREROUTING -d 211.101.46.253 -j DROP
[root@tp ~]# iptables -A INPUT -m state –state INVALID -j DROP
[root@tp ~]# iptables -A OUTPUT -m state –state INVALID -j DROP
[root@tp ~]# iptables-A FORWARD -m state –state INVALID -j DROP
允许所有已经建立的和相关的连接
[root@tp ~]# iptables-A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
[root@tp ~]# iptables-A OUTPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
[root@tp ~]# /etc/rc.d/init.d/iptables save
这样就可以写到/etc/sysconfig/iptables文件里了.写入后记得把防火墙重起一下,才能起作用.
[root@tp ~]# service iptables restart
别忘了保存,不行就写一部保存一次.你可以一边保存,一边做实验,看看是否达到你的要求,