老男孩思想之優(yōu)秀的運(yùn)維習(xí)慣
1蕴茴、內(nèi)容盡量復(fù)制劝评,以減少錯(cuò)誤。
2倦淀、操作前備份蒋畜,操作后檢查。
3撞叽、使用中記憶姻成。
4、眼睛里一定不要放過輸出的英文
5愿棋、永遠(yuǎn)不要重啟Linux
老男孩思想之如何解決拖延癥科展?
1、把刀把交給別人初斑。
? ? ? 破釜沉舟辛润,不留后路。
? ? ? a.告訴別人如果做不到见秤,我就給你什么好處砂竖。
? ? ? b.定制目標(biāo),然后告訴身邊的人鹃答。
? ? ? c.先把五百放人家那乎澄,做到了還給你,做不到就不用給我测摔。
2置济、塑造價(jià)值觀
? ? ? a.正向價(jià)值觀:多想做到價(jià)值觀的好處解恰。
? ? ? ? 拿到一萬的工作。
? ? ? ? 找個(gè)女朋友
? ? ? ? 有點(diǎn)面子
? ? ? ? 買車浙于、買房护盈。
? ? ? ? ? 父母也有面子。
? ? ? ? b.負(fù)面價(jià)值觀
? ? ? ? ? 誰欺負(fù)你羞酗,
? ? ? ? ? 誰看不起你腐宋,讓他狗眼看人低。
? 3檀轨、讓你最在意你的人逼你(對(duì)你好的人) ? ? ??
selinux:
[root@oldboyedu ~]# ls -lhi
total 32K
33631870 -rw-r--r--. 1 root root? ? ? 4 Mar 13? 2019 a.txt
第二列結(jié)尾的. 是標(biāo)識(shí)selinux的符號(hào)
1胸竞、selinux是什么?
安全規(guī)則参萄,讓Linux系統(tǒng)更安全的一套規(guī)則卫枝。
這個(gè)規(guī)則太嚴(yán)格了,一般的情況下都會(huì)關(guān)閉selinux讹挎。
自己開啟防火墻啊校赤,用其他手段來實(shí)現(xiàn)同樣的安全目的。
2淤袜、怎么關(guān)掉Selinux痒谴?
查看方法:
[root@oldboyedu ~]# getenforce
Enforcing
臨時(shí)關(guān)掉:
[root@oldboyedu ~]# setenforce
usage:? setenforce [ Enforcing | Permissive | 1 | 0 ]
[root@oldboyedu ~]# setenforce 0
[root@oldboyedu ~]# getenforce
Permissive
永久關(guān)閉:
vim /etc/selinux/config
[root@oldboyedu ~]# grep dis /etc/selinux/config
#? ? disabled - No SELinux policy is loaded.
SELINUX=disabled
Linux里防火墻C6 iptables C7 firewalld
作用:防護(hù)計(jì)算機(jī),防止被入侵铡羡。
systemctl status firewalld.service
開啟firewalld(C6 service iptables start 或者/etc/init.d/iptables start)
讓firewalld開機(jī)自啟動(dòng)
[root@oldboyedu ~]# systemctl enable firewalld.service
Created symlink from /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service to /usr/lib/systemd/system/firewalld.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/firewalld.service to /usr/lib/systemd/system/firewalld.service.
C6用法:chkconfig iptables off
C7就是一個(gè)命令systemctl
硬鏈接:
1积蔚、什么是硬鏈接?
具有相同inode節(jié)點(diǎn)號(hào)的文件互為硬鏈接烦周。
一個(gè)文件的兩個(gè)入口尽爆。
2、硬鏈接原理读慎。
3漱贱、測試
創(chuàng)建硬鏈接:
ln 源文件 硬鏈接文件
a.文件硬鏈接
[root@oldboyedu /data]# echo "I am oldboy." >oldboy.txt
[root@oldboyedu /data]# cat oldboy.txt
I am oldboy.
[root@oldboyedu /data]# ln oldboy.t
oldboy.tar.gz? oldboy.txt? ?
[root@oldboyedu /data]# ln oldboy.txt oldboy_hard_link
作用:
1、備份夭委,防止誤刪幅狮。
b.目錄硬鏈接
不支持人工創(chuàng)建目錄硬鏈接。
軟鏈接:
本質(zhì)是快捷方式株灸,指向源文件實(shí)體崇摄,本身和源文件是不同的文件。
實(shí)踐:
文件
[root@oldboyedu /data]# !echo
echo "I am oldboy." >oldboy.txt
[root@oldboyedu /data]# cat oldboy.txt
I am oldboy.
[root@oldboyedu /data]# ln -s oldboy.txt? oldboy_soft_link
工作中為什么會(huì)使用軟鏈接慌烧。
第一個(gè)用途:
安裝軟件:/application/nginx-1.10
過半年:/application/nginx-1.20
導(dǎo)致一個(gè)問題逐抑,工作中,開發(fā)等引用/application/nginx-1.10路徑屹蚊。
安裝軟件:/application/nginx-1.10===>/application/nginx(讓開發(fā)用)
過半年:? /application/nginx-1.20===>/application/nginx(讓開發(fā)用)
第二個(gè)用途:
/etc/對(duì)應(yīng)的分區(qū)要滿了厕氨,沒法放很多文件进每,但是程序還想通過/etc/目錄訪問文件。
此時(shí)命斧,我們可以把文件放入/opt/oldboy下田晚,然后做一個(gè)到/etc/oldboy的軟鏈接。
Linux文件刪除原理:
1国葬、靜態(tài)文件:沒有進(jìn)程或程序正在訪問的文件肉瓦。
所有的硬鏈接數(shù)為0(i_link),即所有硬鏈接都被干掉了胃惜,包括自身。
硬鏈接的數(shù)量的代表變量符號(hào)i_link
rm -f oldboy.txt oldboy_hard_link
執(zhí)行完 其實(shí)文件也沒刪哪雕,關(guān)機(jī)停止運(yùn)行船殉。
a.系統(tǒng)定時(shí)清理沒有文件名的inode。
b.磁盤檢查會(huì)清理斯嚎。
c.增加新文件時(shí)優(yōu)先占用沒有文件名的inode利虫。
恢復(fù)的工具:debugfs,ext3grep等等。
亡羊補(bǔ)牢其實(shí)不可取的堡僻,違反運(yùn)維的三大核心原則糠惫。
多備份,操作前備份钉疫,異服務(wù)器和異地備份硼讽。
2、動(dòng)態(tài)文件:有程序或進(jìn)程訪問的文件
刪除原理:
a.所有硬鏈接刪除牲阁。i_link為0.
b..i_count是進(jìn)程調(diào)用文件的數(shù)量(引用計(jì)數(shù))固阁。所有進(jìn)程調(diào)用都要停止取消。i_count為0
3城菊、實(shí)踐文件刪除原理
環(huán)境準(zhǔn)備备燃,命令集合如下:
mkdir -p /app/logs? ? ? ? ? ? ? ? ? ? ? ? ? #<==創(chuàng)建用于掛載的目錄。
dd if=/dev/zero of=/dev/sdc bs=8K? count=10? #<==創(chuàng)建指定大小的文件凌唬。
mkfs.ext4 /dev/sdc? ? ? ? ? ? ? ? ? ? ? ? ? #<==格式化并齐。
mount -o loop /dev/sdc /app/logs? ? ? ? ? ? #<==掛載。
df -h? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #<==檢查掛載結(jié)果客税。
實(shí)踐:
模擬進(jìn)程讀文件:
[root@oldboyedu /app/logs]# touch nginx.log
[root@oldboyedu /app/logs]# tail -f nginx.log
ln nginx.log nginx_hard.log
當(dāng)前:
i_link=2
i_count=1
模擬把文件變大况褪,讓分區(qū)滿
[root@oldboyedu /app/logs]# cat /etc/services >>nginx.log
cat: write error: No space left on device
[root@oldboyedu /app/logs]# df -h
Filesystem? ? ? Size? Used Avail Use% Mounted on
/dev/sda3? ? ? ? 19G? 1.9G? 18G? 10% /
devtmpfs? ? ? ? 980M? 80K? 980M? 1% /dev
tmpfs? ? ? ? ? 991M? ? 0? 991M? 0% /dev/shm
tmpfs? ? ? ? ? 991M? 9.5M? 981M? 1% /rutmpfs? ? ? ? ? 991M? ? 0? 991M? 0% /sys/fs/cgroup
/dev/sda1? ? ? 253M? 136M? 118M? 54% /boot
tmpfs? ? ? ? ? 199M? ? 0? 199M? 0% /run/user/0
/dev/loop0? ? ? 73K? 71K? ? 0 100% /app/logs
分區(qū)滿了:清理,刪除霎挟。
刪除源文件
[root@oldboyedu /app/logs]# rm -f nginx.log
結(jié)果:
i_link=1
i_count=1
ctrl+c 中斷 進(jìn)程調(diào)用文件
結(jié)果:
i_link=1
i_count=0
刪除硬鏈接文件
[root@oldboyedu /app/logs]# rm -f nginx_hard.log
結(jié)果:
i_link=0
i_count=0
必會(huì)面試題:軟鏈接和硬鏈接的區(qū)別窝剖?
可從以下幾個(gè)方面去答:
1)分類:在Linux系統(tǒng)中,鏈接分為兩種:一種被稱為硬鏈接酥夭,一種被稱為軟鏈接或符號(hào)鏈接赐纱。
2)概念:硬鏈接文件與源文件的inode節(jié)點(diǎn)號(hào)相同脊奋,而軟鏈接文件相當(dāng)于Windows下面的快捷方式。
3)創(chuàng)建:默認(rèn)不帶參數(shù)的情況下疙描,ln命令創(chuàng)建的是硬鏈接诚隙,帶-s參數(shù)的ln命令創(chuàng)建的是軟鏈接。
4)特點(diǎn):a.不能對(duì)目錄創(chuàng)建硬鏈接起胰,但可以創(chuàng)建軟鏈接久又,對(duì)目錄的軟鏈接會(huì)經(jīng)常被用到。
? ? ? ? ? ? ? b.軟鏈接可以跨文件系統(tǒng)效五,硬鏈接不可以跨文件系統(tǒng)地消。
? ? ? ? ? ?? c.刪除軟鏈接文件,對(duì)源文件及硬鏈接無任何影響畏妖。
? ? ? ? ? ?? d.刪除文件的硬鏈接文件脉执,對(duì)源文件及軟鏈接無任何影響。
? ? ? ? ? ?? e.刪除鏈接文件的源文件戒劫,對(duì)硬鏈接文件無影響半夷,會(huì)導(dǎo)致其軟鏈接失效(紅底白字閃爍狀)。
? ? ? ? ? ?? f.同時(shí)刪除源文件及其硬鏈接文件迅细,整個(gè)文件才會(huì)被真正刪除巫橄。
5)案例:硬鏈接用處不多,茵典,可以用來對(duì)重要文件做快照防止誤刪湘换,而對(duì)目錄建立軟鏈接在工作中很常用。例如:安裝軟件會(huì)用nginx-1.10作為目錄敬尺,安裝完后設(shè)置軟鏈接為nginx,既保持了版本號(hào)識(shí)別枚尼,又方便使用,以及方便后續(xù)軟件升級(jí)砂吞。
通配符:
模糊匹配:
*:匹配所有
署恍?:匹配單個(gè)字符,有且只有一個(gè)字符
[abcd]:匹配一個(gè)字符
[a-d]:匹配連續(xù)的任意單個(gè)字符
[!a-d]或[^1-9]取反
路徑位置:
~ 家目錄
- 上一次所在目錄
. 當(dāng)前目錄
.. 上一級(jí)目錄
引號(hào)相關(guān):
" 單引號(hào) 引用字符 所見即所得
""雙引號(hào) 引用字符串 解析變量命令 推薦使用
`` 反引號(hào) 引用命令 解析命令 等價(jià)$() 推薦后者
其他字符:
蜻直; 表示命令分隔符
# 1盯质、管理員提示符 2、注釋符號(hào)
$ 1.普通用戶提示符 2.調(diào)用變量使用
| 管道 前面的數(shù)據(jù)流交給后面處理
\ 轉(zhuǎn)義字符 讓字符還原本意
{} 1.生成序列 2.引用變量 讓變量成為整體
概而! 1.取反 2.vim強(qiáng)制 3.調(diào)用最近符合字符開頭的命令
&& 并且==and 前面正確后面才輸出
|| 或者==or 前面錯(cuò)誤后面才輸出