CentOS常用到的查看系统命令

CentOS常用到的查看系统命令
# uname -a
# 查看内核/操作系统/CPU信息
# head -n 1 /etc/issue   # 查看操作系统版本
# cat /proc/cpuinfo      # 查看CPU信息
# hostname               # 查看计算机名
# lspci -tv              # 列出所有PCI设备
# lsusb -tv              # 列出所有USB设备
# lsmod                  # 列出加载的内核模块
# env                    # 查看环境变量
  www.2cto.com
资源
# 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             # 查看当前用户的计划任务
  www.2cto.com
服务
# chkconfig --list       # 列出所有系统服务
# chkconfig --list | grep on    # 列出所有启动的系统服务
程序
# rpm -qa                # 查看所有安装的软件包

一天一点学习Linux之文件查找/搜索(转)

在Linux文件系统中,搜索概念有两种,一种是搜索文件名,另一种是在一个文件中搜索指定的内容。文件的查找,在操作系统的使用中,是一个非常重要的功能,所以,今天我们就来学习研究他了。 一、文件的搜索 (一)命令的查找 我们在前面的内容中,讲到PATH变量,这里面写了一些命令的所在位置,而且我们常用的TAB键补全功能,也会在这些目录里面来查找相关的命令。但某个命令具体在哪个位置,我们可能还不知道,如果想找到他的具体位置的话,那么可以通过查找来发现他。 查找命令文件which 此命令会在环境变量PATH设置的目录里面查找内容。 这里面有个-a参数,他将所有从PATH变量的目录中找到的命令全部列出,而不只列出第一个被找到的命令名称。 在RHEL6系统中,你可以随便cp一个命令到用户的家目录的bin(自己建立)目录里面,然后用which和which -a来查找一下看看,你就会明白-a参数的意义了。 注:which后面跟的是要查找的命令全名,不能用通配符。 如果你想用which来查找cd命令,你会发现找不到cd命令, [root@yufei ~]# which cd /usr/bin/which: no cd in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin) 这是为什么呢?系统中不存在这个命令,为什么我能使用此命令呢?其实这个cd命令不是放在系统的PATH中的,而是集成在shell中了。当然找不到,不过,你也可以通过type命令来查看 [root@yufei ~]# type cd cd is a shell builtin 这个type也是shell中的命令 type命令其实不能算查找命令,它是用来区分某个命令到底是由shell自带的,还是由shell外部的独立二进制文件提供的。如果一个命令是外部命令,那么使用-p参数,会显示该命令的路径,相当于which命令。 (二)普通文件的查找 在Linux系统上的文件查找命令find,绝对不亚于windows系统上的查找,但find不足的地方就是速度比较慢,而且要大量读取硬盘内容。其 实,在平时使用的时候,我们常用的命令并不是find,而是whereis或locate,因为他们是通过查找数据库里面的数据来查找文件的,这速度就会 变的很快了,但这两个文件不一定能找到我们想要的内容,特别是一些新建议的文件,因为数据库还没有储存相应的信息。怎么办,没有关系,这个数据库除了定时 更新外,我们还可以手动对其更新(updatedb)。好了,下面我们就来具体看看他们三个命令的用法。 whereis会在数据库中查找二进制,源代码文件和帮助手册文件 -s  只查找原始代码文件。 -S<目录>  只在设置的目录下查找原始代码文件。 -b  只查找二进制文件。 -B<目录>  只在设置的目录下查找二进制文件。 -m  只查找说明文件。 -M<目录>  只在设置的目录下查找说明文件。 如果省略参数,则返回所有信息。 locate也是在数据库中查找文件,不限制是什么文件 -i 忽略大小写 如果这个命令后面跟上文件名(字符)的话,那么这个命令执行的时候,会把系统中所有包含此字符的文件全部列出来。这个后面的名字就相当于关键字一样。 [root@yufei ~]# locate log 会列出很多内容出来 这个命令可以使用通配符,但在使用的时候要用”\”来处理一下,否则就查询当前的目录了 [root@yufei ~]# pwd /root [root@yufei ~]# locate *.log /root/install.log /root/install.log.bak /root/install.log.syslog /root/Desktop/install.log /root/Desktop/install.log.syslog 上面的命令把当前目录(/root)里面所有包涵.log的文件全部找出来,无论是不是以.log结尾 [root@yufei ~]# locate \*.log 这个显示的内容比较多,他把系统中所有以.log结尾的文件全部找出来了。 虽然只是多了一个反斜杠,结果确明显不同 如果说,你要用”?”这个通配符,那么就要用-b这个参数了。当然上面的也可以用-b参数 [root@yufei ~]# locate -b \????.log /var/log/boot.log /var/spool/plymouth/boot.log 为了方便大家的记忆,建议大家在使用通配符号的时候,统一用-b这个参数。而且可以把反斜杠换成””” 如 locate -b ‘????.log’ locate -b ‘*.log’ 这样可以和后面的find命令统一起来,省得大家搞混淆了。 更多的关于单引号与双引号的区别,请参考shell中单引号、双引号、反引号、反斜杠的使用 以上两个命令都是通过/var/lib/mlocate/mlocate.db这个数据库来查询内容的,所以,为了得到更准确的查找结果的话,在每次命令 以上两个命令的时候,先执行updatedb命令,这样就不会把刚刚删除的文件再找出来,也不会找不到刚刚新建的文件了。 find 是最常见和最强大的查找命令,你可以用它找到任何你想找的文件。 语法格式如下 find <指定目录> <指定条件> <指定动作> 一般的参数 -name filename 按照文件名查找文件 -size [+-]SIZE 找比SIZE还要大(+)或小(-)的文件。这个SIZE的格式有: c: 代表byte,k: 代表1024bytes。 所以,要找比50KB还要大的文件,就是用-size +50k -type 查找某一类型的文件(b、d、c、p、l等等文件类型) -newer file :file为一个存在的档案,列出比file文件还要新的文件 -depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找 -prune 使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略 权限相关的参数 -perm mode 查找权限为mode(数字表示的权限)的文件 -perm -mode 查找权限全部包括mode(数字表示的权限)的文件。找到的文件权限比参考权限(mode)要大 -perm +mode 查找包含任一mode(数字表示的权限)的文件.找到的文件权限比参考权限(mode)要小 用户和组相关的参数 -user username :按照文件所有者来查找文件 -uid n :按照文件所有者的UID来查找文件 -group groupname :按照文件所属的组来查找文件 -gid n :按照文件所属组的GID来查找文件 -nogroup 查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在 -nouser 查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在 和时间相关的参数 共有-atime, -ctime 与-mtime ,以-mtime说明,其他两个也一样 -mtime n :n为数字,意义为在n天之前(n当天)被更动过内容的文件 -mtime +n :列出在n天之前(不含n天本身)被更动过内容的文件名 -mtime -n :列出在n天之内(含n天本身)被更动过内容的文件名 -n表示文件更改时间距现在n天以内 +n表示文件更改时间距现在n天以前 n表示文件更改的当天 可以看下图,更好的帮助大家来理解 如将系统上面24小时内有更动过内容(mtime)的文件列出 find / -mtime 0 那个0是重点,0代表目前的时间,所以,从现在开始到24 小时前。 后续的动作参数 -exec command :command为其他指令,-exec后面可再接额外的命令来处理查找到的结果。 exec选项后面的格式:所要执行的命令或脚本+一对”{}”+”一个空格”+一个”\”+一个分号”;”。 最后的样式:-exec command {} \; 注: 1、{} 代表的是由find找到的内容,结果会被放置到{}中 2、-exec一直到\;是关键词。代表find额外动作的开始(-exec)到结束(\;),在这中间的就是find指令内的额外动作 3、因为”;”在bash环境下是有特殊意义,因此利用反斜杠来转义 下面看几个例子 1、查找/etc目录下的所有文件,并用ls -l把他们列出来 [root@yufei ~]# find /etc/ -type f -exec ls -l {} \; 2、在/var/log/目录中查找更改时间在5日以前的文件并删除它们 [root@yufei ~]# find /var/log/ -type f -mtime +5 -exec rm {} \; 如果你要进行这项操作的话,为了安全,建议先用ls再用rm,如果你确认没有问题的话,当然完全没有问题,用什么命令都可以。当然,也有一个确认的功能,下面就来看看这个-ok 3、在/var/log/目录中查找所有以.log结尾的文件名、更改时间在5日以上的,并删除它们,但在删除之前先给出提示。 [root@yufei ~]# find /var/log/ -name ‘*.log’ -mtime +5 -ok rm {} \; 这时候,如果找到了符合的文件,就会给出删除提示,按y键删除文件,按n键不删除。 4、查找所有的passwd文件,看看在这些文件中是否存在一个某个用户 [root@yufei ~]# find /etc -name “passwd*” -exec grep “yufei” {} \; 5、找出/etc底下,文件大小介于50K 到60K 之间的文件,并将权限完整的列出 [root@yufei ~]# find /etc -size +50k -a -size -60k -exec ls -l {} \; 那个-a 是and的意思,为符合两者才符合 6、找出/etc 底下,容量大于1500K 以及容量等于0的文件 [root@yufei ~]# find /etc -size +1500k -o -size 0 相对于-a ,那个-o 就是或(or)的意思 xargs 在使用find命令的-exec选项处理匹配到的文件时,find命令将所有匹配到的文件一起传递给exec执行。但有些系统对能够传递给exec的命令 长度有限制,这样在find命令运行几分钟之后,就会出现溢出错误。错误信息通常是”参数列太长”或”参数列溢出”。这就是xargs命令的用处所在,特 别是与find命令一起使用。 看几个例子 1、查找/tmp目录下,名字为core的文件,并将其删除 [root@yufei ~]# find /tmp -name core -type f -print | xargs /bin/rm -f 2、在当前目录下查找所有用户具有读、写和执行权限的文件,并收回相应的写权限 [root@yufei ~]# find . -perm -7 -print | xargs chmod o-w 3、用grep命令在所有的普通文件中搜索hostname这个词 [root@yufei ~]# find / -type f -print | xargs grep “hostname” [root@yufei ~]# find / -name \* -type f -print | xargs grep “hostnames” 其实这两个命令是一样的意思。和前面我们讲的一样,反斜杠”\”用来取消find命令中的*在shell中的特殊含义。 通过上面的一些例子,find命令配合使用exec和xargs可以使用户对所匹配到的文件执行几乎所有的命令。而且在find的帮助文件中也有相应的帮助说明。大家可以参考学习。 二、在文件中搜索关键词 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。 由于正则表达式我们还没有学习,在这里只做简单的介绍几个例子,来让大家了解一下grep。 1、在/etc/passwd中查找yufei用户的相关信息 [root@yufei ~]# grep yufei /etc/passwd yufei:x:500:500:yufei:/home/yufei:/bin/bash 2、查看系统日志/var/log/message文件,并查找2月12号的日志内容 [root@yufei ~]# cat /var/log/messages |grep ‘Feb 12′|more 这个例子我们用到了管理符号,翻页命令 通过上面讲解,你会发现在Linux系统上的查找,不亚于图形界面的windows系统吧,是不是越来越喜欢Linux系统了。今天的内容,重在实践,通过实践加深理解,在实践中解决问题 摘自 羽飞的博客

笔/面试中常考到的一些linux脚本/管理命令

awk #对字段的处理是sed,grep不能实现的。 awk -F , 'NR==1,NR==2 {print $1 $2}' file, 打印第一行到第二行中,以‘,’为分隔符,每行第一,二个字段的值。 print可以改为printf,不过后者不输出换行符。NR:已经读出的记录数,NF:当前记录中的字段个数。 awk '/main/' file or awk '/sun/{print}' filename #显示文件中包含main的行。 sed #替换s,删除d,插入i(a),修改c,截取显示: sed -n '2,6p' file #echo "a b c a" | sed 's/a/d/g' ,注意有没有g的差别。 #sed -n '2,3p' file,只显示第2,3行,去掉-n试试,sed 默认将来自源文件的每一行显示到屏幕上。-n就是用来覆盖这个操作的。 #sed '/main/ d' file #从文件中删除包含main的行。sed '1,3 d' file,删除前三行。 #sed '1i shit' file, sed '1a shit' file,前者是插入在第i行,后者是在第i行后插入。 tr #删除空行:tr -s ["n"] < file,小写转大写:tr ["a-z"] ["A-Z"] < file,删除字符‘a’:tr -d ["a"] < file grep sort #sort -t: +1 -2 b (-r倒序输出) (-u输出唯一行),-t: 表示用:作为分隔符,+1,-2:指定字段作为key,从0开始. find #find path -name filename; # find path -type x; -type x 查找类型为 x 的文件,x 为下列字符之一: b 块设备文件 c 字符设备文件 d 目录文件 p 命名管道(FIFO) f 普通文件 l 符号链接文件(symbolic links) s socket文件 -xtype x 与 -type 基本相同,但只查找符号链接文件。 # find ./code -type f -exec ls -il {} ; #exec选项后面跟随着所要执行的命令或脚本,然后是一对儿{ },一个空格和一个,最后是一个分号。 #在使用find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行。但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出现 溢出错误。错误信息通常是“参数列太长”或“参数列溢出”。这就是xargs命令的用处所在,特别是与find命令一起使用。 find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,不像-exec选项那样。这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去。 #find ./code -type f -print | xargs file wc#wc -lcw filename, l:统计行数,c:统计字节数,w:统计字数 uniq #对相邻行操作;-d 仅显示重复行;-u 仅显示不重复的行;因为它只能处理相邻行,所以一般跟sort配合。 cut #从一个文本文件或者文本流提取数据. cut -f 1-2 -d: filename #编号从1开始 -d: 以:作为分隔符,默认是tab. -b ,-c ,-f:字节byte,字符character,字段filed. 1-2,表示范围.N:只有第N项;N-:从第N项一直到行尾;N-M:第N项到第M项(包括M);-M:从第一项到第M项;-:所有项; cat/tac #cat与tac显示顺序相反 tee #cmd1 | tee file1...N | cmd2, 命令1的输出送给tee,tee 的输出送给file1...N,并且作为命令2的输入。 tail/head #head -3 file,tail -3 file,显示前三行,后三行 eval#eval cmd[;cmd;cmd],把参数作为命令去执行 expr #expr args,比如,a=`expr $b+1` let #let express-list, 比如,let "a=b+c" xargs #将输入输出给xargs后面的命令,作为那个命令的参数。 正则表达式 colrm #命令从文件中除去选定的列。colrm [开始行数编号<结束行数编号>]。colrm 2 5 < filename rev #把字符串反序。 [sword@localhost ~]$ temp=/home/sword [sword@localhost ~]$ basename $temp sword [sword@localhost ~]$ dirname $temp /home [sword@localhost ~]$ basename /home/sword.c .c sword ls join du#(disk usage):显示目录或文件的大小。 mail # mail -s "标题" filwsyl@gmail.com < 文件名。 tar / gzip #归档和压缩。我一度认为它俩是一个意思。 #tar cvf ***.tar 等待打包的文件。 tar xvf ***.tar,恢复文件。c(create) 产生归档文件,x恢复归档文件。 tar xvzf ***.tgz -C /tmp;解压缩到/tmp这个文件夹下面。 date useradd/userdel/usermod groupadd/groupdel echo sleep crontab/crond fg %n #使n号作业成为前台作业。 apue p.223 bg stty tostop #禁止后台作业输出到控制终端 apue p224 file #判断一个文件是二进制文件,c/c++文件,普通文件等。 lpr,lpq,lprm #印机文件 whereis #查询系统上是否存在特定的一个命令,如果有相应的帮助文档,也会相应地输出。 which #如果系统中一个命令有多个版本,它告诉你当输入某个命令执行时,shell到底调用了哪个版本的命令。 history/fc#显示或操作历史命令列表。 变量声明: declare/typeset #声明,初始化变量,设置变量属性,查询相关变量。 local -a array_name #local命令只能在函数中声明变量。 readonly -a array_name #带-a选项的readonly命令用来声明只读数组变量。 declare -a array_name [sword@localhost ~]$ moves=("shit" "fuck" [20]="mother fucking") [sword@localhost ~]$ echo ${moves[0]} shit [sword@localhost ~]$ echo ${moves[1]} fuck [sword@localhost ~]$ echo ${moves[2]} [sword@localhost ~]$ echo ${moves[20]} mother fucking ln #ln -s pathOfSourceFile pathOfObjectFile ps#显示进程的状态,ps -aux | grep "XXX" kill #kill -l 返回所有信号的号码以及对应的名字。 pstree #用图的形式显示当前系统中执行进程的进程树,勾勒出进程间的父子关系。 ifconfig #修改网卡地址 service network restart hostname #显示主机名 whoami #我是哪个账户? uname #显示系统信息,uname -r 显示内核版本 source #使得刚修改过的系统配置文件生效 read #从标准输入设备读入 shift #shit [N],把命令行参数向左移动N个位置,默认移动一个位置。 set # set $(date),$1~$9被设置为输出。 here文件 #bash的here文件特性可以将脚本中命令的标准输入重定向到脚本中的数据,这个特性主要用来显示菜单。 trap #trap ['命令列表'] [信号列表],bash 中断处理的命令。 exec #1.执行命令or程序取代当前进程。2.打开or关闭文件描述符,与重定向符号一起使用时,允许读写文件。 bash -xv debug_file #脚本调试 top #实时显示正在运行的进程

CentOS常用命令

一:使用CentOS常用命令查看cpu more /proc/cpuinfo | grep "model name" grep "model name" /proc/cpuinfo [root@localhost /]# grep "CPU" /proc/cpuinfo model name      : Intel(R) Pentium(R) Dual CPU E2180 @ 2.00GHz model name      : Intel(R) Pentium(R) Dual CPU E2180 @ 2.00GHz 如果觉得需要看的更加舒服 grep "model name" /proc/cpuinfo | cut -f2 -d: 二:使用CentOS常用命令查看内存 grep MemTotal /proc/meminfo  grep MemTotal /proc/meminfo | cut -f2 -d:  free -m |grep "Mem" | awk '{print $2}' 三:使用CentOS常用命令查看cpu是32位还是64位 查看CPU位数(32 or 64) getconf LONG_BIT 四:使用CentOS常用命令查看当前linux的版本 more /etc/redhat-release cat /etc/redhat-release 五:使用CentOS常用命令查看内核版本 uname -r uname -a 六:使用CentOS常用命令查看当前时间 date上面已经介绍如何同步时间了 七:使用CentOS常用命令查看硬盘和分区 df -h fdisk -l 也可以查看分区 du -sh 可以看到全部占用的空间 du /etc -sh 可以看到这个目录的大小 八:使用CentOS常用命令查看安装的软件包 查看系统安装的时候装的软件包 cat -n /root/install.log more /root/install.log | wc -l 查看现在已经安装了那些软件包 rpm -qa rpm -qa | wc -l yum list installed | wc -l 不过很奇怪,我通过rpm,和yum这两种方式查询的安装软件包,数量并不一样。没有找到原因。 九:使用CentOS常用命令查看键盘布局 cat /etc/sysconfig/keyboard cat /etc/sysconfig/keyboard | grep KEYTABLE | cut -f2 -d= 十:使用CentOS常用命令查看selinux情况 sestatus sestatus | cut -f2 -d: cat /etc/sysconfig/selinux 十一:使用CentOS常用命令查看ip,mac地址 在ifcfg-eth0 文件里你可以看到mac,网关等信息。  ifconfig  cat /etc/sysconfig/network-scripts/ifcfg-eth0 | grep IPADDR  cat /etc/sysconfig/network-scripts/ifcfg-eth0 | grep IPADDR | cut -f2 -d=  ifconfig eth0 |grep "inet addr:" |awk '{print $2}'|cut -c 6-  ifconfig   | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'  查看网关  cat /etc/sysconfig/network  查看dns  cat /etc/resolv.conf  十二:使用CentOS常用命令查看默认语言 echo $LANG $LANGUAGE cat /etc/sysconfig/i18n 十二:使用CentOS常用命令查看所属时区和是否使用UTC时间 cat /etc/sysconfig/clock 十三:使用CentOS常用命令查看主机名 hostname cat /etc/sysconfig/network 修改主机名就是修改这个文件,同时最好也把host文件也修改。 十四:使用CentOS常用命令查看开机运行时间 uptime 09:44:45 up 67 days, 23:32, ... 看来刚才确实是网段的问题,我的机器还是67天前开机的。 #系统资源使用情况 vmstat 1 -S m  procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------  r b   swpd   free   buff cache   si   so    bi    bo   in   cs us sy id wa st  0 0      0    233    199    778    0    0     4    25    1    1 3 0 96 0 0  0 0      0    233    199    778    0    0     0     0 1029 856 13 1 86 0 0 在众多的Linux终端命令中,我们应该分类来介绍一下,这里先说文件目录类、驱动挂载类、程序安装类、压缩解压类、进程控制类,这里所有的 Linux终端命令都会被经常的使用到,熟悉这些命令工作中应该能轻松许多。
一、文件目录类 1.建立目录:mkdir 目录名 2.删除空目录:rmdir 目录名 3.无条件删除子目录: rm -rf 目录名 4.改变当前目录:cd 目录名 (进入用户home目录:cd ~;进入上一级目录:cd -) 5.查看自己所在目录:pwd 6.查看当前目录大小:du 7.显示目录文件列表:ls -l (-a:增加显示隐含目录) 其中:蓝:目录;绿:可执行文件;红:压缩文件;浅蓝:链接文件;灰:其他文件;红底白字:错误的链接文件 8.浏览文件:more 文件名.txt;less 文件名.txt 9.复制文件: cp 源文件 目标文件 (-r:包含目录) 10.查找文件:(1)find (2)locate 命令名 11.链接:(1)建立hard链接:ln 来源文件 链接文件(-d:创建目录链接);(2)建立符号链接:ln -s 来源文件 链接文件 二.驱动挂载类 1.检查硬盘使用情况:df -T -h 2.检查磁盘分区:fdisk -l 3.挂载软硬光区:mount -t /dev/fdx|hdax /mnt/目录名 其中::modos--FAT16;vfat--FAT32;ntfs--NTFS;光驱--iso9660 支持中文名:mount -o iocharset=x /dev/hdax /mnt/目录名(其中:x=cp936或 挂载光驱:mount -t auto /dev/cdrom /mnt/cdrom 挂载ISO文件:mount -t iso9660 -o loop xxx.iso /path 4.解除挂载:umount /mnt/目录名 解除所有挂载:umount -a 5.建立文件系统:mkfs -t /dev/hdxx。其中:ftype:ext2、ext3、swap等 三.程序安装类 1.RPM包安装:(1)安装 rpm -ivh somesoft.rpm (2)反安装(卸载) rpm -e somefost.rpm (3)查询 rpm -q somefost 或 rpm -qpi somefost.rpm(其中:p未安装;i包含的信息) (4)查询安装后位置:rpm -ql somefost.rpm (5)升级安装:rpm -Uvh somesoft.rpm (6)强制安装:rpm -ivh --nodeps somesoft.rpm 或 rpm -ivh --nodeps --force somesoft.rpm 2.源代码包安装: 查阅README 基本用法 (1)配置:解压目录下 ./configure (2)编译:解压目录下 make (3)安装:解压目录下 make install 3.src.rpm的安装 ==================================================================================================================================== 四.压缩解压类
tar命令:tar [-cxtzjvfpPN] 文件与目录 …. tar命令参数: -c :建立一个压缩文件的参数指令(create 的意思); -x :解开一个压缩文件的参数指令! -t :查看 tarfile 里面的文件! 特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在! 因为不可能同时压缩与解压缩。 -z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩? -j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩? -v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程! -f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数! 例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成 『 tar -zcvPf tfile sfile』才对喔! -p :使用原文件的原来属性(属性不会依据使用者而变) -P :可以使用绝对路径来压缩! -N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中! –exclude FILE:在压缩的过程中,不要将 FILE 打包! 范例: 范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar [root@linux ~]# tar -cvf /tmp/etc.tar /etc<==仅打包,不压缩!  tar -cvf 目标文件  源文件   (以下同)例如:tar -cvf a.txt.tar a.txt [root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc<==打包后,以 gzip 压缩 [root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc<==打包后,以 bzip2 压缩 # 特别注意,在参数 f 之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。 # 如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file ~ # 如果加 j 参数,则以 .tar.bz2 来作为附档名啊~ # 上述指令在执行的时候,会显示一个警告讯息: # 『tar: Removing leading `/” from member names』那是关於绝对路径的特殊设定。   范例二:查阅上述 /tmp/etc.tar.gz 文件内有哪些文件? [root@linux ~]# tar -ztvf /tmp/etc.tar.gz # 由於我们使用 gzip 压缩,所以要查阅该 tar file 内的文件时, # 就得要加上 z 这个参数了!这很重要的!   范例三:将 /tmp/etc.tar.gz 文件解压缩在 /usr/local/src 底下 [root@linux ~]# cd /usr/local/src [root@linux src]# tar -zxvf /tmp/etc.tar.gz # 在预设的情况下,我们可以将压缩档在任何地方解开的!以这个范例来说, # 我先将工作目录变换到 /usr/local/src 底下,并且解开 /tmp/etc.tar.gz , # 则解开的目录会在 /usr/local/src/etc 呢!另外,如果您进入 /usr/local/src/etc # 则会发现,该目录下的文件属性与 /etc/ 可能会有所不同喔!   范例四:在 /tmp 底下,我只想要将 /tmp/etc.tar.gz 内的 etc/passwd 解开而已 [root@linux ~]# cd /tmp [root@linux tmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd # 我可以透过 tar -ztvf 来查阅 tarfile 内的文件名称,如果单只要一个文件, # 就可以透过这个方式来下达!注意到! etc.tar.gz 内的根目录 / 是被拿掉了!   范例五:将 /etc/ 内的所有文件备份下来,并且保存其权限! [root@linux ~]# tar -zxvpf /tmp/etc.tar.gz /etc # 这个 -p 的属性是很重要的,尤其是当您要保留原本文件的属性时!   范例六:在 /home 当中,比 2005/06/01 新的文件才备份 [root@linux ~]# tar -N “2005/06/01″ -zcvf home.tar.gz /home   范例七:我要备份 /home, /etc ,但不要 /home/dmtsai [root@linux ~]# tar –exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc   范例八:将 /etc/ 打包后直接解开在 /tmp 底下,而不产生文件! [root@linux ~]# cd /tmp [root@linux tmp]# tar -cvf - /etc | tar -xvf - # 这个动作有点像是 cp -r /etc /tmp 啦~依旧是有其有用途的! # 要注意的地方在於输出档变成 - 而输入档也变成 - ,又有一个 | 存在~ # 这分别代表 standard output, standard input 与管线命令啦!
  ------------------------------------------------------------------------------------------------------------------------------------------- 五.进程控制类 1.列出当前进程ID:ps -auxw 2.终止进程:(1)终止单一进程:kill 进程ID号 (2)终止该程序所有进程:Killall 程序名 (3)终止X-Window程序:xkill 3.查看资源占用情况:(1)top (2)free (3)dmesg 4.查看环境变量值:env 5.重启:(1)reboot (2)Ctrl Alt Del (3)init 6 6.关机:(1)shutdown -h now (2)halt (3)init 0 7.切换桌面:switchdesk gnome|KDE|...