L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

 for n in `seq 512` ;do echo 1 >>a.log;done:写一个1K的文件,如下图:

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

for n in `seq 100000` ;do /bin/cp a.log $n;done:很大的一个for循环。(No space left on device)

for n in `seq 100000` ;do touch $n $n;done:写空文件。

ls|wc -l:查看文件行数。(show listing of last logged in users)

last:查看登陆过的用户信息。(eports the most recent login of all users or of a given user)

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

lastlog:查看未登录过的用户的信息。

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

/var/spool/clientmqueue/sendmail:邮件临时存放地点。(c5.8默认就有sendmail,而c6.4默认没有sendmail)

企业面试题:

磁盘报错:“No space left on device”,但是df -h查看磁盘空间没有满,请问为什么?

tar zxf 文件名:解压文件。

下题非上题。

第一题:

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

ls -Fl|grep /:同上ls -l|grep ^dr:把目录显示出来。

ls -dl */:意思同上。

ls -l|sed -n '/^d/p':取消默认输出,以d开头的给打印出来。结果同上。

ls -l|awk '/^d/':把以d开头的过滤出来。

ls -lF|sed -n '/\/$/p':目录会加上/并显示出来。(反斜线符号“ \ ”在Bash中被解释为转义字符,用于去除一个单个字符的特殊意义,它保留了跟随在之后的字符的字面值,除了换行符。如果在反斜线之后一个换行字符立即出现,转义字符使行得以继续,遇到命令很长时使用反斜线很有效;反斜线从输入流中被移除并有效地忽略。)也可以是这样说:让一个字符脱掉马甲,还原它本来的意义。

关于‘ ’和\的例子,如下图(图中的\就代表分隔符,还有记得加上‘ ’):

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

^dr:表示唯一以d开头的。(^表示以什么什么开头。)

cat /etc/ssh/ssh_config:查看这个文件。

cat /etc/ssh/ssh_config|grep -v ^#:把以#开头的文件过滤掉来显示其他的。

grep -v ^# /etc/ssh/ssh_config:意思同上。

[^oldboy]:表示非oldboy的行或字符。

$:表示以什么什么结尾。例如oldboy$表示以oldboy结尾的。

^$:空行。

grep -Ev "^#|^$" /etc/ssh/sshd_config:把文件中以#开头的和空行过滤掉。

egrep -v "^#|^$" /etc/ssh/sshd_config:意思同上。

find ./ -type d:把以d开头的文件显示出来。(会显示子目录)

find . -maxdepth 1 -type d ! -name "." :同上(但会显示部分子目录)

find . -type d ! -name "." -prune:意思同上。

find . -type d ! -name ".":查出所有目录,但名字里边不含.(点)的。

tree -Ld 1:查看一行目录树结构。(-L显示层数,-d列目录,查看目录结构。)

关于在文件中精确查找的方法:

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

find ./ -type d -o -type f:查找文件或者目录。

find ./ -type d -and -name "hanshuaiping":查找文件名为hanshuaiping的目录。

第二题;

env:查看环境变量。

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

其中的OLDPWD记录的就是上次进入的信息。

进入历史命令,输入!行号就能执行该行的内容,如下图:

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

ls -lrt:查看最近的文件,文件从上到下按由旧到新的顺序排列。(l r t相关信息如下图)

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

关于 --color=auto,如下图:

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

编辑一个文件并使它生效(source):

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

ln(make links(链接) between files):默认创建的是硬链接。加上-s创建的是软连接。

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

for n in `seq 14`
do
date -s "04/0$n/14"
touch access_www_`(date +%F)`.log
done

上图是一个for循环,从13年四月一号到13年四月十四号,一共创建十四个文件。如下图:

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

删除七天以前的文件,:

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

为避免发生错误,可以设置时间为当前或者超出命令中的时间:

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

创建并删除(delete,rm):

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

 查看一个文件存在的时间:

三种时间:

1.access

2.modify

3.change

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

tailf /var/log/messages:监控一个文件的输出。

tail -f /var/log/messages:同上。

tail -F /var/log/messages:同上。(F可以显示出另一个窗口被删除再重新创建的文件的内容。而f却不能。)如下图:

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

第七题:

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

上图中 5)是错的,正确是grep -n . a.txt。

第八题:

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

chkconfig:(查看设置开机自启动软件的命令 -add/ --list 程序名)

1016  chkconfig --list sshd
 1017  chkconfig sshd off
 1018  chkconfig --list sshd
 1020  chkconfig --list sshd
 1021  chkconfig sshd --level 3  on
 1022  chkconfig --list sshd
 1023  chkconfig sshd on:恢复
 1024  chkconfig --list sshd
 1025  chkconfig sshd --level 245  off
 1026  chkconfig --list sshd
 1027  chkconfig sshd on
 1028  chkconfig --list sshd
 1029  ls /etc/init.d/|grep ssh
 1030  ls /etc/rc.d/rc3.d/|grep ssh
 1031  chkconfig sshd off
 1032  ls /etc/rc.d/rc3.d/|grep ssh
 1033  cat /etc/profile
 1034  chkconfig sshd on
 1035  ls /etc/rc.d/rc3.d/|grep ssh
 1036  chkconfig sshd off
 1037  ls /etc/rc.d/rc3.d/|grep ssh
 1038  chkconfig sshd on
 1039  ls /etc/rc.d/rc3.d/|grep ssh
 1040  ls /etc/rc.d/rc3.d/ -l:查看软连接文件。
 1041  ls /etc/rc.d/rc3.d/S55sshd 
 1043  chkconfig --list sshd

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

手工改:

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

less /etc/init.d/sshd的一些相关说明:

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

如果你自己写的脚本要想被chkconfig管理,写入/etc/init.d/sshd的时候要带上如下图所示的内容(通过man chkconfig可查看):

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

其中白色部分表示chkconfig的2345运行级别上以20开机自启动,以80关闭。

开机自检:

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

第十题:

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

vim /etc/sysconfig/i18n:进入之后可以设置,必须要大写(CN.GB)

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

提示:要注意字符集的大小写。

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

第十一题:如何优化linux系统(基础调优):

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

第十二题(见博客linux tar命令:https://mp.****.net/postedit/80298825):

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

第十三题:

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战


tail -c -9 oldnoy.txt:可以取出结尾的qq号49000448,但不符合题意。

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

13题xshell执行命令总结:

echo "I am oldboy myqq is 49000448" >> oldboy.txt
tail -c 9 oldboy.txt (输出后九个字符,但不符合题意。)
不做任何操作:
cut -c 6-11,20- oldboy.txt 
换掉“,”:
sed 's#,# #g' oldboy.txt|cut -d " " -f 3,6
sed 's#,# #g' oldboy.txt |awk '{print $3,$6}'(”,“” “一样。)
换掉“,myqq”:
sed 's#,myqq##g' oldboy.txt|awk '{print $3,$5}'
cut -d " " -f 3,5 oldboy.txt|sed 's#,myqq##g'
awk '{print $3,$5}' oldboy.txt |sed 's#,myqq##g'(”,“” “一样。)
awk -F " " '{print $3" "$5}' oldboy.txt |sed 's#,myqq##g'(单引号双引号一样。)
指定分隔符” ,“:
awk -F '[ ,]' '{print $3" "$6}' oldboy.txt
cut -d " " -f3,5 oldboy.txt|tr ",myqq" " "(oldboy后少一个y)

cut -d " " -f 3,5 oldboy.txt|tr ",myqq" " "(oldboy后少一个y)

第十四题:查看一个文件有多少行。

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

以下是命令总结:

wc -l /etc/services 

cat -n /etc/services |tail -1
sed -n '$=' /etc/services 
grep -n $ /etc/services 
grep -n $ /etc/services |tail -1

awk '{print NR}' /etc/services |tail -1

ps -ef:查看进程。

netstat -intup:查看现在开了哪些服务。

grep "3306" /etc/services:过滤出来mysql内容。

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战

L010-老男孩linux高端运维课程—第二关linux命令及基础手把手实战