Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。本文记录了Linux常用的一些命令,并不断完善中,以备查阅。
1. 基本操作
1、删除文件命令:
rm -rf
目录循环删除目录
2、打开/关闭fpt命令:
service sftpd stop/start
3、ftp开启命令:
/etc/rc.d/init.d/xinetd stop /etc/rc.d/init.d/vsftpd start /etc/rc.d/init.d/xinetd start
4、svn开启命令:
svnserve -d -r /usr/local/svn/
5、jetty启动:
root@ubuntu-server1:/usr/local/jetty-mvn/jetty9/bin# ./jetty.sh start Starting Jetty: . . . OK Tue Sep 10 12:30:45 CST 2013
6、解压文件到指定目录:
tar xxx.gz -C /usr/local/
7、查看权限命令 查看目录的相关权限可以采用命令ls -lD,或者直接用ls -la如:
ls -l www.jb51.net
这里表示查看www.jb51.net目录
8、查看linux机器是32位还是64位的方法:
file /sbin/init 或者 file /bin/ls
9、找不到网卡解决:
vi /etc/udev/rules.d/70-persistent-net.rules
将最新的eth2网卡改为eth0,并拷贝其ATTR(即最新的mac地址)值,然后编辑eth0的配置文件,将HWADDR改为该值,重启网络服务,问题解决。
10、查看磁盘空间:
df -hl
11、查看系统用户和组:
groups查看当前登录用户的组内成员 groups gliethttp查看gliethttp用户所在的组,以及组内成员 whoami查看当前登录用户名 /etc/group文件包含所有组 /etc/shadow和/etc/passwd系统存在的所有用户名
12、设置环境变量:
vi /etc/profile
最后添加:
export PATH=/usr/loca/mysql/bin:$PATH
保存退出执行:
source /etc/profile
然后查看:
echo $PATH
13、防火墙: (1)、关闭/开启:
service iptables stop/start
(2)、添加端口过滤:
vi /etc/sysconfig/iptables
2. 修改权限命令
chmod 777 文件名 1.chmod 577 /home/stuser -R 2.umask -p 0200 3.chown XXXX YYYY (XXXX 为用户名 YYYY为文件名)
权限列表
-rw------- (600) 只有所有者才有读和写的权限 -rw-r--r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限 -rwx------ (700) 只有所有者才有读,写,执行的权限 -rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限 -rwx--x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限 -rw-rw-rw- (666) 每个人都有读写的权限 -rwxrwxrwx (777) 每个人都有读写和执行的权限
3. 查看系统信息命令
# uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb -tv # 列出所有USB设备 # lsmod # 列出加载的内核模块 # env # 查看环境变量资源 # free -m # 查看内存使用量和交换区使用量 # df -h # 查看各分区使用情况 # du -sh <目录名> # 查看指定目录的大小 # grep MemTotal /proc/meminfo # 查看内存总量 # grep MemFree /proc/meminfo # 查看空闲内存量 # uptime # 查看系统运行时间、用户数、负载 # cat /proc/loadavg # 查看系统负载磁盘和分区 # mount | column -t # 查看挂接的分区状态 # fdisk -l # 查看所有分区 # swapon -s # 查看所有交换分区 # hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备) # dmesg | grep IDE # 查看启动时IDE设备检测状况网络 # ifconfig # 查看所有网络接口的属性 # iptables -L # 查看防火墙设置 # route -n # 查看路由表 # netstat -lntp # 查看所有监听端口 # netstat -antp # 查看所有已经建立的连接 # netstat -s # 查看网络统计信息进程 # ps -ef # 查看所有进程 # top # 实时显示进程状态用户 # w # 查看活动用户 # id <用户名> # 查看指定用户信息 # last # 查看用户登录日志 # cut -d: -f1 /etc/passwd # 查看系统所有用户 # cut -d: -f1 /etc/group # 查看系统所有组 # crontab -l # 查看当前用户的计划任务服务 # chkconfig –list # 列出所有系统服务 # chkconfig –list | grep on # 列出所有启动的系统服务程序 # rpm -qa # 查看所有安装的软件包
4. svn创建版本库配置
cd /home/svn mkdir ityizhan svnadmin create ityizhan cd ityizhan/conf vi passwd [users] ituser = itpassword vi svnserve.conf password-db = passwd authz-db = authz vi authz [groups] ityizhan = ituser [ityizhan:/] * = @ityizhan = rw
5. perl安装
1、在官方网站下载新版本的源码包:
http://www.perl.org/get.html,版本自己选择,我下载的是 perl-5.12.2.tar.gz
2、解压/usr/local/src下的 perl-5.12.2.tar.gz
# tar zxvf perl-5.12.2.tar.gz
3、建立文件目录,以供安装时使用
# mkdir /usr/local/perl
4、设置源码 进入perl-5.12.2.tar.gz的解压目录,执行:
# ./Configure --help
提示如下: 查看过后,使用这个指令来设置源码:
# ./Configure -des -Dprefix=/usr/local/perl -Dusethreads -Uversiononly
5、编译
# make //这个过程会比较久,因为源码文件有那么大,我的这个有14M。 # make install
等待这个命令完成后,基本安装就完成了。
6、替换掉旧的perl命令
# cd /usr/bin # mv perl perl.old //把原来的perl更名为perl.old,弃用。 # ln ls /usr/local/perl/bin/perl /usr/bin/perl //做一个软链接,使用新的perl
7、完成
# perl -version
使用这个命令查看perl的版本,可以看到,已经更新到5.12.2版本了.
6. glibc的安装
有些软件可能要求系统的Glibc高于某个版本才可以正常运行,如果您的Glibc低于要求的版本,为了运行这些软件,您就不得不升级您的Glibc了。比如:
qq: error while loading shared libraries: requires glibc 2.5 or later dynamic linker
您可以寻找已经编译好的rpm包或者使用源代码的方式升级Glibc。
6.1. RPM包方式安装glibc
RPM虽然比较容易安装,但就是依赖问题不好解决。给出一个下载地址: http://mirrors.jtlnet.com/centos/5.5/os/i386/CentOS/
$ rpm –ivh glibc-2.5-49.i386.rpm
不过我用的是CentOS 4.8,貌似不能兼容:
error: Failed dependencies: glibc-common = 2.5-49 is needed by glibc-2.5-49.i386 glibc > 2.3.4 conflicts with glibc-common-2.3.4-2.43.el4_8.3.i386
安装完成后,可以查看是否已升级:
$ ls -l /lib/libc.so.6 lrwxrwxrwx 1 root root 11 10-08 22:08 /lib/libc.so.6 -> libc-2.5.so
6.2. 编译安装glibc
下载glibc
[root@localhost test]# pwd /test [root@localhost test]# wget http://ftp.gnu.org/gnu/glibc/glibc-2.9.tar.bz2
下载glibc-linuxthreads
[root@localhost test]# wget http://ftp.gnu.org/gnu/glibc/glibc-linuxthreads-2.5.tar.bz2
解压
[root@localhost test]# tar -jvxf glibc-2.9.tar.bz2 [root@localhost test]# cd glibc-2.9 [root@localhost glibc-2.9]# tar -jvxf ../glibc-linuxthreads-2.5.tar.bz2
配置
[root@localhost glibc-2.9]# cd .. [root@localhost test]# export CFLAGS="-g -O2 -march=i486" [root@localhost test]# mkdir glibc-build [root@localhost test]# cd glibc-build [root@localhost glibc-build]# ../glibc-2.9/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
安装
[root@localhost glibc-build]# make [root@localhost glibc-build]# make install
安装编译过程中需要注意三点: 1、要将glibc-linuxthreads解压到glibc目录下。 2、不能在glibc当前目录下运行configure。 3、否则如果出现错误:error "glibc cannot be compiled without optimization",需要加上优化开关:
[root@localhost test]# export CFLAGS="-g -O2 -march=i486"
7. CentOS修改DNS
1、CentOS修改DNS
修改对应网卡的DNS的配置文件
# vi /etc/resolv.conf
修改以下内容
nameserver 8.8.8.8 #google域名服务器 nameserver 8.8.4.4 #google域名服务器
2、CentOS修改网关
修改对应网卡的网关的配置文件
[root@centos]# vi /etc/sysconfig/network
修改以下内容
NETWORKING=yes(表示系统是否使用网络,一般设置为yes。如果设为no,则不能使用网络,而且很多系统服务程序将无法启动) HOSTNAME=centos(设置本机的主机名,这里设置的主机名要和/etc/hosts中设置的主机名对应) GATEWAY=192.168.1.1(设置本机连接的网关的IP地址。例如,网关为10.0.0.2)
3、CentOS修改IP地址
修改对应网卡的IP地址的配置文件
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
修改以下内容
DEVICE=eth0 #描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为eth0 BOOTPROTO=static #设置网卡获得ip地址的方式,可能的选项为static,dhcp或bootp,分别对应静态指定的 ip地址,通过dhcp协议获得的ip地址,通过bootp协议获得的ip地址 BROADCAST=192.168.0.255 #对应的子网广播地址 HWADDR=00:07:E9:05:E8:B4 #对应的网卡物理地址 IPADDR=12.168.1.2 #如果设置网卡获得 ip地址的方式为静态指定,此字段就指定了网卡对应的ip地址 IPV6INIT=no IPV6_AUTOCONF=no NETMASK=255.255.255.0 #网卡对应的网络掩码 NETWORK=192.168.1.0 #网卡对应的网络地址 ONBOOT=yes #系统启动时是否设置此网络接口,设置为yes时,系统启动时激活此设备
4、重新启动网络配置
# service network restart 或 # /etc/init.d/network restart
修改 IP 地址,即时生效:
# ifconfig eth0 192.168.0.2 netmask 255.255.255.0
启动生效,修改:
/etc/sysconfig/network-scripts/ifcfg-eth0
修改网关Default Gateway,即时生效:
# route add default gw 192.168.0.1 dev eth0
启动生效,修改:
/etc/sysconfig/network
修改DNS,修改
/etc/resolv.conf
修改后可即时生效,启动同样有效。
修改host name,即时生效:
# hostname centos1
启动生效,修改:
/etc/sysconfig/network
手动更改centos为静态IP
1,先搜索了一下,得到以下解释:
IP IP地址 Netmark 子网掩码 Gateway 默认网关 HostName 主机名称 DomainName 域名 DNS DNS的IP
2,需要修改的文件常有
/etc/sysconfig/network /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/resolv.conf /etc/hosts
出现’connect:Network is unreachable error’问题,VirtualBox采用的是Bridged Adapter的方式连接。
通过修改
/etc/sysconfig/network-scripts/ifcfg-eth0
修改虚拟机的IP地址、network和netmask。 发现能ping同network和netmask,于是断定应该是虚拟机操作系统的路由配置问题,尝试直接修改系统文件:
/etc/sysconfig /network-scripts/route-eth0
添加
defult via 192.168.0.1
192.168.0.1是我的路由器的IP地址,可以根据自身情况修改
到/etc/sysconfig/network-scripts/目录下发现压根儿没有route-eth0这个文件,于是自己创建了一个,将defult via 192.168.0.1添加到文件中。 运行
/etc/init.d/network restart
重启network,一切ok!