4月12

      安装系统必须分区  /  和swap(不超4G时建议分它2倍)  最好也单独分个/boot分区  避免容量问题导致无法启动   安装好之后为系统配置IP    ifconfig命令   用于显示或配置网络设备(网络接口卡)的命令    dhclient是一个自动获取IP的命令   当然前提是在有DHCP服务的环境下    但实际机房的服务器IP都是手动固定的  所以我们得设置静态IP  先自动获取IP再运行route查看NETMASK(子网掩码)和GATEWAY(网关)IPADDR(网址)   vi /etc/sysconfig/network-scripts/ifcfg-eth0 ONBOOT=yes 开机启动网卡   BOOTPROTO=static(静态)   编辑要按i键  :wq保存退出   重启网络服务 service network restart    进行ping测试网络联通性  这个ping是不会停止 所以可以按   ctrl+c 可中断或者取消运行的命令   在完成网络连通下我们可以使用终端工具如putty和xshell SecureCRT等进行远程登录操控   密钥验证 :SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议     Generate(生成)    先在/root/下mkdir(创建目录的命令)  .ssh目录    chmod 其权限为700    rwx=421   

ls列出当前路径的文件和目录 后接以下选项   -l 列出详细信息   -a列出隐藏文件   -d只列出针对目录  -t列出由近及远的操作时间排序  -h智能显示文件的大小  也可查看多个路径的文件  要查看.ssh的权限值操作   ls -la     把生成的公钥粘贴到  vi /root/.ssh/authorized_keys中(之前多次由于少了个s导致效果失败)   修改其权限chmod 600     selinux:是系统的一种安全机制  但为了避免实验错误性所以必须将其关闭  暂时关闭:#setenforce 0   永久关闭:#vi /etc/selinux/config  将Selinux=enforcing其改为disabled    临时清除iptables -F   然后保存规则service iptables save (/etc/sysconfig/iptables)       修改密码命令:passwd       history:列出历史操作命令

七个运行级别:0-halt(关机)  1-single(单用户) 2-multiuser(多用户)没有NFS服务  3-full(命令行模式)  4-unused(为预留的 无用) 5-X11(图形模式 ) 6-reboot(重启)     init 3 内核自行启动     cat /etc/inittab   yum grouplist/groupinstall ''

单用户模式:启动界面按e   选到带有kernel字样的那行再按e  输入1或者s  回车回到启动界面按b(boot的意思)可以修改密码

救援模式:应用于系统无法进入  例如grub损坏或者某一个配置文件修改出错   选择shell模式  #chroot /mnt/sysimage 即可操作

cd命令 不接选项回到当前用户的家目录   whoami查看当前用户   查看一个用户的家目录echo $HOME   pwd查看当前所在目录

cd /etc/*/*进入指定路径   cd -切换到上次所在目录    cd ..进入上一级目录     cd后面跟的必须是目录是文件则会报错

linux环境变量:which用来查找某个命令的绝对路径 #which ls      alias ls='ls --color=auto'     /bin/ls     取消别名unalias 别名

#echo $PATH(打印出当前环境变量)  /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin   添加路径/root到环境变量  # PATH=$PATH:/root       #. .bash_profile(重置环境变量)

常用快捷键:ctrl+l  清屏      exit/logout/ctrl+d  退出     ctrl+u  删除光标前的    ctrl+k 删除光标后面的   ctrl+z 暂停运行

fg 恢复运行  ctrl+s  锁屏    ctrl+q 解锁      ctrl+a快速定位光标首行   ctrl+e移动光标末尾

4月13

mkdir  创建目录 -p是用来创建级联目录的     rmdir删除目录(只针对目录本身无法删除非空目录 -p删除级联目录非空也无法删除) yum install -y  man后接命令是用来查看命令帮助信息的文档的  退出按q   -v是运行可视化的  tree是用来看目录树形结构的

rm 用来删除目录和文件的无论非空不非空  带 -r选项才是删除目录的   -f强制删除   

cp  -r拷贝目录必须选项   -i询问是否覆盖其实不带也会询问当然针对的是文件    -a连带文件属性 (注意复制 移动 接绝对路径后还有命名那就是双重效果 既cp mv 重命名)

mv"命令操作目录时,不需要带"-r"选项,   ("cp"、"rm"等命令在操作目录时,是需要带"-r"选项的) 当源文件所在的目录跟目标目录不同时,就是剪切操作;   当源文件所在目录跟目标目录相同时,就是改名操作(目标文件为目录,并且目标文件不存在)(目标文件为目录,并且目标文件存在)(目标文件不是目录,且不存在,则会重命名)

4月14

cat命令(效果针对文件的不支持目录)   #echo '这里要用单引号' >ab/bc    #echo '这里必须要用单引号啊' >>ab/bc    cat ab/bc  打印出来的内容不会覆盖因为>>这也是重定向有追加效果  把前面的东西输入到后边的文件中  (尝试过目录 则不支持重定向 )但不删除原有的内容    而>则反之

-n选项    显示对应的行号     -A(得大写)显示所有东西包括特殊字符 如$   

tac命令 和cat相反   排列出来的顺序颠反了下  more这个命令则是针对cat查看文件内容时的不便性  空格键翻屏查看 

less 相对more来说 支持上翻(ctrl+b)下翻(ctrl+f) G翻到文本末端  g翻到文件首部    查看过程中输入/和? 搜索字符串  前者是当前行向下搜索 可以按n显示下一个   N显示上一个   而?是当前行向上搜索      想退出q即可

head   文件名  显示文件前十行   -n2选项显示文件前n行     n后空不空格无影响

  tail    文件名  显示文件后十行   -n2选项显示文件后n行     n后空不空格无影响  -f选项在文件不断增加 可动态显示文件的后十行

                如(tail -f /var/log/messages  大写-F也是可以的)话说特别常用  所以得牢记 

文件和目录属性 :目录也是文件的一种  列出的数值仅仅是目录   包含隐藏的   . 和..也是当前目录的子目录  这样就可以理解了!

c字符设备类型    b块设备类型   s套接字文件进程间通信只能本地    p管道一个命令的输出作为另一个命令的输入

chmod 命令 后可以直接数字 目标文件  也可以u=r--,g=r--,o=r--  目标文件  也可以u+x,g-w,o+r 注意用,分隔   a(ugo)+r 

root用户创建的目录默认权值755  文件为644  默认的umask 022  对应的目录最大权值777  文件最大权值666  通过u,g,o加减推算权值  chmod和chown  后跟   -R选项相当于有往下继承的效果  xyz(数字)/u:g 中间.也一样意义  文件名  

useradd增加用户 groupadd增加组    改变文件所属 chown  user:group  文件名   (chgrp 组名 文件名)    !结合最近使用的命令 ls  cd等等     #chmod -R a+rwx,g-rwx,o-rwx 文件名     所对应的rwx(u,g,o)相加减无论针对目录还是文件 不存在负值  即最大用0也就是-代替  这样理解好像是成立的

4月16

lsattr查看特殊文件  列出来的默认一个e  说是一种文件类型   lsattr -d 文件名  查看目录本身   lsattr -R 文件名 查看级联目录

chattr +a  文件名(加a权限后 可以>>修改  不能删除  改名  非root用户不能设定  -a则取消效果)

chattr +i 文件名 ,给文件添加i权限,表示文件不能删除,增加、重命名、设定链接等  固定死   -i则取消效果 (a i权限后-R是可以递归修改属性的)

suid特殊权限   存放密码的配置文件 /etc/shadow  权限为000   ll  /usr/bin/passwd的权限rws 即suid  它的作用在于可以把使用这个命令的人赋予一种临时的权限  而这个临时的拥有者就是root  普通用户使用这个命令临时拥有root权限 所以才可以修改密码

初始下普通用户无法ls /root/  但是通过root用户chmod u+s /bin/ls  普通用户就相当于临时拥有了root权限  logout可用来

登出普通用户    root用户chmod u-x /bin/ls   u的权限就变成了rwS之前是rws  但依旧没有影响  要记住root是至高无上的 可普通用户o-x就没有那能力了 不能ls  对于普通的非二进制文件加了s权限是不起作用的(判别二进制文件 file /bin/ls  看到ELF就是二进制)

目录加s权限没有意义 suid=4 sgid=2 stick=1  要看s作用哪里就添加到哪里 u,g,o   !$是上一条命令的最后一个参数  sgid可用目录

当一个目录的权限为777 默认的文件权限为644 像这样类似的其他用户可以强行篡改(vi来说)目录下的原文件 并且所属主组都变了 那么这种情况就不是很安全 所以有t权限的出现了  它应用的意义在于目录    当有t权限之后其他人就不能随意删减了

4月18

which 用来查看某个命令的绝对路径   查看某文件时最起码需要执行权限并且在环境变量内

whereis  ls  很模糊的查找  用的不多

locate    安装 yum install -y mlocate    搜索文件时会提示不能统计  所以要updatedb更新列表库   这个命令也并不精准

(当服务器上有着重要业务在跑,建议不要去运行这个更新 这样会导致负载很高)

语法 find 路径 参数   /tmp (-name 文件名{可以通配*得引号起来})(-type 文件类型)  (-atime -ctime -mtime )+n/-n

前面的三个时间参数是天 也可接参数 -mmin/分钟   +n/-n  (组合用法如 find /tmp/ -name '2*' -type d)

find / inum 141250 (通过inode搜某些文件 前提是你得知道号啊)

访问或者执行时间   写入 更改inode属性(更改所有者 权限或链接)    写入时间

|:管道符  将前面命令的输出给后面的命令去执行  find /tmp/ -type f |xargs ll 报错(xargs: ll: 没有那个文件或目录)ls -l却可以

find /tmp/ -type f |xargs -i mv {} {}.bbq  (两个大括号里面的是两个文件    源文件  目标文件)

stat 文件名 查看三个时间属性  修改文件内容mtime变了  ctime必然也会变   cat读一下atime会变其他两个一定不会变  touch三个都会变  而ctime变了其他两个不一定会变(比如修改权限 属组)

软链接:find /etc/ -type l |xargs ls -l    软链接类似一个快捷方式    ln -s /tmp/a.txt  /root/b.txt (可以是文件也可以是目录)

它的inode是不一样的   删除源文件  链接就失效了  要用绝对路径做软链接

硬链接:类似一个替身   指向相同的inode  并不会改变空间的大小  无论删除哪一个  依然有效   不支持目录做硬链接

不支持跨分区(每一个分区下有自己一套独立的inode)

4月20

用户名文件:/etc/passwd   七个字段  1用户名;2存放的口令x 出于安全后将其存放在/etc/shadow中;3用户标识uid 0就是root

1~499系统保留作为管理帐号 普通用户500开始;4组标识gid 对应位置/etc/group;5注释说明,记录用户属性 finger显示信息

6用户的家目录 这个可以自定义 修改/etc/passwd对应用户的字段即可;7用户的shell   传达用户下达的指令到内核  默认/bin/bash

限制用户登录/sbin/nologin

新增组:groupadd [-g GID]  组名   指定gid      删除组:groupdel  组名    当某个组中包含了用户是无法删除的

增加用户:useradd (-u -g -d -M -s) 用户名   不加任何选项则建立同名的用户和组  -M选项虽说不建立用户家目录但是在

/etc/passwd中任然存有家目录字段  这个只是说没有生成用户的家目录的目录文件

删除用户:userdel  [ -r ]  用户名   连带删除用户的家目录

修改用户的属性usermod (-u -g -d -s -G -L -U)  附属组   锁定用户  解锁登录

修改密码passwd  不接用户名默认修改root   也可指定用户名修改他的密码  这一切当然在root环境下

自动生成密码:mkpasswd  安装一个包才有此命令yum -y install expect    -l 指定长度 -s指定特殊字符  -d指定数字个数  -c 字母

#passwd --stdin hzc   只需输入一次密码

4月21

id/whoami   查看当前用户是谁   # su -(初始化当前用户的各种环境变量)用户名       编辑模式下/关键字可以快速搜索

普通用户下不加-  su  切换到root 默认路径是之前用户的家目录  加- su 切换到root用户的家目录  

#su - -c "mkdir/touch /tmp/222" hzc    su - -c "ls -ld /tmp/222" hzc(不切换root以hzc身份创建/tmp/222文件)

visudo 找到添加的行编辑相关配置 test ALL=(ALL)ALL 逗号分隔多个命令  如要取消设定#注释掉就行 sudo -l  查看可运行状态

添加命令/usr/bin/passwd      运行sudo passwd就可以更改root的密码这样不安全    每次使用命令需要密码登录 

预设命令前添加NOPASSWD: 加空格就好了    umount  /mnt     mount 设备文件名 /mnt

不允许root远程登录    编辑/etc/ssh/sshd_config  将PermitRootLogin yes/no  保存  重启service sshd restart服务

free:查看swap使用状态   ls -h 文件名  显示文件实际大小    du  -h 文件名   显示磁盘占用空间大小

df查看已挂载的磁盘的总容量,使用量,剩余量 常用选项 -i   -h  -k  -m         /dev/shm为内存挂载点

du查看目录或文件所占空间大小 [-abckmsh]     -sh列出合理大小的总和