分类: LINUX
2014-10-14 17:11:40
Linux常用命令 山定子 整理
帮助
# touch --help //显示touch帮助信息
# man 命令 //显示相应命令的帮助内容
# info 命令 //显示相应命令info内容
系统和硬件
# cat /etc/redhat-release //查看操作系统版本(redhat和centos)
# cat /proc/cpuinfo //查看CPU相关参数
# cat /proc/interrupts //查看中断
# cat /proc/ioports //查看设备io端口
# cat /proc/loadavg // 查看系统负载
# cat /proc/meminfo //查看内存信息
# cat /proc/partitions //查看硬盘和分区
# cat /proc/swaps //查看所有swap分区的信息
# cat /proc/version //同上
# df -h // 查看各分区使用情况
# dmesg | head -n 1 //Linux的内核和其他信息
# dmidecode //主板信息
# du -sh 目录名 // 查看指定目录的大小
# env // 查看环境变量资源
# free -m // 查看内存使用量和交换区使用量
# grep MemFree /proc/meminfo // 查看空闲内存量
# grep MemTotal /proc/meminfo // 查看内存总量
# head -n 1 /etc/issue //查看操作系统版本
# hostname //查看计算机名
# lsb_release -a //操作系统版本
# lsmod // 列出加载的内核模块
# lspci -tv //显示总线设备信息
# lsusb -tv //显示USB设备
# uname -a //查看内核/主机名和其他信息
# uptime // 查看系统运行时间、用户数、负载
# vmstat // 查看详细系统运行信息
磁盘和分区
# dmesg | grep IDE // 查看启动时IDE设备检测状况
# fdisk -l //查看当前有哪些设备及分区
# hdparm -i /dev/hda // 查看磁盘参数(仅适用于IDE设备)
# mount | column -t // 查看挂接的分区状态
# mount -t 文件系统类型 设备路经 访问路经
# mount /dev/cdrom /aaa/ //挂载设备CDROM到/aaa/目录下
# umount /dev/cdrom //卸载设备 cdrom
# swapon -s // 查看所有交换分区
# umount /aaa/ //卸载目录/aaa
# cp /dev/cdrom 123.iso //将cdrom内容制作成123.iso镜像
# mount -o loop 123.iso /bbb/ //将123.iso镜像文件挂载到/bbb/下
# mount -t isoDVD /dev/cdrom /mnt/cdrom //挂载光驱
# mount -t vfat /dev/hda6 /mnt/cdrom //挂第一个ide的第六个逻辑分区
# mount -t ntfs-3g /dev/sdb* /mnt/aaa //不编译内核,mount ntfs分区
用户
# cut -d: -f 1 /etc/group // 查看系统所有组
# cut -d: -f 1 /etc/passwd // 查看系统所有用户
# id 用户名 // 查看指定用户信息
# last // 查看用户登录日志
# w // 查看登陆用户及操作
# who // 显示登陆用户
# whoami // 查看当前用户
目录操作
# cd //进入当前帐户所在目录
# cd /home/ccc //进入/home/ccc目录
# ls //以短格式显示当前目录的内容
# ls -l //以长格式显示当前目录的内容
# ls -l /home/bbb/ //显示指定目录/home/bbb的内容
# ls -l 111 //只显示当前目录下文件111的信息
# mkdir ddd //在当前目录下创建ddd目录# mkdir -p /a/b/c //创建/a/b/c目录(多层目录)
# pwd //显示当前所在目录
# rm -r ddd //删除ddd目录(非空,先询问)
# rm -rf ddd //直接删除ddd目录(非空,不询问)
# rmdir ddd //删除ddd目录(空)
文件操作
# cp 333 /home/ccc //复制文件333到/home/ccc下
# cp 333 444 //复制文件333为444(同目录下)
# file 222 //显示文件222的文件类型
# find //显示当前目录下所有内容(无参数)
# find /home -name “*.sgy” –print //查找/home下所有sgy文件
# find -name 11* //查找文件名包含11的所有文件
# find -user luo //查找属于用户luo的所有文件
# find DirPath -type f | wc -l //查看某目录下有多少个文件命令
# mv 333 /home/ccc //移动文件333到/home/ccc下
# mv 333 444 //移动文件333为444(同目录下改名)
# rm 333 //删除文件333
# touch 333 //创建333空文件
文本文件查看
# cat /home/333 //查看/home下文件333的内容(不停顿)
# grep 字符 文件名 //根据字符匹配来查看文件部分内容
# head 10 /home/333 //查看/home下文件333的头部10行内容
# less /home/333 //查看/home下文件333的内容(分屏,分行)
# more /home/333 //查看/home下文件333的内容(仅分屏)
# tail 10 /home/333 //查看/home下文件333的尾部10行内容
用户管理
# finger st01 //查看st01用户描述信息
# grep st01 /etc/shadow //查看st01是否启用(用户名后无!号)
# grep st01 /etc/shadow //查看st01是否禁用(用户名后紧跟!号)
# passwd st01 //设置st01用户口令(连输两次)
# useradd st01 //创建st01用户
# useradd st02 -d /eee //创建st02用户并更改主目录为eee
# userdel -r st01 //删除 st01用户(连同主目录删除)
# userdel st01 //删除 st01用户(仅删帐号)
# usermod -L st01 //禁用st01用户
# usermod -U st01 //启用st01用户
# usermod -u0 -o st01 //提升st01用户管理员权限
组管理
# groupadd benet //添加benet组
# groupadd -g benet st03 //添加st03用户并指定属于benet组
# groupdel benet //删除benet组
# usermod -g benet st03 //设置st03用户新的组名为benet
# usermod -G szxs st03 //添加st03用户到其它组szxs(多组)
文件权限设定
chmod ---=0 -w-=2 r--=4 rw-=6 --x=1 -wx=3 r-x=5 rwx=7 s,S,t,T=特殊权限
# chmod [ugoa][+-=][rwx] file
u=属主 g=属组 o=其它用户 a=所有用户 rwx=读,写,执行
+-=:加权限,减权限,赋权限
# chmod 765 111 //为111文件的属主设为完全权限,属组设成读写权,其它用户具有读和执行权限
# chmod a-r 111 //将111文件所有用户撤消读取权限
# chmod g+x 111 //将111文件属组增加执行权限
# chmod o+r 111 //将111文件其它用户增加读取权限
# chmod u+s 111 //为111文件的属主加上特殊权限
# chmod u+w 111 //将111文件属主增加可写权限
# chown :benet 222 //更改文件222属于组benet
# chown st03 222 //更改文件222属于用户st03
# chown st03:benet 222 //更改文件222属于用户st03组benet
磁盘管理
# df //用于报告文件系统的总容量,使用量,剩余容量
# df -h //查看磁盘空间使用情况
# df -T //查看磁盘格式挂载后的信息
# du -b /home //查看目前/HOME目录的容量(k)及子目录的容量(k)
# du -sh DirPath //查看目录的容量(k)及子目录的容量(k)
# du -sk DirPath //查看目录的容量(k)
# fdisk /dev/sda //对磁盘sda进行分区
# fdisk -l //查看磁盘及分区信息
# mkfs.ext2 /dev/sda1 //格式化sda1为ext2格式
# mkfs.ext3 /dev/sda2 //格式化sda2为ext3格式
# mount /dev/sda1 /bbb //挂载sda1到/bbb目录下
# vi /dev/fstab //自动挂载磁盘分区,添加:
/dev/sdb5 dd ext3 defauls 0 0
Vi编辑器
# vi //直接进入编辑并创建新文件
# vi abc //编辑文件abc(不存在则创建abc文件)
# vi -o aaa bbb //水平窗口打开aaa,bbb两个文件
# vi -O aaa bbb //垂直窗口打开aaa,bbb两个文件(Ctrl+W两次可在多个文件间切换)
:e cc //打开新的文件进行编辑
:e! ddd //强制关闭当前文件(不保存)打开新文件
:q //未作修改退出
:q! //强行退出(不保存修改)
:r fff //在当前位置读入fff文件
:set nonu //不显示行号
:set nu //显示行号
:w //保存输入的内容到当前文件
:w eee //另存为eee文件
:wq //保存并退出
软件包管理
# rpm -e mplay //卸载mplay软件包
# rpm -e package-name //删除具体的软件包
# rpm -i mplay.rpm //安装mplay软件包(不显示信息)
# rpm -ivh --force mplay.rpm //强制安装mplay软件包(显示信息)
# rpm -ivh mplay.rpm //安装mplay软件包(显示信息)
# rpm -ivh package-name //安装软件包并显示过程
# rpm -oldpackge mplay.rpm //降级mplay软件包
# rpm -q http //查询指定的包http是否安装
# rpm -q installed-package-name //查看是否安装
# rpm -q telnet-server //查看telnet服务器包
# rpm -qa //查看系统中已安装的所有rpm包(不分屏)
# rpm -qa|grep ftp //查询指定RPM
# rpm -qa|less //查询已安装RPM(分屏)
# rpm -qf luo //查询文件luo所属的软件包
# rpm -qf package-name //查询某个文件所属的软件包
# rpm -qi http //查询指定的包http详细信息(已安装)
# rpm -qi package-name //查看软件的描述信息
# rpm -ql http //查询指定的包http文件列表(已安装)
# rpm -ql package-name //查询软件包的文件列表
# rpm -qp package-name //查询未安装的软件包信息
# rpm -qpi http //查询指定的包http详细信息(未安装)
# rpm -qpl http //查询指定的包http文件列表(未安装)
# rpm -U mplay.rpm //升级mplay软件包
# rpm -Uvh package-name //升级软件包并显示过程
# rpm -V package-name //验证软件包的大小,类型等等
# which mount //获得mount所属包可执行文件路径
编译安装
# ./configure --prefix=/luo //编译前配置(指定路径)
# ./configure --prefix=/路径
# make //二进制编译过程
# make install //编译安装过程
图形安装
# system-config-packages //启动图形界面包管理程序
下载
# wget http://路径/文件名
# wget *.gz //下载163.com上的*.gz文件
运行级别
# init 0 //关闭系统(停止)
# init 1 //单用户模式(root)
# init 2 //多用户文本模式(不能使用NFS)
# init 3 //多用户文本模式(能使用网络共享)
# init 5 //图形登录模式
# init 6 //重新启动系统
# runlevel //显示系统当前运行级别
服务启动状态
# chkconfig --level级别列表 服务名称 [on|off|reset]
# chkconfig --level 24 syslog off //设置syslog 2,4级别的启动状为off
# chkconfig --list 服务名称
# chkconfig --list //显示已运行所有服务的启动状态
# chkconfig --list syslog //显示指定syslog服务的启动状态
# chkconfig服务名 [on,off,reset]
# chkconfig rsync on //设置rsync服务状态为启动
# chkconfig --list|grep iptables //查看防火墙状态
进程管理
# cp /dev/cdrom mycd.iso & //后台运行制作镜像(加&)
# fg 2178 //将后台进程编号为2178调到前台
# jobs 查看后台运行的进程
# kill -9 2178 //强制终止ID为2178的进程
# ps -aux //显示当前运行的进程(静态)
# ps -ef // 查看所有进程
# pstree //查看当前进程树
# top //显示当前运行的进程(动态)
# top (Ctrl+Z) // 将当前top进程调到后台并停止
调度启动
# at [选项] time(M-D-H-M)
# at -t 05311035 //(Ctrl+D结束输入任务) 在5月31日10点35分执行任务
# atq //显示未执行的at任务
# atrm 3 //删除编号为3的at任务
计划任务
# cat /var/spool/cron/root //查看任务内容
# chkconfig --level 35 crond off //关闭crond服务(在3,5级别)
# chkconfig --level 35 crond on //启动crond服务(在3,5级别)
# chkconfig --list crond //查询crond在各运行级别的启动状态
# crontab -e //编辑cron任务
# crontab -l //查看当前的cron任务列表
# crontab -r //删除cron任务
# service crond restart //重启cron服务
# service crond start //启动cron服务
# service crond status //查看cron服务启动状态
# service crond stop //停止cron服务
文档归档备份
# tar -c 创建包;-x 释放包;-v 显示命令过程;-z 代表压缩包
# tar -cf abc.tar benet //对benet目录进行归档(普通)
# tar -cvf test.tar /home/simonpc //把/home/simonpc目录打包
# tar -czf abc.tar.gz benet //对benet目录进行压缩
# tar -jxvf test.tar.bz2 //压缩包的文件解压恢复
# tar -tf abc.tar //查看abc.tar归档文件的目录列表
# tar -tf abc.tar.gz //查看abc.tar.gz的文件列表
# tar -tzf abc.tar //查看abc.tar.gz压缩文件的目录列表
# tar -xf abc.tar –C /accp //恢复归档abc.tar到指定目录/accp
# tar -xf test.tar //非压缩包的文件恢复
# tar -xzf abc.tar.gz –C /nec //恢复压缩归档abc.tar.gz到指定目录/nec(不带-C则恢复到原目录)
# tar -zcvf test.tar.gz /project //把目录打包并压缩
# tar -zxvf test.tar.gz //压缩包的文件解压恢复
磁盘配额
# vi /etc/fstab //修改fstab文件中分区装载设置在defaults后加入usrquota,grpquota 重新挂载文件系统(对根分区设置配额重启)
# reboot //重启系统
# dd if=/dev/zero of=f1 bs=10MB count=2 //用虚拟文件f1检查配额情况
# edquota -u ccnp //对组ccnp设置配额
# edquota -u st26 //对用户设置配额
# quota -g ccnp //查看组ccnp配额情况
# quota -u st26 //查看用户st26配额情况
# quotacheck -cmug / //创建配额文件
# quotacheck -mfvug / //对文件系统的配额进行一致性检测
# quotaon / //启用磁盘配额(生效)
网络管理
# ifconfig [接口] [选项]
# ifconfig //查看当前有效网络接口信息
# ifconfig -a //查看当前所有网络接口信息
# ifconfig eth0 //查看指定网络接口eth0信息
# ifconfig eth0 192.168.1.11 //设置eth0接口IP地址(标准掩码)(相当于动态修改IP)
# ifconfig eth0 192.168.1.11 netmask 255.255.255.128 //设置eth0接口IP地址及子网掩码
# ifconfig eth0 hw ether 000C1254D321 //更改网卡物理地址
# iptables -L // 查看防火墙设置
# netstat -antp // 查看所有已经建立的连接
# netstat -lntp // 查看所有监听端口
# netstat -s // 查看网络统计信息
# route -n // 查看路由表
动态增加IP
# traceroute 211.148.192.136 //检测到目的IP经过的路由信息
# hostname //查看主机名称
# hostname luo //设置主机名称为 luo
# ping 192.168.1.10 //Ping主机192.168.1.10
#ifconfig eth0 add 10.52.19.147
#ifconfig eth0:0 broadcast 10.52.19.255
DNS域名
# nslookup 待解析域名(或IP)
# nslookup 211.148.192.136 //反向解析IP---域名
# nslookup //解析指定的域名---IP
# route add default gw 192.168.1.1 //添加默认网关为192.168.1.1
# route del default gw 192.168.1.1 //删除默认网关为192.168.1.1
NFS服务
# exportfs -auv //停止输出所有共享目录
# exportfs -av //输出启用所有共享目录
# exportfs -rv //重新输出共享目录
# mount -t nfs 192.168.2.10:/luo /wei //在客户机上挂载共享目录到/wei
# service iptables stop //关闭防火墙
# service nfs start //启动nfs服务
# service portmap start //启动portmap服务
# showmount -a //显示NFS服务器的客户与被挂载目录
# showmount -d //显示NFS服务器被挂载的目录
# vi /etc/exports //修改共享配置文件(加共享目录)
showmount -e 192.168.2.10 6 //在客户上查看服务器共享目录
配置文件
vi /etc/hosts vi /etc/network //修改主机名称配置文件
vi /etc/rc.local //修改mac地址配置文件
vi /etc/resolv.conf //修改DNS配置文件
vi /etc/sysconfig/network-scripts/ifcfg-eth0 //修改网卡配置文件
vi /var/spool/cron/username //修改cron任务配置文件
vi /var/spool/mail //修改邮件配置文件
时间
# date //显示当前时间
# date -s 2007-08-03 //只修改日期
# date -s 14:15:00 //只修改时间
# date -s "2007-08-03 14:15:00" //同时修改日期和时间,加双引号
# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime //修改时区
修改/etc/sysconfig/clock文件的内容为:
ZONE=”Asia/Shanghai”
UTC=false
ARC=false
# clock -w //同步BIOS时间