Linux基础(2)---系统基础


Linux中,通过设备名来访问设备,设备名称放在“/dev”目录中。

Linux中常用的外部设备文件名:

      光驱:/dev/cfrom

      硬盘(IDE)/dev/hdX (X=a,b,c)

      硬盘(SCSI) /dev/sdX(X=a,b,c)

 

Linux系统分区的要求:

(a)至少要有 /  (根目录)

  (b) swap(交换分区)的作用:虚拟内存,swap分区的大小 = 105 * 物理内存容量(men<8G),当内存大于16G,虚拟内存(8-16G)。  (注意:一般为了数据库可以更快,我们可以不使用swap虚拟内存)

 (c)建立设置独立的 /boot 分区

 

常规分区方案:

/ 剩余硬盘大小

swap 1.5倍物理内存

/boot 100M

 

DB及存储:有大量重要数据

/data / 剩余硬盘大小  (放数据,全放根下,一重装系统什么都没有,相当于windows下的C意外的盘)

swap 1.5倍

/boot  100M

 

门户,大网站

/ 50-200G 

swap:1.5倍

/boot 100M

不再进行分区,保留,将来哪个需要用,再根据自己需求进行分区

 

一下分区几乎没有必要的

/usr:(分区有可能会满,但是根目录却用不了)

/hom0e:

/var:

 

怎么查看分区已满:可以对磁盘进行监控,例如剩余20%了,报警短信

 

linux是一个多任务多用户的:一个人同时连上这个服务器都不会有有问题

查看当前用户:whoami

添加用户: useradd logout   

为用户添加密码:passwd logout (一定要接用户,要不然就是为root该密码了)

 

 

[logout@aaaaLinux]$ 普通用户的提示符              用户@主机名

[logout@aaaaLinux]# 超级管理员的提示符

 

root变普通用户:su -logout         (su 与su- 的区别:最好带上 -)

 

Linux 中配置文件前面加 # 进行注释,这一行就不进行生效

 

关闭SeLinux: :修改配置文件则永久生效,但是必须要重启系统

 

Linux有七种启动模式:

     工作常用3,即文本模式

    runlevel:查看当前 系统的运行级别(运行模式)

    init 切换运行模式(注意:0是关机哦)

 

windows:msconfig->  启动  -> 调整哪些开机启动,哪些开机不启动

Linux也可以,精简启动程序。

只开四个服务(crond:定时任务,network:网络服务,rsyslog:日志服务,sshd:远程连接服务)

 

 

日志查找方法:

Grep  -ei  “a|b” a.txt

e从文件中 过滤 a 或 b ,i是不区分大小写

查找规定时间内的日志

Linux 查找日志的方法:

可以 加 ^ : 以什么开头

grep -A 10000 '07:54:34' date.txt|grep -B '07:56:32'|less

这样可以减少我们的查询范围

 

Tail -f 文件     (可以监控一个文件)

 

 

 

出现乱码的情况, : Lang=en

 

 

更改ssh服务远程登录的配置

Windows:默认远程端口和管理员用户

管理用户:adminstrator guest   远程管理端口(port):3389

Linux:远程连接默认端口和超级用户

user:root  很多普通用户    port:22

注意:修改配置文件之前最好进行备份:修改后可用vimdiff进行对比看有没有问题

配置文件修改后一般需要进行重启

 

 

 

 

打开vi之后, Vi 编辑器中输入

:set nu      (会显示行号)

 :set number

  :set nonumber

/aaa        (查找aaa)

 

 

 

 

将oldboy普通账号加入到sudo管理(因为为了安全我们可以进行进行ssh登录root用户)

为了安全及管理的方便,可将需要有root权限的用户名加入sudo管理,这样用户通过自己的普通账户登录,就可以用root的权限来管理整个系统,而不需要有root账号及密码。

 

 Su -root  可以修改root的密码

 

Linux基础(2)---系统基础_第1张图片

Sudo su - (切换成root用户,只是root给普通用户的权限而已)

 

Visudo或者vi /etc/sudoers

User     MACHINE     COMMANDS

Root     ALL=(ALL)     ALL

Oldboy   ALL=(ALL)     /usr/sbin/useradd,   (用,分割)

%用户组                                 (用户组前面加 % )

 

 

Visudo(进行sudo的配置),可以给这个oldboy用户进行权限的编辑,用逗号分割开

可以为这个用户编辑为 NOPASSWD:ALL (不用密码,拥有所有的权限)

 

Vi编辑器   (98gg)定位到98行

Yy:复制这一行

P:进行粘贴这一行

 

Echo $PATH  (会输出一些命令的路径,我们直接执行的命令的路径都在这个下面,如果我们自己写的脚本想不在目录下执行,可以把路径加入这个PATH中)

PATH=/路径/文件命令:$PATH

PATH 环境变量大写,所有包含在环境变量里面的路径,都可以直接敲出来执行。

全局生效: /etc/profile

普通用户 ~/.bash_profile 或者 ~/.bashrc

 

netstat : 网络状态(查看网络状态)

常用参数:lntup:  l:列表  n:数字显示  t:显示tcp协议   u:udp协议   p:port端口

                  an:a:all所有     n:进程名

 

中文显示:

Linux中尽量不要输入中文,字符集:GBK,定长    UTF-8,非定长

Linux默认字符集路径: cat /etc/sysconfig/il8n 

echo  $LANG          查看当前系统生效的是那种字符集

LANG=en   (临时调整为英语)

 

服务器时间同步:自动和某个域名的时间同步

 

加大服务器文件描述符:(自己百度作用)

uLimit -HSn 65535           (这个退出当前用户就没了)

uLimit -n (查询)  65535

echo '* -nofile 65535'>>/etc/security/limits.conf

 

调整内核参数文件        /etc/sysctl.conf         (可以自己百度)

sysctl -p (让文件生效)

注意:不同的文件,生效的命令是不一样的

 

定时清理 clientmqueue目录垃圾文件防止占满磁盘空间(c5.8默认有sendmail,c6.4默认没有sendmail)

find /var/spool/clientmqueue/ -type f |xargs rm -f

也可以使用定时任务进行清理

 

df -h

Filesystem      Size      Used         Avail          Use%          Mounted on

                                                 可用空间

 

 

chattr +i  上锁

chattr -i   解锁

 

Mkdir -p /data/sys   (递归创建目录)

 

Cd -     (上一次的的目录)

 

 

Ls  -a         (可以输出隐藏文件)

.xxx     (以 . 开头的是隐藏文件)

 

 

Vi:

:set nu  (显示行号)

Dd (删除当前行)

Yy(拷贝当前行)

P(粘贴)

行号gg(定位到行)

 

 

Cat >> a.txt<

Aaaaaaaaa

Bbbbbbbbbb

EOF

 

 

Find -type(d f) -name “dd”     -mtime       

-type :是类型         -name是名称      -mtime是按时间查找

 

 

Linux 目录结构:

Widows

系统路径 C:\windows

 

Linux

逻辑所有的目录只有一个顶点, /(根),所有目录的起点

根下面类似一个倒挂的树一样的层次结构

 

 

Linu的目录结构也是有规律的,而且是按照类别组织的

应用程序  /usr/bin

数据文件,帮助  /usr/share

配置文件   /etc

启动命令  /etc/init.d

 

/

/bin      :全称是  二进制的意思

/usr      : 存放Unix系统商开发的程序 unix software resource

/usr/local  : 存放用户自己安装的程序,一般编译软件的时候默认路径,yum或rpm安装默认路径一般不是这里,用户程序及数据,帮助文件等的目录

/opt      : 某些系统,用于存放第三方厂商开发的程序

/var 分区单独分出来的   /var/log 下放置系统日志文件

/boot :存放Linux内核及引导程序的

/dev : 设备文件,声卡,磁盘,光驱等等

/etc :(1)二进制安装包(yum,rpm)的配置文件默认路径

  1. 服务启动命令存放的目录  /etc/init.d -> rc.d/init.d (不包含编译的)

/home: 普通用户的家目录

/lib  :  库文件的存放目录

/tmp :  临时文件目录

/mnt: 临时挂载点,一般是用于临时挂载存储设备的挂载目录的,比如有cdrom,u 盘等目录,直接插入光驱无法使用,要先挂载后才能使用   挂载点-->文件系统的(设备的)入口,一般我们在Linux系统上直接插入u盘是找不到的,需要先将u盘进行一个挂载点

/opt:表示可选择的意思,有些软件包也会被安装在这里,也就是自定软件包,

/proc : 操作系统运行时,进程信息及内核信息(比如CPU,硬盘分区,内存信息等)存放在这里。 /proc 目录伪装的文件系统 proc 的挂载目录,proc并不是真正的文件系统。

/sbin : 大多是设计系统管理的命令存放,是超级权限用户root的可执行命令存放地,这个目录和 /usr/sbin; /usr/X11R6/sbi;/usr/local/sbin目录是相似的    /bin 是普通用户的。在这个目录下创建的命令,在哪里都可以直接执行 :因为PATH 包含了 /usr/local/sbin

/var :  这个目录的内容是经常变动的,看名字就知道,我们可以理解为 vary 的缩写, /var/log 这是用来存放系统日志的目录,系统日志的路径是 /var/log/message(Linux系统和服务出现任何故障都会把日志打入这里)。 /var/www 目录是定义Apache服务器站点存放目录的。 /var/lib 用来存放一些库文件,比如Mysql的,以及Mysql数据库的存放地。

 

 

 

分目录

/etc/hosts : 设定用户IP 与名字(或域名的对应解析表,相当于本地LAN内的DNS (局域网)),类似 C:\WINDOWS\system32\drivers\etc\hosts(本地dns文件) ,LAN内IP域名解析文件

 

/etc/rc.local     : 我们将程序放在这里,系统已开机就会自动启动,Windows也可以实现程序一开机立马自己启动

 

/etc/profile  : 系统全局变量配置路径 PATH变量

 

/usr/local  : 相当于Windows下的 C:\Program files

 

useradd haha  (一回车就默认创建一个用户和一个同名的用户组)

 

tree:整个目录

tree -L : 看一层

 

last /var/log/secure 

lastlog :                 看用户的登录信息

 

/var/spool    : 定时任务的的路径

 

 

一文件有多种时间

Stat oldboy

Access:访问时间

Modify:修改时间

Change:变化时间

 

 

实用工具:

everything:本地搜索引擎

 

 

 

 

你可能感兴趣的:(Linux学习)