第1章 顯示行號
列印組態檔nginx.conf內容的行號及內容 如何做?
創建環境
[root@nfsnobody ~]# mkdir /nfsnobody &&
echo stu{01..10} |xargs -n1 > /nfsnobody/ngingx.conf
1.1 方法一 cat
-n 顯示行號
[root@nfsnobody nfsnobody]# cat -n
ngingx.conf 查看檔案有幾行 cat -n
1 stu01
2 stu02
3 stu03
4 stu04
5 stu05
6 stu06
7 stu07
8 stu08
9 stu09
10 stu10
1.2 方法二 vim
vim /nfsnobody/nginx.conf
進入后
:set nu 顯示行號
:set
nonu 取消顯示行號
1.3 方法三 awk
NR 行號
$1 表示第一列
$0 表示一整行的內容
[root@nfsnobody ~]# awk '{print NR,$1}'
/nfsnobody/ngingx.conf
1 stu01
2 stu02
3 stu03
4 stu04
5 stu05
6 stu06
7 stu07
8 stu08
9 stu09
10 stu10
1.4 方法四
nl
nl number of lines 專門用于顯示行號的
[root@nfsnobody nfsnobody]# nl ngingx.conf
1 stu01
2 stu02
3 stu03
4 stu04
5 stu05
6 stu06
7 stu07
8 stu08
9 stu09
10 stu10
1.5 第五種方法 grep
-n 顯示行號
. 正則運算式 表示任意一個字符
[root@nfsnobody nfsnobody]# grep -n "."
ngingx.conf
1:stu01
2:stu02
3:stu03
4:stu04
5:stu05
6:stu06
7:stu07
8:stu08
9:stu09
10:stu10
1.6 第六種方法 sed
= 表示顯示行號
[root@nfsnobody nfsnobody]# sed '=' ngingx.conf|xargs -n2
1 stu01
2 stu02
3 stu03
4 stu04
5 stu05
6 stu06
7 stu07
8 stu08
9 stu09
10 stu10
1.7 第七種方法 less (了解)
[root@nfsnobody logs]# less -N
/nfsnobody/ngingx.conf
1.8 練習題
顯示/proc/mounts
檔案的行號和第1列和第3列
加上 column -t 是為了 按列顯示 可以不加
[root@nfsnobody nfsnobody]# awk '{print NR,$1,$3}'
/proc/mounts |column -t
1
rootfs rootfs
2
proc proc
3
sysfs sysfs
4
devtmpfs devtmpfs
5
devpts devpts
6
tmpfs tmpfs
7
/dev/sda3 ext4
8
none selinuxfs
9
devtmpfs devtmpfs
10
/proc/bus/usb usbfs
11 /dev/sda1 ext4
12
none binfmt_misc
第2章 關于find下mtime引數
2.1 查找洗掉七天之前的日志
已知nginx服務的訪問日志按天記錄在服務器本地目錄/app/logs下,由于磁盤空間緊張,現在要求只能保留最近7天的訪問日志!請問如何解決?請給出解決辦法或配置或處理命令,(提示:可以從nginx服務配置上著手,也可以從生成出來的日志上著手,)
創建環境
mkdir -p /app/logs
cd /app/logs
for time
in {01..20};do date -s "201805$time"; touch
access_www_$(date +%F).log ;done
date -s "20180520"
date 顯示時間 修改時間
date -s 修改時間
搜索七天以前的
[root@nfsnobody logs]# find -mtime +7|xargs ls
-l
為方便 這邊使用查看ls 代替洗掉
實際作業中 ls換成rm即可
[root@nfsnobody logs]# find /app/logs/ -type f
-name "*.log" -mtime +7|xargs ls -l
##完整格式
2.2 練習題
找出/app/logs 下面以.log結尾的7天之前的檔案
顯示詳細資訊(ls -l) (3種方法)
2.2.1 方法一
[root@nfsnobody logs]# find /app/logs/ -type f
-name "*.log" -mtime +7 |xargs ls -l
2.2.2 方法二
[root@nfsnobody logs]# ls -l $(find /app/logs/
-type f -name "*.log" -mtime +7)
2.2.3 方法三
[root@nfsnobody logs]# find /app/logs/ -type f
-name "*.log" -mtime +7 -exec ls -l {} ;
第3章 運行級別及iptables補充
3.1 運行級別補充
查看運行級別 runlevel
切換 init
3.2 關閉iptable
裝完Centos系統后,希望iptables,僅關閉3運行級別
怎么做
[root@nfsnobody logs]# chkconfig |grep
"ipt" ##查看
iptables
0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@nfsnobody logs]# chkconfig --level 3 iptables off ##關閉3
[root@nfsnobody logs]# chkconfig |grep
"ipt" ##關閉后檢查
iptables 0:off 1:off 2:on 3:off 4:on 5:on 6:off
第4章 單獨取一列命令補充
已知如下命令及結果:
[nfsnobody@test ~]$ echo "I am nfsnobody,myqq is
31333741">>nfsnobody.txt
[nfsnobody@test ~]$ cat nfsnobody.txt
I am nfsnobody,myqq is 31333741
創建環境
mkdir /nfsnobody
echo "I am nfsnobody,myqq is
31333741">/nfsnobody/nfsnobody.txt
4.1 方法一 sed |awk
[root@nfsnobody nfsnobody]# sed 's#,# #g' nfsnobody.txt |awk '{print $3,$6}'
nfsnobody 31333741
4.2 方法二 tr | awk
tr
sed命令的閹割版
tr 一對一的替換
[root@nfsnobody nfsnobody]# tr "," " " <nfsnobody.txt |awk '{print $3,$6}
nfsnobody 31333741
4.3 方法三 tr | cut
-d 指定分隔符
-f 某一列
[root@nfsnobody nfsnobody]# tr "," " " < nfsnobody.txt |cut -d " " -f3,6
nfsnobody 31333741
4.4 方法四 sed | cut
[root@nfsnobody nfsnobody]# sed 's#,# #g' nfsnobody.txt |cut -d " " -f3,6
nfsnobody 31333741
4.5 方法五 awk
-F 指定新的分隔符
$NF 表示最后一列
[root@nfsnobody nfsnobody]# awk -F "[,]" '{print $3,$6}' nfsnobody.txt
nfsnobody 31333741
4.6 方法六 sed
[root@nfsnobody nfsnobody]# sed 's#I am ##g' nfsnobody.txt |sed 's#,myqq is # #g'
nfsnobody 31333741
4.7 練習題
顯示 /etc/passwd
第1列和第3列內容
要求格式顯示為:
USER:第1列內容 UID:第3列內容
USER:第1列內容 UID:第3列內容
USER:第1列內容 UID:第3列內容
USER:第1列內容 UID:第3列內容
USER:第1列內容 UID:第3列內容
[root@nfsnobody nfsnobody]# awk -F "[:]" '{print "USER:"$1,"UID:"$3}' /etc/passwd
第5章 認識wc命令
5.1 統計資訊
wc 統計檔案的資訊
[root@nfsnobody nfsnobody]# wc /etc/services 統計檔案的資訊
10774 58108 641020 /etc/services
[root@nfsnobody nfsnobody]# wc -l /etc/services 只看有多少行
10774 /etc/services
5.2 統計總數
統計出/etc目錄下 以.conf 結尾的檔案的數量
[root@nfsnobody nfsnobody]# find /etc/ -type f -name "*.conf" |wc -l
195
第6章 egrep
過濾出/etc/services 檔案包含3306或1521兩資料庫埠的行的內容,
| 擴展正則運算式 egrep ==grep -E
[root@nfsnobody nfsnobody]# grep -E "3306|1521" /etc/services
mysql
3306/tcp #
MySQL
mysql
3306/udp #
MySQL
ncube-lm
1521/tcp # nCube
License Manager
ncube-lm
1521/udp # nCube
License Manager
[root@nfsnobody nfsnobody]# egrep "3306|1521" /etc/services
mysql
3306/tcp #
MySQL
mysql
3306/udp #
MySQL
ncube-lm
1521/tcp # nCube
License Manager
ncube-lm
1521/udp # nCube
License Manager
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/150224.html
標籤:Linux
上一篇:第二波命令-上部
下一篇:檔案的屬性-上
