linux常见操作

1 概述
1.1 简介
  • 一套免费使用和自由传播的类Unix操作系统

,基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统

  • 继承了Unix以网络为核心的设计思想,能够运行主要的UNIX工作软件、应用程序和网络协议
1.2 linux和window区别
  • 软件:window需要商业软件支持,linux大部分都能自由获取(同功能软件选择较少)
  • 界面:window界面统一,linux图形界面可能互不兼容
  • 驱动:window驱动厂商提供(老版本难以支持),linux(HP、Intel、AMD支持)安装复杂
1.3 IOS镜像文件
  • CentOS-7.0-x86_64-DVD-1503-01.iso : 标准安装版,一般下载这个就可以了(推荐)
  • CentOS-7.0-x86_64-NetInstall-1503-01.iso : 网络安装镜像(从网络安装或者救援系统)
  • CentOS-7.0-x86_64-Everything-1503-01.iso: 对完整版安装盘的软件进行补充,集成所有软件。(包含centos7的一套完整的软件包,可以用来安装系统或者填充本地镜像)
  • CentOS-7.0-x86_64-GnomeLive-1503-01.iso: GNOME桌面版
  • CentOS-7.0-x86_64-KdeLive-1503-01.iso: KDE桌面版
  • CentOS-7.0-x86_64-livecd-1503-01.iso : 光盘上运行的系统,类拟于winpe
  • CentOS-7.0-x86_64-minimal-1503-01.iso : 精简版,自带的软件最少
1.4 云服务器
  • ECS是一种简单高效、安全可靠、处理能力可弹性收缩的计算机服务
  • 腾讯云、阿里云、华为云、京东云
2 使用
2.1 启动
  • CentOS 7配置文件: /usr/lib/systemd/system、 /etc/systemd/system
2.2 系统目录结构

在这里插入图片描述

  • /bin
    bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。

  • /boot
    这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。

  • /dev
    dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。

  • /etc
    etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。

  • /home
    用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。

  • /lib
    lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。

  • /lost+found
    这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

  • /media
    linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。

  • /mnt
    系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。

  • /opt
    opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

  • /proc
    proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
    这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:

    echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
    
  • /root
    该目录为系统管理员,也称作超级权限者的用户主目录。

  • /sbin
    s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。

  • /selinux
    这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。

  • /srv
    该目录存放一些服务启动之后需要提取的数据。

  • /sys

    这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。

    sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。

    该文件系统是内核设备树的一个直观反映。

    当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。

  • /tmp
    tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。

  • /usr
    usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。

  • /usr/bin
    系统用户使用的应用程序。

  • /usr/sbin
    超级用户使用的比较高级的管理程序和系统守护程序。

  • /usr/src
    内核源代码默认的放置目录。

  • /var
    var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

  • /run
    是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

<注意>

在 Linux 系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。

/etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。

/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在 /bin/ls 目录下的。

值得提出的是 /bin/usr/bin 是给系统用户使用的指令(除 root 外的通用用户),而/sbin, /usr/sbin 则是给 root 使用的指令。

/var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在 /var/log 目录下,另外 mail 的预设放置也是在这里。

2.3 忘记密码

重启客户端,按e更改语句重启系统,进入单用户模式

2.4 远程登陆

ssh服务实现远程登陆,默认端口号为22

也可以利用密钥生成工具,采用密钥登陆(同时在root目录下拷贝公钥放入)

3 文件
3.1 概述
  • chown:修改所属用户与组
  • chmod:修改用户的权限

![外链图片转存失败,源站可![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/94e859ca9f134aa4在这里插入图片描述
a6174c237f631e95.png#pic_center)

能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=typora-photos%2Fimage-20240409114533245.png&pos_id=img-Yi7YxgpO-1712736057074)

在 Linux 中第一个字符代表这个文件是目录、文件或链接文件等等。

  • 当为 d 则是目录
  • 当为 - 则是文件;
  • 若是 l 则表示为链接文档(link file);
  • 若是 b 则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
  • 若是 c 则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

接下来的字符中,以三个为一组,且均为 rwx 的三个参数的组合。其中, r 代表可读(read)、 w 代表可写(write)、 x 代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号 - 而已。

3.2 更改文件属性
  • chown

更改文件所有者,同时更改文件所属组

![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230在这里插入图片描述
724024159.png?origin_url=typora-photos%2Fimage-20240409120159848.png&pos_id=img-wAPeamLQ-1712736057074)

chown [–R] 所有者 文件名
chown [-R] 所有者:属组名 文件名
  • chmod

Linux 文件的基本权限就有九个,分别是 owner/group/others(拥有者/组/其他) 三种身份各有自己的 read/write/execute 权限。

命令身份设定权限对象含义
chmodu+(加入) -(除去)=(设定)r w x文件或目录用户
g4 2 1
o其他
a全部
[root@mapel mapel]# mkdir 123
[root@mapel mapel]# ll
总用量 0
drwxr-xr-x. 2 root root 6 4月   9 20:02 123
-rw-r--r--. 1 root root 0 4月   9 19:06 file.txt
[root@mapel mapel]# chmod a+w 123/
[root@mapel mapel]# ll
总用量 0
drwxrwxrwx. 2 root root 6 4月   9 20:02 123
-rw-r--r--. 1 root root 0 4月   9 19:06 file.txt
[root@mapel mapel]# chmod a-w 123/
[root@mapel mapel]# ll
总用量 0
dr-xr-xr-x. 2 root root 6 4月   9 20:02 123
-rw-r--r--. 1 root root 0 4月   9 19:06 file.txt
3.3 文件与目录管理
  • 相对路径和绝对路径

相对路径:./ …/ 绝对路径:根目录开始

  • 处理目录常用命令
命令全称含义常用
lslist files列出目录及文件名-a 全部文件(包括隐藏)-d 查看目录本身(不包括文件)-l 查看文件属性权限等
cdchange directory切换目录
pwdprint work directory显示当前目录-P 显出目录确实的路径,非link
mkdirmake directory创建一个新的目录-m 配置权限 -p 递归创建
rmdirremove directory删除一个空的目录-p 递归删除
cpcopy file复制文件或目录-p 复制文件属性(备份)-r 递归持续复制
rmremove删除文件或目录-f 忽略不存在 -i 互动模式(删除前询问) -r 递归删除
mvmove file移动文件与目录,或修改与目录的名称-f 强制(已存在则覆盖)-i 互动模式 -u 已存在则看是否更新(更新了才覆盖)
  • man命令可以查看使用文档(man cp)

  • 文件内容查看

命令含义常用
cat由第一行开始显示文件内容-A 相当于-vET -b 列行号(不包括空白行) -E显示结尾断行字节$ -n 列出行号(包括空白行)-T :将 [tab] 按键以 ^I 显示出来 -v 列出看不出来的字符
tac最后一行开始显示
nl显示出行号-ba显示空行 -bt不显示空行
more一页一页显示文件内容space 下一页 Enter 下一行 /字符串 寻找 :f显示文档名和目前显示行数 q 退出 b回翻
less向前翻页
head头几行-n 显示几行
tail尾部几行-n 显示几行
4 硬连接软连接
  • 默认情况下,ln创建硬连接
4.1 硬链接

硬连接指通过索引节点来进行连接,多个文件名指向同一索引节点是存在的。

A是B的硬连接,则它们inode节点号相同,删除其中任何一个都不会影响另一个的访问。硬连接作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,防止误删。只删除一个连接并不影响索引节点本身和其他的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。

4.2 软连接

软连接称之为符号连接,类似与windows的快捷方式,实际上是一个特殊的文件。

A是B的软连接,则它们的inode节点号不同。A的数据块中存放的只是B的路径名。如果B被删除了,A仍然存在,但是指向的是一个无效连接。

[root@mapel mapel]# ln  file.txt file_new
[root@mapel mapel]# ln -s file.txt file_new_2
[root@mapel mapel]# ls -li
总用量 8
1121756 dr-xr-xr-x. 2 root root  6 49 20:02 123
1121758 -rw-r--r--. 2 root root 22 49 20:36 file_new
1121754 lrwxrwxrwx. 1 root root  8 49 22:18 file_new_2 -> file.txt
1121758 -rw-r--r--. 2 root root 22 49 20:36 file.txt
5 用户账号管理

linux是一个多用户多任务的分时操作系统。用户账号的管理工作主要涉及到用户账号的添加、修改和删除。实际上就是 /etc/passwd 文件的管理。

5.1 添加用户
  • 添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录shell等资源。刚添加的账号是锁定的,无法使用。
useradd 选项 用户名
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
5.2 删除用户
  • 用户账号不再使用,可以从系统中删除。
userdel 选项 用户名
-r 把用户的主目录一起删除-和
5.3 修改账户
usermod 选项 用户名
-c comment 指定一段注释性描述
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录
-g 用户组 指定用户所属的用户组
-G 用户组,用户组 指定用户所属的附加组
-s Shell文件 指定用户的登录Shell
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号
5.4 用户口令管理
  • 用户管理的一项重要内容。用户账号刚创建时没有口令,但被系统锁定,无法使用,必须为其指定口令后才可以使用。
passwd 选项 用户名
-l 锁定口令,即禁用账号
-u 口令解锁
-d 使账号无口令
-f 强迫用户下次登录时修改口令
  • 普通用户只能修改自己的命令,且需要输入原口令。
  • 超级用户可以修改指定任何用户的口令。
6 用户组管理
  • 每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux系统对用户组的规定有所不同。实际上就是对/etc/group文件的更改。
  • 如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有用户组的权限
newgrp 用户组名
6.1 添加用户组
groupadd 选项 用户组
-g GID 指定新用户组的组标识号(GID)。
-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
# 新组的标识号是最大组标识号的基础上加1
6.2 删除用户组
groupdel 用户组
6.3 修改用户组
groupmod 选项 用户组
-g GID 为用户组指定新的组标识号。
-o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
-n新用户组 将用户组的名字改为新名字
7 总结用户账号相关的系统文件
  • 完成用户管理的工作有许多种方法,但是每一种方法实际上都是对有关的系统文件进行修改。与用户和用户组相关的信息都存放在一些系统文件中,这些文件包括/etc/passwd, /etc/shadow, /etc/group等。
7.1 /etc/password

Linux系统中的每个用户都在/etc/passwd文件中有一个对应的记录行,它记录了这个用户的一些基本属性。这个文件对所有用户都是可读的。

mapel:x:1000:1000:mapel:/home/mapel:/bin/bash
mapel_new:x:1001:1000::/home/mapel_new:/bin/bash
mapel_root:x:1002:0::/home/mapel_root:/bin/bash
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell

# "用户名"是代表用户账号的字符串
# “口令”一些系统中,存放着加密后的用户口令字
# “用户标识号”是一个整数,系统内部用它来标识用户
# “组标识号”字段记录的是用户所属的用户组
# “注释性描述”字段记录着用户的一些个人情况
# “主目录”,也就是用户的起始工作目录
# 用户登录后,要启动一个进程,负责将用户的操作传给内核,这个进程是用户登录到系统后运行的命令解释器或某个特定的程序,即Shell。
# 系统中有一类用户称为伪用户(pseudo users)

------------
伪 用 户 含 义 
bin 拥有可执行的用户命令文件 
sys 拥有系统文件 
adm 拥有帐户文件 
uucp UUCP使用 
lp lp或lpd子系统使用 
nobody NFS使用
------------
7.2 /etc/shadow
  • 由于/etc/passwd文件是所有用户都可读的,Linux系统都把加密后的口令字分离出来,单独存放在/etc/shadow文件,有超级用户才拥有该文件读权限。
mapel:$6$MOniHoaEDbLPbqs1$MZI22LZh1KuqVPQeSLj2TtrvTZQr1Z/P2tH3EMgonJdsxnYY4KVaRqcnOylewbXtwRWq1F3mbTci.2g2lJHvh1::0:99999:7:::
mapel_new:!!:19823:0:99999:7:::
mapel_root:$6$rh3TtB5i$/14sfPZBXl/HS/3GI5UtLBAo7xL1JZz731hM9Ihun6iaw/R/abdKeUHY9dFzcHiDlSHiLQ6RBoLiS6M0ILUrI/:19823:0:99999:7:::

登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
# "登录名"是与/etc/passwd文件中的登录名相一致的用户账号
# "警告时间"字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。
7.3 /etc/group
  • 用户组的所有信息都存放在/etc/group文件中
sshd:x:74:
postdrop:x:90:
postfix:x:89:
mapel:x:1000:mapel,mapel_root

组名:口令:组标识号:组内用户列表
# "组内用户列表"是属于这个组的所有用户的列表,不同用户之间用逗号(,)分隔。这个用户组可能是用户的主组,也可能是附加组
8 批量添加用户
8.1 编辑用户文件
  • user.txt
user001::600:100:user:/home/user001:/bin/bash
user002::601:100:user:/home/user002:/bin/bash
8.2 以root身份执行/usr/sbin/newusers
newusers < user.txt
8.3 执行命令/usr/sbin/pwunconv
  • /etc/shadow 产生的 shadow 密码解码,然后回写到 /etc/passwd 中,并将/etc/shadowshadow密码栏删掉。这是为了方便下一步的密码转换工作,即先取消 shadow password 功能。
pwunconv
8.4 编辑每个用户的密码对照文件编辑每个用户的密码对照文件
user001:123456
user002:123456
8.5 以 root 身份执行命令 /usr/sbin/chpasswd
  • 创建用户密码,chpasswd 会将经过 /usr/bin/passwd 命令编码过的密码写入 /etc/passwd 的密码栏。
chpasswd < passwd.txt
8.6 结果写入/ect/shadow
pwconv
  • 12
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值