日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

red had第二次学习整理

發布時間:2023/12/15 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 red had第二次学习整理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#red hat 第二次學習整理

今天上午我們學習了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

[root@localhost lzy]# head -3 passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin [root@localhost lzy]# awk -F: 'NR==2{print $3}' passwd 1 [root@localhost lzy]# awk -F: 'NR==2{print $6}' passwd /bin [root@localhost lzy]# awk -F: 'NR==3{print$4}' passwd 2 [root@localhost lzy]# awk -F: 'NR==3{print$5}' passwd daemon

sed命令是可以對行內容進行處理,例如對某行內的內容進行替換等操作
amazing,我第一次做沒有想到直接替換了這個文件中的內容
只以為是臨時替換!!!

[root@localhost lzy]# head -1 passwd root:x:0:0:root:/root:/bin/bash [root@localhost lzy]# sed -i '/^root/s/root/haha/g' passwd [root@localhost lzy]# head -1 passwd haha:x:0:0:haha:/haha:/bin/bash

一個重定向的騷操作,可以使用>輸入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則是每行的第二個單詞

[root@localhost lzy]# cat > 123 <<EOF > hello word > hello hello word > hello hello word > hello hello hello word > hello hello word > hello hello word > OEF 》》》》》是我的一個錯誤.. > EOF [root@localhost lzy]# sed 's/hello/haha/2 ' 123 hello word hello haha word hello haha word hello haha hello word hello haha word hello haha word OEF

來看看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中的一個基礎且好用的命令,我一般用它來找文件

[root@localhost /]# find /root -name 1 /root/1 [root@localhost /]# find -name /root/1 > 這樣用會報錯 命令后不能含"/" !!! find: 警告: Unix 文件名通常不包括 / 符號(但目錄名中有這個符號)。這意味著‘-name ‘/root/1’’可能在此系統中永遠等同于錯誤。您可能會發現‘-wholename’參數更有效,或者也許是‘-samefile’。又或者,如果您使用 GNU grep,您可使用‘find ... -print0 | grep -FzZ ‘/root/1’’。 [root@localhost /]# find / -name passwd 查找根目錄下所有passwd /sys/fs/selinux/class/passwd /sys/fs/selinux/class/passwd/perms/passwd /etc/passwd /etc/pam.d/passwd /usr/bin/passwd [root@localhost /]# find /etc/pam.d -name passwd etc文件夾下passwd /etc/pam.d/passwd [root@localhost ~]# touch {a..z} [root@localhost ~]# touch {A..Z} [root@localhost ~]# find -iname a i是不區分大小寫的尋找a文件 ./a ./A [root@localhost ~]# find -name "1*" 通配符查找1*的文件 ./1 ./10 ./11 ./12 ./13 ./14 ./15 ./16 ./17 ./18 ./19 ./100 [root@localhost ~]# find /home -user tom 根據用戶名查找,也可以根據-uid/-group查找文件 /home/tom /home/tom/.mozilla /home/tom/.mozilla/extensions /home/tom/.mozilla/plugins /home/tom/.bash_logout /home/tom/.bash_profile /home/tom/.bashrc [root@localhost ~]# find /root -type f 根據文件類型f (文件) 查找 同理,也可以加d (文件夾) /root/v /root/.bash_logout /root/.bash_profile /root/.bashrc /root/.cshrc /root/.tcshrc 略
補充一下關于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第二次学习整理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。