Linux笔记

虚拟机的网络连接的三种方式:

1、桥接模式:

好处-----大家都在同一个网段,相互可以通讯。

坏处-----因为ip地址有限,可能造成ip冲突。

2、Nat[网络地址转换模式]

好处:虚拟机不占用其他的ip,所以不会ip冲突

坏处:内网的其他人不能和虚拟机通讯。

3、主机模式:

单独的一台电脑

Vi/vim命令:

   拷贝当前行:yy,拷贝当前行向下5行5yy,并粘贴(p)

   删除当前行 dd,删除当前行向下5行 5dd

   在文件中查找某个单词[命令行下   /关键字,回车查找,输入n查找下一个]

   设置文件的行号,取消文件的行号[命令行下:set nu和:set nonu]

   使用快捷键到文档的最末行[G]和最首行[gg]

   在一个文件中输入”hello”,然后又撤销这个动作,再正常模式下输入  u

   将光标移动到第20行    shift+g:显示行号set nu-----输入20-----输入shift+g

linux基本命令:

shutdown

shutdown -h -now:表示立即关机

shutdown -h 1:表示一分钟后关机

shutdown -r new:立即重启

halt

就是直接使用,效果等价于关机

reboot

就是重启系统

sync:把内存的数据同步到磁盘

注意:当我们关机或者重启时,都应该先执行sync指令,把内存数据写入磁盘

用户登录和注销:

1、登录后再用“su - 用户名”来切换成系统管理员身份,exit退出登录;

2、logout即可注销用户;

3、Useradd xm 添加一个xm用户;

4、Passwd 用户名—修改用户密码;

5、删除用户xm,但保留家目录:userdel xm

6、删除用户xh以及用户主目录:userdel -r xh

7、usermod -g 用户组 用户名,将用户指定到某个组

细节说明:

1、当创建用户成功后,会自动创建和用户同名的家目录

2、也可以通过useradd -d 指定目录 新的用户名,给创建的用户指定家目录

3、查询用户信息:id root,当用户不存在时,返回“无此用户”;

linux系统运行级别的示意图

0:关机

1:单用户(找回丢失密码)

2:多用户无网络服务

3:多用户有网络服务

4:保留

5:图形界面

6:重启

常用运行级别是3和5,要修改默认的运行级别可改文件/etc/inittab的id:5:initdefault:这一行中的数字

切换到指定运行级别的指令

基本语法:init 012356

帮助指令:

main ls:获得ls命令的帮助信息

help ls:获得shell内置命令的帮助信息

文件目录类指令:

pwd:显示当前工作目录的绝对路径

ls:显示文件

   -a:显示当前目录所有文件和目录,包括隐藏的

mkdir /home/dog:表示在/home目录下创建dog目录

mkdir -p /home/animal/tiger:在/homt目录下创建多级目录

rmdir /home/dog:删除的是空目录,如果目录下有内容时无法删除,如果要删除非空目录,rm -rf 要删除的目录

touch:touch hello.txt创建一个hello.txt空文件

cp aaa.txt bbb/:将当前目录的aaa.txt文件拷贝到当前目录的bbb这个目录

cp -r test/ zwj/:将当前目录的test文件夹复制到zwj文件下,注意当前目录位置,然后要准确的定位源目录和目标目录,

\cp -r test/ zwj/会强制覆盖

rm aaa.txt:删除文件,会提示是否删除(带上-f不会提示);

rm -rf bbb/:删除目录;

mv aaa.txt pig.txt :将当前文件夹的aaa.txt文件改名为pig.txt;

mv pig.txt /root/:将当前目录的pig.txt移动到/root/目录下;

cat -n /etc/profile | more,以cat指令打开文件,并分页显示,-n显示行号,为浏览方便一般会带上管道命令 |more;

less和more命令:less是一页一页加载;查看是enter为下一行,空格为下一页

ls -l a.txt:将ls显示的内容写入到a.txt中;

ls -al a.txt:将列表的内容追加到a.txt;

cat /etc/profile > c.txt:将文件profile内容覆盖到文件c.txt;

echo “内容” >> a.txt:将“内容”追加到a.txt上;

echo “内容” > a.txt:将“内容”覆盖到a.txt上;

cal >> /home/mycal:将日历信息追加到mycal

echo P A T H : 输 出 PATH:输出 PATH:PATH环境变量;

head -n 5 /etc/profile:显示文件前五行;

tail -n 5 文件:查看文件后五行;

In -s /root linkToRoot:建立一个软连接,连接到/root;

rm -ef linkToRoot:删除软连接;

history:查看已经执行过的历史命令,也可以执行历史指令

find /home -name hello.txt:按照文件名字查找 /home 文件下的hello.txt文件;

find /home -user nobody:查找/opt目录下,用户名称为nobody的文件;

find / -size +20M:查找这个系统下大于20m的文件(+n大于,-n小于,n等于);

find / -name *.txt:查找根目录下后缀名为txt的文件;

| -ni grep :grep过滤查找,管道符“|”,表示将前一个命令的处理结果输出传递给后面的命令处理,-n显示行号,-i忽略大小写;

cat fileName|grep 查看文件,G到最底层,b和空格翻页

grep -C 5 foo file 显示file文件里匹配foo字串那行以及上下5行

grep -B 5 foo file 显示foo及前5行

grep -A 5 foo file 显示foo及后5行

linux 权限和组管理:

用户配置文件(用户信息):/etc/passwd

口令配置文件(密码和登录信息,是加密):/etc/shadow

组配置问(组信息):/etc/group

查看文件的所有者:指令- ls -ahl

修改文件的所有者:chown 用户名 文件名

修改文件所在组:chgrp 组名 文件名

除文件的所有者和所在组的用户外,系统的其他用户都是文件的其他组

改变用户所在组:usermod -g 组名 用户名

改变该用户登录的初始目录:usermod -d 目录名 用户名

文件类型:-普通文件 d:目录

               软链接 c:字符设备【键盘,鼠标】

                           b:块文件,硬盘

rwx作用到文件

r:代表可读,可以被读取查看

w:代表可写,可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录 有写权限,才能删除该文件

x:代表可执行,可以被执行

rwx作用到目录

r:代表可以读,可以读取,ls查看目录内容

w:代表可写,可以修改,目录内创建+删除+重命名目录

x:代表可执行,可以进入该目录

rwx可用数字来表示:r=4,w=2,x=1,因此rwx=7

通过chmod指令,可以修改文件或者目录的权限

第一种方式:+,-,=变更权限

u:所有者 g:所有组 o:其他人 a:所有人(u,g,o的总和)

1、给abc文件的所有者读写执行的权限,给所在组读执行的权限,给其他组读执行权限 chmod u=rwx,g=rx,o=rx abc

2、给abc文件的所有者除去执行的权限,增加组写的权限 chmod u-x,g+w abc

3、给abc文件的所有用户添加读的权限 chmod a+r abc

第二种方式:通过数字变更权限

1、将/home/abc.txt文件的权限修改成 rwxr-xr-x (rwxr-xr-x解析为u的权限未rwx, g的权限为r-x,o的权限为r-x) chmod 755 /homt/abc.txt

通过chown,改变文件所有者

1、请将/home/abc.txt文件的所有者修改成tom chown tom /home/abc.txt

2、请将/home/kkk 目录下所有的文件和目录的所有者都修改成tom(我们应该用root操作) chown -R tom kkk/

通过chgrp,改变文件所在组

1、请将/home/abc.txt文件的所在组修改成tom chgrp tom /home/abc.txt

2、请将/home/kkk 目录下所有的文件和目录的所在组都修改成tom chgrp -R tom kkk/

crond 任务调度

基本语法 crontab

常用选项:-e 编辑crontab定时任务

               -l    查询crontab任务

               -r    删除当前用户所有的crontab任务

分区:

windows分区

1、mbr分区:最多支持四个主分区

                  系统只能安装在主分区

                  扩展分区要占一个主分区

                  MBR最大只支持2TB,但拥有最好的兼容性

2、gtp分区:支持无限多个主分区(单操作系统可能限制,比如windows下最多128个分区)

                 最大支持18EB的大容量(EB=1024PB,PB=1024TB)

                 windows7 64位以后支持gtp

linux分区

原理介绍:1、linux来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构,linux中每个分区都是用来组成整个文件系统的一部分

              2、linux采用了一种叫‘载入’的处理方法,他的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得

linux硬盘分IDE硬盘和SCSI硬盘,目前基本上是SCSI硬盘

对应IDE硬盘,驱动器标识符为‘hdx’,其中“hd”表明分区所在设备的类型,这里是指IDE硬盘了。“x”为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),“”代表分区,前四个分区用数字1到4表示,它们是主分区或者扩展分区,从5开始就是逻辑分区。例:hda3表示为第一个IDE硬盘上的第三个主分区或扩展分区,hdb2表示为第二个IDE硬盘上的第二个主分区或扩展分区

对于SCSI硬盘则标示为“sdx~”,SCSI硬盘是用“sd”来表示分区所在设备的类型的,其余则和IDE硬盘的表示方法一样

查看系统的分区和挂载的情况:lsblk -f或者 lsblk

如何增加一块硬盘

1、虚拟机添加硬盘

2、分区— fdisk/dev/sdb

3、格式化---- mkfs -t ext4 /dev/sdb1

4、挂载-----先创建一个 /home/newdisk,挂载 mount /dev/sdb1 /home/newdisk (重启后会失效),卸载 umount /dev/sdb1或者 umount /newdisk

5、设置可以自动挂载(永久挂载,当你重启系统,任然可以挂载到 /home/newdisk)。

 vim /etc/fstab

/dev/sdb1           /home/newdisk                ext4   defaults    0   0

查询系统整体磁盘使用情况

基本语法:df -h

查询指定目录的磁盘占用情况

基本语法:du -h /目录

-s:指定目录占用大小汇总

-h:带计量单位

-a:含文件

–max-depth=1 :子目录深度

-c:列出明细的同时,增加汇总值

例如:查询/opt 目录的磁盘占用情况,深度为1:du -ach --max-depth=1 /opt

1、统计/home文件夹下文件的个数

      ls -l /home | grep "^-" | wc -l

2、统计/home 文件夹下目录的个数

      ls -l /home | grep "^d" | wc -l

3、统计/home 文件夹下文件的个数,包括子文件夹里的

      ls -lR /home | grep "^-" | wc -l

4、yum instal tree 安装tree指令,tree 命令以树状显示目录结构

给linux指定ip: vi /etc/sysconfig/network-scripts/ifcfg-eth0(eth0网卡的配置文件)

ifcfg-eth0文件说明:

DEVICE=eth0 #接口名(设备,网卡)

HWADDR=00:0C:2X:6X:0X:XX #MAC地址

TYPE=Ethernet #网络类型(通常是Ethenet)

UUID=926ASDAD XXXXXXXXXXXXXXXXXX #随机ID

ONBOOT=yes #系统启动的时候网络接口是否有效(yes/no)

BOOTPROTO=static #ip的配置方法【none|static|bootp|dhcp】(引导时不使用协议|静态分配ip|BOOTP协议|DHCP协议)

IPADDR=192.168.184.130 #ip地址

GATEWAY=192.168.184.2 #网关

DNS1=192.168.184.2 #域名解析器,一般跟网关一样

重启网络服务或者重启系统生效

service network restart、reboot

查看当前主机名:hostname

修改linux的主机映射文件:

           vim/etc/sysconfig/network文件中内容

                         NETWORKING=yes

                         NETWORKING_IPV6=no

                         HOSTNAME=hadoop100   //写入新的主机名

                          注意:主机名称不要有“_”下划线

linux进程:

1、在Linux中,每个执行的程序(代码)都称为一个进程,每一个进程都分配一个ID号

2、每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程

3、每个进程都可能以两种方式存在。前台和后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程则石实际在操作,但是由于屏幕上无法看到进程,通常使用后台方式执行。

4、一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才结束。

ps命令是用来查看目前系统中,有哪些正在执行,以及他们执行的状况,可以不加参数

ps -a:显示当前终端的所有进程信息

ps -u:以用户的格式显示进程信息

ps -x:显示后台进程运行的参数

命令:ps -aux | more

参数:USER-----------------用户名

       PID-------------------进程ID

       CPU------------------占用的cpu(百分比)

       MEM------------------占用内存(百分比)

       VSZ--------------------占用虚拟内存(单位:KB)

       RSS------------------使用物理内存情况(单位:KB)

        TTY--------------------使用的终端

        STAT-------------------进程状态(s-休眠,r-运行,z-僵死)

        START-----------------启动时间

        TIME--------------------占用CPU的总时间

         COMMAND-----------进程执行时的命令行

要求:以全格式显示当前所有的进程,查看进程的父进程

命令:ps -ef

-e 显示所有进程,-f全格式

ps -ef | grep xxxx

UID-----用户ID

PID------进程ID

PPID-----父进程ID

C------CPU用于计算执行优先级的因子,数值越大,表明进程时CPU密集型运算,执行优先级会降低,数值越小,表明进程时I/O密集型运算,执行优先级会提高

STIME-----进程启动的时间

TTY----------完整的终端名称

TIME--------CPU时间

CMD--------启动进程所用的命令和参数

终止进程的命令kill 和killall

kill 进程号

killall 进程名称(功能描述:通过进程名称杀死进程,也支持通配符)

-9:表示强迫进程立即停止

sshd:登录服务,端口22

bash:终端

pstree,显示进程树

-p:显示进程的pid

-u:显示进程的所属用户

Linux服务管理’

服务(service)本质就是进程,但是时运行在后台的,通常都会监听某个端口,等待其他进程序的请求,因此我们又称为守护进程。

service 服务名 start|stop|restart|reload|status,这种方式只是临时生效,当重启系统后,还是回归以前对服务的设置

在centos7.0后,不再使用service,而是systemctl

查看防火墙状态:service iptables status

通过windows 的telnet指令检查Linux的某个端口是否在监听,并且可以访问

指令:telnet ip 端口

/etc/init.d/ 列出系统有哪些服务

服务的运行级别:

查看或者修改默认级别:vi /etc/inittab

Linux系统有7种运行级别:常用的是级别3和5

运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动

运行级别1:单用户工作状态,root权限,用户系统维护,禁止远程登录

运行级别2:多用户状态(NFS),不支持网络

运行级别3:完全的多用户状态(有NFS),登录后进入控制台命令模式

运行级别4:系统未使用,保留

运行级别5:X11控制台,登陆后进入图形GUI模式

运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

开机流程说明:开机→BIOS→/boot→init进程1→运行级别→运行级别对应的服务

通过chkconfig命令可以给每个服务的各个运行级别设置自启动/关闭

基本语法 :chkconfig --list 可以看见各个服务在各个运行级别下是否为自启动

              chkconfig    --list | grep  服务名  ------------筛选服务,查看服务自启动状态

             chkconfig   服务名     --list           ------------直接按照服务名查找

             chkconfig    --level 5 服务名   on/off --------修改服务在运行级别为5的情况下自启动或者关闭自启动

             chkconfig iptables off          -------------------在所有运行级别下,关闭防火墙(不带--level就是指所有级别)

使用细节:chkconfig 重新设置服务后自启动或关闭,需要重启机器reboot才能生效

动态监控进程

top与ps命令很相似,他们都是用来显示正在执行的进程,top与ps最大的不同之处,在于top在执行一段时间可以更新正在运行的进程

top基本语法:-d 秒数:指定top命令每隔几秒更新,默认是3秒在top命令的交互模式当中可以执行的命令

                  -i  :使top不显示认为闲置或者僵死进程

                 -p  :通过指定监控进程id来仅仅监控某个进程的状态

       交互命令       q---退出

                            p---以cpu使用率排序,默认是此项

                           m---以内存的使用率排序

                           n----以pid排序

案例:监视特定用户------ 输入命令top,按回车,查看执行的进程,然后输入u,再输入用户名即可

       终止指定的进程-----输入命令top,按回车,查看执行的进程,然后输入k,再输入要结束的进程id

       指定系统状态更新的时间(每隔10秒自动更新,默认是3秒) -----top -d 10

查看系统的网络状况

基本语法:netstat

                          -an 按照一定顺序排列输出

                          -p   显示哪个进程调用

查看所有的网络服务:netstat -anp | more

查看单个服务的网络状态:netstat -anp | sshd

RPM包和YUM包

rpm包:一种用于互联网下载包的打包及安装工具,它包含在某些linux分发版中。它生成具有RPM扩展名的文件。

rpm包的简单查询指令:

   查询已安装的rpm列表,rpm -qa | grep xx

一个rpm包名:firefox-45.0.1-1.el6.centos.x86_64.rpm

名称:firefox

版本号:45.0.1-1

适用操作系统:el6.centos.x86_64-----表示centos6.x的64位系统,如果是i686、i386表示32位系统,noarch表示通用

rpm包的其它查询指令:

   rpm -qa | more    查询所有分页显示

   rpm -q 软件包名:查询软件包是否安装

   rpm -qi 软件包名:查询软件包信息

   rpm -ql 软件包名:查询软件包中的文件及位置

   rpm -qf 文件全路径名:查询文件所属的软件包

卸载rpm包基本语法:rpm -e RPM包的名称,如果其他软件包依赖于要卸载的软件包,卸载时则会产生错误信息。如:rpm -e foo ,removing these packages would break depencies:foo is needed by bar-1.0.1,

如果我们就是要删除foo这个rpm包,可以增加参数–nodeps,就可以强制删除,但是一般不推荐这样做,因为依赖于该软件包的程序可能无法运行。rpm -e --nodeps foo

安装rpm包的管理,基本语法:rpm -ivh RPM包名全路径名称,参数说明:i=install 安装,v=verbose提示,h=hash进度条

YUM是一个shell前端软件包管理器。基于rpm包管理,能够从指定的服务器自动下载rpm包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包(需要联网)

yum的基本指令:

安装指定的yum包:yum install xxx 下载安装

查询yum服务器是否有需要安装的软件:yum list | grep xxx软件列表

linux常用命令,至少6个(netstat、top、lsblk、ps、chkconfig)

linux查看内存:top

查看磁盘存储:df -lh

端口占用:netstat -tunlp

进程命令:ps -aux

io读写情况:iotop

yum仓库配置:

yum源文件repo配置文件位置:/etc/yum.repos.d/*.repo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值