1、Linux命令随笔
生活随笔
收集整理的這篇文章主要介紹了
1、Linux命令随笔
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1 Linux命令總結(jié)
2 3 man ==命令幫助;
4 help ==命令的幫助(bash的內(nèi)置命令);
5 ls ==list,查看目錄列表;
6 -ld:查看目錄權(quán)限;
7 -l:(long)長格式顯示屬性;
8 -F:給不同的文件類型結(jié)尾加標(biāo)識
9 -p:給目錄加斜線
10 -r:(reverse)反轉(zhuǎn)排序
11 -t:按時間排序
12 --color=auto 給輸出的不同類型文件加不同顏色
13 -a:顯示隱藏文件
14 ls -l --time-style=long-iso,顯示友好的長格式時間
15 例子:
16 [root@server oldboy]# ls -l --time-style=long-iso
17 總用量 4 18 drwxr-xr-x 2 root root 4096 2015-12-18 20:25 oldboydir 19 lrwxrwxrwx 1 root root 9 2015-12-18 21:03 oldboydir_soft_link -> oldboydir 20 21 mkdir ==創(chuàng)建目錄 22 -p:遞歸創(chuàng)建目錄 23 vim ==相當(dāng)于復(fù)雜的文檔編輯器 24 ===================================================================================================================================================================================================== 2016-12-22添加 date修改時間命令: date -s "2016/12/22 14:33" //修改時間后接著敲hwclock告訴bios立即生效 hwclock 25 echo "i am studying linux" >/>> oldboy.txt //后面跟一個大于號表示覆蓋,兩個大于號表示追加; 26 echo ==打印輸出內(nèi)容,配合“>”或“<<”可以為文件覆蓋及追加內(nèi)容; 27 -n:不換行輸出 28 -e:解析轉(zhuǎn)義字符,\t tab \n回車 \b退格 29 30 echo“ 31 boy 32 girl 33 ” >oldboy.txt 34 實例如下:(2015/12/22) 35 [test@server ~]$ echo "oldboy";echo "oldboy" 36 oldboy 37 oldboy 38 [test@server ~]$ 39 40 [test@server ~]$ echo -n "oldboy";echo "oldboy" //不換行輸出 41 oldboyoldboy 42 [test@server ~]$ 43 44 [test@server ~]$ echo -e "oldboy\toldgirl" 45 oldboy oldgirl 46 [test@server ~]$ 47 48 [test@server ~]$ echo -e "oldboy\noldgirl" 49 oldboy 50 oldgirl 51 [test@server ~]$ 52 ==================================================================== 53 cat ==查看文件內(nèi)容; 54 -n:顯示行號 55 特殊用法:增加多行內(nèi)容 56 [root@server data]# cat >/data/oldboy.txt<<EOF 57 I am studying linux. 58 EOF 59 cp ==copy 相當(dāng)于拷貝命令;例如:cp old.txt /tmp/ 60 cp -a/-r /etc/ /tmp 拷貝目錄/etc/到/tmp 61 -a:相當(dāng)于-pdr 62 -r:遞歸,用于復(fù)制目錄; 63 -p:保持屬性; 64 cp='cp -i' -i:表示提示確認(rèn)信息參數(shù) 65 例:從當(dāng)前目錄文件到另外目錄時,如果拷貝文件名相同,可使用/bin/、"\"取消是否覆蓋信息; 66 [root@server /]# cp /mnt/test.txt /tmp 67 cp: overwrite `/tmp/test.txt'? 68 [root@server /]# /bin/cp /mnt/test.txt /tmp //前面加/bin/可以取消是否覆蓋的提示信息; 69 [root@server /]# \cp /mnt/test.txt /tmp/ //前面加"/"可以取消是否覆蓋的提示信息; 70 mv ==移動目錄或文件,例如:mv /data /root 71 pwd ==查看當(dāng)前用戶所在目錄; 72 73 rm ==remove 刪除文件或者目錄 -f強制,-r刪除目錄; 74 生產(chǎn)場景盡量不要使用rm,如果非要用,一定要先cp等備份。 75 76 替代方法: 77 mv移動到一個臨時目錄,相當(dāng)于回收站; 78 find刪除 79 find *****刪除 80 find /root/data -type f -exec rm -f {} \; // -exec表示查找 81 find /root/data -type f|xargs rm -f 82 find 查找-type !表示取反的意思; 83 !:取反 84 -a:表示and 85 -o:(or)表示或者 86 -maxdepth +數(shù)字:表示查找的深度 87 -mtime:表示修改時間 88 例: 89 find /oldboy -maxdepth 1 -type d ! -name "oldboy" (其中-maxdepth跟tree -L 1可以這樣理解) 90 91 例:在-type f前面加"!",表示執(zhí)行命令時不查找以文件為結(jié)尾的文件; 92 [root@server ~]# find /root/data/ ! -type f -name "*.txt"|xargs ls -ld 93 94 使用find刪除例子1: 95 [root@server data]# find /root/data/ -type f 96 /root/data/zhurui.txt 97 /root/data/zhurui2.txt 98 /root/data/zhurui1.txt 99 [root@server data]# find /root/data/ -type f -exec rm -f {} \;
100 [root@server data]# ls
101 [root@server data]#
102
103 使用find刪除例子2: 104 [root@server data]# touch zhurui.txt zhurui1.txt zhurui2.txt
105 [root@server data]# ls
106 zhurui1.txt zhurui2.txt zhurui.txt 107 [root@server data]# find /root/data/ -type f
108 /root/data/zhurui.txt 109 /root/data/zhurui2.txt 110 /root/data/zhurui1.txt 111 [root@server data]# find /root/data/ -type f|xargs rm -f
112 [root@server data]# ls
113 [root@server data]#
114
115
116 find刪除保留一個特定文件,其余都刪掉; 117 [root@server data]# touch zhurui.txt zhurui1.txt zhurui2.txt zhurui3.txt zhurui4.txt
118 [root@server data]# ls
119 zhurui1.txt zhurui2.txt zhurui3.txt zhurui4.txt zhurui.txt 120 [root@server data]# find /root/data/ -name "zhurui4.txt"
121 /root/data/zhurui4.txt 122 [root@server data]# find /root/data/ -type f -name "zhurui4.txt"
123 /root/data/zhurui4.txt 124 [root@server data]# find /root/data/ -type f ! -name "zhurui4.txt"|xargs rm -f
125 [root@server data]# ls
126 zhurui4.txt 127 [root@server data]# 128
129 head ==頭部,取文件的前N行,默認(rèn)前10行,取前三行 -n 3 130 簡寫就是-3 131 例: 132 [root@server data]# head -n 2 test.txt
133 test 134 liyao 135 tail ==尾巴,取文件的最后N行,默認(rèn)最后10行,取最后三行 -n 3 136 簡寫就是-3 137
138 -f:跟蹤結(jié)尾 139 例: 140 tail -f /var/log/messages //跟蹤一個文件結(jié)尾的變化 141
142 舉例:打印20-30的數(shù)字 143 [root@server ~]# seq 100 >test1.txt //將1-100數(shù)字在test1.txt文件中列舉出來
144 [root@server ~]# head -30 test1.txt //取文件的前30行
145 [root@server ~]# head -30 test1.txt | tail -11 //首先取列舉出的數(shù)字前30行,接著取最后11行;
146 20 147 21 148 22 149 23 150 24 151 25 152 26 153 27 154 28 155 29 156 30 157
158 第二種方法: 159 [root@server ~]# sed -n '20,30p' test.txt
160 20 161 21 162 22 163 23 164 24 165 25 166 26 167 27 168 28 169 29 170 30 171
172 (1)awk 一門語言,過濾內(nèi)容(取列) 173 awk '{print $1}' 文件 //$1表示第一列,$2表示第二列....$NF(表示最后一列) 174 awk -F "分隔符號" '{print $1}' 文件 //$1表示第一列,$2表示第二列 175 $1表示第一列,$2表示第二列....$NF(表示最后一列)..$(NF-1)表示倒數(shù)第二列 176 $0表示整行 177 -F:awk多分隔符 178 深入淺出三劍客之a(chǎn)wk必殺技一例:http://oldboy.blog.51cto.com/2561410/950730 179 深入淺出linux三劍客之sed必殺技一例:http://oldboy.blog.51cto.com/2561410/949365 180
181 linux三劍客 老大 182 例: 183 [root@server test]# awk -F ":" '{print $1}' /etc/passwd
184 [root@server test]# awk -F ":" '{print $2}' /etc/passwd
185 [root@server test]# awk -F ":" '{print $1"="$2"="$3}' /etc/passwd
186 [root@server test]# awk -F ":" '{print $(NF-1)}' /etc/passwd //表示篩選倒數(shù)第二列
187
188 [root@server test]# awk '{if(NR<31 && NR>19) printf $1"\n"}' /root/test1.txt //"\n"表示回車 NR:代表行號 &&:代表and
189 20 190 21 191 22 192 23 193 24 194 25 195 26 196 27 197 28 198 29 199 30 200 201 [root@server test]# awk '{if(NR>19 && NR<31) printf $1"\n"}' /root/test1.txt 202 20 203 21 204 22 205 23 206 24 207 25 208 26 209 27 210 28 211 29 212 30 213? 214 例: 215 [root@server ~]# echo "I am oldboy,myqq is 24731701">> oldboy.txt? 216 [root@server ~]# cat oldboy.txt? 217 I am oldboy,myqq is 24731701 218 [root@server ~]# awk -F "[, ]" '{print $3" "$6}' oldboy.txt //光取第3跟第6列? 219 oldboy 24731701 220? 221 實例取IP地址:(2015/12/22號添加) 222 [root@server test]# ifconfig eth0|awk -F '[: ]+' 'NR==2 {print $4 }' //[方框中的內(nèi)容為目標(biāo)前后分隔符]? 223 192.168.1.11 224 [root@server test]# 225 ============================================================================================================== 226? 227? 228? 229 (2)grep ***** ==擅長過濾,過濾器,把想要的或者不想要的分離開。盡量使用雙引號(""); 230 -v:表示排除 231 -o:只匹配你想要的結(jié)果,必備參數(shù) 232 -i:表示不區(qū)分大小寫; 233 -E:<====> grep -E=egrep 234 -n:打印行號 235 --color=auto 給匹配到的字符串加顏色(不是正行) 236 -a: 在二進制文件中,以文本文件的方式搜索數(shù)據(jù); 237 -c: 計算找到‘搜索字符串’的次數(shù) 238 提示:-i -v為常用參數(shù) 239 -A: After的意思,顯示匹配字符串及其后n行的數(shù)據(jù) 240 -B: before的意思,顯示匹配字符串及其前n行的數(shù)據(jù) 241 -C: 顯示匹配字符串及其前后各num行 242 例1: 243 [root@server zhu]# grep 3306 /etc/services ? 244 mysql 3306/tcp # MySQL? 245 mysql 3306/udp # MySQL? 246 [root@server zhu]# grep --color=auto 3306 /etc/services ? 247 mysql 3306/tcp # MySQL? 248 mysql 3306/udp # MySQL? 249 linux三劍客 老三 250? 251? 252 參數(shù)介紹: 253 -B:除了顯示匹配的一行之外,并顯示改行之前的num行 254 例: 255 [root@server ~]# grep 30 -B 10 test.txt ? 256 20 257 21 258 22 259 23 260 24 261 25 262 26 263 27 264 28 265 29 266 30 267 -A:除了顯示匹配的一行之外,并顯示該行之后的num行 268 例2: 269 [root@server ~]# grep 20 -A 10 test.txt ? 270 20 271 21 272 22 273 23 274 24 275 25 276 26 277 27 278 28 279 29 280 30 281? 282 -C:除了顯示匹配的一行之外,并顯示改行之前后各num行 283 例: 284 [root@server ~]# grep 25 -C 5 test.txt ? 285 20 286 21 287 22 288 23 289 24 290 25 291 26 292 27 293 28 294 29 295 30 296 grep "string" -B 10 297? 298 例:文件如下,過濾文件中的空行 299 [root@server ~]# cat oldboy.txt
300 oldboy 301 302 oldooboy 303 304 oldboooytxt 305 方法1: 306 [root@server ~]# grep -v "^$" oldboy.txt //這種方法最佳? 307 oldboy 308 oldooboy 309 oldboooytxt 310 [root@server ~]#? 311? 312 方法2: 313 [root@server ~]# grep "." oldboy.txt ? 314 oldboy 315 oldooboy 316 oldboooytxt 317 [root@server ~]# 318 方法3: 319 [root@server ~]# sed '/^$/d' oldboy.txt ? 320 oldboy 321 oldooboy 322 oldboooytxt 323 [root@server ~]# 324 方法4: 325 [root@server ~]# awk '/^[^$]/' oldboy.txt ? 326 oldboy 327 oldooboy 328 oldboooytxt 329 [root@server ~]#? 330 ================================================================================================================== 331? 332? 333 (3)sed *****(strem editor) ==擅長取行、查找替換 334 sed -n 335 過濾:sed -n '/過濾的內(nèi)容/處理的命令' 文件 336 -n:取消sed的默認(rèn)輸出 337 -i:改變文件內(nèi)容 338 “=”:等號表示行號 339 處理的命令:p print打印,d delete刪除 340? 341 sed -n '20,30p' test.txt 342 linux三劍客 老二 343 例1: 344 [root@server data]# cat test.txt 345 test 346 liyao 347 oldboy 348 [root@server data]# sed -n '/oldboy/p' test.txt ==>等價于grep "oldboy" test.txt? 349 oldboy 350 [root@server data]# sed '/oldboy/d' test.txt ==>等價于 head -2 test.txt ==>等價于grep -v "oldboy" test.txt? 351 test 352 liyao 353 [root@server data]#? 354 sed替換:***** 355 例子2: 356 [root@server ~]# sed -i 's#zhurui#oldboy#g' test.txt ? 357 s常說的查找并替換,用一個字符串換成另外一個 358 g(global)與s聯(lián)合使用時,表示對當(dāng)前行全局匹配替換(與下一個g意義不同) 359 -i:修改文件內(nèi)容 360 "#"是分隔符,可以用/@=等替換; 361? 362 sed -r 's#(.*)#\1#g' +文件(oldboy.txt) //(.*)表示括號里的內(nèi)容可以通過\1可以取出來; 363 實例如下: 364 [root@server ~]# echo "oldboy oldgirl"|sed -r 's#(.*) (.*)#\1 \2#g' ? 365 oldboy oldgirl 366 [root@server ~]#? 367? 368 企業(yè)實例: 369 第一種方法: 370 [root@server ~]# ifconfig eth0|sed -n '2p'|sed -r 's#^.*dr:(.*) Bc.*$#\1#g' ? 371 192.168.1.11 372 [root@server ~]#? 373 第二種方法: 374 [root@server ~]# ifconfig eth0|sed -rn '2s#^.*dr:(.*) Bc.*$#\1#gp' ? 375 192.168.1.11 376 [root@server ~]#? 377? 378? 379 [root@server data]# sed -r 's#(zhu)#\1#g' oldboy.txt <====>sed -i 's#zhu#zhu#g' oldboy.txt? 380 zhu zhu 381 zhu1 zhu 382 zhu2 zhu 383? 384 (1)[root@server data]# find /root/data/ -type f -name "test.txt"|xargs sed -i 's#oldboy#oldgirl#g'? 385 (2)[root@server data]# find /root/data/ -type f -name "test.txt" -exec sed -i 's#oldboy#oldgirl#g' {} \;? 386 (3)[root@server data]# sed -i 's#oldgirl#oldboy#g' `find ./ -type f -name "test.txt"` //第三種方法優(yōu)勢更大點? 387? 388 例3: 389 awk sed的過濾:都是過濾以d開頭的目錄 390 [root@server ~]# ls -lF|awk '/^d/'? 391 drwxr-xr-x 2 root root 4096 12月 2 15:41 qq/ 392 drwxr-xr-x. 102 root root 4096 11月 27 16:57 test/ 393 drwxr-xr-x 7 root root 4096 12月 3 16:39 zhu/ 394? 395 [root@server ~]# ls -lF|sed -n '/^d/p'
396 drwxr-xr-x ? 2 root root ? 4096 12月 2 15:41 qq/ 397 drwxr-xr-x. 102 root root 4096 11月 27 16:57 test/ 398 drwxr-xr-x 7 root root 4096 12月 3 16:39 zhu/ 399 [root@server ~]#? 400? 401 [root@server ~]# ls -lF|grep '^d'? 402 drwxr-xr-x 2 root root 4096 12月 2 15:41 qq/ 403 drwxr-xr-x. 102 root root 4096 11月 27 16:57 test/ 404 drwxr-xr-x 7 root root 4096 12月 3 16:39 zhu/ 405? 406 例4:過濾Ip地址: 407 [root@server ~]# ifconfig eth0|sed -n '2p' //-n表示取消默認(rèn)輸出,2p表示取第2行? 408 inet addr:192.168.1.11 Bcast:192.168.1.255 Mask:255.255.255.0 409? 410? 411? 412? 413? 414 yum ==linux里包管理器,寶珠解決依賴問題; 415 例子:yum -y install tree -y 416 下載tree包,然后調(diào)用rpm命令安裝tree包 417 如果需要依賴包,幫你下載幫你提前安裝; 418 yum update -y ====等價于upgrade 419? 420 yum grouplist 里選包組, 然后yum groupinstall "包組" -y 421 yum search 關(guān)鍵字或yum search all:升級補丁 422? 423 yum remove tree -y <======千萬不要用 424? 425 rpm -ivh(安裝、顯示輸出、人類可讀展示) 426 rpm -ivh 包名.rpm(提前下載好) 427 最大問題,依賴包問題不好解決; 428 a---b---c---d 429 例: 430 [root@server oldboy]# rpm -qa tree //查詢本機已經(jīng)有無安裝tree包 -qa? 431 tree-1.5.3-3.el6.x86_64 432 [root@server oldboy]#? 433? 434 tree ==顯示目錄樹結(jié)構(gòu) 435 -L:顯示層數(shù) 436 -d:顯示目錄 437 例: 438 [root@server ~]# tree /root/zhu/ -Ld 1? 439 /root/zhu/ 440 ├── a 441 ├── b 442 ├── c 443 ├── d 444 └── e 445? 446? 447? 448 alias ==查看以及定義別名(外號、小名) 449 例子:alias rm='echo"rm can not be used,please use mv"' //保護系統(tǒng),禁止新手使用rm命令,使用mv命令; 450 別名永久生效位置:root用戶:[root@server etc]# vim /root/.bashrc? 451 所有用戶都生效:/etc/bashrc或/etc/profile定義 452 生效source /etc/profiles 453 unalias ==取消別名 454 seq sequence==seq序列 455 -s 制定序列的分割符 456 -w 457 history ==打印用戶操作的歷史記錄 458 ps -ef|grep ssh ==查看進程命令 459 ss/netstat -lntup/-tulp|grep ssh ==查看端口是否工作 460 查看配置好的Ip: 461 ifconfig 462 ip add 463 hostname 查看主機名(uname -n) 464 uname 打印系統(tǒng)信息 -r 內(nèi)核 -m:查看32位還是64位 -n主機名 465 whoami 查看當(dāng)前用戶 466 ##############################################################################################? 467 su 用戶角色切換 468 su - 用戶名:-參數(shù)切換用戶環(huán)境變量 469 實例: 470 [root@server tmp]# su - oldboy -c "touch a.txt" //表示在不切換用戶前提下,使用-c選項使得在不切換的賬號情況下,執(zhí)行操作? 471 [root@server tmp]# ls -l /home/oldboy/a.txt ? 472 -rw-r--r-- 1 oldboy incahome 0 Jan 2 22:50 /home/oldboy/a.txt 473 [root@server tmp]#? 474 參考文檔:http://oldboy.blog.51cto.com/2561410/1053606 475 ##############################################################################################? 476 getenforce 檢查selinux狀態(tài) 477 setenforce 設(shè)置SELINUX狀態(tài) 1啟用 0警告,不啟用 478 例: 479 方法1: 480 [root@server selinux]# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config? 481 [root@server selinux]# grep =disabled /etc/selinux/config? 482 SELINUX=disabled 483 [root@server selinux]# cat /etc/selinux/config? 484 方法2: 485 [root@server selinux]# getenforce 486 Enforcing 487 [root@server selinux]# setenforce 488 usage: setenforce [ Enforcing | Permissive | 1 | 0 ] 489 [root@server selinux]# setenforce 0 //關(guān)閉,警告
490 [root@server selinux]# getenforce
491 Permissive 492
493 runlevel: //查看用戶所在系統(tǒng)運行級別 494 init: 切換運行級別,后面接對應(yīng)級別的數(shù)字; 495 init 5 ==startx 切換桌面環(huán)境 496 chkconfig 設(shè)置開機自啟服務(wù) 497 chkconfig --list iptables 498
499 diff 比較,接兩個文件 500 vimdiff 高級比較,高亮顯示兩個文件內(nèi)容區(qū)別 501 例: 502 [root@server ssh]# diff sshd_config sshd_config20151129.bak
503
504 [root@server ssh]# vimdiff sshd_config sshd_config20151129.bak
505 ============================================================= 506 507 which:查找命令所在的路徑,搜索范圍來自全局環(huán)境PATH變量對應(yīng)的路徑; 508 509 whereis:查找相關(guān)信息 -b :查二進制命令 510 511 locate :從數(shù)據(jù)庫里查相關(guān)信息,新命令需提前updatedb更新數(shù)據(jù)庫 512
513 例: 514 [root@server ~]# whereis -b ifconfig
515 ifconfig: /sbin/ifconfig 516 find / -type f -name "mv"
517 find / -type f -name "useradd"
518 locate useradd 519 ####################################################################################################
520 history 顯示歷史記錄 521 history -c:清空所有的歷史記錄 522 history -d +多(#)行號:清空第#行;? 523 ####################################################################################################? 524 wget:下載的意思 wget http://url 525 [root@server yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
526 ? -O:指定文件改成什么什么樣子 527 --spider 爬蟲,檢查網(wǎng)站是不是好的,不會下載只會檢查 528 -T --timeout=seconds 超時時間 529 --tries=10 指定重試的次數(shù) 530 -q --quit 關(guān)閉輸出 531 wget --spider --force-html -i bookmarks.html 532 #################################################################################################### ? 2016/1/3號添加 ? 533 皇帝:root 534 visudo =======vim /etc/sudoers 編輯sudo配置文件(vi /etc/sudoers) -c 檢查語法 535 注意:配置用戶權(quán)限位置在配置文件98行位置(用98gg直接切換) 536? 537? 538 臣民: 539 sudo 調(diào)兵虎符,sudo配置文件授權(quán)之后,執(zhí)行命令時需要命令前帶sudo 540 sudo [參數(shù)選項] 命令 541 -l:必須登錄用戶下面,查看root給當(dāng)前用戶所分配的權(quán)限規(guī)則 542 例: 543 [oldboy@server ~]$ sudo -l 544 用戶 oldboy 可以在該主機上運行以下命令: 545 (ALL) /bin/touch, (ALL) /usr/sbin/useradd, (ALL) /bin/ls, (ALL) /bin/rm 546? 547? 548? 549? 550? 551? 552 ####################################################################################################? 553 ifup eth0:打開網(wǎng)卡 554 ifdown eth0:關(guān)閉網(wǎng)卡 555 df -h =====> //以可讀的形式查看磁盤掛載信息 <=====>等價于cat /proc/mounts 556 #####################################################################################################
557 df -i:查看掛載的磁盤inode情況 558 [root@server ~]# df -i
559 Filesystem Inodes IUsed IFree IUse% Mounted on 560 /dev/sda3 479552 59041 420511 13% / 561 tmpfs 71261 1 71260 1% /dev/shm 562 /dev/sda1 51200 38 51162 1% /boot 563 [root@server ~]#
564 #####################################################################################################
565
566
567
568
569 cat /proc/mount //設(shè)備掛載信息 570 fsck -A ======> 磁盤檢查(不要檢查好的磁盤),卸載的狀態(tài)檢查。 571
572 dmesg---內(nèi)核打印的錯誤信息,例如硬件故障警告; 573
574 [root@server profile.d]# crontab -l
575 [root@server profile.d]# cat /var/spool/cron/root //定時任務(wù)所在路徑 576 577 tar 打包具體參數(shù),見視頻 578 gzip/unzip zip壓縮解壓縮 579
580 cut 切割,簡單的取列命令 581 -d:指定分隔符 582 -f數(shù)字:表示取第幾列。-f3,6 583 -c按字符取; 584
585 wc 打印行號,字節(jié)數(shù) 586 -l:顯示一個文件有多少行 587 例子: 588
589 [root@server ~]# wc -l /etc/services
590 10774 /etc/services 591 [root@server ~]#
592
593 [root@server ~]# cat -n /etc/services|tail -1
594 10774 iqobject 48619/udp # iqobject
595
596 dumpe2fs - dump ext2/ext3/ext4 filesystem information 597
598 12月10號 599 chmod == change mode改變文件權(quán)限 600 方法 1:數(shù)字修改方法 601 chmod [數(shù)字組合] 文件名 602 r 4 603 w 2 604 x 1 605 - 0 606 例: rw-rw-r-x 代表數(shù)字權(quán)限655 607
608 方法2:字符權(quán)限修改方法 609 chmod [用戶類型] [+ | - | =] [權(quán)限字符] 文件名 610 rw-rw-r-x====>rwx--xr-x: 611 例:chmod u+x,g=x test.sh 612 613 umask默認(rèn)值為022; 614 查看umask值命令為:umask 615 修改umask: umask 051 616 例: 617 如果umask值位051,則創(chuàng)建文件后權(quán)限位為多少?如果umask值中有奇數(shù),奇數(shù)位有幾位對應(yīng)有幾個1,必須是先減去umask值,再加上對應(yīng)的幾個1。 618 答:666 666 619 - 051 - 051 620 ----------(錯誤) + 11 621 615 ---------(正確) 622 626 623
624
625 永久修改配置文件將配置信息填寫到/etc/profile中; 626 vim /etc/profile 627 12.14 628 修改用戶屬組 629 chown .adminuser /home/admins====chgrp adminuser /home/admins 630 chown 用戶 文件或目錄 <====僅僅授權(quán)用戶 631 chown :組 文件或目錄 <====僅僅授權(quán)用戶組 632 等同于"chgrp 組 文件或目錄"
633 chown 用戶:組 文件或目錄 <=====表示授權(quán)用戶和組。 634 強調(diào): 635 1)其中的冒號“:”可以用點好“.”替代。 636 2)要授權(quán)的用戶和組名,必須是Linux里實際存在的。 637? 638? 639 ##########################################################################? 640 刪除用戶的命令:userdel -r oldboy //將oldboy家目錄一起刪除 641 刪除用戶組的命令:groupdel incahome 642 useradd oldboy -u +(uid號/用戶名)-g + (gid號/組名) 643 userdel: 644 所涉及到的文件: 645 /etc/passwd--用戶賬號資料文件 646 /etc/shadow--用戶賬號資訊加密文件 647 /etc/group--用戶組資訊文件 648 useradd 添加用戶 -u uid -g 指定所屬組 -s 登錄SHELL -M 649 -c:設(shè)置備注信息 650 -u:設(shè)置UID號 651 -G:設(shè)置對于的屬組 652 -s:設(shè)置對應(yīng)的shell 653 -d:設(shè)置相應(yīng)的家目錄 654 -e:指定用戶過期時間 655 實例: 656 8 [root@server ~]# useradd -c "HandsomeBoy" -u 806 -G root,oldboy,sa -s /bin/sh -d /oldboy6 oldboy6
657 9 ##注釋
658 10 -c:設(shè)置備注信息 659 11 -u:設(shè)置UID號 660 12 -G:設(shè)置對于的屬組 661 13 -s:設(shè)置對應(yīng)的shell 662 14 -d:設(shè)置相應(yīng)的家目錄 663 15 ###成果如下
664 16 [root@server ~]# grep "oldboy6" /etc/passwd
665 17 oldboy6:x:806:806:HandsomeBoy:/oldboy6:/bin/sh 666 18 [root@server ~]# id oldboy6
667 19 uid=806(oldboy6) gid=806(oldboy6) groups=806(oldboy6),0(root),512(sa),513(oldboy) 668
669 例: 670 [root@server ~]# echo 123456|passwd --stdin oldboy? 671 更改用戶 oldboy 的密碼 。 672 passwd: 所有的身份驗證令牌已經(jīng)成功更新。 673 [root@server ~]# echo 123 >p.log
674 [root@server ~]# passwd --stdin oldboy <p.log
675 更改用戶 oldboy 的密碼 。 676 passwd: 所有的身份驗證令牌已經(jīng)成功更新。 677 [root@server ~]#
678
679 #########################################################################
680 usermod 用戶信息修改相關(guān)命令 681
682 -l (login_name):變更用戶login時的名稱為login_name,其余信息不變、 683 -L:凍結(jié)用戶密碼 684 -U:取消凍結(jié)用戶的密碼,使之恢復(fù)登錄。實際同樣是修改/etc/shadow的內(nèi)容 685 usermod 修改用戶 -u uid,-g 指定所屬組,-s登錄SHELL,-e 指定用戶過期時間 686 ##########################################################################
687 chage 查看及修改用戶密碼相關(guān)信息 688 -E,--expiredate過期時間,將賬號過期時間設(shè)為“過期時間”,日期寫法MM/DD/YY 689 -I,--inactive失效密碼 690 -l,--list 顯示賬號年齡信息 691 -m,--mindays 最小天數(shù) 692 -M,--maxdays 最大天數(shù) 693 -W,--warndays 警告天數(shù) 694 例: 695 [root@server ~]# chage -l oldboy
696 Last password change : Dec 31, 2015 697 Password expires : Feb 29, 2016 698 Password inactive : Mar 30, 2016 699 Account expires : never 700 Minimum number of days between password change : 7 701 Maximum number of days between password change : 60 702 Number of days of warning before password expires : 10 703 [root@server ~]# chage -m 8 -M 61 -W 11 -I 31 oldboy <====>等價于passwd -n 8 -x 61 -w 11 -i31 oldboy命令也可以實現(xiàn)同樣功能,知識參數(shù)的寫法不同
704 [root@server ~]# chage -l oldboy
705 Last password change : Dec 31, 2015 706 Password expires : Mar 01, 2016 707 Password inactive : Apr 01, 2016 708 Account expires : never 709 Minimum number of days between password change : 8 710 Maximum number of days between password change : 61 711 Number of days of warning before password expires : 11 712
713 #########################################################################
714 passwd --stdin 非交互式設(shè)置密碼 715
716
717 #########################################################################
718 lsattr 查看特殊屬性。 719 chattr 設(shè)置特殊屬性,例如: +i 不可變 720 例: 721 [root@server ~]# chattr +i /etc/passwd /etc/group /etc/shadow /etc/gshadow /etc/inittab ? 722 [root@server ~]# chattr -i /etc/passwd /etc/group /etc/shadow /etc/gshadow /etc/inittab //解除鎖定? 723 [root@server ~]# lsattr /etc/passwd /etc/group /etc/shadow /etc/gshadow /etc/inittab //查看文件鎖定狀態(tài)? 724 [root@server ~]# mv `which chattr` /opt/oldboy //防止黑客找到文件,可以將配置文件移動到其他地方? 725 ##########################################################################? 726 解析命令: 727
728 方法:反引號``或$() 等價于 729 tar zcvf etc-`date +%F`.tar.gz /etc/<========>tar zcf var-$(date +%F).tar.gz /var/ 730
731 ###########################################################################
732 2016年1月2號添加 733 who show who is logged on 734 w show who is logged on and what they are doing 735 whoami 查看當(dāng)前用戶 736 需要會的:id,w,who,last,lastlog 737 了解:users,groups,newgrp 738
739 #####################################################
740 tr命令 741 #方法5:擴展如何將ls -l命令中的權(quán)限字符轉(zhuǎn)換為八進制?? 742 22 [root@server ~]# ll /etc/hosts|cut -c 2-10|tr "rwx-" "4210"|awk -F "" '{print $1+$2+$3 $4+$5+$6 $7+$8+$9}'? 743 23 644 744 24 #知識點:1.tr字符替換的使用;2.cut -c截取字符;3.awk指定分隔符為空。? 745? 746 ############################################################################################? 747? 748? 749? 750? 751? 752? 753? 754? 755? 756? 757 ps 758 locate 759 whereis 760 export 761 netstat(ss) 762 ifconfig 763 source 764 ntpdate 765 less 按屏(空格,page up/page down) 或按行(回車)查看文件 766 more 按屏(空格)或按行(回車)查看文件(不能向上翻) 767 ======================================================================== 768 /var/log/messages 系統(tǒng)日志 769 /var/log/secure 系統(tǒng)安全日志 770 /var/spool/clientmqueue 郵件臨時目錄 771 /proc/interrupts 查看中斷文件 772 /etc/fstab 磁盤文件系統(tǒng)開機自動掛載文件 773 /etc/profile 全局的環(huán)境配置文件 774 ======================================================================== 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 絕對路徑:必須從/開始 798 相對路徑:沒有從/開始 799
800 快捷鍵: 801 TAB 命令、路徑補全 802 bash內(nèi)置命令:用help命令查看幫助 803 alias 804 bg 805 break 806 cd 807 continue 808 declare 809 echo 810 eval 811 exec 812 exit 813 export 814 fg 815 getopts 816 hash, 817 help, 818 history, 819 jobs, 820 kill, 821 let 822 local, 823 logout, 824 mapfile, 825 popd, 826 printf, 827 pushd, 828 pwd, 829 read, 830 readonly, 831 return, 832 set, 833 shift, 834 shopt, 835 source, 836 suspend, 837 test, 838 times, 839 trap, 840 true, 841 type, 842 typeset, 843 ulimit, 844 umask, 845 unalias, 846 unset, 847 848 849 850 851 852 853 特殊字符命令: 854 >或1> 重定向,會清除文件里所有以前數(shù)據(jù),增加新數(shù)據(jù); 855 >>或1>> 追加重定向,文件結(jié)尾加入內(nèi)容,不會刪除已有的文件內(nèi)容; 856 <0 輸入重定向; 857 <<0 追加輸入重定向; 858 2>錯誤重定向 859 2>>錯誤追加重定向 860 ============================================================== 861 1.標(biāo)準(zhǔn)輸入(stdin):代碼為0,使用<或<<數(shù)據(jù)流向從右向左 862 2.標(biāo)準(zhǔn)輸出(stdout): 代碼為1,使用>或>>數(shù)據(jù)流向從左向右 863 3.錯誤輸出(stderr):代碼為2,使用2>或2>>. 864
865 箭頭的指向就是數(shù)據(jù)的流向; 866 下面3種方法是等價的 867 /dev/null 空設(shè)備 黑洞 868 1) 1 >/dev/null 2 >/dev/null 869 2) ***** 1>/dev/null 2>&1 870 3) &>/dev/null 871? 872? 873 874 875 ================================================================== 876 通配符:(除了正則表達式以外的字符) 877 * 通配符,代表任意(0到多個)字符***** 878 ?通配符,代表任意1個字符 879 ; 連續(xù)不同命令的分隔符***** 880 # 配置文件注釋***** 881 \ 讓一個有意義的字符,脫掉馬甲。 882 ..上級目錄 883 . 當(dāng)前目錄 \.代表點號; 884 . 還代表隱藏文件 885 '' 單引號,不具有變量置換功能,輸出是所見即所得。 886 "" 雙引號,具有變量置換功能,解析變量后輸出。 887 ``:里面放命令,才會執(zhí)行,tab鍵上面的鍵,反引號,兩個``中間為命令,會先執(zhí)行,等價于$()。``===$() 888 | 管道(把前一個命令結(jié)果的輸出交給后一個程序繼續(xù)處理) 889 ~ 用戶的家目錄,針對root環(huán)境~就代表/root。 890 $ 變量前需要加的符號 891 / 路徑分隔符號 892 {} 生成字符或數(shù)字序列,類似seq,列舉的意思,一般搭配echo使用; 893 !+字母:調(diào)出最近一次以此字母開頭的命令并執(zhí)行; 894 例: 895 首先執(zhí)行 mkdir stu{001..100} 896 接著執(zhí)行!m ======>mkdir stu{001..100} 897 !!:表示使用最近一次操作的命令; 898 ! 邏輯運算中的“非”(not) 899 && 當(dāng)前一個指令執(zhí)行成功時,執(zhí)行后一個指令 900 || 當(dāng)前一個指令執(zhí)行失敗時,執(zhí)行后一個指令 901 >或1> 重定向,會清除文件里所有以前數(shù)據(jù),增加新數(shù)據(jù); 902 >>或1>> 追加重定向,文件結(jié)尾加入內(nèi)容,不會刪除已有的文件內(nèi)容; 903 <0 輸入重定向; 904 <<0 追加輸入重定向; 905 2>錯誤重定向 906 2>>錯誤追加重定向 907 cd -:表示回到所在目錄的上一級目錄; 908 例: 909 [root@server test]# pwd 910 /root/test 911 [root@server test]# cd /tmp/ 912 [root@server tmp]# cd - 913 /root/test 914 [root@server test]# pwd 915 /root/test 916 917 ===================================================================== 918 基礎(chǔ)正則表達式:一些特殊的符號 ,表示一些特殊的功能和作用 919 . 單個任意字符 920 * 重復(fù)前面任意0個或多個字符 921 .* 匹配任意字符 922 sed -i 's#(可以用正則匹配)#\1#g' oldboy.txt 923 把前面正則匹配的括號內(nèi)的結(jié)果,在后面用\1取出來操作。 924 ^$:表示空行 925 []:匹配指定范圍內(nèi)任意單個字符; 926 {n,m}:表示n-m次; 927 \:讓一個正則表達式有意義的字符脫掉馬甲; 928 ?:0或1個; 929 +:重復(fù)前面1或多次; 930 |:或 931 ():分組 932 [^]:表示取反 933 ^;表示以什么什么開頭,例如:^d:表示以d開頭的文件 934 $;表示以什么什么結(jié)尾,例如:/$:表示以/為結(jié)尾的,,oldboy$:以oldboy為結(jié)尾的 935 5.擴展的正則表達式:ERE(egrep或grep -E) 936 1)+ 重復(fù)一個或一個以上前面的字符。 937 例: 938 [root@server oldboy]# grep -Eo "go+d" oldboy.log
939 god 940 good 941 god 942 goood 943 2)? 匹配之前的項1次或者0次。 944 例: 945 [root@server oldboy]# grep -Eo "go?d" oldboy.log
946 god 947 god 948 gd 949 [root@server oldboy]# 950
951 [root@server oldboy]# grep -Eo "g?d" oldboy.log
952 d 953 d 954 d 955 d 956 d 957 d 958 d 959 d 960 d 961 d 962 gd 963 [root@server oldboy]# 964 3)| 用或的方式查找多個符合的字符串。 965 例: 966 [root@server oldboy]# grep -E "g?d|good" oldboy.log
967 I am oldboy teacher! 968 I like badminiton ball,billiard ball and chinese chess! 969 my blog is http://oldboy.blog.51cto.com. 970 my god , i am not oldboy,but OLDBOY! 971 good 972 god 973 goood 974 gd 975 4)() 找出“用戶組”字符串。 976 例: 977 [root@server oldboy]# grep -E "g(la|oo)d" oldboy.log
978 good 979 [root@server oldboy]# 980 981 ^;表示以什么什么開頭,例如:^d:表示以d開頭的文件 982 例: 983 [root@server etc]# ls -l|grep '^d' //匹配以"d"開頭的文件
984 drwxr-xr-x. 3 root root 4096 11月 25 02:44 abrt 985 drwxr-xr-x. 4 root root 4096 11月 25 02:46 acpi 986 drwxr-xr-x. 2 root root 4096 11月 25 02:46 alsa 987 drwxr-xr-x. 2 root root 4096 11月 25 02:44 alternatives 988 drwxr-x---. 3 root root 4096 11月 25 02:46 audisp 989 drwxr-x---. 3 root root 4096 11月 25 02:46 audit 990 drwxr-xr-x. 2 root root 4096 11月 25 02:46 bash_completion.d 991 drwxr-xr-x. 2 root root 4096 12月 2 22:06 blkid 992 drwxr-xr-x. 2 root root 4096 3月 10 2015 chkconfig.d 993 drwxr-xr-x. 2 root root 4096 11月 25 02:44 compat-openmpi-psm-x86_64 994 drwxr-xr-x. 2 root root 4096 11月 25 02:45 compat-openmpi-x86_64 995
996 $;表示以什么什么結(jié)尾,例如:/$:表示以/為結(jié)尾的,,oldboy$:以oldboy為結(jié)尾的 997 例: 998 [root@server etc]# ls -lF|grep "/$"
999 drwxr-xr-x. 3 root root 4096 11月 25 02:44 abrt/ 1000 drwxr-xr-x. 4 root root 4096 11月 25 02:46 acpi/ 1001 drwxr-xr-x. 2 root root 4096 11月 25 02:46 alsa/ 1002 drwxr-xr-x. 2 root root 4096 11月 25 02:44 alternatives/ 1003 drwxr-x---. 3 root root 4096 11月 25 02:46 audisp/ 1004 drwxr-x---. 3 root root 4096 11月 25 02:46 audit/ 1005 drwxr-xr-x. 2 root root 4096 11月 25 02:46 bash_completion.d/ 1006 ======================================================================== 1007 1008 1009 1010 1011 環(huán)境變量: 1012 PATH 系統(tǒng)路徑變量,執(zhí)行l(wèi)s,cp等非內(nèi)置命令時,系統(tǒng)會查找PATH里對應(yīng)的路徑是否有,如果沒有就報告找不到該命令; 1013 當(dāng)執(zhí)行which cp來查看命令所在路徑的時候,也是從PATH變量去搜索。 1014 1015 臨時修改 [root@server ~]# export PATH="/tmp:$PATH",永久修改前面臨時修改的命令放到/etc/profile下,使用source /etc/profile使得修改立刻生效。 1016 1017 1018 1019 1020 1021 1022 1023 1024 學(xué)習(xí)中遇到的命令: 1025 [root@server cron]# cat /etc/rc.local //開機啟動相當(dāng)于windowsn開始菜單中啟動選項 1026 1027 1028 [root@server ~]# /etc/init.d/iptables stop //關(guān)閉防火墻 1029 1030 [root@server ~]# yum -y install lrzsz //安裝windows<===>linux之間傳輸文件的工具rz 1031 1032 [root@server ~]# >/etc/udev/rules.d/70-persistent-net.rules //解決vm克隆虛擬機后網(wǎng)卡不能啟用 1033 1034 [root@server ~]#echo ">/etc/udev/rules.d/70-persistent-net.rules" >/etc/rc.local 1035 1036 [root@server ~]# cat /etc/redhat-release //查看版本 1037 CentOS release 6.7 (Final) 1038 [root@server ~]# uname -r //查看內(nèi)核 1039 2.6.32-573.el6.x86_64 1040 [root@server ~]# uname -m //32位還是64位1041 x86_64 1042 [root@server ~]# hostname //主機名 1043 server 1044 1045 [root@server selinux]# runlevel //查看運行級別 1046 N 3 1047 1048 [root@server ~]# find /root/data/ -type f -name "*.txt" -exec ls -l {} \; 1049 -rw-r--r--. 1 root root 7 Nov 27 07:05 /root/data/c/test.txt 1050 -rw-r--r--. 1 root root 0 Nov 25 23:42 /root/data/zhurui4.txt 1051 -rw-r--r--. 1 root root 7 Nov 27 07:05 /root/data/a/ddd/fff/test.txt 1052 -rw-r--r--. 1 root root 7 Nov 27 07:05 /root/data/a/test.txt 1053 -rw-r--r--. 1 root root 18 Nov 27 07:05 /root/data/test.txt 1054 1055 [root@server ~]# find /root/data/ -type f -name "*.txt"|xargs ls -l //找到的結(jié)果可以用任何方式去處理 1056 -rw-r--r--. 1 root root 7 Nov 27 07:05 /root/data/a/ddd/fff/test.txt 1057 -rw-r--r--. 1 root root 7 Nov 27 07:05 /root/data/a/test.txt 1058 -rw-r--r--. 1 root root 7 Nov 27 07:05 /root/data/c/test.txt 1059 -rw-r--r--. 1 root root 18 Nov 27 07:05 /root/data/test.txt 1060 -rw-r--r--. 1 root root 0 Nov 25 23:42 /root/data/zhurui4.txt 1061
1062
1063
1064
1065 [root@server ~]# echo $PATH
1066 /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin 1067 [root@server ~]# grep PATH /etc/profile 1068 case ":${PATH}:" in 1069 PATH=$PATH:$1 1070 PATH=$1:$PATH 1071 export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL 1072 [root@server ~]# export PATH="/tmp:$PATH" //臨時新增變量,重啟會失效 1073 [root@server ~]# echo $PATH 1074 /tmp:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin 1075 [root@server ~]# which oldboy 1076 /usr/bin/which: no oldboy in (/tmp:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin) 1077 [root@server ~]# touch /tmp/oldboy //新建命令 1078 [root@server ~]# chmod +x /tmp/oldboy //給命令執(zhí)行權(quán)限 1079 [root@server ~]# which oldboy 1080 /tmp/oldboy 1081 #PermitRootLogin yes //禁止管理員遠程連接 1082 1083 修改字符集: 1084 路徑:/etc/sysconfig/i18n 1085 [root@server ~]# sed -i 's#LANG="en_US.UTF-8"#LANG="zh_CN.UTF-8"#g' /etc/sysconfig/i18n 1086 [root@server ~]# . /etc/sysconfig/i18n ======= source /etc/sysconfig/i18n //使配置立即生效 1087 [root@server ~]# echo $LANG1088 zh_CN.UTF-8 1089 1090 時間同步任務(wù)計劃: 1091 [root@server ~]# /usr/sbin/ntpdate time.nist.gov //同步互聯(lián)網(wǎng)時間命令 1092 1093 [root@server ~]# echo "*/5 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>%1" >>/var/spool/cron/root //添加定時任務(wù) 1094 [root@server ~]# crontab -l 1095 */5 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>%1 1096 [root@server ~]# 1097 1098 修改顯示歷史記錄命令環(huán)境變量: 1099 export HISTSIZE=5 //修改默認(rèn)顯示歷史記錄的命令行 1100 export HISTFILESIZE=5 //控制.bash_history文件顯示行數(shù) 1101 [root@server ~]# cat ~/.bash_history? 1102 . /etc/sysconfig/i18n 1103 echo $LANG 1104 man cd 1105 history 1106 tree 1107 1108 交互給用戶生成密碼: 1109 useradd oldboy 1110 echo 123456|passwd --stdin oldboy 1111 1112 1113 修改遠程連接時間: 1114 export TMOUT=5 1115 echo "export TMOUT=5" >> /etc/profile 1116 tail -1 /etc/profile //查看最近修改/etc/profile配置文件 1117 source /etc/profile 1118 echo $TMOUT 1119 1120 文件描述符概念: 1121 1、表示形式為整數(shù)數(shù)字,一般使用(0-65535)范圍; 1122 2、進程使用的時候會占用文件描述符(標(biāo)識打開的文件) 1123 1124 查看默認(rèn)文件描述符: 1125 [root@server cron]# ulimit -n 1126 1024 1127 3、調(diào)整文件描述符 1128 [root@server cron]# ulimit -SHn 65535 //臨時修改 1129 [root@server cron]# echo '* - nofile 65535 ' >>/etc/security/limits.conf <===>echo "ulimit -SHn 65535" >>/etc/rc.local 1130 1131 內(nèi)核優(yōu)化配置: 1132 vim /etc/sysctl.conf //WEB服務(wù),iptables服務(wù)調(diào)優(yōu)配置文件 1133 sysctl -p //讓配置生效 1134 1135 [root@server ~]# > /etc/issue //隱藏linux軟件名及版本號 1136 [root@server ~]# > /etc/issue.net 1137 1138 鎖定系統(tǒng)配置文件,防止惡意修改 1139 [root@server ~]# chattr +i /etc/passwd /etc/group /etc/shadow /etc/gshadow /etc/inittab ? 1140 [root@server ~]# chattr -i /etc/passwd /etc/group /etc/shadow /etc/gshadow /etc/inittab //解除鎖定 1141 [root@server ~]# lsattr /etc/passwd /etc/group /etc/shadow /etc/gshadow /etc/inittab //查看文件鎖定狀態(tài) 1142 [root@server ~]# mv `which chattr` /opt/oldboy //防止黑客找到文件,可以將配置文件移動到其他地方 1143 1144 1145 1146 [root@server ~]# grep -v "nologin$" /etc/passwd //將不能登錄的賬號排除掉 1147 root:x:0:0:root:/root:/bin/bash 1148 sync:x:5:0:sync:/sbin:/bin/sync 1149 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown 1150 halt:x:7:0:halt:/sbin:/sbin/halt 1151 oldboy:x:500:500::/home/oldboy:/bin/bash 1152 oldgirl:x:501:501::/home/oldgirl:/bin/bash 1153 msn:x:502:502::/home/msn:/bin/bash 1154 1155 為grub菜單加密碼 1156 1157 [root@server ~]# /sbin/grub-md5-crypt 1158 Password: 1159 [root@server ~]# vim /etc/grub.conf //將生成的密碼填寫到如下配置文件中 1160 13 hiddenmenu 1161 密碼生成文件加到13-14行之間 1162 14 title CentOS 6 (2.6.32-573.el6.x86_64) 1163 1164 內(nèi)核優(yōu)化之禁PING 1165 1166 [root@server ~]# echo "net.ipv4.icmp_echo_ignore_all=1" >> /etc/sysctl.conf 1167 [root@server ~]# sysctl -p //讓配置生效 1168 1169 1170 配置Yum源配置文件路徑: 1171 [root@server ~]# cat /etc/yum.repos.d/CentOS-Base.repo 1172 1173 [root@server ~]# cd /etc/yum 1174 yum/ yum.conf yum.repos.d/ 1175 [root@server ~]# cd /etc/yum.repos.d/ 1176 [root@server yum.repos.d]# ls 1177 CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo 1178 CentOS-Debuginfo.repo CentOS-Media.repo 1179 [root@server yum.repos.d]# cp CentOS-Base.repo CentOS-Base.repo.20151201.bak //拷貝原有的centos-base-repo 1180 [root@server yum.repos.d]# ls 1181 CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo 1182 CentOS-Base.repo.20151201.bak CentOS-fasttrack.repo CentOS-Vault.repo 1183 [root@server yum.repos.d]# ls 1184 CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo 1185 CentOS-Base.repo.20151201.bak CentOS-fasttrack.repo CentOS-Vault.repo 1186 [root@server yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo //從阿里云下載yum源 1187 1188 setuid:如果命令有4755的權(quán)限,對應(yīng)關(guān)系為-rwsr-xr-x=====4755 1189 [root@server test]# find / -type f -perm 4755|xargs ls -l 1190 -rwsr-xr-x. 1 root root 77336 10月 15 2014 /bin/mount 1191 -rwsr-xr-x. 1 root root 38200 7月 24 01:55 /bin/ping 1192 -rwsr-xr-x. 1 root root 36488 7月 24 01:55 /bin/ping6 1193 -rwsr-xr-x. 1 root root 34904 10月 15 2014 /bin/su 1194 -rwsr-xr-x. 1 root root 53472 10月 15 2014 /bin/umount 1195 -rwsr-xr-x. 1 root root 10272 10月 15 2014 /sbin/pam_timestamp_check 1196 -rwsr-xr-x. 1 root root 34840 10月 15 2014 /sbin/unix_chkpwd 1197 -rwsr-xr-x. 1 root root 54496 2月 20 2015 /usr/bin/at 1198 -rwsr-xr-x. 1 root root 66352 4月 7 2015 /usr/bin/chage 1199 -rwsr-xr-x. 1 root root 51784 3月 30 2015 /usr/bin/crontab 1200 -rwsr-xr-x. 1 root root 71480 4月 7 2015 /usr/bin/gpasswd 1201 -rwsr-xr-x. 1 root root 36144 4月 7 2015 /usr/bin/newgrp 1202 1203 只有擁有s權(quán)限,則代表這個命令具有所屬用戶root的權(quán)限,不管什么用戶都可以執(zhí)行! 1204 1205 1206 1207 1208 1209 1210 1211 linux優(yōu)化; 1212 1、建立普通賬號,使用普通賬號登錄 1213 2、處理selinux 1214 3、處理防火墻 1215 4、精簡開機自啟動服務(wù):sshd,network,crond,rsyslog,sysstat 1216 5、linux最小化安全理念; 1217 1218 1219 1220 /boot/ /var/ /dev/ /lib/ /sbin/ /usr/ /tmp/ /mnt/ /etc/ /bin/ /opt/
17 總用量 4 18 drwxr-xr-x 2 root root 4096 2015-12-18 20:25 oldboydir 19 lrwxrwxrwx 1 root root 9 2015-12-18 21:03 oldboydir_soft_link -> oldboydir 20 21 mkdir ==創(chuàng)建目錄 22 -p:遞歸創(chuàng)建目錄 23 vim ==相當(dāng)于復(fù)雜的文檔編輯器 24 ===================================================================================================================================================================================================== 2016-12-22添加 date修改時間命令: date -s "2016/12/22 14:33" //修改時間后接著敲hwclock告訴bios立即生效 hwclock 25 echo "i am studying linux" >/>> oldboy.txt //后面跟一個大于號表示覆蓋,兩個大于號表示追加; 26 echo ==打印輸出內(nèi)容,配合“>”或“<<”可以為文件覆蓋及追加內(nèi)容; 27 -n:不換行輸出 28 -e:解析轉(zhuǎn)義字符,\t tab \n回車 \b退格 29 30 echo“ 31 boy 32 girl 33 ” >oldboy.txt 34 實例如下:(2015/12/22) 35 [test@server ~]$ echo "oldboy";echo "oldboy" 36 oldboy 37 oldboy 38 [test@server ~]$ 39 40 [test@server ~]$ echo -n "oldboy";echo "oldboy" //不換行輸出 41 oldboyoldboy 42 [test@server ~]$ 43 44 [test@server ~]$ echo -e "oldboy\toldgirl" 45 oldboy oldgirl 46 [test@server ~]$ 47 48 [test@server ~]$ echo -e "oldboy\noldgirl" 49 oldboy 50 oldgirl 51 [test@server ~]$ 52 ==================================================================== 53 cat ==查看文件內(nèi)容; 54 -n:顯示行號 55 特殊用法:增加多行內(nèi)容 56 [root@server data]# cat >/data/oldboy.txt<<EOF 57 I am studying linux. 58 EOF 59 cp ==copy 相當(dāng)于拷貝命令;例如:cp old.txt /tmp/ 60 cp -a/-r /etc/ /tmp 拷貝目錄/etc/到/tmp 61 -a:相當(dāng)于-pdr 62 -r:遞歸,用于復(fù)制目錄; 63 -p:保持屬性; 64 cp='cp -i' -i:表示提示確認(rèn)信息參數(shù) 65 例:從當(dāng)前目錄文件到另外目錄時,如果拷貝文件名相同,可使用/bin/、"\"取消是否覆蓋信息; 66 [root@server /]# cp /mnt/test.txt /tmp 67 cp: overwrite `/tmp/test.txt'? 68 [root@server /]# /bin/cp /mnt/test.txt /tmp //前面加/bin/可以取消是否覆蓋的提示信息; 69 [root@server /]# \cp /mnt/test.txt /tmp/ //前面加"/"可以取消是否覆蓋的提示信息; 70 mv ==移動目錄或文件,例如:mv /data /root 71 pwd ==查看當(dāng)前用戶所在目錄; 72 73 rm ==remove 刪除文件或者目錄 -f強制,-r刪除目錄; 74 生產(chǎn)場景盡量不要使用rm,如果非要用,一定要先cp等備份。 75 76 替代方法: 77 mv移動到一個臨時目錄,相當(dāng)于回收站; 78 find刪除 79 find *****刪除 80 find /root/data -type f -exec rm -f {} \; // -exec表示查找 81 find /root/data -type f|xargs rm -f 82 find 查找-type !表示取反的意思; 83 !:取反 84 -a:表示and 85 -o:(or)表示或者 86 -maxdepth +數(shù)字:表示查找的深度 87 -mtime:表示修改時間 88 例: 89 find /oldboy -maxdepth 1 -type d ! -name "oldboy" (其中-maxdepth跟tree -L 1可以這樣理解) 90 91 例:在-type f前面加"!",表示執(zhí)行命令時不查找以文件為結(jié)尾的文件; 92 [root@server ~]# find /root/data/ ! -type f -name "*.txt"|xargs ls -ld 93 94 使用find刪除例子1: 95 [root@server data]# find /root/data/ -type f 96 /root/data/zhurui.txt 97 /root/data/zhurui2.txt 98 /root/data/zhurui1.txt 99 [root@server data]# find /root/data/ -type f -exec rm -f {} \;
100 [root@server data]# ls
101 [root@server data]#
102
103 使用find刪除例子2: 104 [root@server data]# touch zhurui.txt zhurui1.txt zhurui2.txt
105 [root@server data]# ls
106 zhurui1.txt zhurui2.txt zhurui.txt 107 [root@server data]# find /root/data/ -type f
108 /root/data/zhurui.txt 109 /root/data/zhurui2.txt 110 /root/data/zhurui1.txt 111 [root@server data]# find /root/data/ -type f|xargs rm -f
112 [root@server data]# ls
113 [root@server data]#
114
115
116 find刪除保留一個特定文件,其余都刪掉; 117 [root@server data]# touch zhurui.txt zhurui1.txt zhurui2.txt zhurui3.txt zhurui4.txt
118 [root@server data]# ls
119 zhurui1.txt zhurui2.txt zhurui3.txt zhurui4.txt zhurui.txt 120 [root@server data]# find /root/data/ -name "zhurui4.txt"
121 /root/data/zhurui4.txt 122 [root@server data]# find /root/data/ -type f -name "zhurui4.txt"
123 /root/data/zhurui4.txt 124 [root@server data]# find /root/data/ -type f ! -name "zhurui4.txt"|xargs rm -f
125 [root@server data]# ls
126 zhurui4.txt 127 [root@server data]# 128
129 head ==頭部,取文件的前N行,默認(rèn)前10行,取前三行 -n 3 130 簡寫就是-3 131 例: 132 [root@server data]# head -n 2 test.txt
133 test 134 liyao 135 tail ==尾巴,取文件的最后N行,默認(rèn)最后10行,取最后三行 -n 3 136 簡寫就是-3 137
138 -f:跟蹤結(jié)尾 139 例: 140 tail -f /var/log/messages //跟蹤一個文件結(jié)尾的變化 141
142 舉例:打印20-30的數(shù)字 143 [root@server ~]# seq 100 >test1.txt //將1-100數(shù)字在test1.txt文件中列舉出來
144 [root@server ~]# head -30 test1.txt //取文件的前30行
145 [root@server ~]# head -30 test1.txt | tail -11 //首先取列舉出的數(shù)字前30行,接著取最后11行;
146 20 147 21 148 22 149 23 150 24 151 25 152 26 153 27 154 28 155 29 156 30 157
158 第二種方法: 159 [root@server ~]# sed -n '20,30p' test.txt
160 20 161 21 162 22 163 23 164 24 165 25 166 26 167 27 168 28 169 29 170 30 171
172 (1)awk 一門語言,過濾內(nèi)容(取列) 173 awk '{print $1}' 文件 //$1表示第一列,$2表示第二列....$NF(表示最后一列) 174 awk -F "分隔符號" '{print $1}' 文件 //$1表示第一列,$2表示第二列 175 $1表示第一列,$2表示第二列....$NF(表示最后一列)..$(NF-1)表示倒數(shù)第二列 176 $0表示整行 177 -F:awk多分隔符 178 深入淺出三劍客之a(chǎn)wk必殺技一例:http://oldboy.blog.51cto.com/2561410/950730 179 深入淺出linux三劍客之sed必殺技一例:http://oldboy.blog.51cto.com/2561410/949365 180
181 linux三劍客 老大 182 例: 183 [root@server test]# awk -F ":" '{print $1}' /etc/passwd
184 [root@server test]# awk -F ":" '{print $2}' /etc/passwd
185 [root@server test]# awk -F ":" '{print $1"="$2"="$3}' /etc/passwd
186 [root@server test]# awk -F ":" '{print $(NF-1)}' /etc/passwd //表示篩選倒數(shù)第二列
187
188 [root@server test]# awk '{if(NR<31 && NR>19) printf $1"\n"}' /root/test1.txt //"\n"表示回車 NR:代表行號 &&:代表and
189 20 190 21 191 22 192 23 193 24 194 25 195 26 196 27 197 28 198 29 199 30 200 201 [root@server test]# awk '{if(NR>19 && NR<31) printf $1"\n"}' /root/test1.txt 202 20 203 21 204 22 205 23 206 24 207 25 208 26 209 27 210 28 211 29 212 30 213? 214 例: 215 [root@server ~]# echo "I am oldboy,myqq is 24731701">> oldboy.txt? 216 [root@server ~]# cat oldboy.txt? 217 I am oldboy,myqq is 24731701 218 [root@server ~]# awk -F "[, ]" '{print $3" "$6}' oldboy.txt //光取第3跟第6列? 219 oldboy 24731701 220? 221 實例取IP地址:(2015/12/22號添加) 222 [root@server test]# ifconfig eth0|awk -F '[: ]+' 'NR==2 {print $4 }' //[方框中的內(nèi)容為目標(biāo)前后分隔符]? 223 192.168.1.11 224 [root@server test]# 225 ============================================================================================================== 226? 227? 228? 229 (2)grep ***** ==擅長過濾,過濾器,把想要的或者不想要的分離開。盡量使用雙引號(""); 230 -v:表示排除 231 -o:只匹配你想要的結(jié)果,必備參數(shù) 232 -i:表示不區(qū)分大小寫; 233 -E:<====> grep -E=egrep 234 -n:打印行號 235 --color=auto 給匹配到的字符串加顏色(不是正行) 236 -a: 在二進制文件中,以文本文件的方式搜索數(shù)據(jù); 237 -c: 計算找到‘搜索字符串’的次數(shù) 238 提示:-i -v為常用參數(shù) 239 -A: After的意思,顯示匹配字符串及其后n行的數(shù)據(jù) 240 -B: before的意思,顯示匹配字符串及其前n行的數(shù)據(jù) 241 -C: 顯示匹配字符串及其前后各num行 242 例1: 243 [root@server zhu]# grep 3306 /etc/services ? 244 mysql 3306/tcp # MySQL? 245 mysql 3306/udp # MySQL? 246 [root@server zhu]# grep --color=auto 3306 /etc/services ? 247 mysql 3306/tcp # MySQL? 248 mysql 3306/udp # MySQL? 249 linux三劍客 老三 250? 251? 252 參數(shù)介紹: 253 -B:除了顯示匹配的一行之外,并顯示改行之前的num行 254 例: 255 [root@server ~]# grep 30 -B 10 test.txt ? 256 20 257 21 258 22 259 23 260 24 261 25 262 26 263 27 264 28 265 29 266 30 267 -A:除了顯示匹配的一行之外,并顯示該行之后的num行 268 例2: 269 [root@server ~]# grep 20 -A 10 test.txt ? 270 20 271 21 272 22 273 23 274 24 275 25 276 26 277 27 278 28 279 29 280 30 281? 282 -C:除了顯示匹配的一行之外,并顯示改行之前后各num行 283 例: 284 [root@server ~]# grep 25 -C 5 test.txt ? 285 20 286 21 287 22 288 23 289 24 290 25 291 26 292 27 293 28 294 29 295 30 296 grep "string" -B 10 297? 298 例:文件如下,過濾文件中的空行 299 [root@server ~]# cat oldboy.txt
300 oldboy 301 302 oldooboy 303 304 oldboooytxt 305 方法1: 306 [root@server ~]# grep -v "^$" oldboy.txt //這種方法最佳? 307 oldboy 308 oldooboy 309 oldboooytxt 310 [root@server ~]#? 311? 312 方法2: 313 [root@server ~]# grep "." oldboy.txt ? 314 oldboy 315 oldooboy 316 oldboooytxt 317 [root@server ~]# 318 方法3: 319 [root@server ~]# sed '/^$/d' oldboy.txt ? 320 oldboy 321 oldooboy 322 oldboooytxt 323 [root@server ~]# 324 方法4: 325 [root@server ~]# awk '/^[^$]/' oldboy.txt ? 326 oldboy 327 oldooboy 328 oldboooytxt 329 [root@server ~]#? 330 ================================================================================================================== 331? 332? 333 (3)sed *****(strem editor) ==擅長取行、查找替換 334 sed -n 335 過濾:sed -n '/過濾的內(nèi)容/處理的命令' 文件 336 -n:取消sed的默認(rèn)輸出 337 -i:改變文件內(nèi)容 338 “=”:等號表示行號 339 處理的命令:p print打印,d delete刪除 340? 341 sed -n '20,30p' test.txt 342 linux三劍客 老二 343 例1: 344 [root@server data]# cat test.txt 345 test 346 liyao 347 oldboy 348 [root@server data]# sed -n '/oldboy/p' test.txt ==>等價于grep "oldboy" test.txt? 349 oldboy 350 [root@server data]# sed '/oldboy/d' test.txt ==>等價于 head -2 test.txt ==>等價于grep -v "oldboy" test.txt? 351 test 352 liyao 353 [root@server data]#? 354 sed替換:***** 355 例子2: 356 [root@server ~]# sed -i 's#zhurui#oldboy#g' test.txt ? 357 s常說的查找并替換,用一個字符串換成另外一個 358 g(global)與s聯(lián)合使用時,表示對當(dāng)前行全局匹配替換(與下一個g意義不同) 359 -i:修改文件內(nèi)容 360 "#"是分隔符,可以用/@=等替換; 361? 362 sed -r 's#(.*)#\1#g' +文件(oldboy.txt) //(.*)表示括號里的內(nèi)容可以通過\1可以取出來; 363 實例如下: 364 [root@server ~]# echo "oldboy oldgirl"|sed -r 's#(.*) (.*)#\1 \2#g' ? 365 oldboy oldgirl 366 [root@server ~]#? 367? 368 企業(yè)實例: 369 第一種方法: 370 [root@server ~]# ifconfig eth0|sed -n '2p'|sed -r 's#^.*dr:(.*) Bc.*$#\1#g' ? 371 192.168.1.11 372 [root@server ~]#? 373 第二種方法: 374 [root@server ~]# ifconfig eth0|sed -rn '2s#^.*dr:(.*) Bc.*$#\1#gp' ? 375 192.168.1.11 376 [root@server ~]#? 377? 378? 379 [root@server data]# sed -r 's#(zhu)#\1#g' oldboy.txt <====>sed -i 's#zhu#zhu#g' oldboy.txt? 380 zhu zhu 381 zhu1 zhu 382 zhu2 zhu 383? 384 (1)[root@server data]# find /root/data/ -type f -name "test.txt"|xargs sed -i 's#oldboy#oldgirl#g'? 385 (2)[root@server data]# find /root/data/ -type f -name "test.txt" -exec sed -i 's#oldboy#oldgirl#g' {} \;? 386 (3)[root@server data]# sed -i 's#oldgirl#oldboy#g' `find ./ -type f -name "test.txt"` //第三種方法優(yōu)勢更大點? 387? 388 例3: 389 awk sed的過濾:都是過濾以d開頭的目錄 390 [root@server ~]# ls -lF|awk '/^d/'? 391 drwxr-xr-x 2 root root 4096 12月 2 15:41 qq/ 392 drwxr-xr-x. 102 root root 4096 11月 27 16:57 test/ 393 drwxr-xr-x 7 root root 4096 12月 3 16:39 zhu/ 394? 395 [root@server ~]# ls -lF|sed -n '/^d/p'
396 drwxr-xr-x ? 2 root root ? 4096 12月 2 15:41 qq/ 397 drwxr-xr-x. 102 root root 4096 11月 27 16:57 test/ 398 drwxr-xr-x 7 root root 4096 12月 3 16:39 zhu/ 399 [root@server ~]#? 400? 401 [root@server ~]# ls -lF|grep '^d'? 402 drwxr-xr-x 2 root root 4096 12月 2 15:41 qq/ 403 drwxr-xr-x. 102 root root 4096 11月 27 16:57 test/ 404 drwxr-xr-x 7 root root 4096 12月 3 16:39 zhu/ 405? 406 例4:過濾Ip地址: 407 [root@server ~]# ifconfig eth0|sed -n '2p' //-n表示取消默認(rèn)輸出,2p表示取第2行? 408 inet addr:192.168.1.11 Bcast:192.168.1.255 Mask:255.255.255.0 409? 410? 411? 412? 413? 414 yum ==linux里包管理器,寶珠解決依賴問題; 415 例子:yum -y install tree -y 416 下載tree包,然后調(diào)用rpm命令安裝tree包 417 如果需要依賴包,幫你下載幫你提前安裝; 418 yum update -y ====等價于upgrade 419? 420 yum grouplist 里選包組, 然后yum groupinstall "包組" -y 421 yum search 關(guān)鍵字或yum search all:升級補丁 422? 423 yum remove tree -y <======千萬不要用 424? 425 rpm -ivh(安裝、顯示輸出、人類可讀展示) 426 rpm -ivh 包名.rpm(提前下載好) 427 最大問題,依賴包問題不好解決; 428 a---b---c---d 429 例: 430 [root@server oldboy]# rpm -qa tree //查詢本機已經(jīng)有無安裝tree包 -qa? 431 tree-1.5.3-3.el6.x86_64 432 [root@server oldboy]#? 433? 434 tree ==顯示目錄樹結(jié)構(gòu) 435 -L:顯示層數(shù) 436 -d:顯示目錄 437 例: 438 [root@server ~]# tree /root/zhu/ -Ld 1? 439 /root/zhu/ 440 ├── a 441 ├── b 442 ├── c 443 ├── d 444 └── e 445? 446? 447? 448 alias ==查看以及定義別名(外號、小名) 449 例子:alias rm='echo"rm can not be used,please use mv"' //保護系統(tǒng),禁止新手使用rm命令,使用mv命令; 450 別名永久生效位置:root用戶:[root@server etc]# vim /root/.bashrc? 451 所有用戶都生效:/etc/bashrc或/etc/profile定義 452 生效source /etc/profiles 453 unalias ==取消別名 454 seq sequence==seq序列 455 -s 制定序列的分割符 456 -w 457 history ==打印用戶操作的歷史記錄 458 ps -ef|grep ssh ==查看進程命令 459 ss/netstat -lntup/-tulp|grep ssh ==查看端口是否工作 460 查看配置好的Ip: 461 ifconfig 462 ip add 463 hostname 查看主機名(uname -n) 464 uname 打印系統(tǒng)信息 -r 內(nèi)核 -m:查看32位還是64位 -n主機名 465 whoami 查看當(dāng)前用戶 466 ##############################################################################################? 467 su 用戶角色切換 468 su - 用戶名:-參數(shù)切換用戶環(huán)境變量 469 實例: 470 [root@server tmp]# su - oldboy -c "touch a.txt" //表示在不切換用戶前提下,使用-c選項使得在不切換的賬號情況下,執(zhí)行操作? 471 [root@server tmp]# ls -l /home/oldboy/a.txt ? 472 -rw-r--r-- 1 oldboy incahome 0 Jan 2 22:50 /home/oldboy/a.txt 473 [root@server tmp]#? 474 參考文檔:http://oldboy.blog.51cto.com/2561410/1053606 475 ##############################################################################################? 476 getenforce 檢查selinux狀態(tài) 477 setenforce 設(shè)置SELINUX狀態(tài) 1啟用 0警告,不啟用 478 例: 479 方法1: 480 [root@server selinux]# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config? 481 [root@server selinux]# grep =disabled /etc/selinux/config? 482 SELINUX=disabled 483 [root@server selinux]# cat /etc/selinux/config? 484 方法2: 485 [root@server selinux]# getenforce 486 Enforcing 487 [root@server selinux]# setenforce 488 usage: setenforce [ Enforcing | Permissive | 1 | 0 ] 489 [root@server selinux]# setenforce 0 //關(guān)閉,警告
490 [root@server selinux]# getenforce
491 Permissive 492
493 runlevel: //查看用戶所在系統(tǒng)運行級別 494 init: 切換運行級別,后面接對應(yīng)級別的數(shù)字; 495 init 5 ==startx 切換桌面環(huán)境 496 chkconfig 設(shè)置開機自啟服務(wù) 497 chkconfig --list iptables 498
499 diff 比較,接兩個文件 500 vimdiff 高級比較,高亮顯示兩個文件內(nèi)容區(qū)別 501 例: 502 [root@server ssh]# diff sshd_config sshd_config20151129.bak
503
504 [root@server ssh]# vimdiff sshd_config sshd_config20151129.bak
505 ============================================================= 506 507 which:查找命令所在的路徑,搜索范圍來自全局環(huán)境PATH變量對應(yīng)的路徑; 508 509 whereis:查找相關(guān)信息 -b :查二進制命令 510 511 locate :從數(shù)據(jù)庫里查相關(guān)信息,新命令需提前updatedb更新數(shù)據(jù)庫 512
513 例: 514 [root@server ~]# whereis -b ifconfig
515 ifconfig: /sbin/ifconfig 516 find / -type f -name "mv"
517 find / -type f -name "useradd"
518 locate useradd 519 ####################################################################################################
520 history 顯示歷史記錄 521 history -c:清空所有的歷史記錄 522 history -d +多(#)行號:清空第#行;? 523 ####################################################################################################? 524 wget:下載的意思 wget http://url 525 [root@server yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
526 ? -O:指定文件改成什么什么樣子 527 --spider 爬蟲,檢查網(wǎng)站是不是好的,不會下載只會檢查 528 -T --timeout=seconds 超時時間 529 --tries=10 指定重試的次數(shù) 530 -q --quit 關(guān)閉輸出 531 wget --spider --force-html -i bookmarks.html 532 #################################################################################################### ? 2016/1/3號添加 ? 533 皇帝:root 534 visudo =======vim /etc/sudoers 編輯sudo配置文件(vi /etc/sudoers) -c 檢查語法 535 注意:配置用戶權(quán)限位置在配置文件98行位置(用98gg直接切換) 536? 537? 538 臣民: 539 sudo 調(diào)兵虎符,sudo配置文件授權(quán)之后,執(zhí)行命令時需要命令前帶sudo 540 sudo [參數(shù)選項] 命令 541 -l:必須登錄用戶下面,查看root給當(dāng)前用戶所分配的權(quán)限規(guī)則 542 例: 543 [oldboy@server ~]$ sudo -l 544 用戶 oldboy 可以在該主機上運行以下命令: 545 (ALL) /bin/touch, (ALL) /usr/sbin/useradd, (ALL) /bin/ls, (ALL) /bin/rm 546? 547? 548? 549? 550? 551? 552 ####################################################################################################? 553 ifup eth0:打開網(wǎng)卡 554 ifdown eth0:關(guān)閉網(wǎng)卡 555 df -h =====> //以可讀的形式查看磁盤掛載信息 <=====>等價于cat /proc/mounts 556 #####################################################################################################
557 df -i:查看掛載的磁盤inode情況 558 [root@server ~]# df -i
559 Filesystem Inodes IUsed IFree IUse% Mounted on 560 /dev/sda3 479552 59041 420511 13% / 561 tmpfs 71261 1 71260 1% /dev/shm 562 /dev/sda1 51200 38 51162 1% /boot 563 [root@server ~]#
564 #####################################################################################################
565
566
567
568
569 cat /proc/mount //設(shè)備掛載信息 570 fsck -A ======> 磁盤檢查(不要檢查好的磁盤),卸載的狀態(tài)檢查。 571
572 dmesg---內(nèi)核打印的錯誤信息,例如硬件故障警告; 573
574 [root@server profile.d]# crontab -l
575 [root@server profile.d]# cat /var/spool/cron/root //定時任務(wù)所在路徑 576 577 tar 打包具體參數(shù),見視頻 578 gzip/unzip zip壓縮解壓縮 579
580 cut 切割,簡單的取列命令 581 -d:指定分隔符 582 -f數(shù)字:表示取第幾列。-f3,6 583 -c按字符取; 584
585 wc 打印行號,字節(jié)數(shù) 586 -l:顯示一個文件有多少行 587 例子: 588
589 [root@server ~]# wc -l /etc/services
590 10774 /etc/services 591 [root@server ~]#
592
593 [root@server ~]# cat -n /etc/services|tail -1
594 10774 iqobject 48619/udp # iqobject
595
596 dumpe2fs - dump ext2/ext3/ext4 filesystem information 597
598 12月10號 599 chmod == change mode改變文件權(quán)限 600 方法 1:數(shù)字修改方法 601 chmod [數(shù)字組合] 文件名 602 r 4 603 w 2 604 x 1 605 - 0 606 例: rw-rw-r-x 代表數(shù)字權(quán)限655 607
608 方法2:字符權(quán)限修改方法 609 chmod [用戶類型] [+ | - | =] [權(quán)限字符] 文件名 610 rw-rw-r-x====>rwx--xr-x: 611 例:chmod u+x,g=x test.sh 612 613 umask默認(rèn)值為022; 614 查看umask值命令為:umask 615 修改umask: umask 051 616 例: 617 如果umask值位051,則創(chuàng)建文件后權(quán)限位為多少?如果umask值中有奇數(shù),奇數(shù)位有幾位對應(yīng)有幾個1,必須是先減去umask值,再加上對應(yīng)的幾個1。 618 答:666 666 619 - 051 - 051 620 ----------(錯誤) + 11 621 615 ---------(正確) 622 626 623
624
625 永久修改配置文件將配置信息填寫到/etc/profile中; 626 vim /etc/profile 627 12.14 628 修改用戶屬組 629 chown .adminuser /home/admins====chgrp adminuser /home/admins 630 chown 用戶 文件或目錄 <====僅僅授權(quán)用戶 631 chown :組 文件或目錄 <====僅僅授權(quán)用戶組 632 等同于"chgrp 組 文件或目錄"
633 chown 用戶:組 文件或目錄 <=====表示授權(quán)用戶和組。 634 強調(diào): 635 1)其中的冒號“:”可以用點好“.”替代。 636 2)要授權(quán)的用戶和組名,必須是Linux里實際存在的。 637? 638? 639 ##########################################################################? 640 刪除用戶的命令:userdel -r oldboy //將oldboy家目錄一起刪除 641 刪除用戶組的命令:groupdel incahome 642 useradd oldboy -u +(uid號/用戶名)-g + (gid號/組名) 643 userdel: 644 所涉及到的文件: 645 /etc/passwd--用戶賬號資料文件 646 /etc/shadow--用戶賬號資訊加密文件 647 /etc/group--用戶組資訊文件 648 useradd 添加用戶 -u uid -g 指定所屬組 -s 登錄SHELL -M 649 -c:設(shè)置備注信息 650 -u:設(shè)置UID號 651 -G:設(shè)置對于的屬組 652 -s:設(shè)置對應(yīng)的shell 653 -d:設(shè)置相應(yīng)的家目錄 654 -e:指定用戶過期時間 655 實例: 656 8 [root@server ~]# useradd -c "HandsomeBoy" -u 806 -G root,oldboy,sa -s /bin/sh -d /oldboy6 oldboy6
657 9 ##注釋
658 10 -c:設(shè)置備注信息 659 11 -u:設(shè)置UID號 660 12 -G:設(shè)置對于的屬組 661 13 -s:設(shè)置對應(yīng)的shell 662 14 -d:設(shè)置相應(yīng)的家目錄 663 15 ###成果如下
664 16 [root@server ~]# grep "oldboy6" /etc/passwd
665 17 oldboy6:x:806:806:HandsomeBoy:/oldboy6:/bin/sh 666 18 [root@server ~]# id oldboy6
667 19 uid=806(oldboy6) gid=806(oldboy6) groups=806(oldboy6),0(root),512(sa),513(oldboy) 668
669 例: 670 [root@server ~]# echo 123456|passwd --stdin oldboy? 671 更改用戶 oldboy 的密碼 。 672 passwd: 所有的身份驗證令牌已經(jīng)成功更新。 673 [root@server ~]# echo 123 >p.log
674 [root@server ~]# passwd --stdin oldboy <p.log
675 更改用戶 oldboy 的密碼 。 676 passwd: 所有的身份驗證令牌已經(jīng)成功更新。 677 [root@server ~]#
678
679 #########################################################################
680 usermod 用戶信息修改相關(guān)命令 681
682 -l (login_name):變更用戶login時的名稱為login_name,其余信息不變、 683 -L:凍結(jié)用戶密碼 684 -U:取消凍結(jié)用戶的密碼,使之恢復(fù)登錄。實際同樣是修改/etc/shadow的內(nèi)容 685 usermod 修改用戶 -u uid,-g 指定所屬組,-s登錄SHELL,-e 指定用戶過期時間 686 ##########################################################################
687 chage 查看及修改用戶密碼相關(guān)信息 688 -E,--expiredate過期時間,將賬號過期時間設(shè)為“過期時間”,日期寫法MM/DD/YY 689 -I,--inactive失效密碼 690 -l,--list 顯示賬號年齡信息 691 -m,--mindays 最小天數(shù) 692 -M,--maxdays 最大天數(shù) 693 -W,--warndays 警告天數(shù) 694 例: 695 [root@server ~]# chage -l oldboy
696 Last password change : Dec 31, 2015 697 Password expires : Feb 29, 2016 698 Password inactive : Mar 30, 2016 699 Account expires : never 700 Minimum number of days between password change : 7 701 Maximum number of days between password change : 60 702 Number of days of warning before password expires : 10 703 [root@server ~]# chage -m 8 -M 61 -W 11 -I 31 oldboy <====>等價于passwd -n 8 -x 61 -w 11 -i31 oldboy命令也可以實現(xiàn)同樣功能,知識參數(shù)的寫法不同
704 [root@server ~]# chage -l oldboy
705 Last password change : Dec 31, 2015 706 Password expires : Mar 01, 2016 707 Password inactive : Apr 01, 2016 708 Account expires : never 709 Minimum number of days between password change : 8 710 Maximum number of days between password change : 61 711 Number of days of warning before password expires : 11 712
713 #########################################################################
714 passwd --stdin 非交互式設(shè)置密碼 715
716
717 #########################################################################
718 lsattr 查看特殊屬性。 719 chattr 設(shè)置特殊屬性,例如: +i 不可變 720 例: 721 [root@server ~]# chattr +i /etc/passwd /etc/group /etc/shadow /etc/gshadow /etc/inittab ? 722 [root@server ~]# chattr -i /etc/passwd /etc/group /etc/shadow /etc/gshadow /etc/inittab //解除鎖定? 723 [root@server ~]# lsattr /etc/passwd /etc/group /etc/shadow /etc/gshadow /etc/inittab //查看文件鎖定狀態(tài)? 724 [root@server ~]# mv `which chattr` /opt/oldboy //防止黑客找到文件,可以將配置文件移動到其他地方? 725 ##########################################################################? 726 解析命令: 727
728 方法:反引號``或$() 等價于 729 tar zcvf etc-`date +%F`.tar.gz /etc/<========>tar zcf var-$(date +%F).tar.gz /var/ 730
731 ###########################################################################
732 2016年1月2號添加 733 who show who is logged on 734 w show who is logged on and what they are doing 735 whoami 查看當(dāng)前用戶 736 需要會的:id,w,who,last,lastlog 737 了解:users,groups,newgrp 738
739 #####################################################
740 tr命令 741 #方法5:擴展如何將ls -l命令中的權(quán)限字符轉(zhuǎn)換為八進制?? 742 22 [root@server ~]# ll /etc/hosts|cut -c 2-10|tr "rwx-" "4210"|awk -F "" '{print $1+$2+$3 $4+$5+$6 $7+$8+$9}'? 743 23 644 744 24 #知識點:1.tr字符替換的使用;2.cut -c截取字符;3.awk指定分隔符為空。? 745? 746 ############################################################################################? 747? 748? 749? 750? 751? 752? 753? 754? 755? 756? 757 ps 758 locate 759 whereis 760 export 761 netstat(ss) 762 ifconfig 763 source 764 ntpdate 765 less 按屏(空格,page up/page down) 或按行(回車)查看文件 766 more 按屏(空格)或按行(回車)查看文件(不能向上翻) 767 ======================================================================== 768 /var/log/messages 系統(tǒng)日志 769 /var/log/secure 系統(tǒng)安全日志 770 /var/spool/clientmqueue 郵件臨時目錄 771 /proc/interrupts 查看中斷文件 772 /etc/fstab 磁盤文件系統(tǒng)開機自動掛載文件 773 /etc/profile 全局的環(huán)境配置文件 774 ======================================================================== 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 絕對路徑:必須從/開始 798 相對路徑:沒有從/開始 799
800 快捷鍵: 801 TAB 命令、路徑補全 802 bash內(nèi)置命令:用help命令查看幫助 803 alias 804 bg 805 break 806 cd 807 continue 808 declare 809 echo 810 eval 811 exec 812 exit 813 export 814 fg 815 getopts 816 hash, 817 help, 818 history, 819 jobs, 820 kill, 821 let 822 local, 823 logout, 824 mapfile, 825 popd, 826 printf, 827 pushd, 828 pwd, 829 read, 830 readonly, 831 return, 832 set, 833 shift, 834 shopt, 835 source, 836 suspend, 837 test, 838 times, 839 trap, 840 true, 841 type, 842 typeset, 843 ulimit, 844 umask, 845 unalias, 846 unset, 847 848 849 850 851 852 853 特殊字符命令: 854 >或1> 重定向,會清除文件里所有以前數(shù)據(jù),增加新數(shù)據(jù); 855 >>或1>> 追加重定向,文件結(jié)尾加入內(nèi)容,不會刪除已有的文件內(nèi)容; 856 <0 輸入重定向; 857 <<0 追加輸入重定向; 858 2>錯誤重定向 859 2>>錯誤追加重定向 860 ============================================================== 861 1.標(biāo)準(zhǔn)輸入(stdin):代碼為0,使用<或<<數(shù)據(jù)流向從右向左 862 2.標(biāo)準(zhǔn)輸出(stdout): 代碼為1,使用>或>>數(shù)據(jù)流向從左向右 863 3.錯誤輸出(stderr):代碼為2,使用2>或2>>. 864
865 箭頭的指向就是數(shù)據(jù)的流向; 866 下面3種方法是等價的 867 /dev/null 空設(shè)備 黑洞 868 1) 1 >/dev/null 2 >/dev/null 869 2) ***** 1>/dev/null 2>&1 870 3) &>/dev/null 871? 872? 873 874 875 ================================================================== 876 通配符:(除了正則表達式以外的字符) 877 * 通配符,代表任意(0到多個)字符***** 878 ?通配符,代表任意1個字符 879 ; 連續(xù)不同命令的分隔符***** 880 # 配置文件注釋***** 881 \ 讓一個有意義的字符,脫掉馬甲。 882 ..上級目錄 883 . 當(dāng)前目錄 \.代表點號; 884 . 還代表隱藏文件 885 '' 單引號,不具有變量置換功能,輸出是所見即所得。 886 "" 雙引號,具有變量置換功能,解析變量后輸出。 887 ``:里面放命令,才會執(zhí)行,tab鍵上面的鍵,反引號,兩個``中間為命令,會先執(zhí)行,等價于$()。``===$() 888 | 管道(把前一個命令結(jié)果的輸出交給后一個程序繼續(xù)處理) 889 ~ 用戶的家目錄,針對root環(huán)境~就代表/root。 890 $ 變量前需要加的符號 891 / 路徑分隔符號 892 {} 生成字符或數(shù)字序列,類似seq,列舉的意思,一般搭配echo使用; 893 !+字母:調(diào)出最近一次以此字母開頭的命令并執(zhí)行; 894 例: 895 首先執(zhí)行 mkdir stu{001..100} 896 接著執(zhí)行!m ======>mkdir stu{001..100} 897 !!:表示使用最近一次操作的命令; 898 ! 邏輯運算中的“非”(not) 899 && 當(dāng)前一個指令執(zhí)行成功時,執(zhí)行后一個指令 900 || 當(dāng)前一個指令執(zhí)行失敗時,執(zhí)行后一個指令 901 >或1> 重定向,會清除文件里所有以前數(shù)據(jù),增加新數(shù)據(jù); 902 >>或1>> 追加重定向,文件結(jié)尾加入內(nèi)容,不會刪除已有的文件內(nèi)容; 903 <0 輸入重定向; 904 <<0 追加輸入重定向; 905 2>錯誤重定向 906 2>>錯誤追加重定向 907 cd -:表示回到所在目錄的上一級目錄; 908 例: 909 [root@server test]# pwd 910 /root/test 911 [root@server test]# cd /tmp/ 912 [root@server tmp]# cd - 913 /root/test 914 [root@server test]# pwd 915 /root/test 916 917 ===================================================================== 918 基礎(chǔ)正則表達式:一些特殊的符號 ,表示一些特殊的功能和作用 919 . 單個任意字符 920 * 重復(fù)前面任意0個或多個字符 921 .* 匹配任意字符 922 sed -i 's#(可以用正則匹配)#\1#g' oldboy.txt 923 把前面正則匹配的括號內(nèi)的結(jié)果,在后面用\1取出來操作。 924 ^$:表示空行 925 []:匹配指定范圍內(nèi)任意單個字符; 926 {n,m}:表示n-m次; 927 \:讓一個正則表達式有意義的字符脫掉馬甲; 928 ?:0或1個; 929 +:重復(fù)前面1或多次; 930 |:或 931 ():分組 932 [^]:表示取反 933 ^;表示以什么什么開頭,例如:^d:表示以d開頭的文件 934 $;表示以什么什么結(jié)尾,例如:/$:表示以/為結(jié)尾的,,oldboy$:以oldboy為結(jié)尾的 935 5.擴展的正則表達式:ERE(egrep或grep -E) 936 1)+ 重復(fù)一個或一個以上前面的字符。 937 例: 938 [root@server oldboy]# grep -Eo "go+d" oldboy.log
939 god 940 good 941 god 942 goood 943 2)? 匹配之前的項1次或者0次。 944 例: 945 [root@server oldboy]# grep -Eo "go?d" oldboy.log
946 god 947 god 948 gd 949 [root@server oldboy]# 950
951 [root@server oldboy]# grep -Eo "g?d" oldboy.log
952 d 953 d 954 d 955 d 956 d 957 d 958 d 959 d 960 d 961 d 962 gd 963 [root@server oldboy]# 964 3)| 用或的方式查找多個符合的字符串。 965 例: 966 [root@server oldboy]# grep -E "g?d|good" oldboy.log
967 I am oldboy teacher! 968 I like badminiton ball,billiard ball and chinese chess! 969 my blog is http://oldboy.blog.51cto.com. 970 my god , i am not oldboy,but OLDBOY! 971 good 972 god 973 goood 974 gd 975 4)() 找出“用戶組”字符串。 976 例: 977 [root@server oldboy]# grep -E "g(la|oo)d" oldboy.log
978 good 979 [root@server oldboy]# 980 981 ^;表示以什么什么開頭,例如:^d:表示以d開頭的文件 982 例: 983 [root@server etc]# ls -l|grep '^d' //匹配以"d"開頭的文件
984 drwxr-xr-x. 3 root root 4096 11月 25 02:44 abrt 985 drwxr-xr-x. 4 root root 4096 11月 25 02:46 acpi 986 drwxr-xr-x. 2 root root 4096 11月 25 02:46 alsa 987 drwxr-xr-x. 2 root root 4096 11月 25 02:44 alternatives 988 drwxr-x---. 3 root root 4096 11月 25 02:46 audisp 989 drwxr-x---. 3 root root 4096 11月 25 02:46 audit 990 drwxr-xr-x. 2 root root 4096 11月 25 02:46 bash_completion.d 991 drwxr-xr-x. 2 root root 4096 12月 2 22:06 blkid 992 drwxr-xr-x. 2 root root 4096 3月 10 2015 chkconfig.d 993 drwxr-xr-x. 2 root root 4096 11月 25 02:44 compat-openmpi-psm-x86_64 994 drwxr-xr-x. 2 root root 4096 11月 25 02:45 compat-openmpi-x86_64 995
996 $;表示以什么什么結(jié)尾,例如:/$:表示以/為結(jié)尾的,,oldboy$:以oldboy為結(jié)尾的 997 例: 998 [root@server etc]# ls -lF|grep "/$"
999 drwxr-xr-x. 3 root root 4096 11月 25 02:44 abrt/ 1000 drwxr-xr-x. 4 root root 4096 11月 25 02:46 acpi/ 1001 drwxr-xr-x. 2 root root 4096 11月 25 02:46 alsa/ 1002 drwxr-xr-x. 2 root root 4096 11月 25 02:44 alternatives/ 1003 drwxr-x---. 3 root root 4096 11月 25 02:46 audisp/ 1004 drwxr-x---. 3 root root 4096 11月 25 02:46 audit/ 1005 drwxr-xr-x. 2 root root 4096 11月 25 02:46 bash_completion.d/ 1006 ======================================================================== 1007 1008 1009 1010 1011 環(huán)境變量: 1012 PATH 系統(tǒng)路徑變量,執(zhí)行l(wèi)s,cp等非內(nèi)置命令時,系統(tǒng)會查找PATH里對應(yīng)的路徑是否有,如果沒有就報告找不到該命令; 1013 當(dāng)執(zhí)行which cp來查看命令所在路徑的時候,也是從PATH變量去搜索。 1014 1015 臨時修改 [root@server ~]# export PATH="/tmp:$PATH",永久修改前面臨時修改的命令放到/etc/profile下,使用source /etc/profile使得修改立刻生效。 1016 1017 1018 1019 1020 1021 1022 1023 1024 學(xué)習(xí)中遇到的命令: 1025 [root@server cron]# cat /etc/rc.local //開機啟動相當(dāng)于windowsn開始菜單中啟動選項 1026 1027 1028 [root@server ~]# /etc/init.d/iptables stop //關(guān)閉防火墻 1029 1030 [root@server ~]# yum -y install lrzsz //安裝windows<===>linux之間傳輸文件的工具rz 1031 1032 [root@server ~]# >/etc/udev/rules.d/70-persistent-net.rules //解決vm克隆虛擬機后網(wǎng)卡不能啟用 1033 1034 [root@server ~]#echo ">/etc/udev/rules.d/70-persistent-net.rules" >/etc/rc.local 1035 1036 [root@server ~]# cat /etc/redhat-release //查看版本 1037 CentOS release 6.7 (Final) 1038 [root@server ~]# uname -r //查看內(nèi)核 1039 2.6.32-573.el6.x86_64 1040 [root@server ~]# uname -m //32位還是64位1041 x86_64 1042 [root@server ~]# hostname //主機名 1043 server 1044 1045 [root@server selinux]# runlevel //查看運行級別 1046 N 3 1047 1048 [root@server ~]# find /root/data/ -type f -name "*.txt" -exec ls -l {} \; 1049 -rw-r--r--. 1 root root 7 Nov 27 07:05 /root/data/c/test.txt 1050 -rw-r--r--. 1 root root 0 Nov 25 23:42 /root/data/zhurui4.txt 1051 -rw-r--r--. 1 root root 7 Nov 27 07:05 /root/data/a/ddd/fff/test.txt 1052 -rw-r--r--. 1 root root 7 Nov 27 07:05 /root/data/a/test.txt 1053 -rw-r--r--. 1 root root 18 Nov 27 07:05 /root/data/test.txt 1054 1055 [root@server ~]# find /root/data/ -type f -name "*.txt"|xargs ls -l //找到的結(jié)果可以用任何方式去處理 1056 -rw-r--r--. 1 root root 7 Nov 27 07:05 /root/data/a/ddd/fff/test.txt 1057 -rw-r--r--. 1 root root 7 Nov 27 07:05 /root/data/a/test.txt 1058 -rw-r--r--. 1 root root 7 Nov 27 07:05 /root/data/c/test.txt 1059 -rw-r--r--. 1 root root 18 Nov 27 07:05 /root/data/test.txt 1060 -rw-r--r--. 1 root root 0 Nov 25 23:42 /root/data/zhurui4.txt 1061
1062
1063
1064
1065 [root@server ~]# echo $PATH
1066 /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin 1067 [root@server ~]# grep PATH /etc/profile 1068 case ":${PATH}:" in 1069 PATH=$PATH:$1 1070 PATH=$1:$PATH 1071 export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL 1072 [root@server ~]# export PATH="/tmp:$PATH" //臨時新增變量,重啟會失效 1073 [root@server ~]# echo $PATH 1074 /tmp:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin 1075 [root@server ~]# which oldboy 1076 /usr/bin/which: no oldboy in (/tmp:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin) 1077 [root@server ~]# touch /tmp/oldboy //新建命令 1078 [root@server ~]# chmod +x /tmp/oldboy //給命令執(zhí)行權(quán)限 1079 [root@server ~]# which oldboy 1080 /tmp/oldboy 1081 #PermitRootLogin yes //禁止管理員遠程連接 1082 1083 修改字符集: 1084 路徑:/etc/sysconfig/i18n 1085 [root@server ~]# sed -i 's#LANG="en_US.UTF-8"#LANG="zh_CN.UTF-8"#g' /etc/sysconfig/i18n 1086 [root@server ~]# . /etc/sysconfig/i18n ======= source /etc/sysconfig/i18n //使配置立即生效 1087 [root@server ~]# echo $LANG1088 zh_CN.UTF-8 1089 1090 時間同步任務(wù)計劃: 1091 [root@server ~]# /usr/sbin/ntpdate time.nist.gov //同步互聯(lián)網(wǎng)時間命令 1092 1093 [root@server ~]# echo "*/5 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>%1" >>/var/spool/cron/root //添加定時任務(wù) 1094 [root@server ~]# crontab -l 1095 */5 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>%1 1096 [root@server ~]# 1097 1098 修改顯示歷史記錄命令環(huán)境變量: 1099 export HISTSIZE=5 //修改默認(rèn)顯示歷史記錄的命令行 1100 export HISTFILESIZE=5 //控制.bash_history文件顯示行數(shù) 1101 [root@server ~]# cat ~/.bash_history? 1102 . /etc/sysconfig/i18n 1103 echo $LANG 1104 man cd 1105 history 1106 tree 1107 1108 交互給用戶生成密碼: 1109 useradd oldboy 1110 echo 123456|passwd --stdin oldboy 1111 1112 1113 修改遠程連接時間: 1114 export TMOUT=5 1115 echo "export TMOUT=5" >> /etc/profile 1116 tail -1 /etc/profile //查看最近修改/etc/profile配置文件 1117 source /etc/profile 1118 echo $TMOUT 1119 1120 文件描述符概念: 1121 1、表示形式為整數(shù)數(shù)字,一般使用(0-65535)范圍; 1122 2、進程使用的時候會占用文件描述符(標(biāo)識打開的文件) 1123 1124 查看默認(rèn)文件描述符: 1125 [root@server cron]# ulimit -n 1126 1024 1127 3、調(diào)整文件描述符 1128 [root@server cron]# ulimit -SHn 65535 //臨時修改 1129 [root@server cron]# echo '* - nofile 65535 ' >>/etc/security/limits.conf <===>echo "ulimit -SHn 65535" >>/etc/rc.local 1130 1131 內(nèi)核優(yōu)化配置: 1132 vim /etc/sysctl.conf //WEB服務(wù),iptables服務(wù)調(diào)優(yōu)配置文件 1133 sysctl -p //讓配置生效 1134 1135 [root@server ~]# > /etc/issue //隱藏linux軟件名及版本號 1136 [root@server ~]# > /etc/issue.net 1137 1138 鎖定系統(tǒng)配置文件,防止惡意修改 1139 [root@server ~]# chattr +i /etc/passwd /etc/group /etc/shadow /etc/gshadow /etc/inittab ? 1140 [root@server ~]# chattr -i /etc/passwd /etc/group /etc/shadow /etc/gshadow /etc/inittab //解除鎖定 1141 [root@server ~]# lsattr /etc/passwd /etc/group /etc/shadow /etc/gshadow /etc/inittab //查看文件鎖定狀態(tài) 1142 [root@server ~]# mv `which chattr` /opt/oldboy //防止黑客找到文件,可以將配置文件移動到其他地方 1143 1144 1145 1146 [root@server ~]# grep -v "nologin$" /etc/passwd //將不能登錄的賬號排除掉 1147 root:x:0:0:root:/root:/bin/bash 1148 sync:x:5:0:sync:/sbin:/bin/sync 1149 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown 1150 halt:x:7:0:halt:/sbin:/sbin/halt 1151 oldboy:x:500:500::/home/oldboy:/bin/bash 1152 oldgirl:x:501:501::/home/oldgirl:/bin/bash 1153 msn:x:502:502::/home/msn:/bin/bash 1154 1155 為grub菜單加密碼 1156 1157 [root@server ~]# /sbin/grub-md5-crypt 1158 Password: 1159 [root@server ~]# vim /etc/grub.conf //將生成的密碼填寫到如下配置文件中 1160 13 hiddenmenu 1161 密碼生成文件加到13-14行之間 1162 14 title CentOS 6 (2.6.32-573.el6.x86_64) 1163 1164 內(nèi)核優(yōu)化之禁PING 1165 1166 [root@server ~]# echo "net.ipv4.icmp_echo_ignore_all=1" >> /etc/sysctl.conf 1167 [root@server ~]# sysctl -p //讓配置生效 1168 1169 1170 配置Yum源配置文件路徑: 1171 [root@server ~]# cat /etc/yum.repos.d/CentOS-Base.repo 1172 1173 [root@server ~]# cd /etc/yum 1174 yum/ yum.conf yum.repos.d/ 1175 [root@server ~]# cd /etc/yum.repos.d/ 1176 [root@server yum.repos.d]# ls 1177 CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo 1178 CentOS-Debuginfo.repo CentOS-Media.repo 1179 [root@server yum.repos.d]# cp CentOS-Base.repo CentOS-Base.repo.20151201.bak //拷貝原有的centos-base-repo 1180 [root@server yum.repos.d]# ls 1181 CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo 1182 CentOS-Base.repo.20151201.bak CentOS-fasttrack.repo CentOS-Vault.repo 1183 [root@server yum.repos.d]# ls 1184 CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo 1185 CentOS-Base.repo.20151201.bak CentOS-fasttrack.repo CentOS-Vault.repo 1186 [root@server yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo //從阿里云下載yum源 1187 1188 setuid:如果命令有4755的權(quán)限,對應(yīng)關(guān)系為-rwsr-xr-x=====4755 1189 [root@server test]# find / -type f -perm 4755|xargs ls -l 1190 -rwsr-xr-x. 1 root root 77336 10月 15 2014 /bin/mount 1191 -rwsr-xr-x. 1 root root 38200 7月 24 01:55 /bin/ping 1192 -rwsr-xr-x. 1 root root 36488 7月 24 01:55 /bin/ping6 1193 -rwsr-xr-x. 1 root root 34904 10月 15 2014 /bin/su 1194 -rwsr-xr-x. 1 root root 53472 10月 15 2014 /bin/umount 1195 -rwsr-xr-x. 1 root root 10272 10月 15 2014 /sbin/pam_timestamp_check 1196 -rwsr-xr-x. 1 root root 34840 10月 15 2014 /sbin/unix_chkpwd 1197 -rwsr-xr-x. 1 root root 54496 2月 20 2015 /usr/bin/at 1198 -rwsr-xr-x. 1 root root 66352 4月 7 2015 /usr/bin/chage 1199 -rwsr-xr-x. 1 root root 51784 3月 30 2015 /usr/bin/crontab 1200 -rwsr-xr-x. 1 root root 71480 4月 7 2015 /usr/bin/gpasswd 1201 -rwsr-xr-x. 1 root root 36144 4月 7 2015 /usr/bin/newgrp 1202 1203 只有擁有s權(quán)限,則代表這個命令具有所屬用戶root的權(quán)限,不管什么用戶都可以執(zhí)行! 1204 1205 1206 1207 1208 1209 1210 1211 linux優(yōu)化; 1212 1、建立普通賬號,使用普通賬號登錄 1213 2、處理selinux 1214 3、處理防火墻 1215 4、精簡開機自啟動服務(wù):sshd,network,crond,rsyslog,sysstat 1216 5、linux最小化安全理念; 1217 1218 1219 1220 /boot/ /var/ /dev/ /lib/ /sbin/ /usr/ /tmp/ /mnt/ /etc/ /bin/ /opt/
?
轉(zhuǎn)載于:https://www.cnblogs.com/hackerer/p/8295063.html
總結(jié)
以上是生活随笔為你收集整理的1、Linux命令随笔的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 王者荣耀怎么换头像微信?
- 下一篇: 成都欢乐谷观光车收费吗