标签:linux 笔记
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列出合理大小的总和
标签:linux 笔记
原文地址:http://11523563.blog.51cto.com/11513563/1768102