Linux基本命令使用及语法解析

linux基本命令及语法

基本命令用思维导图的方式为各位看官奉上

在这里插入图片描述

用户与组的管理

1.用户管理

用户:

  • 超级用户
  • 普通用户
  • 虚拟用户:不能登录系统,存在主要是方便系统管理,满足响应系统进程对文件属主的要求。

用户组:

  • 主要组(主组):创建用户是默认创建。
  • 附属组:用户加入的组。

用户配置文件:/etc/passwd

root:x:0:0:root:/root:/bin/bash
root:用户名
口令:密码站位符(不显示密码),“x”
用户标识号(UID):"0"
用户组标识号(GID):"0"
注释性描述:“root”
用户主目录:“/root”
/bin/bash:用户可以登录系统

用户密码配置文件:/etc/shadow

tom:$1$jXCBeo2F$VvQgqxWNFVGHs9DBJY92t.:18317:0:99999:7:::
从左到右:
tom:用户名
$1$jXCBeo2F$VvQgqxWNFVGHs9DBJY92t;用户密码
18371 :最后一次修改时间
0 :最小时间间隔
99999 :最大时间间隔
7 :警告时间
不活动时间:失效时间:标志

创建用户:

  • 指定登录类型:
默认:/bin/bash
例:useradd -s /bin/nologin lisi
lisi :用户名
  • 创建时设置真实姓名,电话号码,公司地址,公司电话:
useradd -c tom-sing,tf5jie,028-85699999,13911202319 tom
用户:tom
真实姓名:tom-sing
公司地址:tf5jie
公司电话:028-85699999
电话号码:13911202319
  • 修改用户名为jack,修改用户jack的注释名为jack-sing和登录类型为/bin/nologin
usermod -l jack -s /bin/nologin tom
chfn -f jack-sing jack```
  • 删除用户tom

userdel -r tom

  • 设置jack用户的密码最大有效期为30天,提前9天警告,失效时间为40天:
chage -l jack
chage -M 90 -W 9 -m 40 jack
  • 修改tom用户的注释信息,电话号码:15822534848,公司地址:scfd,公司电话:028-88888888
chfn -h 15822534848 -o scfd -p 028-88888888 tom

2.用户组管理

用户组配置文件:/etc/group

用户组密码配置文件:/etc/gshadow

  • 新建用户组:groupadd 组名

groupadd group01

  • 查看组是否创建成功:cat /etc/group | grep group01
  • 将用户添加到组:gpasswd -a 用户名 组名

gpasswd -a stu1 group01

  • 查看用户属于哪个组:groups stu1或id stu1
  • 从组中删除用户:gpasswd -d 用户名 组名 gpasswd -d stu1 group01
  • 设置组的管理员:管理员具有向改组添加,删除成员的权限(管理员身份)。

gpasswd -A stu1 group01

  • 查看该组的组长:cat /etc/gshadow

group01:!:stu1:stu1,stu2,stu3第三个字段表示为该组的组长。

  • 为组设置密码(其他用户可以临时加入组并具有组的权限):gpasswd 组名

  • 不同组成员临时进入:newgrp 组名(再次进入没有权限)

查看当前登录用户:“who am i”
改所有者和所属组:chown stu1:group01 file
只能删除自己建立的文件而不能删除别人建立的文件
SBIT:粘滞位权限(强制位权限)
添加SBIT权限:chmod o+t cwfiles/scfiels/xsfiels/
  • 为用户stu1进行提权操作,让他只具有用户与用户组的管理权限
vim /etc/sudoers 并添加如下内容
Cmnd_Alias USERADMINCMD =
/usr/sbin/useradd,/usr/sbin/userdel,/usr/sbin/passwd,/usr/bin/usermod
Cmd_Alias GROUPADMINCMD =
/usr/sbin/groupadd,/usr/sbin/groupdel,/usr/sbin/gpasswd
stu1 ALL=(ALL) USERADMINCMD,GROUPADMINCMD

进程管理

1.运行级别

  • 查看当前运行急别:runlevel
  • 切换运行级别:init 级别数字(1-7)
init 0 关机:poweroff.target
init 1 单用户模式,仅用于root用户对系统进行维护时:rescue.target
init 2 多用户模式(没有NFS):multi-user.target
init 3 完全多用户模式,即多用户文本界面模式,是标准的运行级别 :multi-
user.target
init 4 特定运行级别,基本不用的用户模式 :multi-user.target
init 5 Xll,Linux 系统的图形界面运行级别 :graphical.target
inti 6 重启 :reboot.target
  • 更改开机启动级别:
cd /etc/systemd/system
ls -l default.target
删除 default.target再重新创建一个,在创建一个链接到/lib/systemd/system/ 下的某一个
方法二直接设置:
#systemctl set-default runlevel3.target
systemctl set-default runlevel5.target

2.服务的管理

systemctl 选项 服务名
选项:stop(停止),
开机自启动:systemctl enable 服务名称
systemctl disable 服务名称
查看是否开机自启:systemctl is-enabled 服务名称

3.查看进程

ps 抓取进程的当前状态,静态显示
top 动态查看
终止进程:kill

4.进程调度

  • 一次性调度:
at -f 文件名 -m 时间
例:at -f aa -m now+1minutes 1分钟后执行aa文件中的命令
  • 周期性调度:
crontab :周期性调度

5.后台程序

  • 程序放到后台:
vim 1.txt &
  • 查看后台运行程序:
bg :
jobs -l :查看后台运行程序及PID号
fg 1 :将后台程序调入前台运行
ctrl+z :切换到后台
kill -9 进程号 :强制杀死

链接文件

1.软连接

所谓的快捷方式

ln -s 源文件 链接文件
ln -s 1.txt ln.txt

2.硬连接

副本,源文件没了还是可以用

ln 源文件 链接文件

名字别名

vim /etc/sysconfig/network-scripts/ifcfg-eth0
简化:
alias eth0='vim /etc/sysconfig/network-scripts/ifcfg-eth0'
执行eth0就等于执行命令
查看别名:alias 或 alias eth0
删除别名:unalias eth0

sudo提权

1.sudo配置

  • 查看sudo软件包:#rpm -qi sudo
  • sudoers的模板配置文件:#cat /etc/sudoers

2.配置普通用户

所有权限
添加:用户名 ...
例:xingxing ALL=(ALL) ALL
不输入密码:xingixng ALL=(ALL) NOPASSWD:ALL
部分权限:
cmnd_Alias 名称随便取(sss)=/usr/sbin/ip,/usr/sbin/ifconfig,/usr/sbin/route
fedora ALL=(ALL) sss

grep命令

cat /etc/passwd | grep ^a :查看以a开头的
cat /etc/passwd | grep ^$ :空行
cat /etc/passwd | grep a$ :a结尾

周期性调度命令crontab

  • crontab命令
crontab -e :为自己制定计划 :文件存放在/var/spool/cron/
crontab -e -u 用户名 :为指定用户制定计划
30 23 * * * /usr/bin/cp /var/log/yum.log /mnt/bak/
分钟 小时 日期 月份 星期 命令(完整路径) 命令
每天23:30 执行cp拷贝文件
crontab -l -u student :查看student用户任务列表
crontab -r -u student :删除student用户任务列表

磁盘分区与文件系统挂载

1.磁盘在linux中的表示方法

硬盘的类型: 
IDE接口     hda   hdb  .....
           hda1  hda2   hda3 .......

SATA接口  SCSI接口  USB
            sda   sdb
            sda1   sda2  sda3 ......
所有磁盘设备及分区都以文件的形式存储在/dev/,但是这些文件不能直接使用,如果要往这些分区内写入数据就需要挂载分区。

2.查询设备名

fdisk -l
所有磁盘及分区在系统中都以文件的形式存在,不能直接使用。
存放目录:/dev/

3.磁盘分区

磁盘分区必须挂载以后才能通过挂载目录向分区写入数据。

1、基本磁盘分区:

(1)最多可以分为四个主分区(包含扩展分区:只能有一个,将剩余的所有空间包含在内)。

(2)主分区和扩展分区的编号:1-4为主分区和扩展分区的编号。

(3)扩展分区不能直接使用,必须在扩展分区上建立逻辑分区并格式化后才能使用。

(4)逻辑分区编号从5开始。

(5)对新加的磁盘进行分区:(分2个主分区,1个扩展分区,2个逻辑分区)

fdisk 磁盘设备名
在这里插入图片描述
a toggle a bootable flag

b edit bsd disklabel

c toggle the dos compatibility flag

d delete a partition 删除分区

g create a new empty GPT partition table

G create an IRIX (SGI) partition table

l list known partition types 显示所有分区类型

m print this menu

n add a new partition 新建分区

o create a new empty DOS partition table

p print the partition table 显示分区表

q quit without saving changes

s create a new empty Sun disklabel

t change a partition’s system id 修改分区类型

u change display/entry units

v verify the partition table

w write table to disk and exit 保存并出退出

x extra functionality (experts only)

2.对磁盘进行格式化:mkfs -t 分区类型(ext2 ext3 ext4) 磁盘分区名

mkfs -t ext4 /dev/sdb1

3.新建挂载点,并将分区进行挂载:

mount [-t 文件系统类型] 设备分区名  挂载点
如何查看已经挂载成功:mount (mount | grep sdb1)
取消挂载:umount 挂载点

4.挂载光驱设备:

光驱设备在Linux系统中的表示方法:/dev/sr0
光驱设备文件系统类型:iso9660
将光盘挂载到/mnt/cdrom目录:

5.永久挂载:使用mount命令挂载只是临时的,如果重启系统后就失效了。

[root@www cdrom]# vim /etc/fstab 
[root@www cdrom]# mount -a

6.卸载文件系统:

unmount [设备名或挂载点]
#unmount /dev/sdb1 //指定设备名卸载
#unmount /mnt/sdb1 //指定挂载点卸载

LVM逻辑卷管理

磁盘分区最多只能分4个主分区,如果需要更多分区,就需要创建扩展分区,并建立多个逻辑分区。分区的扩展往往当你的/sdb1 10G已经用完,不能直接再扩展,如果使用逻辑卷,那么扩展就非常方便。

1.制作逻辑卷

1. 添加硬盘,重启系统
2. 使用fdisk -l 查看新增的硬盘
3. pv--->vg -->LV:pv物理卷 ,vg卷组,LV逻辑卷
4. 转换磁盘为物理卷:pvcreate /dev/sdb ,查看pvscan或显示pvdisplay /dev/sdb
5. 删除:pvremove /dev/sdb
6. 制作卷组:vgcreate Wgroups /dev/sdb ,查看:vgdisplay Wgroups
7. 创建逻辑卷:lvcreate -L +1G -n web Wgroups ,查看 lvdisplay /dev/Wgroups/web

2.格式化

mkfs -t 类型 逻辑卷

#mkfs -t ext4 /dev/Wgroups/web

3.挂载逻辑卷

1. 首先新建一个空目录:mkdir /mnt/web
2. 使用命令进行挂载:mount -t 类型 /dev/Wgroups/web /mnt/web
例:mount -t ext4 /dev/Wgroups/web /mnt/web
3. df -HT :显示系统所有挂载情况

4.进入逻辑卷

#cd /mnt/web/
#touch file1

5.取消挂载

umount /mnt/web
cd /mnt/web
ls :没有文件
重新挂载友能看到文件

6.扩容逻辑卷

  • 查看卷组:
vgdiplay Wgroups
1. 新加一块硬盘并创建为pv
2. pvcreate /dev/sdc
3. 扩容卷组:vgextend /dev/Wgroups /dev/sdc
4. 扩容逻辑卷:lvextend -L +1G /dev/Wgroups/web
5. 刷新:resize2fs /dev/Wgroups/web
6. 删除逻辑卷的方法:
创建:pv-->vg-->lv
删除:lv-->vg-->pv
7. 将ftp逻辑卷缩减500M,将web卷扩容500M:
lvreduce -L -500M /dev/Wgroups/FTP
lvextend -L +500M /dev/Wgroups/web

quota磁盘配额管理(用户使用空间)

1.添加挂载

#vim /etc/fstab

2.添加内容

#edquota -u ftp01 :ftp01为用户名
/dev/Wgroups/FTP /mnt/FTP ext4 defaults,usrquota,grpquota 0 0

3.刷新

mount -a 查看是否成功:

mount | grep FTP

4.生成配置文件

quotacheck -cvug /mnt/FTP

/mnt/FTP:为挂载的路径

5.刷新配额

quotaon -ugv /mnt/FTP/

6.添加权限

setfacl -m u:ftp01:rwx FTP/

7.edquota -u ftp01

8.切换用户

#su ftp01

9.验证

dd if=/dev/zero of=/mnt/FTP/aa bs=1KB count=450
  • 用户组权限设置
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值