red had第二次学习整理
今天上午我們學習了Linux高級語法的使用,令我印象最深的是awk和sed,他們是兩個不太好懂的語法,但是學起來尤為有意思,特別是結合管道符之后,下面讓我們來看看。
 學習準備:
- 建立個人文件夾
- 復制etc下passwd 和root下配置文件.
sed的用法是對一整行內容進行整理,并顯示出用戶想要看到的內容,而awk是比sed更好用,也更難用的用法,他可以對一行數據進行切片,然后分塊整理,給你看你單獨想看某個分區的內容,程老師講的是,awk更多的是對列的數據進行整理,你也可以這么理解。
[root@localhost lzy]# df -h 查看當前硬盤使用情況 文件系統 容量 已用 可用 已用% 掛載點 /dev/mapper/centos-root 17G 3.5G 14G 21% / devtmpfs 975M 0 975M 0% /dev tmpfs 992M 0 992M 0% /dev/shm tmpfs 992M 11M 981M 2% /run tmpfs 992M 0 992M 0% /sys/fs/cgroup /dev/sda1 1014M 157M 858M 16% /boot tmpfs 199M 4.0K 199M 1% /run/user/42 tmpfs 199M 40K 199M 1% /run/user/1000 [root@localhost lzy]# df -h | awk '{print $3}' 使用awk打印第三列 已用 3.5G 0 0 11M 0 157M 4.0K 40K [root@localhost lzy]# head -2 passwd 使用head命令查看Passwd文件前兩行內容 root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin [root@localhost lzy]# head -2 passwd | cut -d: -f7 使用管道+cut,-d 是指定分界符,這里為: /bin/bash /sbin/nologin接下來我們來看看awk如何查看,以及他是如何分片的
 NR代表定位到第幾行,print是打印,$是第幾個空格的意思,最后跟上文件passwd
sed命令是可以對行內容進行處理,例如對某行內的內容進行替換等操作
 amazing,我第一次做沒有想到直接替換了這個文件中的內容
 只以為是臨時替換!!!
一個重定向的騷操作,可以使用>輸入he <輸出來直接寫一個小文件
[root@localhost lzy]# cat > lzyhahaha << EOF> 1 > 2 > 3 > 4 > 5 > EOF [root@localhost lzy]# head lzyhahaha 1 2 3 4 5真的很有趣~~我們用這種方法來寫一個文件,來試試sed替換的用法
 解釋一下,sed后單引號里面的一些內容,/s代表全局,最后跟上的/g /2的意思是針對于某個單位,g是所有的,2則是每行的第二個單詞
來看看grep的命令用法,查找符合字段條件的文件
[root@localhost lzy]# touch abc Abc abcd Abcd 創建文件 [root@localhost lzy]# ls |grep 'abc' 告訴他,我只想要包含abc的文件顯示給我看 abc abcd [root@localhost lzy]# ls |grep '^abc$' 只想看^開頭是abc(到此結束)$的文件 abc [root@localhost lzy]# ls |grep -i 'abc' 如果加上-i 則是不區分大小寫 abc Abc abcd Abcd [root@localhost lzy]# ls |grep -i '^abc$' abc Abc好的,又學到一招,我們來看看一個基于源碼的有意思的東西,echo的一個小用法
echo $? 意思是查看上一條命令是否成功執行 [root@localhost lzy]# ls |grep -i '^abc$' abc Abc [root@localhost lzy]# echo $? 0 返回值為0 執行成功 [root@localhost lzy]# ls | grep '123456' 一個不存在的文件 [root@localhost lzy]# echo $? 1 返回值為1 執行失敗find語法
 find是liunx中的一個基礎且好用的命令,我一般用它來找文件
補充一下關于linux文件存儲頭顯標號的小知識😀: - f 普通文件 - d 目錄 - s 套接字(設備接口和網卡) - l 鏈接 - b 塊設備(可以理解成硬盤) - c 字符設備
那我們繼續find的命令,這個命令的?附加簡直不要太強大:
[root@localhost ~]# find ~ -size +1k 查找大于1K的文件 (減號則取相反) /root /root/anaconda-ks.cfg /root/.cache/imsettings/log.bak /root/.cache/imsettings/log /root/.cache/tracker/meta.db /root/.cache/tracker/meta.db-wal /root/.cache/tracker/meta.db-shm [root@localhost ~]# find ~ -mmin +10 十分鐘以前(減號就是以內) /root /root/v /root/.bash_logout /root/.bash_profile /root/.bashrc /root/.cshrc /root/.tcshrc /root/anaconda-ks.cfg [root@localhost ~]# find -perm 644 這個我最喜歡!查找權限為讀寫/讀/讀的文件 ./v ./.bash_logout ./.bash_profile ./.bashrc ./.cshrc ./.tcshrc [root@localhost ~]# find -perm 644 -type f 也可以多個疊加 ./v ./.bash_logout ./.bash_profile ./.bashrc ./.cshrc [root@localhost ~]# find -perm 644 -type f -delete 不想要了? 沒關系,直接加delete刪除 [root@localhost ~]# ll 總用量 4 -rw-------. 1 root root 1484 11月 7 17:57 anaconda-ks.cfg基礎命令到此就結束啦~期待下一節課程老師會帶給我們什么吧!!!下次我爭取給大家帶來更多有意思的命令哈哈哈!😀😀😀
總結
以上是生活随笔為你收集整理的red had第二次学习整理的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        