2.系统目录介绍
发布时间:2020-12-13 23:47:54 所属栏目:Linux 来源:网络整理
导读:1.变量与PS1 [[email?protected] ~]# echo $PS1[[email?protected]h W]$u用户名 h主机名 W 当前路径,相对路径[[email?protected] ~]# PS1=‘[[email?protected]h W t]$‘ 2.linux的优化 1.添加普通用户2.关闭selinux3.关闭iptables4.防止中文乱
1.变量与PS1
[[email?protected] ~]# echo $PS1 [[email?protected]h W]$ u用户名 h主机名 W 当前路径,相对路径 [[email?protected] ~]# PS1=‘[[email?protected]h W t]$‘ 2.linux的优化1.添加普通用户 2.关闭selinux 3.关闭iptables 4.防止中文乱码 2.1添加普通用户root用户 普通用户 [[email?protected] ~ 22:02:30]#useradd oldboy 查看用户是否存在 [[email?protected] ~ 22:08:36]#id oldboy uid=500(oldboy) gid=500(oldboy) groups=500(oldboy) [[email?protected] ~ 22:08:45]#id llll id: llll: No such user [[email?protected] ~ 22:09:58]#passwd oldboy Changing password for user oldboy. New password: BAD PASSWORD: it is too simplistic/systematic BAD PASSWORD: is too simple Retype new password: passwd: all authentication tokens updated successfully. 切换用户 [[email?protected] ~]# su - oldboy [[email?protected] ~]$ who am i root pts/1 2019-02-19 22:12 (10.0.0.1) [[email?protected] ~]$ whoami oldboy 退出当前用户 ctrl +d [[email?protected] ~]$ logout [[email?protected] ~]# 2.2关闭selinux1.临时关闭 [[email?protected] data]# getenforce Enforcing #setenforce Disabled是不可以的 [[email?protected] data]# setenforce Disabled usage: setenforce [ Enforcing | Permissive | 1 | 0 ] [[email?protected] data]# setenforce 0 [[email?protected] data]# 2.永久关闭 重启之后,配置才会生效 [[email?protected] data]# cat /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected,# mls - Multi Level Security protection. SELINUXTYPE=targeted 2.3关闭防火墙1.查看iptables状态 [[email?protected] ~]# service iptables status Table: filter Chain INPUT (policy ACCEPT) num target prot opt source destination 1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 5 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain FORWARD (policy ACCEPT) num target prot opt source destination 1 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT) num target prot opt source destination 2.临时关闭防火墙 [[email?protected] ~]# /etc/init.d/iptables stop iptables: Setting chains to policy ACCEPT: filter [ OK ] iptables: Flushing firewall rules: [ OK ] iptables: Unloading modules: [ OK ] 上面虽然关闭了,但是由于在在即启动中,所以下次开机还会启动 [[email?protected] ~]# [[email?protected] ~]# chkconfig --list|grep iptables iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off 3.永久关闭防火墙 [[email?protected] ~]# chkconfig iptables off [[email?protected] ~]# chkconfig --list|grep iptables iptables 0:off 1:off 2:off 3:off 4:off 5:off 6:off [[email?protected] ~]# 2.4中文乱码的排查过程1.什么是字符集 表示字符 文字的方法 UTF-8系统默认的 GBK GB2132 2.查看字符集 [[email?protected] ~]# echo $LANG en_US.UTF-8 3.修改字符集 临时修改 [[email?protected] ~]# export LANG=zh_CN.UTF-8 [[email?protected] ~]# echo $LANG zh_CN.UTF-8 查看是否修改成功:执行setup 永久修改 [[email?protected] ~]# cat /etc/sysconfig/i18n LANG="en_US.UTF-8" SYSFONT="latarcyrheb-sun16" [[email?protected] ~]# source /etc/sysconfig/i18n 4.显示中文乱码的原因? Linux使用的字符集与远程工具使用的字符集不同,会导致乱码 5.排查 查看linux的字符集 echo $LANG 查看xshell的字符集 6.解决 方法一:修改远程工具的字符集 方法二:修改Linux系统的字符集 1、如何修改字符集-临时 2、如何修改字符集-永久 3、生效 2.5su与su-的区别1.su切换只是切换了用户身份,但是shell环境等都没有切换,还是当前用户 使用pwd命令可看到,当前目录还是root用户的家目录 echo $PATH,PATH环境变量还是root用户登录时的变量值 2.su - 切换,即切换了用户身份,shell环境也切换了 使用pwd命令可看到,当前目录是该用户的家目录 echo $PATH,PATH环境变量也变了 [[email?protected] ~]# echo $PATH /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin [[email?protected] ~]# su appman [[email?protected] root]$ pwd /root [[email?protected] root]$ echo $PATH /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin [[email?protected] root]$ exit [[email?protected] ~]# su - appman [[email?protected] ~]$ pwd /home/appman [[email?protected] ~]$ echo $PATH /usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/appman/bin [[email?protected] ~]$ 3.linux目录结构介绍3.1目录结构的特点1、一切从根开始,一切皆文件 2、Linux设备(光盘/磁盘分区)不挂载无法使用 3、挂载相当于给磁盘分区/设备开了一个入口,通过入口进入到光盘/磁盘分区 4、入口-挂载点-目录 举例--linux下使用光盘 1.把光盘放在光驱中 2.把光盘挂载到系统里面 [[email?protected] ~]# mount /dev/cdrom /mnt mount: block device /dev/sr0 is write-protected,mounting read-only read-only是正常的,磁盘是只读的。 [[email?protected] ~]# cd /mnt/ [[email?protected] mnt]# ll total 564 -r--r--r--. 2 root root 14 Mar 29 2017 CentOS_BuildTag dr-xr-xr-x. 3 root root 2048 Mar 29 2017 EFI -r--r--r--. 2 root root 212 Nov 27 2013 EULA 3.2核心目录简介3.3目录详解3.3.1/etc下面的目录/etc/sysconfig/network-scripts/ifcfg-eth0 /etc/resolv.conf /etc/hosts /etc/sysconfig/network /etc/fstab /etc/rc.local /etc/inittab /etc/profile /etc/init.d ~/.bashrc ~/.bash_profile 3.3.2网卡文件/etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 --网卡的名字 HWADDR=00:0c:29:46:26:0c --hardware address硬件地址,mac地址 TYPE=Ethernet --网络类型,因特网 UUID=36227cea-7fc3-4199-b2b0-d0697d9c2eba --UUID系统中唯一的标识 ONBOOT=yes --启动的时候是否开启网卡 NM_CONTROLLED=yes --是否能被network软件管理 BOOTPROTO=none --网卡获取ip地址的方式 none/static ip地址是固定的 dhcp自动获取Ip IPADDR=10.0.0.200 --ip地址 NETMASK=255.255.255.0 --子网掩码,在一个局域网中,最多能有多少台机器 GATEWAY=10.0.0.2 --网关,网络出口 USERCTL=no --是否允许普通用户管理网卡 开 关 重启 PEERDNS=yes --为yes或删除这行,意思是网卡配置文件中的DNS优先于/etc/resolv.conf IPV6INIT=no #阿里云的DNS DNS1=223.5.5.5 DNS2=223.6.6.6 3.3.3DNS1.常用的DNS #阿里云的DNS DNS1=223.5.5.5 DNS2=223.6.6.6 114.114.114.114 114.114.115.115 谷歌的DNS 8.8.8.8 2.如何修改DNS 在网卡配置文件/etc/sysconfig/network-scripts/ifcfg-eth0中添加上DNS配置 DNS1=223.5.5.5 DNS2-223.6.6.6 重启 ifdown eth0 &&ifup eth0 或/etc/init.d/network restart 先执行ifdown eth0,xshell就连接不到虚拟机了 验证 [[email?protected] ~]# ping www.baidu.com PING www.a.shifen.com (180.97.33.108) 56(84) bytes of data. 64 bytes from 180.97.33.108: icmp_seq=1 ttl=128 time=9.59 ms 3./etc/resolv.conf中也可配置DNS 如果网卡配置文件中配置了DNS,那么即使在/etc/resolv.conf中配置了DNS,重启网卡后也会失效。 为什么网卡配置文件中DNS配置优先于resolv.conf,是因为网卡配置文件中配置了PEERDNS=yes 4./etc/hosts 测试的时候使用 10.0.0.200 www.oldboyedu.com [[email?protected] data]# ping www.oldboyedu.com PING www.oldboyedu.com (10.0.0.200) 56(84) bytes of data. 64 bytes from www.oldboyedu.com (10.0.0.200): icmp_seq=1 ttl=64 time=0.017 ms 3.3.4修改主机名1.查看主机名 [[email?protected] ~]# hostname oldboyedu-01 2.临时修改主机名--重启主机后就失效了 [[email?protected] ~]# hostname oldboyedu01-nb 3.永久修改主机名--重启服务器后,同样生效 [[email?protected] ~]# cat /etc/sysconfig/network NETWORKING=yes HOSTNAME= oldboyedu01-nb 3.3.5开机自动挂载/etc/fstab 开机的时候自动挂载的文件,开机的时候给每个磁盘分区一个入口 第一列表示设备/分区 第二列表示入口/目录/挂载点 3.3.6运行级别/etc/rc.local 开机的时候自动运行的文件 需要开机自启动的软件、命令、服务 如何让一个软件/脚本/服务开机自动运行? 1、/etc/rc.local 2、通过chkconfig管理,开机自启动 /etc/inittab开机的时候运行级别的配置文件 运行级别讲解 # 0 - halt (Do NOT set initdefault to this) 关机状态,一直启动不起来,不要设置为0 # 1 - Single user mode 单用户模式,没有网络,root用户密码忘记了,可以单用户模式改 # 2 - Multiuser,without NFS (The same as 3,if you do not have networking) 多用户模式,没有nfs软件 # 3 - Full multiuser mode 完全的多用户模式 # 4 - unused 未使用 # 5 - X11 桌面模式,图形化界面模式。需要桌面的一些软件已经安装 # 6 - reboot (Do NOT set initdefault to this) 重启,一直重启,不要设置为6 查看运行级别 [[email?protected] data]# runlevel N 3 N表示上一次使用的运行级别 3表示当前使用的运行级别 切换运行级别-临时 [[email?protected] data]# runlevel N 3 [[email?protected] data]# init 5 [[email?protected] data]# runlevel 3 5 永久修改运行级别--重启后生效 修改/etc/inittab 3.3.7环境变量别名1.哪里都生效 /etc/profile系统环境变量,别名 /etc/bashrc 别名 2.当前用户生效 ~/.bashrc ~/.bash_profile 3.~表示当前用户的家目录 root ~ /root oldboy ~ /home/oldboy 3.3.8安装软件的方法/usr/local 编译安装的软件默认的位置 /usr/share 1、yum (自动解决安装依赖的软件) yum install -y tree 2、rpm(半成品,缺少东西自己解决) [[email?protected] share]# rpm -qa|grep tree --查看软件是否安装 tree-1.5.3-3.el6.x86_64 3、编译(完全按照自己的需要设置) 3.3.9系统日志级别/var/log/messages系统默认日志信息 /var/log/secure系统用户的登录信息(谁 什么时候 从哪里登录 是否成功) 3.3.10虚拟目录/proc/meminfo 查看内存信息 /proc/cpuinfo 查看cpu信息 /proc/loadavg 查看负载 [[email?protected] proc]# cat /proc/loadavg 0.00 0.00 0.00 1/166 4171 [[email?protected] proc]# w 05:41:49 up 16:48,4 users,load average: 0.00,0.00,0.00 USER TTY FROM [email?protected] IDLE JCPU PCPU WHAT root tty1 - 02:12 3:29m 0.03s 0.03s -bash root pts/0 10.0.0.1 02:12 1:38m 0.08s 0.08s -bash root pts/1 10.0.0.1 04:25 0.00s 0.13s 0.02s w root pts/2 10.0.0.1 05:13 26:14 0.04s 0.04s -bash /proc/mounts 查看挂载 4.linux开机启动流程1.打开电源 2.BIOS(basic input output system)-基本输入输出设备检查,检查磁盘,CPU,内存等相关硬件。 3.读取MBR(master boot record)-主引导记录。MBR是磁盘的0扇区,0磁盘,1扇区的512字节。 4.GRUB(grand unified bootloader)-GRUB菜单列表 5.加载内核 6.启动init程序,这是一个守护进程,Linux开机的时候启动,直到Linux关机才停止 7.读取/etc/inittab,设置Linux的启动级别 8.读取/etc/rc.d/rc.sysinit,初始化系统,设置主机名和ip 9.根据启动级别,启动/etc/rc.d/rc*.d/下的程序 10.启动mingetty程序,进入欢迎界面 5.PATH环境变量第一个里程碑:什么是环境变量 1、大写 2、在系统大部分地方都可以使用,含义相同, LANG PS1 PATH 第二个里程碑:PATH含义: 存放的是linux命令的位置/路径 [[email?protected] rc3.d]# echo $PATH /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin 第三个里程碑:Linux下运行命令的过程 1、输入命令 2、在PATH里面进行查找 3、找到了就运行 4、找不到就提示Command not found (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |