51、ln:创建链接文件 ln SRC DEST:创建硬链接 -s:创建软连接 -i:显示文件的inode号 -v:显示执行结果 硬件连接: 1、只能对文件创建,不能应用于目录,文件的硬链接次数为2 2、不能夸文件系统 3、创建硬链接会增加文件被连接的次数 符号连接: 1、可应用于目录 2、可以跨文件系统 3、不会增加被连接文件的连接次数 4、其大小为指定的路径所包含的字符个数 52、du du:显示目录下的所有文件的大小 -s:显示目录大小 -sh:单位换算后显示 53、df df:显示整个磁盘分区的使用情况 -h:显示空间大小 54、fdisk fdisk:磁盘分区 fdisk /dev/sda p:显示当前磁盘上的分区 n:创建一个新的分区 e:扩展分区 p:主分区 d:删除一个分区 w:保存退出 q:不保存退出 t:修改分区类型 l:显示所有支出的分区类型 55、partprobe 把新的分区同步到内核上去。 56、mkfs mmkfs:创建文件系统 mkfs -t FSTYPE 指定分区 -t可以实现多种系统的格式化 如mkfs -t ext2 /dev/sda5 57、mke2fs mke2fs:专门管理ext系列的文件的命令,不跟任何参数,指的是创建ext2 -j:指的是创建ext3类型文件系统 -b BLOCK_SIZE:指定块大小,默认为4096;可用取值为1024,2048或 4096 -L LABEL: 指定分区卷标;例如 mke2fs -L MYYY /etc/sda5 -m #:明确指定预留给超级管理员用的快熟百分比 mke2fs -m 3 /dev/sda5 -i #:指定为多少个字节的空间创建一个inode , 默认为8192;这里给出的数值应该为块大小的2^n被 mke2fs -i 4096 表示4096个字节创建一个inode -F:强行创建文件系统; -E:用于指定额外的文件系统属性; -N#:指定inode个数; 58、blkid blikd:查询或查看块设备的属性,其中有包含文件系统的信息 59、e2lable e2lable:专门用于查看或定义卷标 查看卷标 e2label /dev/sda5 设定卷标 e2label 设备文件 卷标 :即实现设定卷标 e2label /dev/sad6 YYY (这里的设备文件即/dev/sda5) 60、tune2fs tune2fs:调整文件系统的相关属性 -j:不损坏原有数据,将ext2升级为ext3,但是不能降级 -L LABLE:设定或修改卷标 -m #:调整预留百分比 -r #:预留块数 -o:设置默认挂载选项,其中有一个是acl,acl是一个功能,但需要挂载才能 使用,否则是不能用的 -c #:指定挂在次数达到#次之后进行自检,指定0或-1表示关闭此功能,不自检; -i #:可以指定每挂载使用多少天后进行自检:0或-1表示关闭此功能; -l:显示超级块内容 61、dumpe2fs dumpe2fs:以显示文件系统中超级块信息或文件的属性信息,同上面的tun2fs -l 选项类似,都是很重要的命令,其中也显示超级块的信息,FREE是空闲的意思 -h:表示只显示超级块中的信息 62、fsck fsck:检查并修复Linux文件系统 -t TYPE:指定文件系统类型 -a:自动修复 63、e2fsck e2fsck:专门用来检查修复ext2或ext3的命令 -a或-p:自动修复; -f :强行修复; 64、mount mount:挂载文件系统 mount 设备 挂载点 设备 设备文件:/dev/** 卷标:LABLE="" UUID:UUID="" 挂载点:挂载点就是个目录 1,此目录没有被其他进程使用; 2,目录的首先存在; 3,目录中原有的文件将会暂时隐藏; mount相关参数 -a:表示挂载/etc/fstab文件中指定的所有的文件系统 -n:默认情况下,mount每挂载一个设备,都会把挂载的设备信息保存至 /etc/mtab文件;使用-n选项意味着挂载设备时,不把信息写入此文件; -t FSTYPE:指定正在挂载设备上的文件系统的类型;不使用此选项时, mount会调用blkid命令获取对应文件系统的类型; -r:只读挂载,挂载光盘时常用此选项 -w:读写挂载 -o:指定而外的文件系统挂载选项,即指定文件系统启用的属性 async:表示异步写入 atime:表示更新时间戳 noatime:关闭更新时间 auto:表示这个磁盘设备能被使用-a选项自动挂载 remount:重新挂载当前系统 dev:允许其他磁盘设备 ro:挂载为只读 rw:读写挂载 ower:允许普通用户挂载 sync:同步启用 loop:挂载本地回环设备 65、umount umount:卸载 umount 设备 umount 挂载点 上面两个都可以,卸载时只要指定一个就可以了 66、free free:查看系统上的物理内存和交换内存的使用情况,默认字节 -m:以M为单位显示 buffers是缓冲 cached是缓存:的目的是重复使用,避免过慢的设备遭 67、mkswap mkswap:创建交换分区 swapon /dev/sd*:启用交换分区 -a:表示启用/etc/fstab内的所有交换设备 swapoff /edv/** :关闭交换分区 68、dd dd:转换和复制文件,复制的是最底层的数据流 格式:dd if=数据来源 of=数据存储目标 bs=#多大为一个单位 count=# 这样的数据几次 例如dd if=/dev/sda of=/mnt/usb/mbr.backup bs=512 count=1 可以用来备份MBR 创建回环文件 dd if=/dev/zero of=/var/swapfile bs=1M count=1024这个命令就能 创造出一个大小为1G的镜像文件,而这个镜像文件能够直接mkswap并且启动起来都是 可以的 /dev/zero是泡泡设备,能一直向外吐零 69、fuser fuser:验证进行正在使用的文件或套接字 -v:查看某文件上正在使用的进程 -k:把正在访问的进程给kill了 -km:把挂载点上的进程都关闭掉 70、gzip gzip:压缩,压缩完成后会删除源文件 -d:解压 -#:1-9个压缩级别,默认为6 gunzip:解压 zcat:不解压的情况,查看文本GZ文件的内容 71、bzip2 bzip2 /path/to/somefile -d:解压 -K:压缩后不删除原文件 bzcat:不解压的情况,查看文本bz2文件的内容 72、zip zip:压缩目录,即归档又压缩的工具压缩后不删除原文件 unzip:解压 73、tar tar:能够实现归档的工具,只归档,不压缩。 -c:创建归档文件 -f file.tar:操作的归档文件,所以-f后面必须跟参数,后跟.tar -x:展开归档文件,原归档文件不删除 --xattrs:表示在归档的同时,保留文件的扩展属性信息 -t:不展开归档,查看归档了哪些文件 -zcf:归档并调用gzip压缩 -zxf:调用gzip解压缩并展开归档,-z选项可以省略 -jcf:调用bzip2并归档 -jxf:调用bzip2并展开归档 -Jcf:调用xz -JXF:调用xz 74、cpio:制作归档或展开归档文件 75、read read:shell脚本内可以实现交互式的操作 read -p “提示” -t:时间限制 76、mdadm mdadm:制作RAID卷的命令 -C:创建RAID -l:级别 -n:设备数 -a:自动为其创建设备文件,后跟yes|no -c:指定chunk大小,默认64k -x:指定空闲盘格式,提供冗余 -F:监控RAID -G:增加RAID -A:装配RAID -D:显示RAID信息 -S:停止RAID mdadm -D --scan > /etc/mdadm.conf,将当前RAID信息保存至配置 文件,一便以后进行装配 77、wathc watch:周期性的执行指定命令,并以全屏方式显示结果 格式: watch -n # 'COMMAND' -n #:指定周期,单位为妙,默认2秒 78、逻辑卷 LV pvcreate:创建 pvmove:挪动数据 pvremove:擦除pv卷 pvdisplay:显示物理卷 pvscan:扫描系统上有几个pv pvs:查看pv信息 卷组 vgcreate:创建 -s #:指定pe大小,默认为4m vgreduce:删除vg vgmove:移除 vgextend:把一个物理卷加入此卷组 vgs:查看系统上的组卷信息 逻辑卷: lvcreate:创建 -L #:指定大小 -n NAME:指定名字 lvreduce:模拟损坏 lvremove:移除lv,后加路径 lvextend:扩展 lvdisplay:查看lv相关信息 lvs:查看lv信息 fg:lvcreate -L 50M -n testlv myvg LVM扩展:先扩展物理卷边界,再扩展逻辑卷 lvextend -L [+]# /PATH/TO/LV :扩展物理边界 resize2fs:扩展逻辑边界 resize2fs /PATH/TO/LV 5G:扩展逻辑边界到5G resize2fs -p /PATH/TO/LV:有多大扩展到多大 mount -a:挂载/etc/fstab文件内的所有设备
78、lvcreate
lvcreate:创建快照卷
-s :指定类型为块照
-p r|w:表示指定权限
-n:名字
-L #:指定大小
79、ping
ping IP
-c:次数
-w:超时时长,单位为秒
80、awk
awk:从文件中筛选符合条件的内容
格式:awk 'PATTERN{ACTION}' file
-F:指定分隔符
print $1:显示第一段
print $0:显示一行中的所有字段
print $NF:显示最后一行
awk '空格{print $1,$3}' 第一和第三字段
awk -F: '{print $1,$2}'
fdisk -l 2>/dev/null :把错误信息输入到null内不显示
81、ifconfig
ifconfig:查看和配置系统的网络信息
[ethX]:显示某个网卡信息
-a:显示所有的网卡信息
ifconfig ethx IP/MASK :配置网卡地址(子网掩码必须指定)
ifconfig ethx [up|down]:开启或者禁用网卡
配置Ip地址是立即生效,但重启网络服务或重启主机,都失效
82、route
route:查看本机的路由信息
-n:以数字的方式显示主机信息
route add:添加路由
-host:主机路由
-net:网络路由
格式:route add -net|host DEST gw NEXTHOP
route add default gw NEXTHOP
route del:删除路由
-host
-net
route del -net 10.0.0.0/8
route del -net 0.0.0.0
route del default
以上所做的改动重启网络服务或重启主机,都失效。
83、ip
ip:功能比较强大的网络命令
ip link:配置网络接口属性
show:显示所有网络接口信息
ip -s link show:查看所有统计信息
ip link set ethx {up|down|arp {on|off}}:设定网络接口的工作属性
ip addr:协议地址
show:网络信息
ip addr add IP dev eth1 添加ip,在ifconfig下看不到的,利用
ip addr show
ip addr add 192.168.0.1/24 dev eth1
ip addr add IP dev eth1 label ethx:x 添加ip以后增加别名,
在ifconfig下可以查看到
ip addr add IP dev eth1
ip addr show dev ethx to 前缀:查看ethx 上的以前缀开头的信息
ip addr flush eth1 to 10/8 :删除eth1上所有的以10开头的ip地址。
ip route:路由
ip route change|replace :修改路由信息
ip route add to 目的网段 dev ethx via IP(下一跳IP)
84、shutdown
shutdown [-akrhHPfnc] [-t secs] time [warning message]
shutdown:关机的命令
-r now:立即重启
-t sec:几秒之后
-h now:立即关机
85、uname
功能:打印系统信息
常用选项:
-a 打印所有信息
-s 打印内核名称
-n 打印主机名
-r 打印内核发行版
-v 打印内核版本
-m 打印机器硬件名
-p 打印处理器类型
-i 打印硬件平台
-o 打印操作系统
86、lftp
lftp IP:进入ftp服务器
get 下载单个文件到本地
mget 下载多个文件到本地
bye 退出ftp
87、rpm
rpm:安装rpm包的工具
rpm安装命令
-i rpm:安装软件
-h:以#显示安装进度
-v:显示安装信息
-vv:显示更详细的安装信息
-ivh:组合使用,常用命令安装软件
--nodeps:忽略依赖关系
--replacepkgs:重新安装、替换原来安装。
-ivh --oldpackage:降级安装
-ivh --force:强制安装,可以实现重装或降级
--test:测试有没有依赖关系
rpm查询命令
-q rpm:查询指定包是否安装
-qa:经安装的所有包
-qi:查询指定包的说明信息
-ql:查询指定包安装后生成的目录列表
-qc:查询指定包的配置文件
-qd:查询指定包的帮助文件
-q --scripts:查询指定包内包含的脚本
-qf:查询指定的文件是有哪个rpm包安装
rpm软件升级命令
-Uvh:如果装有老版本的,则升级;否则,则安装
-Fvh:如果装有老版本的,则升级;否则,则退出
-Uvh --oldpackage:降级
rpm卸载命令
-e:卸载
-e --nodeps:忽略依赖关系卸载
rpm校验命令:
-V:无输出信息就是正常
rpm数据库重建
rpm --rebuilddb:重建数据库,一定会重新建立。
rpm --initdb:初始化数据库,没有才建立,有就不用建立。
88、yum
yum:安装软件命令,可以自动解决软件包直接的依赖关系。
list:显示yum仓库内的软件
list available:仓库中有但尚未安装的包
list installed:显示已经安装的
list updates :可以的升级
yum clean:清楚缓存
yum clean {packages | headers | metadata | dbcache | all}
yum repolist:显示repo列表及简要信息
yum repolist {all|enabled|disabled}
yum安装软件命令
install:安装软件包
-y install:自动安装
install --nogpgcheck:不做校验
yum升级软件命令
yum update :升级
yum update_to:升级到指定版本
yum卸载软件命令
yum remove|erase PACKAGE_NAME
yum info PACEAGE_NAME:查看软件包信息
yum 开发组安装命令
groupinstall 组名:安装组中包含的包
groupinfo 组名:显示组包含包信息(如果组名中间有空格,使用”“
grouplist 列出组
groupupdate
yum 安装本地RPM包命令
yum localinstall rpmfile1 :安装本地包并从yum库内解决依赖关系
yum --nogpgcheck localinstall rpmfile1:不校验安装
89、源码程序安装命令
tar xf ....:解压源码包
./configure;配置
make:编译
make install:安装
90、netstat
netstat:查看系统信息
-r:显示路由信息
-rn:以数字的方式显示
-t:显示tcp链接
-u:显示udp链接
-l:显示端口监听状态
-p:显示监听指定套接字的进行的进程号及进程名
-tunlp:常用组合,数字显示tcp、udp的链接情况
91、ps
ps:查看进程信息
BSD风格常用选项:
a:显示所有与终端有关的进程 ?:表示与终端无关
x:显示所有与终端无关的进程
u:显示进行信息
aux:组合使用
SysV风格常用选项:
-elF:查看所有进行信息(e:所有进程)
-elf:没F详细
-o PROPERTY:指定属性显示
92、pstree
pstree:以树的形式显示ps信息。
93、pgrep
以grep的风格查看符合某种特性的进程
94、top
top:动态显示进程信息
支持交互,交互命令
M: 根据驻留内存大小进行排序
P:根据CPU使用百分比进行排序
T: 根据累计时间进行排序
l: 是否显示平均负载和启动时间
t: 是否显示进行和CPU状态相关信息
m: 是否显示内存相关信息
c: 是否显示完整的命令行信息
q: 退出top
k: 终止某个进程
常用选项:
-d 1 :几秒刷新一次
-b: 批模式显示
-n #:在批模式下,共显示多少批
95、前台和后台作业
前台作业:占据了命令提示符
后台作业:启动之后,释放了命令提示符,后续的操作在后台完成
前台-->后台:
ctrl+z键:正在前台的作业送到后台
bg:让后台停止的作业继续运行
bg [%JOBID]:%可以省
fg:将前台的作业送到后台
fg [%JOBID]:%可以省
96、jobs
jobs:查看后天的所有作业
97、chkconfig
chkconfig:查看服务启动项
--list:查看所有独立服务的启动设定
--list SERVICE_NAME:某个服务的启动设定
chkconfig --add SERVICE_NAME(脚本名称):增加S链接和K链接
chkconfig --del SERVICE_NAME(脚本名称):删除S链接和K链接
chkconfig --level 24 服务名 off|on:指定在级别24内为on或off。
98、mktemp
mktemp:创建临时文件
mktemp /tmp/file.XX(XX代表系统自动生成的文件)生成临时文件
mktemp -d /tmp/file.xx :生成临时目录
99、kill
kill -SIGNAL PID
常用SIGNAL:1:hup 2:INT 9:KILL 15:TERM ctrl+c:是信号2,结束
100、trap命令:可以实现捕捉信号
trap ‘COMMAND’ 信号列表
fg:trap 'echo "you cannot kill me"' INT
101、at
at:指定在未来的某个时间点执行一次某任务
时间格式
绝对时间:HH:MM DD::MM:YY MM/DD/YY
相对时间:now+#(minutes,hours,days,weeks)
模糊时间:noon,midnight,teatime
at -l:显示自己的作业列表
at -d 作业号:删除作业
102、batch
batch:和at用法相似,只是执行是在系统空闲的时候执行计划任务。
103、cron
cron:不间断允许的服务
系统cron定义格式:
分钟 小时 天 月 周 用户 任务
用户cron任务定义格式
定义文件/var/spool/cron/USERNAME
格式:分钟 小时 天 月 周 任务
104、ssh
ssh:远程连接命令
ssh 172.....:直接以当前客户端上登陆的用户登陆远程主机
ssh USERNAME@172....:以某个用户登陆
ssh -l USERNAME 172....:以某个用户登陆
ssh USERNAME@HOST`COMMAND`:以某个用户不登陆远程主机执行COMMAND命令
105、scp
scp:远程复制文件的命令
scp SRC DEST:复制文件(与cp命令用法相似)
-r
-a
fg: scp USERNAME@HOST:/PATH/TO/SOMEFILE /path/to/local
scp /path/to/local USERNAME@HOST:/PATH/TO/SOMEFILE
106、dig
dig:测试域解析的命令
-t NS . :获取DNS根域信息
-t NS chris.com @IP:直接去某个IP查找DNS服务器。
-t A chris.com:查看域的A记录
-t CNAME:查看别名记录
-X IP:根据IP查找主机名,反向解析信息
107、nslookup
nslookup:交互式的查看主机域名信息,使用与linux和windows上。
108、screen
screen:模拟多个窗口,窗口关闭后还可以调出来,常用于需要执行很长时间的时候,如内核编译
screen -ls:显示已经建立的屏幕
screen:打开一个新的屏幕
exit:退出当前屏幕
screen -r ID:返回某个屏幕