1、Linux命令随笔

复制代码
   1 Linux命令总结
   2   3 man   ==命令帮助;
   4 help  ==命令的帮助(bash的内置命令);
   5 ls    ==list,查看目录列表;
   6       -ld:查看目录权限;
   7       -l:(long)长格式显示属性;
   8       -F:给不同的文件类型结尾加标识
   9       -p:给目录加斜线
  10       -r:(reverse)反转排序
  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 ==创建目录 22 -p:递归创建目录 23 vim ==相当于复杂的文档编辑器 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  ==打印输出内容,配合“>”或“<<”可以为文件覆盖及追加内容;
  27       -n:不换行输出
  28       -e:解析转义字符,\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   ==查看文件内容;
  54       -n:显示行号
  55         特殊用法:增加多行内容
  56         [root@server data]# cat >/data/oldboy.txt<<EOF  57                                 I am studying linux.
  58                                 EOF
  59 cp    ==copy  相当于拷贝命令;例如:cp old.txt /tmp/
  60       cp -a/-r /etc/ /tmp  拷贝目录/etc/到/tmp
  61          -a:相当于-pdr
  62          -r:递归,用于复制目录;
  63          -p:保持属性;
  64          cp='cp -i'  -i:表示提示确认信息参数
  65 例:从当前目录文件到另外目录时,如果拷贝文件名相同,可使用/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   ==查看当前用户所在目录;
  72  73 rm    ==remove 删除文件或者目录 -f强制,-r删除目录;
  74       生产场景尽量不要使用rm,如果非要用,一定要先cp等备份。
  75  76       替代方法:
  77       mv移动到一个临时目录,相当于回收站;
  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 +数字:表示查找的深度
  87        -mtime:表示修改时间
  88 例:
  89    find /oldboy -maxdepth 1 -type d ! -name "oldboy"  (其中-maxdepth跟tree -L 1可以这样理解)
  90  91 例:在-type f前面加"!",表示执行命令时不查找以文件为结尾的文件;
  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行,默认前10行,取前三行 -n 3 130 简写就是-3 131 例: 132 [root@server data]# head -n 2 test.txt
133
test 134 liyao 135 tail ==尾巴,取文件的最后N行,默认最后10行,取最后三行 -n 3 136 简写就是-3 137
138
-f:跟踪结尾 139 例: 140 tail -f /var/log/messages //跟踪一个文件结尾的变化 141
142
举例:打印20-30的数字 143 [root@server ~]# seq 100 >test1.txt //将1-100数字在test1.txt文件中列举出来
144
[root@server ~]# head -30 test1.txt //取文件的前30行
145
[root@server ~]# head -30 test1.txt | tail -11 //首先取列举出的数字前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 一门语言,过滤内容(取列) 173 awk '{print $1}' 文件 //$1表示第一列,$2表示第二列....$NF(表示最后一列) 174 awk -F "分隔符号" '{print $1}' 文件 //$1表示第一列,$2表示第二列 175 $1表示第一列,$2表示第二列....$NF(表示最后一列)..$(NF-1)表示倒数第二列 176 $0表示整行 177 -F:awk多分隔符 178 深入浅出三剑客之awk必杀技一例: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 //表示筛选倒数第二列
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 }'    //[方框中的内容为目标前后分隔符] 
 223 192.168.1.11
 224 [root@server test]#
 225 ==============================================================================================================
 226 
 227 
 228 
 229 (2)grep ***** ==擅长过滤,过滤器,把想要的或者不想要的分离开。尽量使用双引号("");
 230       -v:表示排除
 231       -o:只匹配你想要的结果,必备参数
 232       -i:表示不区分大小写;
 233       -E:<====> grep -E=egrep
 234       -n:打印行号
 235       --color=auto 给匹配到的字符串加颜色(不是正行)
 236       -a: 在二进制文件中,以文本文件的方式搜索数据;
 237       -c: 计算找到‘搜索字符串’的次数
 238       提示:-i  -v为常用参数
 239       -A: After的意思,显示匹配字符串及其后n行的数据
 240       -B: before的意思,显示匹配字符串及其前n行的数据
 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 参数介绍:
 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 '/过滤的内容/处理的命令'  文件
 336           -n:取消sed的默认输出
 337           -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联合使用时,表示对当前行全局匹配替换(与下一个g意义不同)
 359    -i:修改文件内容
 360    "#"是分隔符,可以用/@=等替换;
 361 
 362    sed -r 's#(.*)#\1#g' +文件(oldboy.txt)  //(.*)表示括号里的内容可以通过\1可以取出来;
 363 实例如下:
 364 [root@server ~]# echo "oldboy oldgirl"|sed -r 's#(.*) (.*)#\1 \2#g'    
 365 oldboy oldgirl
 366 [root@server ~]# 
 367 
 368 企业实例:
 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"` //第三种方法优势更大点 
 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表示取消默认输出,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包,然后调用rpm命令安装tree包
 417            如果需要依赖包,帮你下载帮你提前安装;
 418             yum update -y ====等价于upgrade
 419 
 420             yum grouplist 里选包组,   然后yum groupinstall "包组" -y
 421             yum search 关键字或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  //查询本机已经有无安装tree包 -qa 
 431 tree-1.5.3-3.el6.x86_64
 432 [root@server oldboy]# 
 433 
 434 tree  ==显示目录树结构 
 435       -L:显示层数
 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"'   //保护系统,禁止新手使用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 打印系统信息 -r 内核 -m:查看32位还是64位 -n主机名
 465 whoami 查看当前用户
 466 ############################################################################################## 
 467 su   用户角色切换
 468       su - 用户名:-参数切换用户环境变量
 469 实例:
 470 [root@server tmp]# su - oldboy -c "touch a.txt"   //表示在不切换用户前提下,使用-c选项使得在不切换的账号情况下,执行操作 
 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状态
 477 setenforce 设置SELINUX状态 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     //关闭,警告 
490
[root@server selinux]# getenforce
491
Permissive 492
493
runlevel: //查看用户所在系统运行级别 494 init: 切换运行级别,后面接对应级别的数字; 495 init 5 ==startx 切换桌面环境 496 chkconfig 设置开机自启服务 497 chkconfig --list iptables 498
499
diff 比较,接两个文件 500 vimdiff 高级比较,高亮显示两个文件内容区别 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:查找命令所在的路径,搜索范围来自全局环境PATH变量对应的路径; 508 509 whereis:查找相关信息 -b :查二进制命令 510 511 locate :从数据库里查相关信息,新命令需提前updatedb更新数据库 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 爬虫,检查网站是不是好的,不会下载只会检查
 528     -T --timeout=seconds 超时时间
 529     --tries=10  指定重试的次数
 530     -q --quit 关闭输出
 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 注意:配置用户权限位置在配置文件98行位置(用98gg直接切换)
 536 
 537 
 538 臣民:
 539 sudo 调兵虎符,sudo配置文件授权之后,执行命令时需要命令前带sudo
 540 sudo [参数选项] 命令
 541 -l:必须登录用户下面,查看root给当前用户所分配的权限规则
 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:打开网卡
 554 ifdown  eth0:关闭网卡
 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 //设备挂载信息 570 fsck -A ======> 磁盘检查(不要检查好的磁盘),卸载的状态检查。 571
572
dmesg---内核打印的错误信息,例如硬件故障警告; 573
574
[root@server profile.d]# crontab -l
575
[root@server profile.d]# cat /var/spool/cron/root //定时任务所在路径 576 577 tar 打包具体参数,见视频 578 gzip/unzip zip压缩解压缩 579
580
cut 切割,简单的取列命令 581 -d:指定分隔符 582 -f数字:表示取第几列。-f3,6 583 -c按字符取; 584
585
wc 打印行号,字节数 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改变文件权限 600 方法 1:数字修改方法 601 chmod [数字组合] 文件名 602 r 4 603 w 2 604 x 1 605 - 0 606 例: rw-rw-r-x 代表数字权限655 607
608
方法2:字符权限修改方法 609 chmod [用户类型] [+ | - | =] [权限字符] 文件名 610 rw-rw-r-x====>rwx--xr-x: 611 例:chmod u+x,g=x test.sh 612 613 umask默认值为022; 614 查看umask值命令为:umask 615 修改umask: umask 051 616 例: 617 如果umask值位051,则创建文件后权限位为多少?如果umask值中有奇数,奇数位有几位对应有几个1,必须是先减去umask值,再加上对应的几个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 用户 文件或目录 <====仅仅授权用户 631 chown :组 文件或目录 <====仅仅授权用户组 632 等同于"chgrp 组 文件或目录"
633
chown 用户:组 文件或目录 <=====表示授权用户和组。 634 强调: 635 1)其中的冒号“:”可以用点好“.”替代。 636 2)要授权的用户和组名,必须是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:设置备注信息
 650 -u:设置UID号
 651 -G:设置对于的属组
 652 -s:设置对应的shell
 653 -d:设置相应的家目录
 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:设置备注信息 659 11 -u:设置UID号 660 12 -G:设置对于的属组 661 13 -s:设置对应的shell 662 14 -d:设置相应的家目录 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: 所有的身份验证令牌已经成功更新。
 673 [root@server ~]# echo 123 >p.log 
674
[root@server ~]# passwd --stdin oldboy <p.log
675
更改用户 oldboy 的密码 。 676 passwd: 所有的身份验证令牌已经成功更新。 677 [root@server ~]#
678

679
#########################################################################
680
usermod 用户信息修改相关命令 681
682
-l (login_name):变更用户login时的名称为login_name,其余信息不变、 683 -L:冻结用户密码 684 -U:取消冻结用户的密码,使之恢复登录。实际同样是修改/etc/shadow的内容 685 usermod 修改用户 -u uid,-g 指定所属组,-s登录SHELL,-e 指定用户过期时间 686 ##########################################################################
687
chage 查看及修改用户密码相关信息 688 -E,--expiredate过期时间,将账号过期时间设为“过期时间”,日期写法MM/DD/YY 689 -I,--inactive失效密码 690 -l,--list 显示账号年龄信息 691 -m,--mindays 最小天数 692 -M,--maxdays 最大天数 693 -W,--warndays 警告天数 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命令也可以实现同样功能,知识参数的写法不同
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 非交互式设置密码 715
716

717
#########################################################################
718
lsattr 查看特殊属性。 719 chattr 设置特殊属性,例如: +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        //查看文件锁定状态 
 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 查看当前用户 736 需要会的:id,w,who,last,lastlog 737 了解:users,groups,newgrp 738
739
#####################################################
740
tr命令 741 #方法5:扩展如何将ls -l命令中的权限字符转换为八进制? 
 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  系统日志
 769 /var/log/secure  系统安全日志
 770 /var/spool/clientmqueue  邮件临时目录
 771 /proc/interrupts  查看中断文件
 772 /etc/fstab  磁盘文件系统开机自动挂载文件
 773 /etc/profile  全局的环境配置文件
 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内置命令:用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> 重定向,会清除文件里所有以前数据,增加新数据;
 855 >>或1>> 追加重定向,文件结尾加入内容,不会删除已有的文件内容;
 856 <0 输入重定向;
 857 <<0 追加输入重定向;
 858 2>错误重定向
 859 2>>错误追加重定向
 860 ==============================================================
 861 1.标准输入(stdin):代码为0,使用<或<<数据流向从右向左
 862 2.标准输出(stdout): 代码为1,使用>或>>数据流向从左向右
 863 3.错误输出(stderr):代码为2,使用2>或2>>.
 864 
865
箭头的指向就是数据的流向; 866 下面3种方法是等价的 867 /dev/null 空设备 黑洞 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 ; 连续不同命令的分隔符*****
 880 # 配置文件注释***** 881 \ 让一个有意义的字符,脱掉马甲。
 882 ..上级目录
 883 . 当前目录   \.代表点号;  
 884 .  还代表隐藏文件
 885 '' 单引号,不具有变量置换功能,输出是所见即所得。
 886 "" 双引号,具有变量置换功能,解析变量后输出。
 887 ``:里面放命令,才会执行,tab键上面的键,反引号,两个``中间为命令,会先执行,等价于$()。``===$()
 888 | 管道(把前一个命令结果的输出交给后一个程序继续处理)
 889 ~ 用户的家目录,针对root环境~就代表/root。
 890 $ 变量前需要加的符号
 891 / 路径分隔符号
 892 {} 生成字符或数字序列,类似seq,列举的意思,一般搭配echo使用;
 893 !+字母:调出最近一次以此字母开头的命令并执行;
 894 例:
 895 首先执行 mkdir stu{001..100}
 896 接着执行!m ======>mkdir stu{001..100}
 897 !!:表示使用最近一次操作的命令;
 898 ! 逻辑运算中的“非”(not 899 && 当前一个指令执行成功时,执行后一个指令
 900 || 当前一个指令执行失败时,执行后一个指令
 901 >或1> 重定向,会清除文件里所有以前数据,增加新数据;
 902 >>或1>> 追加重定向,文件结尾加入内容,不会删除已有的文件内容;
 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 基础正则表达式:一些特殊的符号 ,表示一些特殊的功能和作用
 919 . 单个任意字符
 920 * 重复前面任意0个或多个字符
 921 .* 匹配任意字符
 922 sed -i 's#(可以用正则匹配)#\1#g' oldboy.txt
 923 把前面正则匹配的括号内的结果,在后面用\1取出来操作。
 924 ^$:表示空行
 925 []:匹配指定范围内任意单个字符;
 926 {n,m}:表示n-m次;
 927 \:让一个正则表达式有意义的字符脱掉马甲;
 928 ?:0或1个;
 929 +:重复前面1或多次;
 930 |:或
 931 ():分组
 932 [^]:表示取反
 933 ^;表示以什么什么开头,例如:^d:表示以d开头的文件
 934 $;表示以什么什么结尾,例如:/$:表示以/为结尾的,,oldboy$:以oldboy为结尾的
 935 5.扩展的正则表达式:ERE(egrep或grep -E)
 936 1)+ 重复一个或一个以上前面的字符。
 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
$;表示以什么什么结尾,例如:/$:表示以/为结尾的,,oldboy$:以oldboy为结尾的 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 环境变量:
1012 PATH  系统路径变量,执行ls,cp等非内置命令时,系统会查找PATH里对应的路径是否有,如果没有就报告找不到该命令;
1013 当执行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 学习中遇到的命令:
1025 [root@server cron]# cat /etc/rc.local   //开机启动相当于windowsn开始菜单中启动选项
1026
1027
1028 [root@server ~]# /etc/init.d/iptables stop   //关闭防火墙
1029
1030 [root@server ~]# yum -y install lrzsz        //安装windows<===>linux之间传输文件的工具rz
1031
1032 [root@server ~]# >/etc/udev/rules.d/70-persistent-net.rules     //解决vm克隆虚拟机后网卡不能启用
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           //查看内核
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    //找到的结果可以用任何方式去处理
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         //给命令执行权限
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 时间同步任务计划:
1091 [root@server ~]# /usr/sbin/ntpdate time.nist.gov      //同步互联网时间命令
1092
1093 [root@server ~]# echo "*/5 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>%1" >>/var/spool/cron/root   //添加定时任务
1094 [root@server ~]# crontab -l
1095 */5 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>%1
1096 [root@server ~]#
1097
1098 修改显示历史记录命令环境变量:
1099 export HISTSIZE=5        //修改默认显示历史记录的命令行
1100 export HISTFILESIZE=5     //控制.bash_history文件显示行数
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、表示形式为整数数字,一般使用(0-65535)范围;
1122 2、进程使用的时候会占用文件描述符(标识打开的文件)
1123
1124 查看默认文件描述符:
1125 [root@server cron]# ulimit -n
1126 1024
1127 3、调整文件描述符
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 内核优化配置:
1132 vim /etc/sysctl.conf     //WEB服务,iptables服务调优配置文件
1133 sysctl -p  //让配置生效
1134
1135 [root@server ~]# > /etc/issue             //隐藏linux软件名及版本号
1136 [root@server ~]# > /etc/issue.net
1137
1138 锁定系统配置文件,防止恶意修改
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        //查看文件锁定状态
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 内核优化之禁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的权限,对应关系为-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权限,则代表这个命令具有所属用户root的权限,不管什么用户都可以执行!
1204
1205
1206
1207
1208
1209
1210
1211 linux优化;
1212 1、建立普通账号,使用普通账号登录
1213 2、处理selinux
1214 3、处理防火墙
1215 4、精简开机自启动服务:sshd,network,crond,rsyslog,sysstat
1216 5、linux最小化安全理念;
1217
1218
1219
1220 /boot/ /var/ /dev/ /lib/ /sbin/ /usr/ /tmp/ /mnt/ /etc/ /bin/ /opt/
复制代码

 

转载于:https://www.cnblogs.com/hackerer/p/8295063.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/390351.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1137. 第 N 个泰波那契数

泰波那契序列 Tn 定义如下&#xff1a; T0 0, T1 1, T2 1, 且在 n > 0 的条件下 Tn3 Tn Tn1 Tn2 给你整数 n&#xff0c;请返回第 n 个泰波那契数 Tn 的值。 示例 1&#xff1a; 输入&#xff1a;n 4 输出&#xff1a;4 解释&#xff1a; T_3 0 1 1 2 T_4 1…

5827. 检查操作是否合法

给你一个下标从 0 开始的 8 x 8 网格 board &#xff0c;其中 board[r][c] 表示游戏棋盘上的格子 (r, c) 。棋盘上空格用 ‘.’ 表示&#xff0c;白色格子用 ‘W’ 表示&#xff0c;黑色格子用 ‘B’ 表示。 游戏中每次操作步骤为&#xff1a;选择一个空格子&#xff0c;将它变…

5193. 删除字符使字符串变好

5193. 删除字符使字符串变好 一个字符串如果没有 三个连续 相同字符&#xff0c;那么它就是一个 好字符串 。 给你一个字符串 s &#xff0c;请你从 s 删除 最少 的字符&#xff0c;使它变成一个 好字符串 。 请你返回删除后的字符串。题目数据保证答案总是 唯一的 。 示例 …

PHP--------微信网页开发实现微信扫码功能

今天说说微商城项目中用到的扫一扫这个功能&#xff0c;分享一下&#xff0c;希望对各位有所帮助。 前提&#xff1a;要有公众号&#xff0c;和通过微信认证&#xff0c;绑定域名&#xff0c;得到相应信息&#xff0c;appid&#xff0c;appsecret等。 微信开发文档&#xff1a;…

313. 超级丑数

超级丑数 是一个正整数&#xff0c;并满足其所有质因数都出现在质数数组 primes 中。 给你一个整数 n 和一个整数数组 primes &#xff0c;返回第 n 个 超级丑数 。 题目数据保证第 n 个 超级丑数 在 32-bit 带符号整数范围内。 示例 1&#xff1a; 输入&#xff1a;n 12,…

[SQL] 请教一下 count里面有case when 一般情况下啥时候用

http://www.itpub.net/forum.php?modviewthread&tid1810967 问题: 比如 count(case when pday_id${deal_date} then 1 end) 我有点想不明白具体什么情况下count&#xff08;&#xff09; 这个小括号里面还要用case when 大家做BI统计的时候一般什么情况用啊 还有个…

路由器架设虚拟服务器让外网访问到本地网站

确定电脑与路由器正确连接&#xff0c;并且已连至互联网。在地址栏中输入192.168.0.1回车&#xff0c;输入用户名密码&#xff0c;进入路由器主界面。 然后点击左侧菜单中的“虚拟服务器”&#xff0c;——“端口段映射”打开“端口段映射”界面。 由于网站用的是80端口&#x…

selenium模块

selenium模块 阅读目录 一 介绍二 安装三 基本使用四 选择器五 等待元素被加载六 元素交互操作七 其他八 项目练习一 介绍 selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题selenium本质是通过驱动浏览器&#xff0c;完…

关于tomcat Post 数据参数的问题

2019独角兽企业重金招聘Python工程师标准>>> POST请求本身并未限制传入参数大小&#xff0c;是tomcat 容器设置了接收参数大小的限制。修改server.xml <Connector port"8080" protocol"HTTP/1.1" connectionTimeout"2000" red…

杜教筛--51nod1239 欧拉函数之和

求$\sum_{i1}^{n}\varphi (i)$&#xff0c;$n\leqslant 1e10$。 这里先把杜教筛的一般套路贴一下&#xff1a; 要求$S(n)\sum_{i1}^{n}f(i)$&#xff0c;而现在有一数论函数$g(i)$&#xff0c;$g(i)$的前缀和很无脑&#xff0c;且$f$和$g$的狄利克雷卷积的前缀和很无脑&#xf…

修改npm全局安装模式的路径

修改npm全局安装模式的路径 在正式写此文章之前&#xff0c;我得说一点血泪史。 刚学nodeJS不久&#xff0c;很纳闷为什么全局安装的模块在 node安装目录/node_modules‘ 中没找到&#xff01;后来仔细看了下安装成功后的信息&#xff0c;才发现原来是自动安装在C盘了&#xff…

在Mac上为自己手动编译安装一套PHP7的开发环境

首先你得去官网下载php7 beta1的版本 这里由于我是在mac上安装&#xff0c;所以就去下载linux相关的版本&#xff0c;地址也直接附上了php7 beta1windows版的官方也有发布详情猛戳&#xff1a;这里 解压安装包&#xff0c;进入源代码目录 tar -zxvf php-7.0.0beta1.tar.gz cd p…

卡特兰数 HDU2067 HDU4165 HDU1134

题目链接&#xff1a;https://vjudge.net/problem/HDU-2067 小兔的棋盘 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 11800 Accepted Submission(s): 5952 Problem Description小兔的叔叔从外面旅游回来给她…

Publish/Subscribe

Publish/Subscribe 我们将会投递一个消息给多个消费者&#xff0c;这种模式被称为“publish/subscribe” 通俗的讲&#xff0c;前面的是点对点队列模型&#xff0c;现在讲的是发布订阅模型。 Exchanges producer&#xff1a;一个发送消息的用户应用程序 queue&#xff1a;一个存…

[转]在ROS下使用zeroconf配置多机通信

原文地址&#xff1a;http://www.corvin.cn/635.html&#xff0c;转载主要方便随时查阅&#xff0c;如有版权要求&#xff0c;请及时联系。 0x00 为何需要配置ROS多机通信 众所周知ROS是分布式系统&#xff0c;因此可以将机器人需要处理的复杂、计算量大的任务分解在多台机器上…

NGINX原理 之 SLAB分配机制(转)

1 引言 众所周知&#xff0c;操作系统使用伙伴系统管理内存&#xff0c;不仅会造成大量的内存碎片&#xff0c;同时处理效率也较低下。SLAB是一种内存管理机制&#xff0c;其拥有较高的处理效率&#xff0c;同时也有效的避免内存碎片的产生&#xff0c;其核心思想是预分配。其按…

dynamic web module消失不见

2019独角兽企业重金招聘Python工程师标准>>> 方法1&#xff1a;在project Facets选项中勾选Dynamic Web Module即可 方法2&#xff1a; 我用eclipse对项目进行修改名称&#xff0c;修改成功后。项目就没有Deployment Descriptor&#xff08;如下图红色框中&#xff…

576. 出界的路径数

576. 出界的路径数 给你一个大小为 m x n 的网格和一个球。球的起始坐标为 [startRow, startColumn] 。你可以将球移到在四个方向上相邻的单元格内&#xff08;可以穿过网格边界到达网格之外&#xff09;。你 最多 可以移动 maxMove 次球。 给你五个整数 m、n、maxMove、star…

telnet命令发送邮件

下面的例子是用qq的smtp服务器。 set localecho 本地回显启用 telnet smtp.qq.com 25 220 smtp.qq.com Esmtp QQ Mail Server helo sis 250 smtp.qq.com//服务器返回250 smtp.qq.com STARTTLS 220 Ready to start TLS//服务器返回 220 准备开启TLS通讯 auth login 334 VXNlcm5h…

2.18 特殊权限set_uid 2.19 特殊权限set_gid 2.20 特殊权限stick_bit 2.21 软链接文件 2.22 硬连接文件...

2019独角兽企业重金招聘Python工程师标准>>> 特殊权限set_uid set_uid:该权限针对二进制可执行文件&#xff0c;使文件在执行阶段具有文件所有者的权限&#xff1b; 通俗一点讲就是&#xff0c;普通用户想要访问一个没有其他用户可执行权限的目录时&#xff0c;暂时…