1. 程式人生 > >linux開機啟動過程、PATH、過濾一級目錄、cd的參數、ls -lrt、命令切割日誌

linux開機啟動過程、PATH、過濾一級目錄、cd的參數、ls -lrt、命令切割日誌

linux 開機啟動過程 cd ls




第二波命令正向我方來襲 :開機啟動過程、PATH、過濾一級目錄、cd的參數、ls -lrt、命令切割日誌

1.1 linux開機啟動過程

1.1.1 開機自檢(BIOS-- MBR引導 -- GRUB菜單 -- 加載內核(kernel-- 運行INIT進程 -- 讀取/etc/inittab配置文件 -- 執行/etc/rc.sysinit腳本(初始化腳本,如設置iphostname-- 執行/etc/rc.d/rc(根據運行級別開機自啟的軟件)腳本 -- 啟動/sbin/mingetty進程(顯示登錄界面)

技術分享圖片

1.2 什麽是PATH環境變量,它有什麽作用?

1.2.1 查看PATH環境變量

[root@georgekai ~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

1.2.2 PATH作用:

1)環境變量

2)存放的是命令的位置

1.2.3 執行一個命令的過程?

1lsmkdir

2)系統會去PATH裏面查找命令是否存在

3)存在就運行

4)不存在就報錯:command not foundno sush file or directory

1.3 如何過濾出/oldboy目錄下的第一層目錄?

方法一:[root@georgekai oldboy]# tree -dL 1

.

├── ext

├── test

├── xiaodong

├── xiaofan

└── xingfujie

註:1. -d 目錄 -L 相當於--level,顯示最多幾層目錄

方法二:[root@georgekai oldboy]# find -maxdepth 1 -type d ! -name "."

註:1. maxdepth 最深

2. ! 取反的意思

方法三:[root@georgekai oldboy]# ls -l |grep "^d"

drwxr-xr-x. 3 root root 4096 Dec 12 10:35 ext

drwxr-xr-x. 2 root root 4096 Dec 12 10:35 test

註:找出以d開頭的行 , ^號只有三劍客才能使用,正則表達式 以.....開頭的行

方法四:[root@georgekai oldboy]# ls -l | awk '$2>1'

註:$2 表示第二行

方法五:[root@georgekai oldboy]# ls -F |grep "/"

ext/

test/

註: -F 給不同的文件加上不同的標記(尾巴)

1.4 cd命令及其選項的使用

註:cd 屬於內部命令,可用man cd 或者help cd查看幫助手冊

1.4.1 cd -

[root@georgekai oldboy]# cd -

註:快速的回到上一次所在的位置

1.4.2 cd .

[root@georgekai /]# cd .

註:表示當前目錄

1.4.3 cd ..

[root@georgekai /]# cd ..

: 返回上一級目錄

1.4.4 cd ~

[root@georgekai /]# cd ~

[root@georgekai /]# cd

註:進入當前用戶的宿主目錄,和cd一個作用

1.5 查看幫助手冊:

1help cd 查看內部命令

2ls --help 查看外部命令

3man cd 查看完整幫助

註:中文版 man 手冊(man.linuxde.nethttp://linux.51yip.com/ http://man.linuxde.net/

1.6 ls命令如何按照時間順序顯示

1.6.1 ls顯示的時候按照時間順序

註:默認為a-z顯示

[root@georgekai oldboy]# ls -lt

註:-t 按照文件的修改時間顯示 (最新的文件在最上面)

1.6.2 ls 按時間的逆序顯示

[root@georgekai oldboy]# ls -lrt

註:-r 逆序顯示內容(包括時間、字母),最新的文件在最下面

1.6.3 ls 按照時間的年/////顯示

[root@georgekai oldboy]# ls -l --time-style=long-iso

-rw-r--r--. 1 root root 0 2017-12-12 12:00 123.txt

1.7 通過命令對日誌來進行切割

註:還可以通過軟件對日誌進行監控,監控磁盤空間的大小等

1.7.1 修改系統時間

[root@georgekai oldboy]# date -s "2017-12-19 11:01:00"

1.7.2 nginx/apache服務的訪問日誌按天記錄在服務器本地目錄/app/logs/下,最要求保留最近7天的訪問日誌,請問如何解決?(先用ls -l代替rm

1)顯示第7天的日誌(7

[root@georgekai logs]# find -type f -mtime 7

2)顯示最近7天的日誌(-7

[root@georgekai logs]# find -type f -mtime -7 |xargs ls -l

3)顯示7天之前的日誌(+7

[root@georgekai logs]# find -type f -mtime +7 |xargs ls -l

1.7.3 找出/aap/logs下面以.log結尾的並且修改時間是7天之前的文件並刪除(先用ls -l代替)

創建運行環境:

mkdir -p /app/logs
cd /app/logs
for time in {01..20};do date -s "201705$time"; touch access_www_$(date +%F).log ;done
date -s "20170520"

解決方法:

方法一:[root@georgekai logs]# find -type f -mtime +7 -exec ls -l {} \;

方法二:[root@georgekai logs]# find -type f -mtime +7 |xargs ls -l

方法三:[root@georgekai logs]# ls -l $(find -type f -mtime +7)

1.7.4 調試系統服務是,希望通過實時查看/vat/log/secure系統日誌的更新,如何做?

[root@georgekai logs]# tail -f /var/log/secure

註:tail -f 顯示文件結尾實時更新

1.7.5 查找/oldboy 下所有以log結尾的大於1M的文件復制到/tmp下。

方法一:[root@georgekai /]# cp $(find /oldboy -type f -size +1024k -name "*.log") /tmp/

方法二:[root@georgekai /]# find /oldboy -type f -size +1024k -name "*.log" -exec cp {} /tmp/ \;

方法三:[root@georgekai /]# find /oldboy -type f -size +1024k -name "*.log"|xargs cp -t /tmp/

:cp -t 反向復制,把要復制的文件都放在了最後面(正常情況在前面)

1.7.6 2個或多個文件大小合並在一起

[root@georgekai logs]# cat /etc/services /etc/services > /123.log

註:cat 全稱是concatenate ,合並聯系在一起的意思



linux開機啟動過程、PATH、過濾一級目錄、cd的參數、ls -lrt、命令切割日誌