.. 上級目錄
. 當前目錄
\. 表明點號 (\ 讓一個有意義的字符,脫掉馬甲)
{} 生成序列包括數值和字符,相似seq, echo stu{001..100}生成stu001 到 stu100的文件
? 表明一個有必定意義的字符 file? file?? file???.....
cd .. 返回上級目錄
cd ../.. 返回上兩級級目錄
- cat : 查看文件內容
cat file1 從第一個字節開始正向查看文件內容
tac file1 從最後一行開始反向查看一個文件內容
cat -n /dir/path 顯示行號 查看文件內容
cat >>test.txt <<EOF: 把內容寫入文件中
- echo : 打印輸出內容 echo 輸出內容
echo 「文件內容" > file 覆蓋文件內容
echo "文件內容」>> file 追加文件內容到文件尾部
- vi / vim<文件名>: 進入記事本模式/emeditor編輯器.
i,a 進入文本編輯,「Esc」退出文本編輯
w = write q = quit != 強制
:wq :q :q! :wq! 退出vi/vim
:set nu顯示行號,dd刪除當前行, yy拷貝當前行, p黏貼
G切換到文件尾部, gg切換到文件頭部, 行號gg定位改行
vim .<文件名> 建立一個隱藏文件
- head: 顯示文件頭部內容,默認10前行;
-n 顯示首行到n行數的內容 -行數,
- tail : 顯示文件尾部內容,默認最後10行
-n 顯示文件尾部到倒數第n行
tail -3 test.txt
head -30 test.txt|tail -11 顯示文件第30行到倒數11行的內容
-f 跟蹤顯示文件尾部的實時變化
- more:從文件頭到文件尾分屏顯示文本
more file
more +n file 從第行開始顯示文本
- cut : 縱向切割出文本指定的部分並寫到標準輸出。cut [參數] <文件>
cut -b-5 file 分割出每行前五個字節
cut - c5- file 分割出每行最後五個字節
- find : 用於在文件喜用中查找知足條件的文件。
查找文件 按-type 文件類型查找
! 取反 , -a(and) 而且, -o (或者)
find /目錄/
find /目錄/ -type f 查找目標 文件
find /目錄/ -type d 查找目標 目錄
find /目錄/ -type f -exec rm -f {} \: 刪除目標文件(-exec 處理查找的結果)(rm -f 前面找到的內容進行處理)({} 查找到的內容)(\: 轉譯)
find /目錄/ -type f|xargs rm -f 刪除目標文件
刪除指定文件外的其餘文件 (!取反值)
find /目錄/ -type f ! -name "文件名" -exec rm -f {} \:
find /目錄/ -type f ! -name "文件名"|xargs rm -f
- sed :(stream editor) 過濾內容,取行,
-n取消sed默認輸出, sed -n '/A/p' test.txt 打印包含'A'的行
sed -n '2p' test1.txt (-n 取消默認,'2p' 打印第2行)
sed -n '3p' test1.txt (-n 取消默認,'2p' 打印第3行)
sed -n '20, 30p' test1.txt (-n 取消默認,'2p' 打印第2至5行)
-i 改變文件內容
sed -i 's#原內容#替換內容#g' test1.txt 替換文件內容 (-i 修改文件內容)
'/內容/d' d = 刪除, p = 打印
sed '/AA/d' test1.txt 過濾文件中‘AA’的內容
sed 's#原內容#替換內容#g ' test.txt 替換文件內容
s=(查找並替換) g=(globa全局)
#=分隔符,也能夠用其餘符號
查找目錄內的指定文本,並替換文本內容。
find/ root/data/ -type f -name "test.txt"|xargs sed -i 's#oldboy#oldgirl#g'
find/ root/data/ -type f -name "test.txt" exec sed -i 's#oldboy#oldgirl#g' {} \;
- awk: 過濾內容(取列)
awk '{print $1}' 打印第一列,分隔符爲空格
awk '{print $1""$2"" $NF}' oldboy.txt ($NF 表示最後一行)
awk -F ":" '{print $1"="$2"="$3}' /etc/passwd (-F爲指定分隔符)
$1第一列 $2第二列 $3第三列 $NF最後一列,$(NF-1)
awk '{if (NR>31 && NR<19) printf $1 "\n"}' test.txt
NR表明行號,&&(and)而且 \n回車換行 $1第一列($0 所有內容)
- grep : 過濾器, 把想要的或者不想要的分離開
grep "內容" 文件名: 截取指定內容
grep -v "內容" 文件名:截取指定內容外的內容(-v排除)
grep -i 包括大小寫
grep -E 過濾多個字符串
grep -E "字符1|字符2" /文件名/
grep -o 輸出精確匹配的字符,非整行
grep -B 除了顯示匹配的一行以外,而且顯示該行之 前 的num行
grep -A 除了顯示匹配的一行以外,而且顯示該行之 後 的num行
grep -C 除了顯示匹配的一行以外,而且顯示該行之 先後各 num行
grep 30 -B 10 test.txt
grep 20 -A 10 test.txt
grep 25 -C 5 test.txt
cat test.txt|grep -v "oldboy" test.txt 先用cat查找內容,而後grep過濾
- alias: 查看以及定義別名
alias (自定義命令) = (原命令) 定義別名信息
alias ipconfig = 'ifconfig'
alias rm ='echo "rm can not be used, pls use mv"'
別名生效的位置:針對root用戶:/root/.bashrc
全部用戶生效: /etc/bashrc 或 /etc/profile定義
生效souce /etc/profiles
- unalias: 取消別名
unalias (自定義命令) 刪除別名
unalias ifconfig
- tree : 顯示目錄樹
tree /文件目錄/
tree /root/sam/
- yum :linux裏包管理器, 幫助解決依賴問題
yum install tree -y 如今tree包調用rpm安裝,並安裝其餘相關的包
yum update更新全部軟件。
- rpm : -ivh (安裝、顯示輸出,人類可讀展現)
rpm -ivh /路徑/包名. rpm
rpm -ivh /mnt/Packages/libjpeg-turbo-devel-1.2.1-1.el6.i686.rpm
-i 表示安裝
-v 可視化
-h 顯示安裝進度
rpm -qa tree (-q query, -a all)
rpm -e 已安裝程序:卸載軟件
- seq: sequence序列 -s 指定序列的分隔符 -w
seq [首行] [尾行]
seq [首行] [步長] [尾行]
- xargs : 把前面的結果在後面逐個處理, 至關於 { }的功能
find /目錄/ -type f|xargs rm -f 刪除目標文件
- useradd : useradd [用戶名]
查看建立用戶信息
tail -1 /etc/passwd 用戶名
tail -1 /etc/group 用戶組名
tail -1 /etc/shadow 用戶密碼
- man: 按照手冊的章節號的順序進行搜索的
man (指令) : 幫助內容比help詳細
- help: 查看全部Shell內置命令的幫助信息
help (命令): 幫助內容比man簡單
32. paste : 縱向合併多個文本並寫到保準輸出。 paste [參數][<文件>]正則表達式
paste file1 file2
paste -s file1 file2 不使用平行的行目輸出,每行文件佔用一行
paste -d ' ' file1 file2 (-d ' ' 分隔符)
33. sort: 以行爲單位對文件進行排序. sort[參數][<文件>]shell
sort <文件>
sort -n <文件> 按字符串的數值進行排序
34. uniq :刪除文本文件中相鄰的重複的行並寫到標準輸出vim
uniq [參數] [<輸入文件>[<輸出文件>]]
unip -d <文件> 只顯示重複出現的行。
unip -u <文件> 只顯示出現一次的行。
35. wc :統計指定文本文件的行數、字數、字符數。windows
wc [參數][<文件>]
wc -w <文件> 統計字數
36. file: 顯示文件類型安全
file [參數]<文件>
37. history 打印出用戶操做命令的歷史記錄bash
38. uname 查看系統信息服務器
uname -r 內核
uname -m 32bit/64bit
uname -a 查看全部信息
39. hostname 查看主機名網絡
40. passwd: 修改用戶密碼ssh
passwd [用戶名]
passwd -S [用戶名] 顯示用戶口令狀態
passwd -l [用戶名] 鎖定帳戶
passwd -u [用戶名] 接觸已鎖定的帳戶
41. whoami :查看當前用戶
42. su [用戶名] 切換用戶
su - [用戶名] 切換用戶並切換環境
43. sudo: 讓普通用戶執行root權限的命令
sudo [命令]
輸入密碼
44. dmesg:顯示開機信息
dmesg | grep eth0 : 查看第一張網卡的信息
45. uptime:顯示從開機到當前的時間
46. stat:顯示文件狀態信息或文本系統信息
stat [參數] [<文件>]
stat -f 顯示文件系統信息
stat -t 使用簡潔格式輸出信息
47. du:統計問津的磁盤用量,目錄取總用量. du[參數]
du -c 顯示全部項目相加後的總量
du -h 以人類習慣的方式顯示
du --max-depth=N (統計N層目錄,N爲整數)
48. df:查看磁盤剩餘狀況
df [參數]
df -h 以人類理解的方式顯示磁盤當前的使用量
49. top:實時顯示進程任務
top [參數]
top -s 使用安全模式消除互動模式下的潛在威脅
50. free:顯示內存使用情況
free [參數]
free -s<秒速> 持續觀測內存情況,<秒>刷新
free -m 以MB爲單位顯示內存使用狀況
51. LANG 修改系統語言
LANG = en 使用English解決亂碼問題
52. getenforce: 檢查selinux狀態
53. setenforce: 設置selinux狀態 1啓動 0警告、不啓動
54. runlevel:查看當前系統運行級別
55. init: 切換運行級別,後面接對應級別的數字
56. chkconfig: 設定開機啓動服務
chkconfig | grep network
57. diff: 比較,接兩個文件
58. vimdiff: 高級比較,高亮顯示兩個文件內容區別
59. chown: 改變文件的用戶權限
chown [用戶/屬主].[用戶組/屬組] <文件名>
60. chmod: 修改文件權限
chmod [權限] <文件名>
61. rev: 把每行的內容翻轉
62. which: 在環境變量PATH設置的目錄下查找指定文件的位置 which[參數]<文件>
which [命令]
which -a [命令] -a :將全部由 PATH 目錄中能夠找到的命令均列出,而不止第一個被找到的命令名稱
63. whereis 在特定目錄中查找符合條件的文件
whereis[參數]<文件>
-b :只找 binary 格式的文件
-m :只找在說明檔 manual 路徑下的文件
-s :只找 source 來源文件
-u :搜尋不在上述三個項目當中的其餘特殊文件
64. locale 顯示本地支持的語言系統信息
locale [參數]
-a: 顯示本地支持的語言系統
65. locate 查找系統中全部與 被查找內容 相關的檔名
-i :忽略大小寫的差別;
-r :後面可接正規表示法的顯示方式
66.
SSH Secure Shell Protocol
SSH 是專門問遠程登陸回話和其餘網絡服務提供的安全協議
openssh提供SSH服務的程序
openssl視爲SSH提供連接加密的程序
ps -ef|grep ssh 啓動ssh服務
SSH服務器 192.168.36.129:22
SSH客戶端 Windows平臺 SecureCRT, Xshell, Putty
ss- lntup|grep ssh
netstat -lntup|grep 22 啓動SSH服務
ps -ef 查看進程的命令
netstat -lntup 查看端口的命令
ifconfig 查看配置IP地址
ip add 查看配置 IP地址
SSH服務連通性檢查:
- 物理鏈路
ping server_ip (ICMP協議,默認64字節包)
windows cmd: ping 192.168.11.11 (ip地址)
- 檢查服務器 telnet 192.168.11.11 22 檢查服務端是否正常
不能連通服務器:
檢查物理鏈路
關閉服務器防火牆
/etc/init.d/iptables stop
檢查服務器和客戶端是否在同一網段
互傳文件
WINDOWS 《====》 LINUX
ftp/winscp/http/rz-sz
yum install lrzsz-y 安裝文件
yum install telnet lrzsz nmap dos2unix -y
rz -y 選擇上傳文件
sz -y 選擇如今文件
-y 覆蓋同名文件
正則表達式
. 單個任意字符 * 重複前面任意0個或多個字符
.* 匹配任意字符
sed -i 's#(能夠用正則匹配)#、3#g' oldboy.txt '( )' 能夠用正則匹配
sed - r 's#(.*)fff#\1#g' oldboy.txt