Linux基本操作【Admin笔记】

Linux笔记

什么是服务器

• 能够为其他计算机提供服务的更高级的电脑

典型服务模式
C/S,Client/Server架构
– 由服务器提供资源或某种功能
– 客户机使用资源或功能

TCP/IP协议简介 • TCP/IP是最广泛支持的通信协议集合– 包括大量Internet应用中的标准协议– 支持跨网络架构、跨操作系统平台的通信

网关地址(路由器):一个网络到另一个网络的关口-- 解决不同网络之间通信

获取命令行界面 • 虚拟控制台切换( Ctrl + Alt + Fn 组合键) – tty1:图形桌面– tty2~tty6:字符控制台

绿色:可以执行的程序  蓝色:目录  青色:快捷的方式  黑色:文本文件

 执行Linux大多数命令,需要找到相对应的程序

– 命令的执行依赖于解释器(默认的解释器程序:/bin/bash)

        用户 ------》解释器 ------》内核------》硬件

]# cat /etc/redhat-release               查看系统版本

]# lscpu                                        真机列出CPU处理器信息

]# cat /proc/meminfo                  真机检查内存大小、空闲情况

]# hostname A.tedu.cn               临时设置主机名

]# ifconfig  eth0  192.168.1.10    临时设置IP地址

]# ifdown eth0               禁用eth0网卡 ,让临时设置失效

]# ifup eth0                       激活eth0网卡

]# head  /etc/passwd        默认显示头10行   tail默认显示尾10行

]# mkdir  -p  /vod/movie/cartoon              /-p表示连父目录一起创建

]# touch /root/1.txt      新建空文件

]# cat -n  /etc/shells         #显示行号 --help      #查看命令的帮助信息

. . :上一级目录        . :当前目录         ~:用户家目录

快捷键 

  – Ctrl + l:清空整个屏幕   – Esc + . Alt + .:粘贴上一个命令的参数  – Ctrl + u:清空至行首– Ctrl + w:往回删除一个单词

]# umount   /dvd/  卸载  Linux允许一个设备,同时挂载到多个不同的挂载点

ls — List  格式:ls [选项]... [目录或文件名]

• 常用命令选项
– -l:以长格式显示,显示详细属性
– -A:包括名称以 . 开头的隐藏文档
– -d:显示目录本身(而不是内容)的属性
– -h:提供易读的容量单位(K、M等)

 ls -R :递归显示目录内容所有

使用通配符

• 针对不确定的文档名称,以特殊字符表示
– *
:任意多个任意字符
– ?:单个字符

]# ls   /root/a*         #显示以a开头数据

[root@A /]# ls /dev/tty[0-6]    [a-z]:多个字符或连续范围中的一个,若无则忽略

[root@A /]# ls /dev/tty{1,3,5,7,9,38}   {a,min,xy}:多组不同的字符串,全匹配

]# unalias  myls      #删除别名

]# alias  hn='hostname'   #定义别名

]# alias          #查看当前系统生效的别名

]# grep -i  ROOT   /etc/passwd  查找文本内容  -v,取反匹配  -i,忽略大小写
]# grep ^root /etc/passwd      #以root开头的行  ^word 以字符串word开头
]# grep  bash$ /etc/passwd     #以bash结尾的行 word$ 以字符串word结尾

]# rm -rf /opt/*             -r、-f:递归删除(含目录)、强制删除

]# cp /etc/passwd  /opt/    -r:递归,复制目录时必须有此选项

[root@A /]# \cp -r /boot/  /opt/   #没有提示信息,强制覆   复制时出现同名:临时在本次操作,取消别名的定义

复制可以支持两个以上的参数:永远会将最后一个参数,作为目标。其他的所有参数全部作为源。

管理用户和组

用户基本信息存放在 /etc/passwd 文件     用户密码信息存放在 /etc/shadow 文件

]# head -1 /etc/passwd
 root:x:0:0:root:/root:/bin/bash
  用户名:密码占位符:UID:基本组GID:用户描述信息:家目录:解释器程序

 useradd 命令 

常用命令选项– -u 用户id、-d 家目录路径、-s 登录解释器、-G 附加组

创建的普通用户默认UID会从1000开始,管理员root的UID为0

]# useradd -u 1500 nsd04   #创建用户nsd04指定UID

]# id nsd01            查看用户的基本信息

]# groupadd stugrp           创建组

]# passwd nsd01   更改用户 nsd01 的密码

]# echo 123456  |  passwd --stdin nsd01  非交互式设置密码

]# ls --help  >  /opt/ls.txt  重定向输出:将前面命令的输出,写入到文本文件>:覆盖重定向   >>:追加重定向

]# head -12 /etc/passwd  |  tail -5  |  cat -n  显示文件/etc/passwd的8到12行内容

]# date  查看日期时间

]# date  -s  '2008-10-1   12:12:10'    修改时间

]# bc   计算器

修改用户属性

usermod [选项]... 用户名     • 常用命令选项– -u 用户id、-d 家目录路径、-s 登录解释器、-G 附加组

]# usermod -u 1600  -d /mnt/nsd15     -s /sbin/nologin -G stugrp  nsd15

]# userdel   -r   nsd01      -r连同家目录一并删除

组基本信息存放在 /etc/group 文件             组成员信息和组密码信息存放在 /etc/gshadow 文件

]# grep tarena  /etc/group
 tarena:x:1512:
  组名:密码占位符:组的GID:组的成员列表

– groupadd [-g 组ID] 组名
[root@A /]# groupadd    -g  1555   tarena   创建组自定义ID

]# gpasswd -a kenji tarena            添加kenji用户到tarena组

]# gpasswd -d kaka  tarena                从tarena组中删除kaka用户

]# groupdel tarena                  删除组

tar备份与恢复,制作压缩包                           

Linux独有的压缩格式:
 
    gzip -----> .gz
     bzip2 -----> .bz2  
     xz -----> .xz 

tar工具的常用选项
• tar 集成备份工具
– -c:创建归档
– -x:释放归档
– -f:指定归档文件名称,必须放在所有选项最后
– -z、-j、-J:调用 .gz、.bz2、.xz 格式的工具进行处理
– -t:显示归档中的文件清单
– -C(大写):指定释放路径

打包,制作tar包

 格式:  tar  选项     /路径/压缩包的名字      /路径/源文件 ........

]# tar -zcf /opt/abc.tar.gz   /home/   /etc/passwd

  格式: tar   选项     /路径/压缩包的名字    -C  /释放的路径

]# tar -xf /opt/abc.tar.gz  -C  /nsd01  解包

cron计划任务,周期性任务

用途:按照设置的时间间隔为用户反复执行某一项固定的系统任务

软件包:cronie、crontabs  日志(日记)文件:/var/log/crond

 使用 crontab 命令
– 编辑:crontab -e [-u 用户名]    #调用vim文本编辑器
– 查看:crontab -l [-u 用户名]
– 清除:crontab -r [-u 用户名]

*:匹配范围内任意时间
    ,:分隔多个不连续的时间点
    -:指定连续时间范围
    /n:指定时间频率,每n ...

真机定义永久的别名,配置文件 ~/.bashrc 该文件每开启新的终端才生效

# .bashrc
alias  gos='ssh  -X  root@172.25.0.11'

权限和归属

基本权限                                                                              对于文本文件:
• 访问方式(权限)                                                                     r: cat  less  grep  head  tail
– 读取:允许查看内容-read    r                                                 w: vim能够保存并退出   >   >>
– 写入:允许修改内容-write     w                                              x: Python脚本   Shell脚本
– 可执行:允许运行和切换-execute  x

权限适用对象(归属)
– 所有者:拥有此文件/目录的用户-user  u
– 所属组:拥有此文件/目录的组-group      g
– 其他用户:除所有者、所属组以外的用户-other o

查看权限

使用 ls -l 命令     – ls -ld 文件或目录...

  以d开头表示目录
  以-开头表示文本文件
  以l开头表示快捷方式

设置基本权限 • 使用 chmod 命令

– chmod     归属关系+-=权限类别     文档...

]# ls -ld /nsd01

]# chmod u-w /nsd01

]# chmod g+w /nsd01

]# chmod o=--- /nsd01

]# chmod -R o=--- /opt/aa/  [-R]:递归设置权限

Linux判断用户具备的权限                          匹配及停止

判断用户对于该数据的身份                所有者>所属组>其他人

查看相应身份权限位置的权限

目录的 r 权限:能够 ls 浏览此目录内容
目录的 w 权限:能够执行 rm/mv/cp/mkdir/touch/等更改目录内容的操作
目录的 x 权限:能够 cd 切换到此目录

设置文档归属• 使用 chown 命令

– chown [-R] 属主 文档...
– chown [-R] :属组 文档...
– chown [-R] 属主:属组 文档...

]# chown student /nsd03   #仅修改所有者

]# chown :root /nsd03     #仅修改所属组

]# chown lisi:stugrp /nsd03

附加权限(特殊权限)

Set GID

• 附加在属组的 x 位上
– 属组的权限标识会变为 s
– 适用于目录,Set GID可以使目录下新增的文档自动设置与父目录相同的属组
– 子文档自动继承父目录所属组身份

]# mkdir /nsd07
]# chown :stugrp /nsd07
   #修改目录的所属组
]# ls -ld /nsd07
]# mkdir /nsd07/abc01      
新建的还是属于原来的组

]# ls -ld /nsd07/abc01

]# chmod g+s /nsd07   #赋予Set Gid附加权限
]# ls -ld /nsd07

]# mkdir /nsd07/abc02
]# ls -ld /nsd07/abc02    
     改变了

Sticky Bit

• 附加在其他人的 x 位上
– 其他人的权限标识会变为 t
– 适用于开放 w 权限的目录,可以阻止用户滥用 w 写入权限(禁止操作别人的文档)

]# mkdir /home/public
]# chmod ugo=rwx /home/public
]# ls -ld /home/public

]# chmod o+t /home/public
]# ls -ld /home/public         
  其他人不能操作

Set UID

• 附加在属主的 x 位上
– 属主的权限标识会变为 s
– 适用于可执行文件,Set UID可以让使用者具有文件属主的身份及部分权限
[root@server0 ~]# /usr/bin/mkdir   /opt/abc01      mkdir的系统路径

]# cp /usr/bin/mkdir  /usr/bin/hahadir           复制
]# /usr/bin/hahadir   /opt/abc02              可以创建

]# chmod u+s /usr/bin/hahadir                       加权限
]# ls -l /usr/bin/hahadir
]# su - student
]# /usr/bin/mkdir  nsd01          
]# ls -l

]# /usr/bin/hahadir  /nsd02       可以创建
]# ls -l
]# exit

acl访问策略

– 能够对个别用户、个别组设置独立的权限
– 大多数挂载的EXT3/4、XFS文件系统默认已支持

设置acl访问控制策略
• 使用 getfacl、setfacl 命令
– getfacl 文档...
– setfacl [-R] -m u:用户名:权限类别 文档...
– setfacl [-R] -m g:组名:权限类别 文档...

]# setfacl -m u:lisi:rx /nsd08  设置lisi的ACL

]# getfacl   /nsd08    查看目录ACL的策略

]# setfacl -x u:dc  /nsd09    删除指定ACL策略

]# setfacl -b  /nsd09   删除所有的ACL策略

  Web服务:提供一个网页内容
    http协议:超文本传输协议
    https协议:安全的超文本传输协议

wget 软件包的URL网址   -O(大写) /目录路径/新文件名                 下载软件包

使用rpm命令管理软件

 rpm -i /root/vsftpd-3.0.2-9.el7.x86_64.rpm  #安装软件包

 rpm -q vsftpd     #查看是否安装成功
]# rpm -e vsftpd     #卸载软件包

]# rpm -qi vsftpd         #查询已经安装的软件信息
]# rpm -ql vsftpd          #查询已经安装的软件的安装清单

]# vim /etc/yum.repos.d/dvd.repo
[dvd]                           
              #仓库标识
name=haha xixi hehe lele         #仓库描述信息
baseurl=http://classroom.example.com/content/rhel7.0/x86_64/dvd/         #指定服务端基本网络路径
enabled=1                                 #是否启用本文件
gpgcheck=0                               #是否检测红帽的签名认证
[root@server0 ~]# yum  repolist   #显示识别的仓库信息

]# yum remove httpd       卸载软件包

]# yum clean all    #清空缓存

]# yum list firefox .查询仓库中是否有该软件

分区规划及使用

扇区默认的大小为512字节

• 识别硬盘 => 分区规划 => 格式化 => 挂载使用
    毛坯楼层 => 打隔断 => 装修 =>  入驻

一 识别硬盘,vd代表虚拟化设备

分区模式:  MBR 主引导记录模式   最大的空间支持2.2TB   最多有4个主分区,或者 3个主分区+1个扩展分区(n个逻辑分区)

  GPT:最大的空间支持18EB   1EB=1024PB         1PB=1024TB

]# lsblk   识别硬盘

]#partprobe 刷新分区表

 fdisk /dev/vdb     分区
  n 创建新的分区----->回车----->回车---->回车----->在last结束时 +2G
  p 查看分区表
  n 创建新的分区----->回车----->回车---->回车----->在last结束时 +1G
  d 删除分区
  w 保存并退出

格式化:赋予空间文件系统的过程
文件系统:存储数据的规则

]# mkfs.ext4 /dev/vdb1      mkfs.xfs#格式化文件系统为ext4

]# blkid /dev/vdb1      #查看设备文件系统类型

]# mount /dev/vdb1  /mypart1   挂载

]# df -h    #显示正在挂载使用的设备信息
[root@server0 ~]# vim  /etc/fstab

 设备路径      挂载点        文件系统类型      参数       备份标记      检测顺序
/dev/vdb1   /mypart1     ext4            defaults       0                 0

 ]#mount -a检测/etc/fstab开机自动挂载配置文件,格式是否正确,检测/etc/fstab中,书写完成,但当前没有挂载的设备,进行挂载

]# umount /mypart1    取消挂载

LVM逻辑卷

   作用: 1.整合分散的空间   2.空间可以扩大

– 零散空闲存储 ---- 整合的虚拟磁盘 ---- 虚拟的分区

 将众多的物理卷(PV)组成卷组(VG),再从卷组中划分出逻辑卷(LV)

创建卷组

格式:vgcreate  卷组名    设备路径.....
]# vgcreate systemvg /dev/vdb  /dev/vdc1
]# vgs              
查看卷组基本信息
]# pvs                查看物理卷基本信息

创建逻辑卷

格式:lvcreate -n 逻辑卷名    -L  大小   基于的卷组
]# lvcreate -n vo -L 16G systemvg
]# lvs  
   查看逻辑卷基本信息
]# vgs     查看卷组基本信息            

逻辑卷使用                                              
格式化文件系统

]# ls /dev/systemvg/vo
]# ls -l /dev/systemvg/vo
]# mkfs.xfs /dev/systemvg/vo           
格式化系统为XFS
]# blkid /dev/systemvg/vo         查看文件系统类型

挂载访问

]# vim /etc/fstab
/dev/systemvg/vo    /mylv   xfs   defaults  0  0

]# df -h      显示正在挂载使用的设备信息

逻辑卷的扩展

]# lvextend -L 18G /dev/systemvg/vo

扩展文件系统(刷新文件系统)         
     resize2fs:扩展 ext4文件系统
     xfs_growfs:扩展 xfs文件系统

]#blkid /dev/systemvg/vo      查看文件系统类型
]# xfs_growfs /dev/systemvg/vo
]# df -h

扩展卷组空间  卷组没有足够的剩余空间

]# vgextend systemvg /dev/vdc2

了解:逻辑卷支持变小
      ext4文件系统支持变小
      xfs文件系统不支持变小

卷组划分空间的单位: PE   默认大小4M

]# vgdisplay systemvg     显示卷组详细信息
  PE Size               4.00 MiB

 请划分一个250M逻辑卷lvredhat

]# vgchange -s 1M systemvg        修改PE的大小
  Volume group "systemvg" successfully changed
[root@server0 ~]# vgdisplay systemvg   
    显示卷组详细信息

[root@server0 ~]# lvcreate -n lvredhat -L 250M systemvg
[root@server0 ~]# lvs

]# lvcreate -n lvtest -l 100 systemvg        -l:PE的个数

逻辑卷删除:首先删除逻辑卷,再删除卷组,最后删除物理卷

   物理卷可以删除也可以不删除
   卷组删除的前提为:基于此卷组创建的所有逻辑卷都必须删除

卸载逻辑卷

]# lvremove /dev/systemvg/vo

]# lvremove /dev/systemvg/vo             要先卸载才能删除
  Logical volume systemvg/vo contains a filesystem in use.
[root@server0 ~]# umount /mylv/

删除逻辑卷

]# lvremove /dev/systemvg/vo
Do you really want to remove active logical volume vo? [y/n]: y
  Logical volume "vo" successfully removed

]# lvs

卷组删除

]# vgremove systemvg

]# grep ^$  /etc/default/useradd                 匹配空行:^$

]# grep -v ^$  /etc/default/useradd                     去除空行
]# grep -v ^#  /etc/login.defs                             去除以#开头的行
]# grep -v ^#  /etc/login.defs  |  grep  -v  ^$    显示文件的有效信息(去除注释行和去除空行)

find高级使用,递归式的查找

根据预设的条件递归查找对应的文件
– find [目录] [条件1] [-a|-o] [条件2] ...

– 常用条件表示:
-type 类型(f、d、l)
-name "文档名称"
-size +|-文件大小(k、M、G)
-user 用户名
-mtime 根据文件修改时间

-type 类型(f文件、d目录、l快捷方式)                       

]# find  /boot/  -type  l
/boot/grub/menu.lst

-name "文档名称"

]# find  /etc/   -name   "*.conf"

]# mkdir /root/nsd01

]# touch /root/nsd02.txt

]# find /root  -name  "nsd*"
 
]# find /root/ -name  "nsd*"  -type d   目录

]# find /root/ -name  "nsd*"  -type f    文档

-size +|-文件大小(k、M、G)
-user 数据的所有者

]# ls -lh /boot/initramfs-3.10.0-123.el7.x86_64.img

]# find /boot/ -size -10M   查找小于10M

]# find /  -user student   找出系统中所有student拥有的数据

  /proc目录反映的是内存数据

-mtime 根据文件修改时间,表示的所有时间都是过去时间

-mtime +10   #10天之前修改过的数据
-mtime -10   #最近10天之内修改过的数据

]# find  /root/  -mtime  +1000

]# find  /root/  -mtime   -2

处理find查找到的结果

-exec  cp   {}    /opt      \;

 -exec:表示额外操作的开始
    {}:代表前面find每一个查询结果
    \;:表示额外操作的结束

]# find  /etc/  -name "*tab"
]# find  /etc/  -name "*tab"  -exec   cp  {}   /opt   \;  
在目录/etc中找到名字为以tab结尾的结果全部拷贝到/opt中
]# ls /opt/

]# find  /boot  -size +10M
]# find  /boot  -size +10M  -exec    cp  {}   /opt   \;
]# ls /opt/

NTP网络时间协议

• Network Time Protocol
– NTP服务器为客户机提供标准时间
– NTP客户机需要与NTP服务器保持沟通

]# yum -y install chrony

修改主配置文件

]# vim /etc/chrony.conf
 #server 0.rhel.pool.ntp.org iburst
 #server 1.rhel.pool.ntp.org iburst
 #server 2.rhel.pool.ntp.org iburst
 server  classroom.example.com  iburst   #指定服务端位置

重起程序(重起服务)

   chronyd(服务名)

   daemon
      英 [ˈdiːmən]  美 [ˈdiːmən]
   n.(古希腊神话中的)半神半人精灵    守护进程

]# systemctl restart chronyd     重起程序
]# systemctl enable chronyd    设置开机自启动

测试

]# date
]# date -s '2008-10-1  10:10:10' 
更改时间

]# date
]# systemctl restart chronyd
]# date

升级Linux内核

下载一个新版本的内核软件包
]# wget  http://classroom.example.com/content/rhel7.0/x86_64/errata/Packages/kernel-3.10.0-123.1.2.el7.x86_64.rpm

安装内核
]# uname -r       显示内核版本

]# rpm -ivh  /kernel-3.10.0-123.1.2.el7.x86_64.rpm   安装内核
]# uname -r      #显示内核版本

重起验证
]# reboot         重启

]# uname -r    显示内核版本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值