一、系统管理与设置; 二、用户和用户组管理; 三、磁盘管理; 四、文件和目录管理; 五、备份与压缩; 六、网络管理与相关应用; 七、vi编辑器;八、shell编程
一、系统管理与设置
1、信息显示命令
# arch //显示当前系统体系结构
# cal //显示当前月份
# cal -y //显示整年日历
# cat /etc/issue //看当前系统发行版本
# cat /etc/redhat-release //看操作系统版本(redhat和centos)
# cat /etc/shells //查看shell版本
# cat /etc/services | more //查看各种服务的port
# cat /proc/cpuinfo //显示CPU信息
# cat /proc/cpuinfo | grep flags | grep ' lm ' | wc -l //结果大于0, 说明支持64位计算。lm指long mode, 支持lm则是64位
# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c //查看CPU型号
# cat /proc/cpuinfo | grep physical | uniq -c //查看实际有几颗CPU
# getconf LONG_BIT //显示当前CPU运行在什么模式下
# cat /proc/filesystems //看文件系统
# cat /proc/interrupts //显示中断
# cat /proc/ioports //看设备io端口
# cat /proc/loadavg // 看系统负载
# cat /proc/meminfo //看内存信息
# free //看内存信息
# dmidecode //查看内存型号
# /usr/platform/sun4u/sbin/prtdiag -v //查看内存信息(unix)
# cat /proc/modules //看当前系统模块
# cat /proc/partitions //看当前系统分区
# cat /proc/scsi/scsi //查看scsi硬盘信息
# cat /proc/swaps //看所有swap分区
# cat /proc/version //查看Linux内核版本
# date //看当前时间
# dmesg //看启动信息
# dmidecode | grep "Product Name" //查看机器型号
# dmidecode | more //查看硬件(如内存型号、生产厂家等)信息
# echo //显示文本行
# echo $LANG //显示系统语言
# echo $PATH //显示系统的环境变量
# env //显示所有环境变量
# fgconsole //显示活动的虚拟终端数目
# glxinfo //显示有关GXL扩展和OpenGL渲染器的信息
# grep -i '10.52' /etc/hosts //查找/etc/hosts文件中包含10.52的行,不区分大小写
# head -5 /etc/passwd //看文件passwd的前5行
# tail -10 /etc/passwd //看文件passwd的后10行
# sed -n '5,10p' /etc/passwd //查看文件passwd的第5行到第10行
# history //显示历史记录
# history 5 //显示最近执行的5个历史记录
# history -c //清除历史记录
# sysdef -h //查看主机ID(Unix)
# hostname //显示主机名
# hostname -a //显示主机别名
# hostname -d //显示主机域名
# hostname -i //显示主机IP地址
# hostname 主机名 //设置主机名称
# hwclock //获取当前硬件时间
# hwclock -version //显示hwclock命令的版本信息
# info 命令 //显示相应命令info内容
# locale //显示系统当前的语言设置
# lsattr -a //显示当前目录下所有的目录和文件,包括隐藏文件或目录
# lsattr -R //递归显示指定目录及子目录的内容
# lsattr //显示当前目录下的文件属性
# lsb_release -a //查看linux版本
# lsmod //显示所有已加载的模块
# lspci | more //显示当前系统的硬件配置
# lspci -v //查看系统硬件配置详细信息
# lspci -vv |more //查看系统硬件配置更为详细的信息
# lspci| grep Ethernet //查看网卡信息
# lspci -tv //列出所有PCI设备
# netstat -pan|grep 177 //查看177端口情况
# ps aux //显示所有进程状态和进程的基本信息
# ps -e //查看当前所有进程
# ps -u root –N //显示所有不是以root身份运行的进程
# ps -U ow2003 //显示ow2003用户进程
# ps -ef |grep ow2003 //显示ow2003用户进程
# pstree -h //高亮显示当前正在执行的进程
# pstree -p //以树状图方式显示进程及进程号
# pwd //显示当前目录
# rpm -q redhat-release //查看linux版本
# runlevel //显示系统运行级别
# set //显示所有本地定义的Shell变量
# stat -f filename //显示文件系统状态
# stat filename //显示文件详细内容
# tac /etc/hosts //与cat相反,是将hosts内容从最后一行到第一行反向显示在屏幕上
# time ls //查看执行ls命令所需的时间
# top n 2 //显示进程信息,刷新两次后退出
# top -d 2 -n 3 -b >test.txt //将top的结果输出到文件test.txt中(每隔2秒,打印3次)
# touch --help //显示touch帮助信息
# man 命令 //显示相应命令的帮助内容
# uname -a //显示全部信息
# uname -i //显示硬件平台
# uname -m //显示机器硬件名
# uname -n //显示网络节点主机名
# uname -o //显示操作系统
# uname -p //显示处理器类型
# uname -r //显示内核版次
# uname -s //显示内核名
# uptime //查询系统自启动到现在总的运行时间及负载情况
# vmstat //显示虚拟内存的使用信息
# vmstat 2 3 //显示虚拟内存每隔2s刷新一次信息,且刷新3次
# yes string //设定重复显示的字符串
# yes |rm *.cgm //自动回答rm提出的问题,无需用户再连续输入yes
2、系统管理命令
# chkconfig rlogin on //开启rlogin服务
# chkconfig rsh on //开启远端服务器rsh
# chsh //shell设置
# chsh -l //列出当前所有可用的shell
# chsh -s /bin/bash //改变当前的shell设置为/bin/bash
# /bin/sh //切换shell
# exit //退出shell
# clear //清除终端屏幕
# cp /dev/cdrom mycd.iso & //后台运行制作镜像(加&)
# Ctrl + L //清除终端屏幕
# depmod -show //显示输出模块依赖关系
# echo $shell //显示当前用户的默认shell
# fg 2178 //将后台进程编号为2178调到前台
# ftp 10.52.19.189 & //让ftp进程在后台执行
# init 0 //关闭系统(停止)
# init 1 //单用户模式(root)
# init 2 //多用户文本模式(不能使用NFS)
# init 3 //多用户文本模式(能使用网络共享)
# init 5 //图形登录模式
# init 6 //重新启动系统
# jobs 查看后台运行的进程
# kill -9 2178 //强制终止ID为2178的进程
# mc //对当前目录文件进行可视化管理
# ntsysv //设置系统开机时启动的各种服务
# system-config-services //图形界面的设置系统开机时启动的各种服务
# pgrep nslookup //显示与指定字符串相关的进程
# pgrep -u root -l //查找由root用户创建的进程
# pgrep -u root -l -v //查找不是由root用户创建的进程
# ps -aux //显示当前运行的进程(静态)
# ps -ef // 查看所有进程
# pstree //查看当前进程树
# pwck /etc/passwd //检测passwd文件的正确性
# pwck /etc/shadow //检测shadow文件的正确性
# rlogin -l ow2003 10.52.19.200 //以用户ow2003登录远端主机
# rmmod 未使用的模块名 //卸载unused模块
# rsh 10.52.19.189 //登录远端主机10.52.19.189
# rsh -l ow2003 10.52.19.189 //以用户ow2003登录远端主机
# runlevel //显示系统当前运行级别
# sleep 2m //让系统休眠2分钟
# ssh 10.52.19.189 //登录远端主机10.52.19.189
# ssh -l ow2003 10.52.19.189 //以用户ow2003登录远端主机
# sudo -L //显示sudo命令可以使用的参数及相关描述信息
# sudo -u ow2003 ls -l /home //以用户ow2003身份执行命令
# suspend //暂停正在使用的shell
# suspend -f //强制暂停正在使用的shell
# symlinks -v / //显示根目录下的所有符号链接
# top //显示当前运行的进程(动态)
# top (Ctrl+Z) // 将当前top进程调到后台并停止
# vlock //锁定虚拟终端
# watch -n 10 --difference=cumulative who //以高亮字符显示累加差异
# watch -n 10 who //每隔10秒执行一次who命令
# xkill //鼠标点死掉的图形即可终止,如果想终止xkill ,按右键取消
3、系统维护命令
# alias //列出已设置的别名
# alias rm 'rm -i' //设置别名
# authconfig //设置系统的认证信息
# bind -l //显示按键组合的内容
# bind -q abort //查询abort上绑定的键
# chattr +i /etc/fstab //禁止修改fstab文件
# chattr -i /etc/fstab //取消禁止修改fstab文件
# chkconfig --list //列出chkconfig所知道的所有服务
# chkconfig telnet off //关闭telnet服务
# chkconfig telnet on //开启telnet服务
# 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时间
# declare BASH=/bin/csh //修改变量BASH的值为/bin/csh
# declare -p //显示shell的所有变量及值
# declare -x //显示所有环境变量的值
# dircolors -b //显示Bourne Shell颜色代码设置
# dircolors -c //显示C Shell颜色代码设置
# dircolors -p //显示ls命令默认颜色值
# enable -a //显示shell的所有内置指令
# enable alias //加载内部命令alias
# enable -n alias //关闭alias
# eval pwd;df -h;ls //连接多个命令pwd,df -h和ls
# export MYENVIRON //自定义一个环境变量MYENVIRON
# export MYNAME= " Wang Xuri" //定义环境变量并赋值
# export -p //列出当前的环境变量值
# unset MYNAME //清除环境变量MYNAME
(注:以上命令使用的shell是bash)
# hostid //显示当前主机的数字标识
# ldd /bin/ls //显示/bin/ls命令所使用的共享函数库
# ldd -v /bin/ls //以冗余模式显示的/bin/ls所使用的共享函数库
# losetup /dev/loop0 //显示设备/dev/loop0的状态
# lsmod //显示所有已加载的模块
# lsmod -v usb-uhci //使用insmod命令安装模块"usb-uhci"
# modprobe -c //显示当前自动处理可载入模块的默认配置
# modprobe -v 8139too //安装网卡8139too
# mouseconfig --device psaux //指定鼠标端口为PS/2,鼠标为psaux
# mouseconfig --noui genericusb //以命令形式指定鼠标类型为genericusb
# mouseconfig --text //在图形界面方式下配置鼠标
# resize -c //使用C shell表示当前终端窗口大小
# resize -s 30 100 //设置虚拟终端大小,高为30列,长为100个字符
# resize -u //使用Bourne shell表示当前终端窗口大小
# rpm -e package-name //卸载具体的软件包
# rpm -ev RealPlayer //卸载软件RealPlay
# rpm -hiv RealPlayer10GOLD.rpm //安装RealPlayer10GOLD.rpm包
# rpm -i mplay.rpm //安装mplay软件包(不显示信息)
# rpm -ivh --force 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 -qi Realplayer //查询RealPlay的安装信息
# 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所属包可执行文件路径
# for i in ‘rpm -qa |grep -i php’
>do rpm -e $i -nodeps
>done //删除系统中与软件php相关的所有已安装的软件包
# alias td //显示别名信息
# alias td=tcpdump //tcpdump命令设置别名td
# runlevel //显示当前系统运行等级
# runlevel 2 //设置执行级别
# set //显示当前的环境变量设置
# set SHELL “/bin/sh” //设置环境变更SHELL的值为/bin/sh
# setserial -a /dev/ttyS1 //显示串口/dev/ttyS1的详细配置信息
# setserial -v /dev/ttyS1 //显示串口/dev/ttyS1的配置信息
# setup //用来设置认证、防火墙、鼠标、网络配置、系统服务等公用程序
# fdisk -l //显示分区信息
# swapoff /dev/sda3 //卸载交换区/dev/sda3
# swapon /dev/sda3 //加载交换区/dev/sda3
# tmpwatch -t 100 /tmp/ //查看100小时内未被使用的文件(不删除文件,仅进行测试)
# tmpwatch 100 /tmp/ //删除/tmp目录下100小时内未被使用的文件
# tmpwathc -s 100 /tmp/ //在删除文件之前,使用fuser命令检测该文件是否正被使用
# ulimit -a //显示系统资源配置
# ulimit -n 1000 //设置同一时间可打开的文件数目
# ulimit -u 500 //设置单用户创建进程上限为500
# ulimit -v 1024 //设置最大虚拟内存数
# unalias td //删除别名
# unset pwd //删除环境变量
# up2date //升级Red Hat Linux系统
# up2date -l //列出所有可用的升级包
释放linux系统的内存(在RHEL4.0及以上版本测试通过):
# free -m
# sync
# echo 3 > /proc/sys/vm/drop_caches
# cat /proc/sys/vm/drop_caches
# free -m
# ./configure;make;make install //编译安装过程(cd到安装目录执行)
# sh ./file_name //安装.run后缀文件
# system-config-packages //启动图形界面包管理程序
# nvidia-settings //设置nvidia显卡
4、自动作业处理
# /sbin/service anacron restart //重启anacron服务
# /sbin/service anacron start //启动anacron服务
# /sbin/service anacron stop //停止anacron服务
# /usr/sbin/atd //启动atd守护进程
# at -c 6 //显示已经设置的任务6的内容
# at -l //查询已设置的任务
# atd -d //以输出调试信息的方式运行队列中的任务
# atq //查询当前已设置的任务
# atrm 3 //删除当前任务队列中的第3个任务
# atrun //执行已排队的任务
# cat /var/spool/cron/root //查看任务内容
# chkconfig --level 35 crond off //关闭crond服务(在3,5级别)
# chkconfig --level 35 crond on //启动crond服务(在3,5级别)
# 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 crond //查询crond在各运行级别的启动状态
# chkconfig --list|grep iptables //查看防火墙状态
# crontab -e //编辑cron任务(编完后,系统默认保存位置是/tmp)
# crontab -l //查看当前的cron任务列表
# crontab -r //删除cron任务
# rpm -qa anacron //查看系统中是否已安装anacron服务
# rpm -qa crontabs //检查系统中是否已安装crond服务
# service crond restart //重启cron服务
# service crond start //启动crond服务
# service crond status //查看cron服务启动状态
# service crond stop //停止crond服务
5、系统日志
# /sbin/syslogd //启动syslog日志守护进程
# /sbin/syslogd -r //守护进程可以接收来自网络的syslog信息
# killall -HUP syslogd //重新修改配置文件后,重启syslog进程使其生效
# echo > /user/local/apache/logs/error_log //清空Apache服务日志
二、用户和用户组管理
# ac //查看系统总的连接时间
# ac -d //按天对连接进行汇总
# ac -p //列出所有用户的连接时间
# cat /etc/shadow //查看/etc/shadow文件
# chage //改变用户变更密码的期限,要求用户必须在几天之内变更密码
# chage -l ow2003 //查看ow2003用户密码的有效期
# chfn //用来改变一个用户的完整用户名和其他信息
# chpasswd //一次性更新一组现有用户的密码
# chroot /tmp/empty /ls –Rl / //以/tmp/empty为根运行ls命令
# chsh //改变用户的缺省登陆shell
# cut -d: -f 1 /etc/group // 查看系统所有组
# cut -d: -f 1 /etc/passwd // 查看系统所有用户
# dpasswd //删除或者更新用户登录shell的拨号密码
# expiry //检查并强制执行密码失效策略
# faillog //检查登录失败日志/var/log/faillog,设置允许登录失败的次数或重置失败次数
# finger -l //列出当前登录用户的相关信息
# finger ow2003 //查看ow2003用户描述信息
# gpasswd //用来管理/etc/group文件
# grep ow2003 /etc/shadow //查看ow2003是否禁用(用户名后紧跟!号)
# grep ow2003 /etc/shadow //查看ow2003是否启用(用户名后无!号)
# groupadd //建立新的用户组
# groupadd benet //添加benet组
# groupadd -g 502 student //添加用户组student,GID为502
# groupadd -g benet st03 //添加st03用户并指定属于benet组
# groupdel //删除用户组
# groupdel benet //删除benet组
# groupmod //修改用户组
# groupmod -g 503 teacher //修改teacher用户的组标识为503
# groupmod -g 550 -n dirctor teacher //将teacher用户组标识号改为550,用户组名改为director
# groups //显示当前用户所属的用户组
# grpck //校验用户组文件的完整性,/etc/group 和 /etc/gshadow
# grpconv //根据/etc/group文件建立/etc/gshadow文件
# grpunconv //根据/etc/group和/etc/gshadow文件建立新的/etc/group文件,并删除/etc/gshadow文件
# id //显示当前用户的UID、GID和用户所属的组列表
# id 用户名 // 查看指定用户信息
# id -g //显示当前用户的用户组GID
# id -G //显示所有的用户组GID
# id -G -n //显示所有的群组名称
# id ow2003 //显示指定用户ow2003的用户信息
# id root //显示root用户的用户信息
# last //显示最近用户的登录信息(last命令查找/var/log/wtmp文件)
# last -n 10 //仅显示10行记录
# last -x //查询最近用户登录情况,同时显示系统关机及系统运行等级变化
# lastb //显示最近登录失败用户信息(lastb命令查找/var/log/btmp文件)
# lastlog //格式化并输出最后一个登录日志的内容,或者是某个用户的最近一次登陆内容
# ln /usr/sbin/groupadd /usr/sbin/addgroup //创建名为addgroup的链接命令,链接到groupadd命令
# login //系统用它来允许用户登陆
# logname //显示登录用户的用户名
# logoutd //用/etc/porttime中的设置强制限制登录时间和端口
# mkpasswd //读取参数设定的某格式文件并转化至相应的数据库文件格式
# newgrp //不指定转换的用户组时,系统默认转换为登录时的用户组
# newgrp [-] [groupname] //选项“-”用于重新加载用户工作环境。如果不带“-”选项,则在切换用户组时,用户的工作环境(包括当前工作目录等)不会改变
# newgrp bin //改变当前用户的主用户组为bin
# newusers //批量加入新的用户
# passwd //修改当前用户的密码
# passwd -d ow2003 //快速删除ow2003用户的密码
# passwd -l ow2003 //锁定ow2003用户使其不能登录
# passwd ow2003 //根用户修改普通用户ow2003的密码
# passwd -u ow2003 //解锁ow2003用户使其可以登录
# pwck //校验密码文件的完整性,/etc/passwd 和 /etc/shadow
# pwconv //根据/etc/passwd创建影子文件
# pwconv //根据/etc/passwd文件建立/etc/shadow文件(解决两者不匹配时的问题,如无法进入图形界面的用户和组管理器)
# pwunconv //根据/etc/shadow和/etc/passwd文件建立新的/etc/passwd文件,并删除/etc/shadow文件
# rwho -a //显示局域网内所有用户
# sg //设置用户的GID到指定组,或者以指定组的身分执行一个命令
# su - //切换为根用户
# touch /etc/nologin //在系统维护期间禁止用户登录(但不限于SSH登录)
# useradd //添加新的用户或者改变新用户的默认信息
# useradd -D //显示当前的默认值
# useradd -D -s /bin/csh //修改该命令所用shell的默认值为/bin/csh
# useradd wxr2 -u 502 -d /home/wxr -s /bin/bash -e 10/30/11 -g 100 //添加一新用户wxr2,UID为502,用户组ID为100,用户目录为/home/wxr,用户的默认shell为/bin/bash,账号的失效期为2011年10月30日
# userdel /删除用户
# userdel ow2003 //删除 ow2003用户(仅删帐号)
# userdel -r ow2003 //删除 ow2003用户(连同主目录删除)
# usermod //修改用户信息
# usermod -d /home/wxr2 -s /bin/ksh -g users wxr //用户登录目录改为/home/wxr2,用户登录shell改为ksh,用户所在组改为users和wxr
# usermod -g benet st03 //设置st03用户新的组名为benet
# usermod -G szxs st03 //添加st03用户到其它组szxs(多组)
# usermod -L ow2003 //禁用ow2003用户
# usermod -U ow2003 //启用ow2003用户
# usermod -u0 -o ow2003 //提升ow2003用户管理员权限
# users //显示所有登录的用户
# vigr //能用来编辑 /etc/group 或 /etc/gshadow文件
# vigr /etc/group //编辑group时自动对该文件加锁,编辑结束时自动解锁
# vipw //编辑passwd时将自动对该文件加锁,编辑结束时自动解锁
# vipw //能用来编辑 /etc/passwd 或 /etc/shadow文件
# w -f //显示登录用户信息,但不显示登录位置(即from字段)
# w -h //在显示登录用户信息时,不显示标题栏
# w root //只查询指定用户root的信息
# w -s //以精简模式显示登录用户信息
# w // 查看当前登陆用户及所进行的操作
# who -H //显示登录系统的用户信息时,显示标题栏
# who -H -m //只显示使用当前标准输入设备的用户
# who -H -p //显示由init进程创建的活动进程
# who -H -u //显示空闲时间段
# who -q //显示所有登录的用户名以及登录用户的数目
# who -T -H //显示用户状态信息
# who // 显示当前登陆系统的用户
# whoami // 查看当前用户
# whoami //显示当前登录用户名称
# write wang
EOF //向登录用户wang发送即将关机的信息
System will shutdown soon!
三、磁盘管理
# dd if=/dev/zero of=f1 bs=10MB count=2 //用虚拟文件f1检查配额情况
# dd if=/dev/sda of=/home/backup/boot_MBR bs=446 count=1 //备份MBR。解决Linux和Windows双系统的引导问题(IED硬盘为hda)
# dd if=/home/backup/boot_MBR of=/dev/sda bs=446 count=1 //恢复MBR
# df //用于报告文件系统的总容量,使用量,剩余容量
# df -ah //查询所有分区使用量,以可被识别的方式展现
# df -h //以用户容易识别的方式显示磁盘空间使用情况
# df -i //以inode模式显示磁盘的使用情况
# df -T //查看磁盘格式挂载后的信息
# df -t ext3 //只显示ext3类型磁盘的信息
# df -x ext3 //不显示指定磁盘类型的磁盘使用信息
# dmesg | grep IDE // 查看启动时IDE设备检测状况
# dmesg | grep DMA //查看硬盘是否运行在DMA模式
# du -a DirPath //显示所有文件及其子目录占用的数据块数
# du -a | sort -n > /home/disk_used & //将显示结果储存到/home/disk_used文件中
# du -b /home //查看目前/HOME目录的容量(k)及子目录的容量(k)
# du -sh DirPath //查看目录的容量(k)及子目录的容量(k)
# du -sk DirPath //查看目录的容量(k)
# du -sm DirPath //查看目录的容量(m)
# fdisk /dev/sda //对磁盘sda进行分区
# fdisk -l //查看磁盘及分区信息
# sfdisk -l //查看磁盘及分区信息
# fdisk -s /dev/sdb //显示/dev/sdb设备中所有分区大小总和
# fdisk -s /dev/sdb2 //显示/dev/sdb2分区大小
# fdisk -v //显示fdisk版本号
# hdparm -i /dev/hda // 查看磁盘参数(仅适用于IDE设备)
# mkfs.ext2 /dev/sda1 //格式化sda1为ext2格式
# mkfs.ext3 /dev/sda2 //格式化sda2为ext3格式
# mount //显示当前已挂载的文件系统
# mount /dev/sda1 /bbb //挂载sda1到/bbb目录下
# mount | column -t // 查看挂接的分区状态
# mount -t 文件系统类型 设备路经 访问路经
# mount -t iso9600 /dev/cdrom /mnt/cdrom //在/mnt/cdrom目录下挂载光驱(iso9600为光盘的标准文件系统类型)
# mount /dev/cdrom /aaa/ //挂载设备CDROM到/aaa/目录下
# mount -t ntfs-3g /dev/sdb* /mnt/aaa //不编译内核,mount ntfs分区
# 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的第六个逻辑分区
# umount /aaa/ //卸载目录/aaa
# umount /dev/cdrom //卸载设备 cdrom
# eject -n //查看系统默认的弹出设备
# eject //弹出默认的设备
# quotastats //显示系统磁盘空间限制的当前状态
# repquota -a //显示文件系统的磁盘使用情况
# edquota -u ccnp //对组ccnp设置配额
# edquota -u st26 //对用户设置配额
# quota -g ccnp //查看组ccnp配额情况
# quota -u st26 //查看用户st26配额情况
# quotacheck -cmug / //创建配额文件
# quotacheck -mfvug / //对文件系统的配额进行一致性检测
# quotaon -a //启用所有的磁盘配额限制
# quotaon /home //启用/home的磁盘空间配额
# quotaon -aguv //不指定分区,使用自动搜索启用磁盘配额
# quotaoff -a //关闭所有配额限制
# quotaoff /home //关闭/home的磁盘配额
# quotaoff -aguv //不指定分区,使用自动搜索关闭磁盘配额
# quotaoff -aguv //不指定分区,使用自动搜索关闭磁盘配额
# reboot //重启系统
# swapon /dev/sdb2 //开启交换分区/dev/sdb2
# swapoff /dev/sdb2 //关闭交换分区/dev/sdb2
# swapon -s // 查看所有交换分区
# grep SwapTotal /proc/meminfo //查看swap空间大小
# swapoff -a //关闭所有交换区
# swapon -a //开启所有交换区(与上面成对使用后可使swap还原到初始状态)
# fdisk /dev/sdb //由设备分区(sdb1)来创建SWAP分区,注意分区类型82
# mkswap /dev/sdb1 //格式化分区并创建文件系统
# vi /etc/fstab //添加:/dev/sdb1 swap swap defaults 0 0
# dd if=/dev/zero of=/data1/image/swap bs=1024 count=2048000 //添加交换文件并设置其大小为2G
# mkswap /data1/image/swap //创建交换空间
# swapon /data1/image/swap //启动新增加的2G的交换空间
# vi /etc/fstab //在文件最后加入:/data1/image/swap swap swap defaults 0 0 使得新加的2G交换空间在系统重新启动后自动生效
# vi /etc/fstab //自动挂载磁盘分区,添加: /dev/sdb5 dd ext3 defauls 0 0
# vi /etc/fstab //修改fstab文件中分区装载设置在defaults后加入usrquota,grpquota 重新挂载文件系统(对根分区设置配额重启)
四、文件和目录管理
# blkid /dev/sda1 //查看/dev/sda1设备所采用的文件系统类型
# blkid //列出当前系统中所有已挂载文件系统的类型
# cat /home/333 //查看/home下文件333的内容(不停顿)
# cd //进入当前帐户所在目录
# cd /home/ccc //进入/home/ccc目录
# cp 333 /home/ccc //复制文件333到/home/ccc下
# cp 333 444 //复制文件333为444(同目录下)
# cp -fr test/ /data1/wxr/ //复制当前路径下的目录test到指定路径/data1/wxr/
# scp -rp /path/filename username@remoteIP:/path //从A机复制到B机
# scp -rp username@remoteIP:/path/filename /path //从B机复制到A机
# cp /dev/cdrom mycdrom.iso //将光盘中的内容制成镜像文件,文件名为mycdrom.iso
# cp /dev/cdrom mycdrom.iso & //将光盘中的内容制成镜像文件,文件名为mycdrom.iso(后台运行,加&)
# mkisofs -r -o mybackup.iso /home/backup //将/home/backup目录下的所有文件制成镜像文件,文件名为mybackup.iso
# mount -o loop mybackup.iso /mnt //将镜像文件mybackup.iso挂接到/mnt目录下
# file 222 //显示文件222的文件类型
# file * //显示当前目录下所有文件的文件类型
# find //显示当前目录下所有内容(无参数)
# find /home -name “*.sgy” –print //查找/home下所有sgy文件
# find DirPath -type f | wc -l //查看某目录下有多少个文件命令
# find -name 11* //查找文件名包含11的所有文件
# find -user luo //查找属于用户luo的所有文件
# find . -maxdepth 1 -size +1000000c //查找当前目录下的大于1M的文件
# mv 333 /home/ccc //移动文件333到/home/ccc下
# mv 333 444 //移动文件333为444(同目录下改名)
# mv 目录名 目录名 //目标目录已存在,源目录移到目标目录,目标目录不存在,改名
# rm 333 //删除文件333
# touch 333 //创建333空文件
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=读,写,执行
+-=:加权限,减权限,赋权限
# chown -R ow2003 wxr //更改目录wxr属于用户ow2003
# chgrp -R ow2003 wxr //更改目录wxr属于组ow2003
# 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文件属主增加可写权限
# chmod g-r,o-r 111 //去掉文件111的同组和其他用户的读权限
# chmod o=rwx 111 //重设文件111的其他用户权限为读、写执行
# chown :benet 222 //更改文件222属于组benet
# chown st03 222 //更改文件222属于用户st03
# chown st03:benet 222 //更改文件222属于用户st03组benet
# cut -d ":" -f 1,7 /etc/passwd //只显示第一列(user ID)和第 7 列(user shell) 内容
# grep 字符 文件名 //根据字符匹配来查看文件部分内容
# head 10 /home/333 //查看/home下文件333的头部10行内容
# less /home/333 //查看/home下文件333的内容(分屏,分行)
# ln -s source_dir destination_dir //将目标目录链接到源目录(用绝对路径。在与源目录的同级目录处操作创建。文件链接同理)
# unlink destination_dir //取消目标目录与源目录的链接
# ls //以短格式显示当前目录的内容
# ls -l //以长格式显示当前目录的内容
# ls -l /home/bbb/ //显示指定目录/home/bbb的内容
# ls -l 111 //只显示当前目录下文件111的信息
# ls c* //列出当前目录下以字母“c”开头的文件
# ls ??n* //列出当前目录下所有第3个字母是“n”的文件
# ls [b,c]* //显示所有以字母b或c开头的文件名
# lsof |grep 文件系统的挂接点 //查看是否有任何程序正在使用挂接点的文件系统
# mkdir ddd //在当前目录下创建ddd目录
# mkdir -p /a/b/c //创建/a/b/c目录(多层目录)
# mkdir -m a=r wxr //创建一个目录wxr且指定该目录的属性为对所有用户可读
# mkdir -m 700 /data1/wxr/test //创建新目录/data1/wxr/test,且指定权限为700
# more /home/333 //查看/home下文件333的内容(仅分屏)
# pwd //显示当前所在目录
# rm -r ddd //删除ddd目录(非空,先询问)
# rm -rf ddd //直接删除ddd目录(非空,不询问)
# rm -f /data/*.cgm //超级用户下删除/data目录下所有.cgm文件(不再询问)
# rmdir ddd //删除ddd目录(空)
# setfacl -m u:ow2003:rwx /home/hoework //对用户ow2003设置对/homework目录的读、写和执行权限
# setfacl -m u:ow2003:rw /home/hoework //对用户ow2003设置对/homework目录的读、写权限
# setfacl -m u:dba:r /home/hoework //对用户组dba设置对/homework目录的读权限
# setfacl l -x u:dba /home/hoework //删除用户组dba的权限
# setfacl -d g:rw /home/ftp //对/home/ftp目录的用户组设定默认的权限为读、写(若组中用户重新指定了权限,则默认的组权限将被覆盖,即具体指定的ACL权限优先于默认ACL权限)
# sort /home/ow2003/dk //显示文档dk内容并排序
# split -b 900m file file_part //把文件file以900m增量来分隔
# cat file_part* >file //将分隔后的文件重新组装
# tac /home/ow2003/dk //以逆序显示文档dk内容(注:与cat相反)
# tail 10 /home/333 //查看/home下文件333的尾部10行内
# touch aa //使用touch命令创建aa文件(aa文件不存在)
# touch aa //使用touch命令更新文件aa的时间为当前时间(aa文件存在)
# touch aa -t 200808081500.00 //更新文件aa的存取时间为指定时间2008年8月8日15点
# wc /home/ow2003/dk //显示文档dk的行数、词数和字数
# which ssh //通过命令which,查找文件ssh(其查找范围由环境变量$PATH设置)
五、备份与压缩
# tar -c 创建包;-x 释放包;-v 显示命令过程;-z 代表压缩包;-t 列出包文件(打包时应尽量采用相对路径,而不用绝对路径)
# tar -cjf wxr.tar.bz2 bar/ //将目录bar打包并压缩为wxr.tar.bz2
# tar -cvf wxr.tar wxr //把当前wxr目录打包
# tar -zcvf wxr.tar.gz wxr //把当前wxr目录打包压缩
# tar -hcvf wxr.tar wxr //对目录wxr中链接文件也一并打包
# tar -rvf wxr.tar file1 //向wxr.tar包添加文件file1
# tar -tf wxr.tar //查看包wxr.tar内容
# tar -tzf wxr.tar.gz //查看压缩包wxr.tar.gz的内容
# tar -xf wxr.tar //非压缩包的文件恢复
# tar -xjf wxr.tar.bz2 -C bar/ //将压缩包解压到目录bar/
# tar -xvf wxr.tar -C /home //恢复包wxr.tar到指定目录/home
# tar -xvf wxr.tar //解压缩包wxr.tar(显示命令执行详细情况)
# tar -xzf wxr.tar.gz -C /home //恢复压缩包wxr.tar.gz到指定目录/home(不带-C则恢复到原目录)
# tar -xzf wxr.tar.gz //解压缩包wxr.tar.gz
# tar -jxvf wxr.tar.bz2 //对压缩包wxr.tar.bz2解压恢复
# tar -xzf wxr.tar.gz blah.txt //从压缩包wxr.tar.bz2解压出文件blah.txt
# tar -zcvf wxr.tar.gz /project //把目录project打包并压缩
# tar -zxvf wxr.tar.gz //压缩包的文件解压恢复
# dump -0f home.dump /home //将/home目录备份到文件home.dump
# restore -rvf home.dump //恢复home目录
# restore -tf home.dump //查看备份文件home.dump的文件列表
六、网络管理与相关应用
# arp -a | awk '{print $4}' //得到网卡的 MAC地址
# dmesg | grep eth //显示每个网卡的硬件配置信息
# ethtool eth0 //查看网卡是否插上网线
# 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 //更改网卡物理地址
# ifdown eth0 //禁用eth0网络接口
# ifup eth0 //启用eth0网络接口
# 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 www.163.com //解析指定的域名---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 //修改邮件配置文件
七、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 //保存并退出
八、shell编程