Linux命令第二篇

Posted yinshoucheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux命令第二篇相关的知识,希望对你有一定的参考价值。

技术分享

1、如何过滤出已知当前目录下oldboy中的所有一级目录(提示:不包含oldboy目录下面目录的子目录及隐藏目录,即只能是一级目录)。

^:以什么开头,例如^olboy表示以oldboy开头。

ls:-F给不同的文件类型加标识。

方法一:

  1. [[email protected] tmp]# find ./oldboy -maxdepth 1 -type d ! -name "oldboy"

方法二:

  1. [[email protected] tmp]# tree ./oldboy -Ld 1

方法三:

  1. [[email protected] tmp]# ls ./oldboy -lF|awk ‘/^d/‘

方法四:

  1. [[email protected] tmp]# ls ./oldboy -lF|sed -n ‘/^d/p‘

2、已知apache服务的访问日志按天记录在服务器本地目录/app/logs,现在要求只能保留最近7天访问日志。

  1. [[email protected] tmp]# find /oldboy/test/ -type f -name "access*.log" -mtime +7|xargs rm -f
  2. [[email protected] tmp]# find /oldboy/test/ -type f -name "access*.log" -mtime +7 -exec rm -f {} \;

3、跟踪一个文件结尾的变化

tail -f 文件名

tailf 文件名

tail –F 文件名

4、打印配置文件nginx.conf内容的行号及内容

cat -n 文件名

grep -n "匹配内容" 文件名(对匹配的结果显示行号)

nl 文件名

awk ‘{print NR " " $0}‘ 文件名

sed ‘=‘ 文件名

less -N 文件名

vi 文件名,然后执行:set nu,:set noun取消行号。

5、装完系统后,希望让网络文件共享服务NFS,仅在3级别上开机自启动。

chkconfig --level 35 sshd on

chkconfig --list sshd

chkconfig管理脚本的要求:

1、执行/etc/init.d/oldboy restart格式正常服务

2、脚本里开头增加如下内容:

#chkconfig: 35 56 24

#description: oldboy linux test

特别注意:

/etc/init.d/oldboy start让程序当前运行,chkconfig是管理是否开机自启动,两者没有联系。

6、linux系统运行级别一般为0—6,请分别写出每个级别的含义。

0:关机模式

1:单用户模式

2:无NFS的多用户模式

3:文本模式(完整的多用户模式)

4:未使用

5:图形模式

6:重启模式

7、如何优化linux系统。

1、不用root,添加普通用户,通过sudo授权管理。

2、更改默认的远程连接SSH服务端口及禁止root用户远程连接。

3、定时自动更新服务器时间。

4、配置yum更新源,从国内更新源下载安装rpm包。

5、关闭selinux及iptables(工作场景如果有wan ip一般要打开)。

6、调整文件描述符的数量,进程及文件的打开都会消耗文件描述符。

7、定时自动清理/var/spool/clientmquene/目录垃圾文件,防止inodes消耗完。

8、精简开机自启动服务(sshd、crond、network、rsyslog、sysstat)。

9、linux内核参数优化/etc/sysctl.conf,执行sysctl -p生效。

10、更改字符集,支持中文,建议用英文字符集。

11、锁定关键系统文件。

chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab

处理后把chattr,lsattr改名。

12、清空/etc/issue,去除系统及内核版本登录前的屏幕显示。

13、清楚无用的默认系统账户或组。

8、/etc/目录为linux系统的默认的配置文件及服务启动命令的目录,1、用tar打包/etc整个目录;2、用tar打包/etc整个目录,但需要排除/etc/services文件;3、把a中的压缩包解压到/tmp指定目录下。

tar zcvf [路径]/筐 [路径]一堆苹果

1:

tar zcvf /tmp/etc.20161207.tar.gz /etc

-z:--gzip,--ungzip,调用gzip来压缩归档文件,与-x联用时调用

-c:--create,建立新的归档文件

-v:--verbose,处理过程中输出相关信息

-f:--file,对普通文件打包

tar tf etc.20161207.tar.gz查看包里的内容

-t:--list,查看压缩包的内容列表

-f:--file,对普通文件

2:

tar zcvf etc.20161207.tar.gz --exclude=/etc/services ./etc

将需要排除的文件名写入文本,读取文本进行排除:

tar zcvfX etc.20161207.tar.gz 排除文件名 ./etc

--exclude:排除不需要处理的文件或目录

-X:--exclude-from,指定文件列表的形式排除不需要处理的文件或目录

3:

tar xf etc.20161207.tar.gz(解压到前面目录)

tar xf etc.20161207.tar.gz -C /tmp(解压到/tmp目录)

-x:--extract,--get,从归档文件中解出文件

-C:--directory DIR,指定目录进行操作,如解压到指定目录

-p:保持文件属性

-P:用绝对路径打包

拓展:

find /oldboy/ -type f|xagrs tar zcvf oldboy.tar.gz

tar zcvf oldboy.tar.gz `find /oldboy -type f`

9、echo "I am oldboy myqq is 49000448" >>oldboy.txt文件中过滤出oldboy和49000448字符串,以及在I am oldboy,myqq is 49000448过滤出。

I am oldboy myqq is 49000448过滤:

awk -F " " ‘{print $3 " " $NF}‘ oldboy.txt

cut -d " " -f3,6 oldboy.txt

cut -c 6-11,20- oldboy.txt

I am oldboy,myqq is 49000448过滤:

sed ‘s#,# #g‘ oldboy.txt|cut -d " " -f3,6

awk -F "[, ]" ‘{print $3 " " $6}‘ oldboy.txt

10、查看一个文件有多少行

wc -l 文件名

wc -l /etc/services

cat -n /etc/services|tail -1

11、过滤出/etc/services文件包含3306或1521两数字的行的内容

grep -E "3306|1521" /etc/services

egrep "3306|1521" /etc/services

以上是关于Linux命令第二篇的主要内容,如果未能解决你的问题,请参考以下文章

第二篇:初识Linux

linux-ubuntu学习-第二篇

Linux从青铜到王者第二篇:Linux权限管理

git之旅第二篇

Linux入门第二篇:shell命令及运行原理和Linux权限的概念

linux与内存相关的命令