有點(diǎn)標(biāo)題黨啊肴楷,就是個(gè)總結(jié)上沐,要是真的一行一行看下去了,相信你會收獲很多的
基本命令
- sleep 500 暫停
- ctrl + z 暫停
- progress & 后臺運(yùn)行
- jobs\bg\fg 查看后臺任務(wù)
- file 查看文件類型
- cd - 上一個(gè)工作目錄
- pwd 查看當(dāng)前工作目錄
- touch 創(chuàng)建文件或者更新文件創(chuàng)建時(shí)間
- rm -i 交互式刪除
時(shí)間相關(guān)
- date 查看時(shí)間
- date +%Y–%m–%d 格式化顯示
- date -s “20:20:16” 修改時(shí)間
- hwclock 查看硬件時(shí)鐘
- cal 查看日歷
- uptime 查看系統(tǒng)運(yùn)行時(shí)間
輸出查看
- echo 輸出指定的字符到標(biāo)準(zhǔn)輸出
- cat 輸出指定文件到標(biāo)準(zhǔn)輸出
- head -n 指定行數(shù)
- tail
- -n 顯示行數(shù)
- -f 實(shí)時(shí)更新
- more 只能向下翻頁
- less 上下翻頁
查看硬件信息
- lspci -v 查看pci設(shè)備
- lsusb -v 查看use設(shè)備
- lsmod 查看加載的驅(qū)動
關(guān)機(jī)重啟
- shutdown -h 關(guān)機(jī)
- shutdown -h +10 10分鐘后關(guān)機(jī)
- shutdown -r 重啟
- shutdown -r now 現(xiàn)在重啟
- shutdown -h 20:30 20點(diǎn)30分關(guān)機(jī)
- poweroff 關(guān)機(jī)
- reboot 重啟
歸檔、壓縮
- zip xxx.zip myfile
- unzip xxx.zip
- tar -xvf out.tar
- tar -cvf out.tar myfile
- tar -zcvf out.tar.gz myfile
查找
- locate keyword 在數(shù)據(jù)庫里查找
- updatedb 更新數(shù)據(jù)庫
- find . -name “aa” 查找文件名帶aa的文件
- find / -name *.conf 查找conf目錄
- find / -perm 777 查找文件模式為777的
- find / -type d 查找文件夾
find . -name "a" -exec cat {} ;
查找名字里帶a的文件赋朦,并且cat出來,注意后面的{} \;是必須的,且中間必須有空格
- 查找條件
- -name
- -perm
- -user
- -group
- -ctime
- -type
- -size
常見目錄及功能
- /opt 目錄安裝大型軟件
- /proc 系統(tǒng)實(shí)時(shí)信息宠哄,虛擬目錄
- /sbin 超級用戶才能執(zhí)行的命令
- /usr 一般的軟件安裝
- /var 經(jīng)常變化的信息
BASH
- !! 重復(fù)執(zhí)行前一個(gè)命令
- !字符 重復(fù)前一個(gè)命令以『字符』開頭的命令
- !num 按歷史紀(jì)錄重復(fù)執(zhí)行
- !?ea 重復(fù)執(zhí)行之前包含ea的命令
- !-n 重復(fù)執(zhí)行n個(gè)命令之前的那個(gè)命令
- ctrl + r 在歷史命令中搜索
- esc . 按個(gè)esc然后再按一下. 使用上一個(gè)命令的參數(shù)
- ? 匹配任意一個(gè)字符
- 任意一個(gè)字符
- [0-9] 數(shù)字
- [abc] 任意字符
- [^abc] 除列表以外的字符
VIM
:sh
到BASH環(huán)境中
ctrl+d
回到VIM
分區(qū)
- fdisk -l 列出硬盤信息
- fdisk /dev/sdb 進(jìn)行交互式分區(qū)
- m 幫助
- partprobe 更新一下分區(qū)表
分區(qū)機(jī)制有MBR和GPT兩種 MBR 使用BIOS引導(dǎo)方式的PC設(shè)備壹将,目前不支持2T以上,支持分區(qū)數(shù)量有限
分區(qū)表只有256字節(jié)信息
MBR最多只能創(chuàng)建4個(gè)主分區(qū)毛嫉,主分區(qū)可以直接使用诽俯, 更多分區(qū)使用擴(kuò)展分區(qū)和邏輯分區(qū)
一個(gè)擴(kuò)展分區(qū)會占用一個(gè)主分區(qū)位置,擴(kuò)展分區(qū)不能直接用
基于擴(kuò)展分區(qū)創(chuàng)建邏輯分區(qū)
最多支持63個(gè)IDE分區(qū)承粤,15個(gè)SCSI分區(qū)
GPT EFFI引導(dǎo)方式
文件系統(tǒng)
操作系統(tǒng)通過文件系統(tǒng)管理文件及數(shù)據(jù)暴区,磁盤或者分區(qū)需要創(chuàng)建文件系統(tǒng)后才能被操作系統(tǒng)使用
- mke2fs 創(chuàng)建文件系統(tǒng)
- mke2fs -t ext4 /dev/sda3 創(chuàng)建文件系統(tǒng)類型
- -b 文件塊大小,4k
- -c 建立的時(shí)候檢查壞損塊
- -L 建立卷標(biāo)
- -j 建立文件系統(tǒng)日志
- dumpe2fs 查看分區(qū)的文件系統(tǒng)信息
- fsck 檢查并且修復(fù)損壞的文件系統(tǒng)
帶有日志的文件系統(tǒng)有較強(qiáng)的恢復(fù)性
掛載分區(qū)
- mount /dev/sdb1 /mnt/ 掛載到指定的位置
- mount 查看已經(jīng)掛載的分區(qū)
- lsof 查看哪些文件被使用,被誰打開
- fuser -m /dev/sdb1 被誰使用
配置/etc/fstab 自動掛載
幫助信息
- ls –help
- ls -h
- man ls
- man -k 關(guān)鍵字查找命令
- info 更詳細(xì)
用戶
root 用戶 0
系統(tǒng)用戶 1-499
普通用戶 500以上
相關(guān)文件
- /etc/passwd 密碼
- /etc/shadow 用戶密碼
- /etc/group 保存組
當(dāng)前用戶命令
- whami 當(dāng)前登錄用戶
- who 哪些用戶
- w 有哪些用戶在干什么
用戶操作
- useradd 添加用戶
- usermod 修改用戶
- userdel 刪除用戶
同時(shí)還有另外一個(gè)添加用戶的命令:adduser辛臊,推薦使用adduser仙粱,它會幫你創(chuàng)建用戶目錄及一些默認(rèn)的配置,同時(shí)最后還會提示輸入密碼彻舰;用上面的useradd伐割,添加用戶后,需要再使用passwd來添加用戶密碼
用戶組操作
- groupadd 用戶組添加
- groupmod 用戶組修改
- groupdel 用戶組刪除
權(quán)限
限制對特定文件的讀淹遵、寫口猜、執(zhí)行,每一個(gè)文件都有特定的權(quán)限 進(jìn)程權(quán)限與運(yùn)行它的用戶權(quán)限相關(guān)
目錄必須有x權(quán)限透揣,否則不能查看內(nèi)容
UGO: user group other
每三個(gè)一組r w x
rwxrwxrwx 三個(gè)一組
修改權(quán)限
- chown 修改擁有者
- chgrp 修改所有組
- chmod 修改權(quán)限
- u\g\o代表用戶济炎、組其它
- a代表所有
- +-增加或者刪除
- r\w\x 三種權(quán)限
chmod g-x xxxxx 減去xxxxx的用戶組執(zhí)行權(quán)限
網(wǎng)絡(luò)
32bit分為網(wǎng)絡(luò)部分和主機(jī)部分 子網(wǎng)掩碼用來確定網(wǎng)絡(luò)部分的位數(shù)
- ifconfig -a 查看所有接口
- ifconfig eth0 查看特定接口
- ifup eth0 啟用接口
- ifdown eth0 禁用接口
- setup 配置網(wǎng)絡(luò)信息
網(wǎng)絡(luò)排查相關(guān)命令
- host 查看域名對應(yīng)ip
- dig 查看域名信息
- ip route 查看路由表
- traceroute 查看到達(dá)目標(biāo)地址經(jīng)過的路由
- mtr 網(wǎng)絡(luò)質(zhì)量測試
管道和重定向
- STDIN 0
- STDOUT 1
- STDERR 2
STDOUT 重定向到文件【覆蓋】
STDOUT 重定向到文件,追加
2> STDERR 重定向到文件
2>&1 STDERR與STDOUT結(jié)合
< 重定向到STDIN
| 一個(gè)命令的STDOUT作為另一個(gè)命令的STDIN
2>/dev/null 把錯誤重定向到null設(shè)備
安裝刪除包
- rpm -i xxx.rpm 安裝
- rpm -e xxxx 卸載
- rpm -U xxx 升級
- rpm -ivh http://xxxx 網(wǎng)絡(luò)安裝
- rpm -qa 安裝的列表
- rpm -ql xxx 安裝的東西
- yum search
- yum list all/installed/updates
- yum info packagename
查看特定軟件的所有可用版本:
yum search nodejs -b current --showduplicates
文本處理工具
-
grep
- -i 忽略大小寫
- -n 顯示行數(shù)
- -v 不帶關(guān)鍵字的行
- -Ax 之后的x行
- -Cx 之前之后的x行
- -Bx 之前的x行
-
cut
- -d 切分符號
- -f 顯示的列
- -c 基于字符進(jìn)行切割
cut -d: -f1 xxx 對xx文件進(jìn)行
cut -c2-6 xxx 基于2到6進(jìn)行切割
-
wc
- -l 只計(jì)行數(shù)
- -w 只講單詞
- -m 字符
- -c 只計(jì)字節(jié)數(shù)
-
sort 排序
- -r 倒序
- -u 刪除重復(fù)行
- -tc 使用c進(jìn)行分割為列進(jìn)行排序
uniq 刪除重復(fù)相鄰行
-
diff 比較文件
- -b 忽略空格數(shù)量改變
- -u 生成patch文件
aspell 拼寫檢查
實(shí)際例子
tr -d 'apple' < hosts 刪除hosts文件里的apple (可以將 tr 看作為 sed 的(極其)簡化的變體)
tr 'a-z''A-Z' < hosts 大小寫轉(zhuǎn)換
sed 's/str/newstr/g' hosts 替換hosts中的str
sed '1,50s/str/newstr/g' hosts 只替換1到50行
sed -e 's/linux/unix/g' -e 's/xxx/xsdjlfsjdf' hosts 連續(xù)處理兩個(gè)替換
sed -f command hosts 把替換的命令放到command文件里
ps aux | grep xxx 查看某個(gè)進(jìn)程
lsof -i:portnum 查看端口被哪個(gè)進(jìn)程占用
kill -9 pid 殺掉某個(gè)進(jìn)程
killall program 殺掉指定名稱的所有進(jìn)程
搜集整理:cll