ifdown eth0 #關閉網卡eth0 ifup eth0 #啓動網卡eth0 ifconfig #查看網絡配置 :wq 保持並退出 :q 退出 :q! 強制退出不保存 :wq! 強制退出並保存 echo hello oldboylinux >>/data/oldboy.txt >> 追加劇定向 把內容放在文件的最後一行 ##方法3-想向這個文件中放入多行 cat >>/data/oldboy.txt<<EOF I am studying linux EOF EOF === end of file ##漏斗家族 重定向符號 #> 1> 標準輸出重定向 先把文件的內容清空 把內容放在文件的最後一 行 #>> 1>> 追加劇定向 把內容放在文件的最後一行 1 標準輸出 執行正確的內容纔會經過漏斗 #2> 標準錯誤重定向 #2>> 錯誤追加劇定向 getenforce 查看selinux狀態 grep '=disabled' /etc/selinux/config #查看config中的 =disabled /etc/init.d/iptables status #查看防火牆配置 /etc/init.d/iptables stop #關閉運行中的防火牆(建議關閉兩次) chkconfig |grep ipt # chkconfig表示查看啓動項 grep 是過濾的關鍵字 ipt是過濾的關鍵詞 chkconfig iptables on #關閉某個程序開機自啓 亂碼緣由:1、是linux系統的問題 2、遠程鏈接工具的問題,好比xshell的問題 echo $LANG #查看linux系統的字符集 export LANG=zh_CN.UTF-8 #臨時改字符集 cat /etc/sysconfig/i18n #編輯這裏永久改字符集 source /etc/sysconfig/i18n #讓剛剛改的配置生效 df -h # 查看磁盤狀態 掛載小結: linux中 一切皆文件 linux(設備/磁盤分區)不掛載沒法使用 掛載至關於給磁盤分區/設備開了一個入口 經過入口進入到光盤/磁盤的分區中 入口==掛載點==目錄 yum install tomcat #安裝軟件 相關目錄的瞭解,詳情看截圖,紅色爲必須瞭解的 cat /etc/sysconfig/network-scripts/ifcfg-eth0 #查看網卡信息 DEVICE=eth0 #網卡名 HWADDR=00:0c:29:e7:59:14 #mac地址 TYPE=Ethernet #互聯網 UUID=51d0a025-779b-447f-9a48-f3935caa8d89 #惟一標示 ONBOOT=yes #重啓的時候是否否開啓網卡 (6.7以後纔有的設置?) NM_CONTROLLED=yes #可否被network軟件進行管理 BOOTPROTO=none #網卡獲取ip地址的方式 #none/static #ip值是固定的 #dchp 自動獲取ip地址 USERCTL=no #是否容許普通用戶管理(開 關 重啓等管理動做)網卡 PEERDNS=yes #網卡的dns配置優先級高於dns的配置 IPV6INIT=no IPADDR=10.0.0.200 # ip地址 ip address NETMASK=255.255.255.0 #子網掩碼 GATEWAY=10.0.0.2 #網關 DNS1=223.5.5.5 DNS2=223.6.6.6 DNS 域名解析服務/系統 ,做用:把使用的域名轉換爲ip地址 resolve host 解析 域名 DNS 有問題的表現爲:ping www.baidu.com 這種域名ping不通,可是ping得通ip地址 解決:在網卡的配置最後加 DNS1=223.5.5.5 DNS2=223.6.6.6 ifdown eth0 && ifup eth0 # 重啓某一個網卡 /etc/init.d/network restart # 重啓全部的網卡 cat /etc/resolv.conf #DNS的默認配置,通常配置網卡的DNS就OK
--new190612 一切從根開始,一切從目錄開始 linux快捷鍵 1、ctrl + c 取消當前操做 2、ctrl + l(小寫字母L) 清屏 3、ctrl + d 退出當前用戶/登出 4、etc + .(點) 使用上一個命令的最後一個東西(通常是個路徑之類的) vi/vim 快捷鍵 刪除光標所在位置的內容到行尾 D 移動光標: 移動到文件的第一行 gg 移動到文件的最後一行 G 編輯: 在當前行的下一行插入一個空行並進入到編輯模式 o(小寫字母O) hostname # 查看主機名 hostname simon003 #主機名改爲simon003 ,臨時改,重啓後失效 cat /etc/sysconfig/network #永久改,重啓後生效 ll -a #查看全部文件(包括隱藏文件) df #查看磁盤空間狀況 df -h #以人類可讀的方式展現 cat /etc/fstab #跟自動掛載有關 結果集的第一列表示設備/分區 結果集的第二列表示入口/目錄 cat /etc/rc.local #開啓的時候自動運行的文件,須要開機自啓的軟件/命令/服務都放在這個文件中 #還有個方式是 chkconfig管理 開機自啓動項目 cat /etc/inittab #開機的時候運行級別的配置文件 0 關機狀態,不要把運行級別設置爲0 1 單用戶模式,root用戶密碼忘記了 2 多用戶模式,可是沒有NFS 3 徹底的多用戶模式,命令模式,文本模式 4 未使用 5 x11,桌面模式,圖形化界面模式(前提是安裝了這些文件) 6 重啓模式,不要把運行級別設置爲6 runlevel #查看當前的運行級別 init 5 #臨時把運行級別改爲5 #永久修改在 /etc/inittab 這個文件的最後一行,通常不會改 /etc/init.d #服務管理的命令 # 國法(全國各地生效) cat /etc/profile 系統環境變量 別名 cat /etc/bashrc 別名 #家規(地方政策,當前用戶生效) ~/.bashrc ~/.bash_profile .(點)開頭的文件表示默認隱藏的文件 ~表示當前用戶的家目錄 root用戶 ~ ===== /root simon ~ ===== /home/simon /usr/local #編譯安裝的軟件默認的位置 linux安裝軟件的方法 1、yum (自動解決安裝依賴的軟件) 點外賣-缺乏的外賣一切給解決 軟件包管理工具 yum install tree -y (碰到詢問默認都是yes) 2、rpm (缺乏的鍋之類的得本身解決) 速凍水餃-半成品 3、編譯 買菜切菜------炒菜-----上菜 ./configure---make------make install rpm -qa |grep tree #查看安裝的全部軟件,名字中帶 tree的 /var/log/messages #查看系統默認日誌信息 /var/log/secure #系統用戶的登陸信息(誰 何時,從哪裏登陸的 是否成功) grep "Accepted" /var/log/secure #根據關鍵字撈日誌中的信息 free #查看系統內容 free -h #人類可讀 lscpu #查看系統cpu的狀態 w #查看系統的負載程度,越繁忙越接近系統的核數 cat /proc/loadavg # 左邊的三個數,最近一分鐘,最近五分鐘,最近十五分鐘 的平均負載
linux啓動過程node
--new190612 環境變量 1、大寫 2、在系統大部分地方均可以使用,含義相同。 LANG字符集 PS1(命令行的樣子) PATH 放的是命令的路徑/位置 echo $PATH #查看當前路徑的值,通常不會改,/etc/profile中永久改 rpm rpm包管理工具 rpm -qa | grep tree #查看某個軟件是否安裝 rpm -ql tree #查看這個軟件包裏有啥,查看陌生軟件的用法,結構之類的 find 查找文件 -maxdepth 最大的深度 -type 找什麼類型的 f file 文件 d directory 目錄 -name 什麼名字 ! 取反 tree 以樹形顯示目錄結構 -L 最多顯示基層目錄 -d 只顯示目錄 ls list 列表 顯示目錄裏面的內容 -l 顯示詳細信息 -F 給不一樣的類型文件加上不一樣的尾巴 目錄/ touch 摸 建立文件 更新文件的時間戳 ###第 1 題 如何過濾出已知當前目錄下 oldboy 中的全部一級目錄(提示:不包含 oldboy目錄下面目錄的子目錄及隱藏目錄,即只能是第一級目錄)? 幾種方法(在oldboy這個目錄下執行): tree -Ld 1 find -maxdepth 1 -type d find -maxdepth 1 -type d ! -name "." # !取反,不含.(點)文件 ls -l # 查看 ls -l |grep "^d" #d開頭的就是文件夾(目錄)
--new190615 cd - ==== 進入上一次所在的目錄 cd . ==== 進入當前目錄 cd ..==== 進入當前目錄的上一層目錄 cd ~ ==== 進入當前用戶的家目錄 (root用戶) ~ ==== /root用戶 (普通用戶) ~ ====/home/ cd ==== cd ~ ls list 列表 顯示目錄裏的內容 ls -l 顯示詳細信息 ls -F 給不一樣類型的文件加上不一樣的尾巴 目錄/ ls -r 倒序 ls -t 按照文件的修改時間進行排序 ls -lrt 按照文件的修改時間進行倒序排序 tail 取文件的最後幾行 默認是最後10行 tail -f 顯示文件的實時更新 tailf 同上 查看文件時顯示文件的行號 1.cat -n simon.txt 2.vim simon.txt :set nu 顯示行號number :set nonum 不顯示行號number 3.grep -n "." simon.txt # .點表示任意一個 正則 ("stu"表示找stu開始的) grep -v 排除 -A 顯示grep過濾出的內容及接下來的幾行 -n 給grep出的行加上行號 egrep === grep -E 高級正則 chkconfig 管理開機自動運行的軟件 chkconfig iptables on chkconfig iptables off chkconfig --level 5 iptables on 設置某個運行級別 tar zcvf /tmp/etc.tar.gz /etc/ z --經過gzip 工具進行壓縮 c --表示create 建立壓縮包 v --表示verbose 顯示執行過程 f --表示file 接上壓縮包的名字 tar ztf /tmp/etc.tar.gz #查看壓縮包的內容 t --表示list 顯示壓縮包的內容 解壓:解壓前必須先進入到要解壓到的目錄(linux默認解壓到當前目錄) 簡寫: tar zcf 建立 tar tf 查看 tar xf 解壓 wc -l /etc/services #查看文件有多少行 ps -ef 顯示系統有多少在運行的進程 ps -ef | grep "sshd" #一樣能夠經過grep的方式進行關鍵字查找 單引號:所見即所得 雙引號:裏面的特殊字符會被解析 inode與block小結: 1、格式化建立文件系統 2、在同一個文件系統(分區),兩個文件的inode相同,則互爲硬連接 3、建立一個非空文件要佔用一個inode和至少一個block 4、如何查看inode和block的使用狀況 df -i df -h df -i #查看總共多少個inode 磁盤空間不足排查: df -h du -sh /*|grep G # 找大文件 文件類型 f file 普通文件 d directory 目錄 l softlink 軟連接(快捷方式) linux下的擴展名是用來看的,不影響實際使用 .sh 腳本文件 .conf 配置文件 UID user id 用戶的id號碼==身份證號碼 GID group id 用戶組的號碼==戶口本的號碼 UID 1.皇帝 root 0 2.傀儡 虛擬用戶 1-499 系統中每一個進程都要有一個對應的用戶,沒法使用的。 3.平民百姓 普通用戶 500+ 如何保護皇帝 1.禁止root遠程登陸 2.修改ssh默認的端口號22 3.按期分配/var/log/secure 記錄着用戶的登陸信息 與用戶有關的文件 /etc/passwd 存放的是用戶的信息 /etc/shadow 用戶密碼的信息 /etc/group 用戶組的信息 root:x:0:0:root:/root:/bin/bash simon:x:500:500::/home/simon:/bin/bash 第一列:用戶名 第二列:(之前)存放密碼的地方 第三列:UID 第四列:GID 第五列:用戶的說明信息,默認爲空 第六列:用戶的家目錄 第七列:用戶使用的shell,用戶使用的命令解釋器 /bin/bash ------- centos默認的命令解釋器 /sbin/nologin --- 用戶沒法登錄系統,至關因而傀儡用戶 linux基礎權限: r read 能夠讀取內容 w write 修改文件內容 x excute 能夠運行文件(命令 腳本) - 什麼權限都沒有 ls -l /etc/hosts - rw- r-- r--. 文件類型 主人 家人 陌生人 420 400 400 6 4 4 ls -l /bin/ls -rwxr-xr-x. 421401401 7 5 5 軟鏈接(windows下的快捷方式): 建立: ln -s oldboy.txt oldboy.txt-soft #建立 ls -l oldboy.txt* #查看 特色: 一、存放着源文件的位置 二、源文件被刪除時再查看會顯示出紅色 三、節約時間 硬連接 至關因而超市的先後門,經過不一樣的大門進入超市 在同一個分區中,兩個文件的inode相同,則互爲硬連接 建立: ln oldboy.txt oldboy.txt-hard #建立 ls -lhi oldboy.txt* #查看 特色: 一、至關因而超市的先後門,硬連接數量就是超市一共多少門 二、刪除硬連接或者源文件,文件仍是可使用的 三、把硬連接和源文件都刪除,則意味着文件被刪除===硬連接數量爲0 文件刪除原理: 1.刪除這個文件相關的硬連接 -rm ---刪除廁所全部的入口 2.這個文件的進程調用數也爲0 --- 沒有人在使用廁所 1.硬連接數量爲0 2.進程調用數爲0 某個文件沒有被完全刪除,致使磁盤空間不足 解決:重啓對應的軟件 找出硬連接數量爲0,進程調用數不爲0的文件 lsof |grep delete # 解決:重啓對應的軟件/服務 磁盤空間不足排查: 1.block滿了--500G的空間存放505G的視頻 2.inode滿了,有大量的小文件 3.block 硬連接數量爲0,進程調用數不爲0,文件沒有被完全刪除 stat oldboy.txt # 查看文件的三個時間 ctime changetime 文件的屬性發生改變 硬連接數量,文件大小,文件權限等 mtime modifytime 修改時間 文件內容的變化時間 atime accesstime 訪問時間(看一遍就算,cat都算,後來變成,有內容改變纔算)
通配符和正則python
-- 190619 history | grep cat # 歷史命令 通配符: 1、* 全部 find /oldboy/ -type f -name '*old*' # 至關於sql的like中的% 2、{} # c生成序列 echo {0..100} # 連續生成1-100 echo stu{01..100} # 連續生成1-100 cp oldboy.txt{,.bak} # 備份 #1]正則表達式是用行進行過濾的 #2]禁止使用中文符合 #3]給grep和egrep配置別名 #配置別名 cat >>/etc/profile<<EOF alias grep='grep --color=auto' alias egrep='grep --color=auto' EOF source /etc/profile #生效 cat -A simon.txt # 把每行的結束以$展現出來 正則表達式與通配符區別: 通配符:用來匹配查找文件名 支持:大部分命令都支持 正則:在文件內容中匹配查詢內容 支持:linux三劍客 正則: 基礎正則(basic regular expression)BRE grep sed ^ $ . * [] [^] 擴展正則(extended regular expression)ERE | + {} () ? 如下是準備的環境: I am oldboy teacher! I teach linux. I like badminton ball ,billiard ball and chinese chess! my blog is http://oldboy.blog.51cto.com our site is http://www.etiantian.org my qq num is 49000448. not 4900000448. my god ,i am not oldbey,but OLDBOY! start: 0.1] ^ 以什麼什麼開頭 0.2] $ 以什麼什麼結尾 . 任意一個字符,不包括空行 grep '.' simon.txt # grep -o '.' simon.txt # -o 正則的執行過程 grep '\.$' simon.txt # 以點結尾的行 \ 是轉義符 6] * 前一個字符連續出現了0次或1次以上 grep -o '0' simon.txt # 出現的是7行的0 grep -o '0*' simon.txt # 把0連續起來 兩個問題: 1.爲什麼取出的是000 而不是00和0 0 0 0 #由於正則在表示連續出現的時候表現出貪婪性 有多少吃多少 有多少匹配多少 2.爲什麼使用'0*' 會把整個文件的內容都顯示出來 由於出現0次或1次以上的都會顯示 7] .* (點*) 全部字符 全部符號 全部 grep '^m.*m$' simon.txt # 以m開頭,以m結尾 .* 中間是任意字符 8] [] 中括號 [abc] 至關因而一個字符 找出包含a或b或c的行 grep '[abc]' simon.txt # 找出含或a或b或c的行 grep '[a-zA-Z0-9]' simon.txt # 找出任意字母或者數字的 grep '[^abc]' simon.txt # 排除,即不要a,不要b,不要c的 擴展正則 1】 + 前一個字符連續出現了1次或屢次 grep -E '0+' simon.txt # grep 不支持擴展正則,egrep 即 grep -E支持擴展 1.能夠把連續的東西用正則取出來 2.通常與[]配合 2】 | 或者 grep -E 'a|b|c' simon.txt grep '[abc]' simon.txt # 找出含或a或b或c的行 | 與 [] 本質區別: 1、[] 是基礎正則 | 是擴展正則 2、[] 中括號表示的是單個字符的或者 | 單個多個均可以,兼容[] eg:grep -E 'linux|python' simon.txt linux或者python的都ok 3】 () 1.括號中的內容是一個總體 2.後向引用(反向引用)(用的很少,意義初級不大,配合sed使用) grep -E 'oldb(o|ey)' simon.txt # 找出oldboy 或者 oldbey 的行 4】 {n,m} 前一個字符連續出現了至少n次,最多m次 grep -E '0{2,5}' simon.txt # 2~5次的 grep -E 'l{2,}' simon.txt # 出現最少2次的 grep -E 'l{2}' simon.txt # 出現正好2次的 grep -E 'l{,2}' simon.txt # 出現最多2次的 grep -E '[0-9]{8,}' simon.txt # 出現連續8個數字的 grep -E '[0-9]{8,}' -o simon.txt # 出現連續8個數字的 ,只顯示數字內容 5】 ? 連續出現0次或1次 vim simontemp.txt i gd god good goood gid gpd giid grep -E 'go?d' simontemp.txt # 查找o出現了一次或0次的結果是gd和god grep -E 'go*d' simontemp.txt # 查找出現0次或1次+的 支持基礎正則 基礎+擴展正則 grep egrep === grep -E sed sed -r awk awk \ 撬棍(轉義字符) 可以使得基礎命令也能使用擴展正則 #幫助命令 man grep man info