1. 程式人生 > >Linux 練習題-2基礎 命令

Linux 練習題-2基礎 命令

系統運維 Linux

1、過濾出已知當前目錄下etc中的所有一級目錄(不包含etc目錄下面目錄的子目錄及隱藏目錄,只能是一級目錄)

ls -l | grep '^d'

ls -p | grep '/$'

ls -F | grep '/$'

find . -maxdepth 1 -type d ! -name "."

2、快速返回上次工作目錄

cd -

每切換一次目錄,系統就會將上次的工作目錄保存到變量OLDPWD中,cd - 實際上調用了OLDPWD變量

3、在一個目錄中,最快速度查到最近更新的文件。

ls -lrt

r倒序顯示,把最新的文件放在最後

4、找出/data/test/

目錄下7天前的日誌文件並刪除

模擬場景

#!/bin/bash

for n in `seq 14` :

do

date -s "2018/04/$n" ;

touch access_www_$(date +%F).log ;

done

find /data/test -type f -mtime +7 | xargs rm -f

find /data/test -type f -mtime +7 -exec rm -f {} \;

5、調試系統服務時,希望能實時查看系統日誌/var/log/messages的更新,如何做

tail -f /var/log/message

tailf /var/log/message

6、打印/etc/passwd

並顯示文件行號

nl /etc/passwd #不顯示空格行行號,同cat -b

cat -n /etc/passwd #顯示所有行行號

vim /etc/passwd 命令模式下輸入 set nu

grep -n . /etc/passwd # .表示任意單個字符,過濾不出空格行

grep -n ".*" /etc/passwd # .*表示所有字符,可過濾出空格行

grep -n " *" /etc/passwd

awk '{print NR,$0}' /etc/passwd

less -N /etc/passwd

7、設置某服務開機自啟動

技術分享圖片

chkconfig一個服務,實際上就是在

rc#.d/目錄下創建了一個指向該服務命令的軟鏈接。在腳本裏有分配好的啟動順序編號和停止順序編號

技術分享圖片

sshd的基本為例,註意最後一行2345表示 2345level下自啟 55是啟動順序編號 25是停止順序編號。

你可以自己編寫一個腳本,格式同下圖,自己分配好啟動編號和停止編號,不能大於99。然後chkconfig -add Sservice_name。就可以通過chkconfig管理了

技術分享圖片

8Linu查看中文亂碼,如何解決

字符集的介紹

字符集簡單的說就是一套文字符號及其編碼。每個國家表現自己語言所用的字符集不同。美國是ASCII碼,中國是GBK23,為了統一字符集的標準,出現了集成各個國家的字符集UTF-8

1、臨時生效

export LANG="zh_CN.UTF-8"

2、永久生效

echo 'LANG="zh_CN.UTF-8"' > /etc/sysconfig/i18n

source /etc/sysconfig/i18n

9、打包命令的練習

1、用tar打包/etc 整個目錄(打包及壓縮)

tar -zcvf etc.tar.gz /etc

2、用tar打包/etc 整個目錄(打包及壓縮,但需要排除/etc/services 文件)

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

3、把1)點命令的壓縮包,解壓到/data/test目錄下

tar -xvf etc.tar.gz -C/data/test/

4、將/data/test下的所有.txt文件打包

find /data/test -type f -name "*.txt" | xargs tar zcvf txt.tar.gz

10、已知test.txt的內容為"I am cbl,myphone is 12345678"

1、從文件中過濾出“cbl”和“12345678”字符串

技術分享圖片

awk -F "[ ,]+" '{print $3,$7}' test.txt

cut -c 6-8,20- test.txt

2、從文件中過濾出“cbl,12345678”字符串

awk -F "[ ,]+" '{print $3","$7}' test.txt


Linux 練習題-2基礎 命令