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

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


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)


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


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

企业面试题:

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

tar zxf 文件名:解压文件。

下题非上题。

第一题:



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中被解释为转义字符,用于去除一个单个字符的特殊意义,它保留了跟随在之后的字符的字面值,除了换行符。如果在反斜线之后一个换行字符立即出现,转义字符使行得以继续,遇到命令很长时使用反斜线很有效;反斜线从输入流中被移除并有效地忽略。)也可以是这样说:让一个字符脱掉马甲,还原它本来的意义。

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


^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列目录,查看目录结构。)

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



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

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

第二题;

env:查看环境变量。


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

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



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


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


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




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




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

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


删除七天以前的文件,:


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


创建并删除(delete,rm):



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

三种时间:

1.access

2.modify

3.change



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

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

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


第七题:


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

第八题:




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



手工改:


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


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


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

开机自检:






第十题:


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


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



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



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


第十三题:




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







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)

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


以下是命令总结:

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内容。














  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值