本文记录工作中遇到的Linux常用命令,持续更新中:
一、创建用户
useradd user1 //创建user1用户
passwd user1 //为用户user1设置密码
userdel -r user1 //删除用户user1,-r连同user1用户目录一起删除
二、安装RPM
rpm -q samba //查询程序是否安装
rpm -qa | grep httpd //[搜索指定rpm包是否安装] --all 搜索*httpd*
rpm -qpi Linux-1.4-6.i368.rpm //[查看rpm包]--query--package--install package信息
rpm -qpR ****.rpm //[查看包]依赖关系
rpm -ivh --test gaim-1.3.0-1.fc4.i386.rpm //用来检查依赖关系,并不是真正的安装
rpm -ivh ****.rpm //[安装新的rpm]--install--verbose--hash
rpm -ivh --relocate /=/opt/gaim gaim-1.3.0-1.fc4.i386.rpm //指定安装目录
rpm -Uvh ****.rpm //[升级一个rpm]--upgrade
rpm -Uvh --oldpackage gaim-1.3.0-1.fc4.i386.rpm //新版本降级为旧版本
rpm -ivh ****.rpm --nodeps --force //强制安装RPM包,不管依赖关系
rpm -e ****.rpm //[删除一个rpm包]--erase
.src.rpm结尾的文件,这些文件是由软件的源代码包装而成的,用户要安装这类RPM软件包,必须使用命令
rpm --recompile vim-4.6-4.src.rpm //这个命令会把源代码解包并编译、安装它
rpm --rebuild vim-4.6-4.src.rpm //在安装完成后,还会把编译生成的可执行文件重新包装成i386.rpm的RPM软件包
三、操作防火墙 iptables
iptables -L -n //查询iptables当前配置
iptables –L –n –line-numbers //查看iptables当前配置,带行号
iptables -I INPUT -p tcp --dport 8080 -j ACCEPT //在INPUT表中增加一条记录,允许本机8080端口接收到的TCP数据消息
iptables –D INPUT 1 //删除INPUT表中的第一条记录
/etc/rc.d/init.d/iptables save //保存刚才的设置
四、设置服务开机自动启动
chkconfig --list //显示开机可以自动启动的服务
chkconfig --add *** //将***添加到开机自动启动
chkconfig --del *** //将***从开机自动启动中删除
chkconfig --level 2345 *** on //将***设置为在Linux运行级别2、3、4、5时都自动启动
五、配置SSH
服务器往往在机房,因此可以在服务器端开通并配置SSH服务来远程登录操作服务器
#/etc/init.d/sshd start //在服务器端启动ssh服务,如果没有安装OpenSSH,请先安装
ssh root@192.168.13.46 //在客户端(自己的办公电脑上)远程登录服务器
ssh-keygen -t rsa //生成服务器的证书,过程中都按回车键即可
ssh-keygen -t rsa //exit命令,退出服务器,在本机生成证书
scp id_rsa.pub root@192.168.13.46:/root/.ssh/authorized_keys //进入本机的.ssh目录,将本机的公钥拷贝到服务器端的.ssh目录下,且命名为authorized_keys 这样配置之后,通过ssh远程登录就无需输入密码了
scp -r /home/folder root@192.168.13.46:/home
scp -r root@192.168.13.46:/home/folder/ /home/ // -r 拷贝目录
六、修改主机名
# hostname servername //下面以将主机名修改为servername为例
# vi /etc/hosts //修改hosts文件
127.0.0.1 servername localhost localhost.localdomain
::1 localhost6.localdomain6 localhost6
# vi /etc/sysconfig/network //修改network文件
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=servername
# service network restart //重启网络生效
七、修改环境变量
# env //显示当前所有环境变量
1. 先读取/etc/profile,再根据/etc/profile的内容去读取其他的配置文件,例如:/etc/profile.d与/etc/inputrc等等。(只在登录时读取一次)
2. 根据不同的登录用户,读取家目录中的~/.bash_profile或~/.bash_login或~/.profile。(只在登录时读取一次)
3. 根据不同的登录用户,读取家目录中的~/.bashrc。(每次执行shell脚本的时候都要读取一次)
修改示例:export PATH=/usr/java/jdk1.7.0_25:$PATH (export将变量导出为环境变量)
# source /etc/profile //改配置文件之后使用命令使之立即生效
# . /etc/profile //与上一命令等效
八、数据重定向
# ls -al /home > list.log 2> list_err.log //将ls正确结果存入list.log,错误日志存入list_err.log
# ls -al /home > /dev/null 2> list_err.log //将正确结果抛弃,错误日志存入list_err.log
# ls -al /home > list.log 2>&1 //将正确和错误日志都存入list.log