学习记录001-007-阶段习题小结

author author     2022-07-28     472

关键词:

一、第1段

1.显示目录下第一级目录
ls -l |grep ^d 或者颜色区分
[^ ee] //非ee的字符
ls -F //在目录下显示目录后加上/ ls -F |grep / 或者/$ 以什么什么结尾 p 也有这个功能
find . -type d //可以查看子目录,有二级目录
tree -Ld 1 也可以
find -maxdepth level
ls -ld */
ls -l |awk ‘/^d/‘
ls -l|sed -n ‘/^d/p‘


2.假如当前目录是/data 你用命令 cd /tmp 之后想返回/data目录你怎么处理?
cd - //- 可以用命令env |grep -i old env 显示当前用户的环境变量 一切换就找路径去了
cd /root/data


3. 怎么查看刚刚创建的文件,找出来
ls -lrt /etc //直接看到刚刚创建的文件 lrt 非常重要 r reverse order while sorting
当排序时,倒过来排序
grep 3306 /etc/services --color=auto //显示结果有颜色


4. 已知apache服务的访问日志记录在服务器本地目录/app/logs下,由于磁盘紧张,现在只要求保留最近7天的访问日志,请问如何解决?
法一:
find ./ -type f -name "*.log" -mtime +7 |xargs rm -f
法二:
find ./ -type f -name "*.log" -mtime +7 -exec rm -f {} ; //{}表示前面find的内容,这个命令多了,会出问题,因为是一起删除 find 多喝mtime连用
法三:
CustomLog"|/usr/local/sbin/cronolog /app/logs/access_www_%w.log" combined
过7天自动覆盖
/app/logs/access_www_0.log //礼拜天
/app/logs/access_www_1.log //礼拜一
数据创建脚本
for n in `seq 14`
do
date -s "04/0$n/16"
touch access_www_`(data+%F)`.log
done
date -s "04/14/16"


5.调试系统服务时候、,希望能实时查看系统日志/var/log/messages的更新,如何做?
比如一个程序:for n in `seq 10000`;do echo 1111 >>/var/log/messages;usleep 500;done


6.打印配置文件nginx.conf的内容和行号,你该怎么做?
nl nginx.conf
cat -n nginx.conf
less -N nginx.conf
vi文件 然后执行set nu , :set nonu 为取消行号。
grep -n ./etc/serrvices //这两种用的比较多


7.装完系统后,希望网络共享服务NFS 在三级别启动
chkconfig --level 3 nfs on
把启动的命令echo“etc/init.d/sshd start”>>/etc/rc.local


8.linux系统中查看中文乱码,请问如何解决乱码问题?
echo $LANG="zh_CN.GB18030" //仅在当前窗口生效
echo ‘LANG="zh_CN.GB18030"‘ >/etc/sysconfig/i18n //永久生效
source /etc/sysconfig/i18n
echo $LANG


9.如何优化linux系统
a.最小化安装,配置yum源
b.禁止开机不需要启动的服务
c.优化内核参数/etc/sysctl.conf
d.增加系统文件描述符,堆栈等配置
e.禁止root远程登陆,修改ssh端口为特殊端口
f.有外网ip的机器要开启配置防火墙,仅对外开启需要提供的服务端口,配置或关闭selinux
g.清除无用的默认系统账户或组(非必需)
h.锁定敏感文件,passwd
i.配置服务器和互联网时间同步
j.配置sudo对普通用户权限精细控制
k.一键优化脚本,包括以上

10./etc/目录为linux系统的默认的配置文件及服务启动命令的目录
请做
a.请用tar打包/etc整个目录
b.请用tar打包/etc整个目录,但需要排除/etc/services文件
c.请把a点命令的压缩包,解压到/tmp指定目录下
tar zcvf etc.tar.gz /etc //打包之前先对该目录上级目录进行打包
tar zcvf etc.tar.gz /etc - -exclude=etc/services
解压 tar xf etc.tar.gz
还有一种打包方式 jcvf 解压时候 jxf
tar xf etc.tar.gz -C /home/start //指定地点解压
-t 只想看里面的内容但是不会解压
-p 保持属性
-X -- exclude =/etc/service
总结:
tar zcvf x p C --exclude -X j t //按照使用顺序
gzip
打包:zcvf zcf
解包:xf xvf zxvf
bzip
打包:jcvf jcf
解包:jxf jxvf
unzip 用于解win32 zip 包 解压rar包 http://oldboy.blog.51cto.com/2561410/597515
gzip 多用于mysql


11.把1.txt文件中的start working at 0000 中的0000和start列出来
cut -d" " -f1,3 1.txt //-d表示指定分隔符
cut -c 1-5,19- 1.txt //直接查字符
-f //echo "a/b/c" |cut -d ‘/‘ -f 1,执行结果是a。执行过程:先按/分段,分段后结果是:第一个字段是a,第2个字段是b,第3个字段是c,-f就是取第几个字段。
如果在start,working at 0000 ,难度变大
awk -F‘[ ,]‘ ‘{print$1""$3}‘1.txt //""是为了打印空格
$NR 可以替换$3 表示最后一列


12.wc 查看行数,字节数等命令 wc -l /etc/services
awk ‘{print NR}‘ /etc/passwd|tail -1
cat -n /etc/passwd |tail -1
grep -n $ /etc/services |tail -1
查看 wc -l 显示的行数 ps -ef|grep ssh|wc -l 看这个进程有没有活着 ps -aux 也可以
ps -e -o "%c : %p : %z :a"|sort -k5 -nr|head -10
查看进程所占内存排行
ps -eo pid,args,psr //查看进程在哪个cpu上运行
ps -e -o "%c : %p : %z :a" |sort -nr //查看cpu的利用率
ps -eo "%p %c %t" //查看进程运行了多长的时间
ps: 进程查询命令
ps -a 显示多有运行在终端上的进程
-x 显示运行在后台的进程
-u 显示进程的拥有者
-f 显示进程的详细信息
-o 特殊参数的指定,加多条特殊参数用“,” 隔开参数后面所加的特殊参数
%cpu 显示cpu信息
pid 进程pid
comn 进程的命令名称
user 进程的拥有者
state 进程的状态
tty 进程运行的终端
euser 进程的有效账户
ruser 进程的真实账户


13.过滤出/etc/services 文件包含3306或1521两数字的行的内容
egrep "3306|1521" /etc/services
grep -E "3306|1521" /etc/services

 

 

二、第2段

1.如何把1.txt中的rw-r--r--转换成数字
 

[[email protected] ee]# stat 1.txt
File: `1.txtSize: 4096 Blocks: 8 IO Block: 4096 directory
Device: 802h/2050d Inode: 651644 Links: 2
Access: (0755/drwxr-xr-x) Uid: ( 501/ k) Gid: ( 501/ k)
Access: 2016-06-27 02:27:07.124006306 -0700
Modify: 2016-06-27 02:27:07.124006306 -0700
Change: 2016-06-27 02:32:01.369006582 -0700
You have new mail in /var/spool/mail/root

法一:
|| 1.txt|cut -c 2-10|tr rwx- 4210|awk‘{for(i=1;i<=length($1);i++){s=substr($1,i,1);print s" "}}‘|awk ‘{print$1+$2+$3+$4+$5+$6+$7+$8+$9}‘
法二:
stat /etc|sed -n ‘4p‘|cut -d "/" -f1|cut -d "(" -f2 //先取行在取列
法三:(这种思路值得借鉴,考虑命令的自带功能)
stat -c %a 1.txt
法四:
stat 1.txt|sed -n 4p //取第四行 head -4|tail -1
stat 1.txt|sed -n 4p|cut -d"(" -f2|cut-c 1-4 //取列
法五:
stat 1.txt|sed -n 4p|awk -F "/" ‘{print $1}‘|awk -F "(" ‘{print $2}‘
awk的多分割符的功能
awk -F ‘[(/]‘ ‘{print $2}‘ //以(和/为分割符
注意awk -f ’[ :]+‘ ‘{print $1}‘ //中括号里面的空格冒号代表在一行中, ttg SD GRF: ttg代表第一段, SD代表第二段 GFR代表第三段
相关博文:http://oldboy.blog.51cto.com/2561410/950730

2.echo用法复习 

[[email protected] ~]$ echo -n"dce";echo "dede"
-ndce
dede
[[email protected] ~]$ echo -n "dce";echo "dede"
dcedede
[[email protected] ~]$ echo -ne "dce	";echo "dede"
dce dede

 

3.date命令
 

[[email protected] ~]$ date +%y-%m-%d
16-06-29
[[email protected] ~]$ date +%Y-%m-%d
2016-06-29
[[email protected] ~]$ date +%F
2016-06-29
[[email protected] ~]$ date +%Y-%m-%d %H:\%M:%S
2016-06-29 09:28:30
[[email protected] ~]$ date +%Y-%m-%d %T
2016-06-29 09:28:30
date+%w //显示周 
[[email protected] ~]# date -s "2016-06-30 00:37:00"
Thu Jun 30 00:37:00 PDT 2016
[[email protected] ~]# date
Thu Jun 30 00:37:09 PDT 2016 //通过clock -w 写在shell脚本里,但是该方法不够稳定,时间有时候会不准
/usr/sbin/update pool.ntp.org
[[email protected] ~]# date +%F --date "-3day"
2016-06-27
[[email protected] ~]# date +%F %T --date "-3hour"
2016-06-29 22:00:39
[[email protected] ~]# date +%F %T --date "-3min"
2016-06-30 00:57:53

 

4.备份神器 cp /etc/hosts /etc/hosts.carlton.$(date +%F)


5.空格的过滤方法
sed ‘/^$/d‘ 1.txt
grep -v "^$" 1.txt


6.寻找cat的路径
where is cat
which cat
 

第四章小结

1.本章学习了字符串的更多应用和数组的扩展知识。现在学习字符串,不同于以往简单的使用,输入,输出,这一章带我深入到底层了解它的结构,学习很多字符串函数的实现方法,而不是简单地调包。还学到两个很有趣的匹配... 查看详情

javaweb三大组件小结

学完JavaWeb阶段有一段时间了,在进入框架学习之前,把JavaWeb三大组件做个总结记录,为框架学习铺点基础.一、什么是JavaWeb三大组件?  Servlet,Listener,Filter.它们在JavaWeb开发中分别提供不同的功能.二、三大组件介绍  1、Servlet  ... 查看详情

本周学习小结

本周学习了继承和派生,继承分为单一继承和多重继承。一般为共有继承,分清不同继承方式下,基类成员的访问权限在派生类的变化。这一点有点难,要多复习体会。在定义派生类构造函数时,需要调用基类的构造函数,初始... 查看详情

软件工程综合实践阶段小结

...多。首先在pojo包内黏贴了之前建立的Userinfo实体类,用于记录和接受用户信息然后完成了springmvc.xml的配置,具体内容如下<beansxmlns="http://www.springfr 查看详情

pk15细胞是啥细胞

...期之前提交简要报告。讨论中--进入论坛12春第三次作业学习记录2012年03月21日2012年06月16日20%请就第一、二章范围内,自己感觉印象最深刻的公司法原理、知识或现象,自拟题目,记录学习心得,形成不少于500字的学习报告。未... 查看详情

第七章学习小结(代码片段)

1、线性表的查找  1.1、顺序查找    (1)从表的一端开始,依次将记录的关键字和给定值进行比较,若某个记录的关键字和给定值相等,则查找成功;反之,若扫描整个表后,仍未找到关键字和给定值相等的记录,则查... 查看详情

第七章学习小结

  本章学习的是数据查找。个人感觉这一章的知识相比于之前的章节更加贴切实际操作。  目录:  (一)查找的基本概念  (1)查找表  查找表是由同一类型的数据元素(或记录)构成的集合,它是一种非常灵变的数... 查看详情

第七章学习小结

第七章学习小结一、基本概念(1)关键字:元素中某个数据项的值。关键字仅标识唯一记录时为主关键字,标识若干个记录的教此关键字。(2)查找:根据条件,在查找集合中匹配给定的目标值。(3)查找结果:找到匹配结果... 查看详情

数据结构第八章学习小结(代码片段)

数据结构第八章学习小结排序8.1基本概念和排序方法概述排序的基本概念1.排序:是按关键字的非递减或非递增顺序对一组记录重新进行排列的操作2.排序的稳定性:当排序记录中的关键字Ki(i=1,2,…,n)都不相同时,则任何一... 查看详情

第7章学习小结(代码片段)

查找分为线性表的查找、树表的查找、散列表的查找。 一些定义: 查找表:由同一类型的数据元素(或记录)构成的集合(在查找时对表做修改操作,如插入和删除,则称为动态查找表;否则称为静态查找表) 关键... 查看详情

第八章学习小结

排序的概念排序的方式:1、插入排序:  直接插入排序:   一一比对  折半插入排序:在已经拍好的序列中插入,适合初始记录无序、n较大的情况  希尔排序:待排序的关键字基本有序->效率较高  &n... 查看详情

第八章学习小结

一、排序的概念:将一系列数据按照某个关键字进行递增或递减的顺序排列起来二、排序的方式:1、插入排序:  直接插入排序:   一一比对  折半插入排序:在已经拍好的序列中插入,适合初始记录无序、n较... 查看详情

数据结构:第8章学习小结

一、排序概念:排序(Sorting)是按关键字的非递减或非递增顺序对一组记录重新进行排列的操作。排序方式:1.插入排序:①直接插入排序:是一种最简单的排序方法,其基本操作是将一条记录插入到已排好序的有序表中,从而得到... 查看详情

#负分小组week1#本周工作小结+下周计划

...写。(参与者:全体成员)2.完成了相关网页编写知识的学习,完成了数据库知识的学习。(参与者:雷云霖、徐琳锴)3.根据分析文档对网页的界面素材进行收集。(参与者:赵梓清) 下周计划1.BeforeWednesday:完成需求分析... 查看详情

数据结构第七章学习小结

查找(1)静态查找表:在查找的同时不对表进行修改操作。(2)动态查找表:在查找的同时对表做修改操作(如插入、删除)。平均查找长度(ASL):为了确定记录在查找表中的位置,需要对给定值进行比较的关键字个数的期望... 查看详情

[从头学数学]第155节圆小结与复习题

...入了筑基后期的修炼,这次要修炼的目标是[圆小结与复习题]。正剧開始:星历2016年03月28日09:56:07,银河系厄尔斯星球中华帝国江南行省。[project师阿伟]正在和[机器小伟]一起研究[圆小结与复习题]。这里的第4个小题。小伟花了点... 查看详情

小结(练习题)

四.函数题定义一个名为Stock的股票类,这个类包括:一个名为symbol的字符串数据域表示股票代码。一个名为name的字符串数据域表示股票名称。一个名为previousClosingPrice的double数据域,它存储前一日的股票交易价格。一个名为curren... 查看详情

[从头学数学]第153节旋转小结与复习题

...了筑基后期的修炼,这次要修炼的目标是[旋转小结与复习题]。正剧開始:星历2016年03月26日16:27:19,银河系厄尔斯星球中华帝国江南行省。[project师阿伟]正在和[机器小伟]一起研究[旋转小结与复习题]。<spanstyle="font-size:18px;&q... 查看详情