文本處理工具

簡要介紹各種文本查看,分析和統計的工具

文本處理工具

1.抽取文本的工具

cat?? -n?? f1??? //顯示行號包括空行在內

cat?? -b??? f1??? //顯示行號(不顯示空行的行號)

cat?? -ns???? //壓縮空行為一行

cat?? -A??? //可顯示出文件中的空格和換行

tac? 文件??? //顯示文件內容(反向顯示)

rev?? 文件?? //在一行中反向顯示文本內容

 

more?? 命令:對大文件分屏顯示;翻看到文件結束自動退出

ls –R? /etc/ |more??? //可分屏顯示/etc/下的內容

 

less命令:也可實現分頁顯示,翻看到文件結束不退出

 

head? 命令:

ifconfig?? |head? -n2???? //顯示前兩行

head?? -c???? //顯示前幾個字節

-n??? //顯示前幾行

 

tail 命令; //? 默認顯示后10行

-n?? //顯示后幾行

-c??? //顯示后幾個字節

-f ??//能跟蹤文件的變化(跟蹤文件描述符)刪除文件無變化(類似tailf?? )

-F?? //能跟蹤文件的變化(跟蹤文件名)刪除文件顯示文件已不存在

 

cut :取出文件的部分內容顯示(以列為單位)

-d??? //指明分隔符

-f???? //指明哪一列

-c??? //按字符數切割

–output-delimiter=STRING?? ??文件路徑 ?//指定輸出分隔符

df? | tr –s ?“ “ |cut? -d” “?? -f5? |? tr? -d%或(df |tr –s “? “?? %? |cut? -d%? -f5)? //取出第五列

ifconfig ens32 |head -n 2 |tail -n 1 |tr -s ” ”? |cut -d” ” -f3? //取出IP地址(centos7)

ifconfig eth0 |head -n 2? |tail -n 1 |tr -s ” ” :|cut -d: -f4??? //取出IP地址(centos6)

 

(centos6中)

service iptables stop??? //關閉防火墻

chkconfig iptables off?? //下次開啟電腦不自動啟動防火墻

(centos7中)

systemctl stop firewalld?? //關閉防火墻

systemctl disable firewalld? //下次開啟電腦不自動啟動防火墻

systemctl enable firewalld?? //開啟防火墻

 

paste? :合并兩文件的行內容(橫向合并)

-s?? //所有行合并成一行(一個文件內容放在一行)

-d?? //指定分隔符

 

2.分析文本的工具

wc? :默認顯示有幾行,有多少單詞,多少字節(統計文本數據)

-l??? //統計指定文件的行數

-w?? //統計有多少單詞

-c?? //統計字節數(文件大?。?/p>

-m?? //統計字符數

-L??? //統計行最長的,打印出其長度

ls? |wc??? //統計當前目錄

 

sort:文本排序

-t??? //指定分隔符

-k?? //指定第幾列

-n?? //按數字排序

-r?? //倒序

-f? //忽略大小寫

-u? //刪除重復的內容

-R?? //隨機排序

df |tr -s ” ” % |cut -d% -f5 |sort -nr | head -n 1?? //查看利用率的最大值

cat /etc/passwd? |cut -d: -f1,3 |sort -t: -k2 –nr????? //取出用戶名和UID并按UID倒序排序

netstat? -nt???? //查看有多少用戶正在訪問自己主機

 

uniq :默認將相鄰的重復行合并成一行

-c?? //顯示出將幾行合并成一行(顯示出重復行的次數)

-u?? //顯示不曾重復的行

-d?? //僅顯示重復的行

cat /var/log/httpd/access_log? | cut -d” ” -f1 | sort |uniq -c | sort -nr? |head?? //顯示出訪問次數最多的前十名的IP地址

 

last :顯示日志的命令

 

diff:比較兩個文件內容是否相同

-u?? //輸出統一的diff格式文件,適用于補丁文件

 

patch? -b? ??//適用于自動備份改變了的文件

 

 

面試題:

1. 當用戶docker對/testdir 目錄無執行權限時,意味著無法做哪些操作?

無法cd,無法查看目錄下文件的詳細屬性;不能查看目錄文件內容;不能刪除文件

2.當用戶mongodb對/testdir 目錄無讀權限時,意味著無法做哪些操作?

無法列出目錄的文件列表;可以cd;可以刪除文件

3.當用戶redis 對/testdir 目錄無寫權限時,該目錄下的只讀文件file1是否可修改和刪除?

不可修改,不可刪除

4.當用戶zabbix對/testdir 目錄有寫和執行權限時,該目錄下的只讀文件file1是否可修改和刪除?

不可修改,可刪除

5. 復制/etc/fstab文件到/var/tmp下,設置文件所有者為tomcat讀寫權限,所屬組為apps組有讀寫權限,其他人無權限

cp /etc/fstab /var/tmp???? ;chown? tomcat:apps? fstab

chmod?? 660?? /var/tmp/fstab

6. 誤刪除了用戶git的家目錄,請重建并恢復該用戶家目錄及相應的權限屬性

cp?? –r?? /etc/skel???? /home/git

chown??? -R??? git:git? /home/git

chmod??? 700?? /home/git

7. 統計遠程主機登錄次數的前三個IP

last |tr -s ” ” |cut -d” ” -f3|tr -d “a-zA-Z” |sort -r |uniq -c |head –n3

8. 找出ifconfig “網卡名” 命令結果中本機的IPv4地址

ifconfig ens32 |head -n 2 |tail -n 1 |tr -s ” ”? |cut -d” ” -f3? //取出IP地址(centos7)

ifconfig eth0 |head -n 2? |tail -n 1 |tr -s ” ” :|cut -d: -f4??? //取出IP地址(centos6)

9、查出分區空間使用率的最大百分比值

df |tr -s ” ” % |cut -d% -f5 |sort -nr | head -n 1

10.查出用戶UID最大值的用戶名、UID及shell類型

cat /etc/passwd? |cut -d: -f1,3,7 |sort -t: -k2 -nr |head -n1

11、查出/tmp的權限,以數字方式顯示

stat? /tmp |head -n4 |tail -n1 |cut -d/ -f1 |tr -dc [:digit:]

stat? -c? %a?? /tmp

12、統計當前連接本機的每個遠程主機IP的連接數,并按從大到小排序

cat /var/log/httpd/access_log? | cut -d” ” -f1 | sort |uniq -c | sort -nr

13、在/testdir/dir里創建的新文件自動屬于webs組,組apps的成員如:tomcat能對這些新文件有讀寫權限,組dbs的成員如:mysql只能對新文件有讀權限,其它用戶(不屬于webs,apps,dbs)不能訪問這個文件夾

mkdir -p /testdir/dir??? ;??? groupadd webs?? ; groupadd apps?? ; groupadd dbs

uaeradd tomcat??? ;???? useradd?? mysql? ; groupmems -a tomcat -g apps

groupmems -a mysql -g dbs? ;

chgrp -R? webs?? /testdir/dir/? ;

chmod g+s /testdir/dir

setfacl -m d:g:apps:rw? /testdir/dir ;

setfacl -m d:g:dbs:r? /testdir/dir ;

setfacl -m o::- /testdir/dir

 

或者:mkdir test;?? useradd? a ;useradd b;? useradd c;groupmems -a b -g a

chgrp -R a /data/test;? chmod? -R?? 760 /data/test ;setfacl -m? d:g:c:r /data/test

 

14、備份/testdir/dir里所有文件的ACL權限到/root/acl.txt中,清除/testdir/dir中所有ACL權限,最后還原ACL權限

getfacl? -R /testdir/dir >acl.txt

setfacl??? -b?? /testdir/dir

setfacl –restore=/root/acl.txt

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/95044

(1)
qljqlj
上一篇 2018-04-06
下一篇 2018-04-06

相關推薦

  • Linux系統命令格式及常用命令

    一.Linux命令使用格式 ? ? ?#COMMAND OPTIONS ARGUMENTS 1.發起一命令:請求內核將某個二進制程序運行進一個程序; ? ? ? ? ? ? ? ? ? ?程序——>進程 靜態——>動態(有生命周期) ? ? ? ? ? 命令本身是一個可執行的程序文件:二進制格式的文件,有可能會調用共享庫文件; 2.多系統程序文件…

    2018-05-12
  • 小白加薪升職記第二篇–Linux長征開始

    記錄文件管理命令及Linux命令行擴展功能

    Linux筆記 2018-05-19
  • Linux用戶和組

    我們知道Linux是一個多用戶多任務的操作系統,任何一個要使用系統資源的用戶,都必須首先向系統管理員申請一個賬號,然后以這個賬號的身份進入系統。由于是多用戶操作系統,必然要涉及到時管理用戶。由于用戶訪問Linux上的資源比較多,為了方便管理出現的組的概念.將多個用戶添加到一個組里,方便管理。 介紹安全3A 資源分派: Authentication:認證 Au…

    Linux筆記 2018-04-08
  • 如何刪除大文件并立馬釋放磁盤空間

    我們先用df ?-h發現磁盤空間快滿了,圖1 我們馬上有rm -f /boot/bigfile刪除大文件,發現磁盤并沒有釋放空間 圖2 那我們用這個命令ls /boot來看看到底有沒有刪除 ?圖3 發現確實已經刪掉了,那怎么辦了,我這里有個簡單明了的方法,我們用大于號> /boot/bigfile把文件清空然后再用rm -f /boot/bigfile…

    2018-03-31
  • memcached

    數據結構模型: 結構化數據:關系型數據庫;mysql、mariadb、oracledb 半結構化數據:xml、json、nosql 非結構化數據:文件系統; 緩存系統的種類: 代理式緩存; 旁路式緩存; memcached的特性: k/v緩存:可序列化數據;存儲項:key/value,標志,過期時間; 功能的實現一半依賴于服務端,一半依賴客戶端; 分布式緩存…

    2018-07-14
  • 手把手系列(一)教你通過VMware虛擬化軟件安裝CentOS 6系統

    手把手教你用VMware虛擬化軟件安裝CentOS 6系統

    2018-03-27
欧美性久久久久