1.递归创建目录,并且指定权限值
2.创建文件,并且指定权限值
3.ls列出目录时,一定要列出的数据信息
最基本的显示标准: 以—full-time 全格式的形式显示 ,带文件大小 –h 【单位为MB,或者是GB,而非字节】的方式来显示(默认是字节), 标识文件类型,文件的权限,文件的所属用户以及用户组,并且排序:
按修改时间顺序显示:
ll –sh -t –full-time
-h 以MB,KB,GB的形式显示
-t 以修改的时间来排序
按文件名来进行排序
默认,即按照文件名来进行排序
按文件大小来进行排序【不包括目录】
ll –sh –S –-full-time 【加上-r,如 ll –sth –Sr –-full-time 则代表反向来进行排序】
默认的排序方式为文件名(字母顺序), 以文件名,文件大小,文件类型(目录,文件),修改时间来排序【最好先按类型排序,再根据时间或者是文件名】
排序优先级: 先以文件类型排序,再以大小【仅仅为文件,而不包括目录形式】来排序
4. 快递的查看某一个目录或者是文件的相关信息:文件类型,路径,权限值
5. 显示行号查看较小文件
显示行号查看较大的文本文件【翻页查看】 ,翻页指定查看第几页,以及页数,当前页,每一页显示多少条记录
6. 选取文件部分查看【行数范围】—>比如说大文件的数据查看
有这个的几种情况:
1. 从行首的40行到未尾
2. 从行首的40行到行尾的前50行
3. 获取文件中第30到到100行的数据
第一种使用,head,tail来完成: head –n 100 ~/.bashrc |tail –n 30
第二种直接使用sed来完成: nl ~/.bashrc |sed –n ‘30,100p’
解释说明:
sed –n n,--quiet,--silent取消默认输出, 不然对于nl ~/.bashrc |sed –n ‘30,100p’,它会全部输出 .bashrc 。 默认情况下,在一般的SED用法中,所有来自于STDIN的数据都会显示在屏幕上,如果加上-n参数,则只有经过sed特殊处理的数据才会显示。
7. locate 可以通配符匹配查找,同时解决locate不能搜索即时文件的问题
即先更新搜索数据库,后查找
以root更新执行updatedb命令 更新,进行再使用locate进行搜索寻找
--- 如何快速查找文件,进而使用列出文件的相关permission值
File Stat – Display Information About File
stat /home/ramesh
stat `locate detail.phtml`|cat -n
ll --full-time -th `locate detail.phtml`|cat -n
8. 当系统管理员清空了/etc/issue文件,如何知道当前系统的版本,版本号,内核号
ll -sh --full-time /etc/ |grep -i 'release'
如果有一个厂商商标-release文件,即为详细信息
lsb_release -a
如果是查看内核
uname -a
cat /proc/version
9. 让grep 支持通配符过滤
10. 如果要屏幕的内容输出到文本文件中,管道命令的应用[特别是stdout与正确,错误输出]
11. grep 对netstat,ps等过滤时,会将head头部的说明也去掉,如何让console即输出head头信息,同时又输出过滤的信息
12. 如果快速的查找某一个服务的日志信息
如如何快速的知道httpd,mysql,corntab的日志文件位置
查看syslog.conf
13.显示文件时,操作系统的不一样导致 换行,回车符不一样,如何查看回车符等
sudo cat access_etam.com.cn-check.log |egrep -i '.+\.html.+HTTP.+[[:space:]]?\b503\b[[:space:]]?.+'
14. 找出当前系统所有可以登录的用户以及用户信息
15. 移出当前目录下,各个文件夹所占用磁盘的百分比
软件安装
1. 如何知道软件是通过bin, rpm-src, 还是源代码安装
日志上看
如何知道哪些是做了logrotate
以后操作linux ---------> 一切可能去使用 正则表达式 去查找文件
---------先用好原始的命令,再来使用alias---
一个过大的文本文件,比如HTTPD的日志文件,MYSQL的日志文件过大,有近2G大,如何快速的读取部分的数据(行数),当然使用grep,vim,cat肯定是不现实的
如何一次性杀死所有的进程,如现系统中有近15个httpd进程,不可能使用kill -9 PID 一个一个的杀,如何一次性全部杀死进程
killall 进程名
20.在不同的服务器中以最大的速度来传输大数据文件? 即大数据文件的网络传输?
HTTP日志的分析以及解决
1. 希望得到文件文件中所有的404页面,除spilder,crawler等
2. 希望得到文件中所有503,504,502错误的页面,以及IP地址
gawk ‘BEGIN{FS=“,”; OFS=“--”} {print $1,$2,$3}’ data1
cat access_etam.com.cn-check.log|egrep -iv '(Spider|crawler|bot)'|egrep -i 'http://[-a-z0-9R:@&?=+,.!/~+%$]+\.(html|htm)'|gawk 'BEGIN{FS=" ";OFS="-"} {if ($9=="502" || $9="504") print $4,$9,$7}'|head -n 20
gawk ‘BEGIN{FS=“,”} $2 ~ /ˆdata2/{print $0}’ data1
cat access_etam.com.cn-check.log|egrep -iv '(Spider|crawler|bot)'|egrep -i 'http://[-a-z0-9R:@&?=+,.!/~+%$]+\.(html|htm)'|gawk 'BEGIN{FS=" ";OFS="----"} $7 ~/(html|htm)$/ {if ($9=="502" || $9="504") print $4,$9,$7}'
cat access_etam.com.cn-check.log|egrep -iv '(Spider|crawler|bot)'|egrep -i 'http://[-a-z0-9R:@&?=+,.!/~+%$]+\.(html|htm)'|gawk 'BEGIN{FS=" ";OFS="----"} $7 ~/(html|htm)$/ {if ($9=="502" || $9="504") print $4,$9,$7}'
1,对于使用了轮换的日志配置而言,它一般会生成一些压缩文件,如果在不解压这些文件的同时,同时又可以看到这些文件中的内容
22. 如何知道系统邮件哪些是已经发送,哪些还没有发送?
如何知道有哪些用户发邮件给了MTA? 包含了各种用户?
如何MTA发了什么的邮件给谁?
23. 当一个终端需要执行很长时间的命令时,使用后台运行来解决,问题是如何来知道后台运行是否有报错或者是知道它是运行成功的?
24. 对后台执行的管理,将运行程序添加到一个后台执行,以及相关的调用管理?
什么时候使用后台执行: 比如说你正在复制一个大文件,有3G,导入数据库脚本,需要1个小时,进行解压缩或者是压缩操作,如果不使用后台执行的话,它会一直占用终端,导致无法继续执行命令行
后台执行需要考虑的点:
1. 如何保证执行过程中是没有错误的,应该有一个记录。
2. 必须考虑到 sdtout与sdtin, 如果命令行中有标准的输入与输出,它还是会自动的显示在屏幕中.. 如 tar zxvf 中的v就是输出可视信息。
如: tar -zpcvf /tmp/etc.tar.gz /etc > /tmp/log.txt 2>&1 &
2>&1是什么含义:
就是将错误输出与正确输出放置到同一个文件中,需要使用这种特殊的写法 2>&1 它也就是代表着写入同一个文件中。
关于管道使用说明:
1 代表正确的输出 find /home testing > list_right 其实它所操作的就是1
2 代表错误输出 find /home –name testing > list_right 2> list_error
当我们仅需要正确的信息,而不需要错误信息时,就要使用到/dev/null这个垃圾桶了, 可以把/dev/null看作"黑洞". 它非常等价于一个只写文件. 所有写入它的内容都会永远丢失. 而尝试从它那儿读取内容则什么也读不到.
如
rm $badname 2>/dev/null 这样错误信息[标准错误]就要显示,同时也不会存储到系统中
如果需要把错误输出与正确输出放置在同一个日志文件中,可以使用 2>&1这种特殊的写法
如果希望将程序执行过程中的error忽视,则可以使用
查看当前的jobs
jobs –l
中止并且删除某一个作业: kill –9 %作业编号
一台服务器是多个人操作的,当发现系统有点不稳定时,如何知道别人做了什么操作?
last [它一般只会读取当前一个月的lo记录,一般它的信息量会比较大], lastlog
硬件信息以及性能监控
查看计算机或者系统的基本配置信息
硬件
CPU型号以及大小
[root@localhost ~]# grep "model name" /proc/cpuinfo
model name : Intel(R) Xeon(R) CPU E5410 @ 2.33GHz
model name : Intel(R) Xeon(R) CPU E5410 @ 2.33GHz
4、查看CPU位数
[root@localhost ~]# getconf LONG_BIT
查看内存情况(只能以KB的单位显示)
[root@localhost ~]# more /proc/meminfo
MemTotal: 3755008 kB
MemFree: 155276 kB
查看内存情况(以MB的单位来显示)
[root@localhost ~]# free –m
查看网卡信息
[root@localhost ~]# dmesg | grep ‘eth’
系统软件
1、查看内核
[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.18-164.el5xen #1 SMP Tue Aug 18 16:06:30 EDT 2009 i686 i686 i386 GNU/Linux
2、查看版本
[root@localhost ~]# more /etc/issue
Red Hat Enterprise Linux Server release 5.4 (Tikanga)
Kernel \r on an \m
3. 查看系统语系
基本的磁盘信息
1.获取当前的存储设备信息(包括有品牌,商标,型号等最基本的信息)
cat /proc/scsi/scsi
或者是硬盘的容量等
如果仅仅是想获得磁盘的大小: fdisk –l
最好是使用lshw这个软件来查看,它的信息会更加全面,当然前提是要先安装此软件
lshw -class disk -class storage
转速以及磁盘的基本读写速度
sudo hdparm -tT /dev/sda
查看硬盘或者是磁盘的组织形式: 是LVM,RAID等形式,这种组织形式的容量是多少
硬盘类型: RAID, 基本的硬盘
SCSI还是HDA
硬盘的读写速度测试
硬盘
几块硬盘
硬盘类型: RAID, 基本的硬盘
硬盘类型:
PV VP PE LV LVM
---------查看PV
pvscan
pvdisplay
vpdisplay
RAID的级别
分区
dmesg –l |egrep –I ‘disk’
参考资料
http://www.cyberciti.biz/faq/find-hard-disk-hardware-specs-on-linux/
http://www.cyberciti.biz/tips/how-fast-is-linux-sata-hard-disk.html
------------
主板:
硬盘可以插入的数量
USB的数据
USB的支持类型
日志过大的问题要解决
httpd的进程太多的问题也要解决