云计算学习周记 第一周 Linux系统入门

一.Linux系统基本操作

1.登录root用户

[root @ localhost ~ ] #
用户 主机名 当前用户家目录 管理员用户

新建用户:
[root@localhost ~]# useradd user00

切换用户:
[root@localhost ~]# su - 创建的用户名
[user00@localhost ~]$
$ :普通用户

退出普通用户:
[user00@localhost ~]$ exit

查看服务器时间
[root@localhost ~]# date #显示完整的时间
[root@localhost ~]# date +%F #只显示当前年月日
[root@localhost ~]# date +%X #只显示当前时间到秒
[root@localhost ~]# pwd #显示当前工作路径
pwd —Print working directory #显示当前位置的绝对路径

2.查看文件信息

#ls #查看当前目录下的文件
#ls /root/a.txt //单独列出文件
#ls /home //查看指定目录下的文件
#ls -l //长格式显示(显示文件的详细信息)
文件类型\权限 硬链接个数 所有者 所属组 大小 修改时间 名字
[root@localhost ~]# ll -d /home/ #显示目录的详细信息
#ls -lh //-h 人性化显示 (显示文件大小)
#ls -a //all 显示所有文件 (包括隐藏文件)
案例:ls a.txt b.txt c.txt
#ls file* #以file开头的所有文件 *通配符。表示所有字符(隐藏文件除外)
#ls *.txt #以任意开头以.txt结尾的所有文件
[root@localhost ~]# ll -d /home/ #查看目录详细信息
[root@localhost ~]# ll /home/ #查看目录下面文件的详细信息
[root@localhost ~]# ll -t #按最新的修改时间排序
[root@localhost ~]# clear #清屏,快捷键----ctrl+l

3.创建文件:

[root@localhost ~]# touch 文件名 #创建一个文件

4.删除文件:

[root@localhost ~]# rm -rf 文件名 #删除一个文件

5.关机和重启

[root@localhost ~]# init 0
[root@localhost ~]# poweroff
关机指令

[root@localhost ~]# init 6
[root@localhost ~]# reboot
重启指令

6.命令别名

查看别名:
[root@localhost ~]# type -a ll
ll is aliased to `ls -l --color=auto’

设置别名:
语法:alias 别名=‘命令’
[root@localhost ~]# alias ddd=‘df -Th’
[root@localhost ~]# alias alias ddd
alias ddd=‘df -Th’
[root@localhost ~]# ddd
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 17G 1.1G 16G 7% /
devtmpfs devtmpfs 478M 0 478M 0% /dev
tmpfs tmpfs 489M 0 489M 0% /dev/shm
tmpfs tmpfs 489M 6.7M 482M 2% /run
tmpfs tmpfs 489M 0 489M 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 125M 890M 13% /boot
tmpfs tmpfs 98M 0 98M 0% /run/user/0

取消别名:
[root@localhost ~]# unalias -a ddd
[root@localhost ~]# ddd
-bash: ddd: command not found

7.关闭防火墙与selinux

[root@localhost ~]# systemctl stop firewalld #关闭防火墙
[root@localhost ~]# systemctl disable firewalld #设置防火墙开机不自启
关闭selinux

[root@localhost ~]# getenforce #查看selinux是否开启
Enforcing
[root@localhost ~]# setenforce 0 #临时关闭

二.Linux文件管理一

1.编辑命令的快捷键

编辑命令:

Ctrl + a :移到命令行首
Ctrl + e :移到命令行尾
Ctrl + u :从光标处删除至命令行首
Ctrl + k :从光标处删除至命令行尾
Ctrl + w :从光标处删除至字首
Ctrl + d :删除光标处的字符
Ctrl + h :删除光标前的字符

重新执行命令:

Ctrl + p:历史中的上一条命令 快捷键上下箭头或history
ESC + .:打印之前执行过的命令的最后一部分 以空格为分隔符

控制命令:

Ctrl + l:清屏 快捷键Ctrl + l
Ctrl + c:终止命令
Ctrl + d: 退出
Tab键: 自动补全

2.Linux目录结构

在Linux系统中一切皆文件(重点)
Linux和Windows系统相比
Windows是以多根的方式组织文件而Linux是以单根的方式

2.1.简介

/目录结构:
FSH (Filesystem Hierarchy Standard):标准的目录结构
[root@localhost ~]# ls /
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr

2.2.目录功能

bin 普通用户使用的命令 /usr/bin/ls, /usr/bin/date
sbin 管理员使用的命令 /usr/sbin/service
案例:
[root@localhost ~]# which ls
[root@localhost ~]# which useradd
/usr/sbin/useradd

dev 设备文件 /dev/sda,/dev/sda1
[root@localhost ~]# ll /dev/sd*
brw-rw----. 1 root disk 8, 0 Oct 31 14:16 /dev/sda
brw-rw----. 1 root disk 8, 1 Oct 31 14:16 /dev/sda1
brw-rw----. 1 root disk 8, 2 Oct 31 14:16 /dev/sda2
[root@localhost ~]# tty
/dev/pts/0 #这是我们的终端。
/root #root用户的家目录
/home #存储普通用户家目录
lost+found 这个目录平时是空的,存储系统非正常关机而留下“无家可归”
的文件
/usr #系统文件,相当于C:\Windows
/usr/local #软件安装的目录,相当于C:\Program
/usr/bin #普通用户使用的应用程序
/usr/sbin #管理员使用的应用程序
/usr/lib 库文件Glibc 32bit
/usr/lib64 库文件Glibc 64bit
/boot 存放的系统启动相关的文件,例如kernel
/etc #配置文件(系统相关如网络/etc/sysconfig/network)
/tmp 临时文件(系统:程序产生的临时文件)
/opt 空目录
/var #存放的是一些变化文件,比如数据库,日志,邮件…
/proc 虚拟文件系统,系统程序文件所处目录 。虚拟文件系统:只要关机就会没有。
设备(主要指存储设备)挂载目录
/mnt #系统提供这个目录是让用户临时挂载其他的文件系统

2.3.路径

所谓路径即目录组成结构
一个linux路径由"/“和目录(文件)名称两部分组成
比如:/etc/passwd
如果”/“出现在路径开头,则其表示根目录,在路径中间出现”/",其含义是某一个目录下,那么上面所示路径的意思就是"根目录下的etc目录下的passwd文件"
如果路径最后出现"/",则表示这是一个目录

绝对路径:从根开始的路径是绝对路径。案例:/home/alice/file1 /etc/grub.conf
相对路径:凡是非根开始的路径 比如:etc var/ftp/pub ./test.sh

使用pwd命令查看当前所在的绝对路径:
比如:
[root@localhost ~]# pwd
/etc

3.文件管理

3.1.文件类型

  • 普通文件(文本文件,二进制文件,压缩文件,电影,图片。。。)
    d 目录文件(蓝色)
    b 设备文件 block device 设备文件,如硬盘,U盘;
    c 设备文件 字符设备文件,比如我们的终端tty1,打印机。
    l symbolic link 即符号链接文件,又称软链接文件 (浅蓝色)
    s socket 即套接字文件,用于实现两个进程进行通信
    p 管道文件

3.2.文件管理命令

3.2.1.切换目录 cd

[root@localhost ~]# cd … # 回到上一级目录
[root@localhost ~]# cd…/… # 回到上两级目录
[root@localhost ~]# cd或者cd~ # 回到家目录
[root@localhost ~]# cd /home/alice # 切换目录(绝对路径)
[root@localhost ~]# cd - # 回到原来目录
[root@localhost ~]# cd # 回到当前用户的家目录

3.2.2.创建文件

[root@localhost ~]# touch file1.txt //无则创建,如果存在修改时间
[root@localhost ~]# touch /home/file10.txt
[root@localhost ~]# touch /home/{zhuzhu,gougou} //{}集合
[root@localhost ~]# touch /home/file{1…20} //批量创建

echo 加内容 > 加文件名 #覆盖:把之前的内容替换掉
// echo 123 > a.txt

echo 加内容 >> 加文件名 #追加:保留之前的内容,在后面添加新内容
// echo 345345 >> a.txt

当使用echo 123 >> a.txt 或者 echo 123 > a.txt命令的时候在文件不存在的时候会创建该文件并将内容追加到改文件中

3.2.3.创建目录

语法:mkdir -v 详细 -p 递归 目录
[root@localhost ~]# mkdir dir1 #创建一个目录
[root@localhost ~]# mkdir /home/dir2 /home/dir3 #创建两个目录
[root@localhost ~]# /home/{dir4,dir5} #创建两个目录
[root@localhost ~]# -v /home/{dir6,dir7} #显示创建时的信息 v = verbose 长的
[root@localhost ~]# -p /home/dir8/111/222 #创建练级目录,一级一级的创建

3.2.4.复制
cp 复制 -r 目录 -v 详细 -f 强制 -n 静默

mkdir /home/dir{1,2} #创建目录
cp -v a.txt /home/dir1/ #-v 显示详细信息
cp a.txt /home/dir1/test.txt #复制并改文件名
cp -r /etc /home/dir1 #-r 拷贝目录使用,连同目录里面的文件一块拷贝

语法: cp -r 源文件1 源文件2 源文件N 目标目录 #将多个文件拷贝到同一个目录
cp -r /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/passwd /etc/hosts .
cp -r /etc /tmp

3.2.5.移动

1.创建一个新文件file1

[root@localhost ~]# touch /root/file1

2.把file1文件移动到/tmp目录中

[root@localhost ~]# mv /root/file1 /tmp/
[root@localhost ~]# ls /tmp/file1
/tmp/file1

3.把file1文件更名为file2文件

[root@localhost ~]# mv /tmp/file1 /tmp/file2

4.观察file1文件已经更名为file2

[root@localhost ~]# cd /tmp/
[root@localhost ~]# ls
file2

3.2.6删除

*rm 删除 -r 递归删除目录 -f 强制 -v详细 通配符

实例1:删除/home/dir1
[root@localhost ~]# cd /home
[root@localhost ~]# rm -rf dir1/

实例2:
[root@localhost ~]# mkdir /home/dir10
[root@localhost ~]# touch /home/dir10/{file2,file3,.file4}
[root@localhost ~]# rm -rf /home.dir10/* -a
. … .file4

实例3:
[root@localhost ~]# touch {1…10}.txt
[root@localhost ~]# touch file {1…20}.txt
[root@localhost ~]# rm -rf file1*

3.2.7.查看文件内容

cat查看一个文件的全部内容
[root@localhost ~]# cat /etc/passwd
root❌0:0:root:/root:/bin/bash
bin❌1:1:bin:/bin:/sbin/nologin
daemon❌2:2:daemon:/sbin:/sbin/nologin
adm❌3:4:adm:/var/adm:/sbin/nologin

参数:
-n 显示行号
-A 包括控制字符(换行符/制表符)

head头部
[root@localhost ~]# head /etc/passwd //默认查看前十行
[root@localhost ~]# head -2 /etc/passwd //查看前两行

tail尾部
[root@localhost ~]# tail /etc/passwd //默认查看后十行
[root@localhost ~]# tail -1 /etc/passwd //查看文件最后一行
[root@localhost ~]# tail -f /var/log/secure //-f 动态查看文件的尾部
[root@localhost ~]# tailf /var/log/secure //功能同上

grep过滤关键字 grep 针对文件内容进行过滤
过滤文件中带有root的内容:
[root@localhost ~]# grep ‘root’ /etc/passwd
过滤以root开头的行:^ --以什么开头
[root@localhost ~]# grep ‘^root’ /etc/passwd
过滤以bash结尾的行:$ --以什么结尾
[root@localhost ~]# grep ‘bash$’ /etc/passwd

less --分页显示
[root@localhost ~]# less /etc/makedumpfile.conf.sample
1.空格键是翻页 回车键是翻行
2.上下箭头可以来回翻
3. /关键字 #搜索 (n按关键字往下翻 N按关键字往上翻)
4.快捷键:q -quit 退出

more --分页显示文件内容
[root@localhost ~]# more 文件名
空格键是翻页 回车键是翻行

三.文件编辑器

3.1.打开文件

[root@localhost ~]# vim 文件名

3.2.工作模式

3.2.1.进入编辑模式

i #在光标所在处进入编辑模式
a #在当前光标后面进入编辑模式
A #在行尾进入编辑模式
o #在光标的下一行进入编辑模式
大O #在光标的上一行进入编辑模式
#从编辑模式进入命令模式:ESC

3.2.2命令模式

光标定位键盘:
hjkl #上下左右
0 $ #行首行尾
gg #页首–文本顶端
G(shift+g) #页尾–文本底部
3G #进入第3行
/string #查找字符,n下一个,N上一个 (n N 可以循环的)

3.2.3文本编辑

yy #复制
3yy #从光标开始复制3行。在最后粘贴
ygg #从当前光标复制到页首
yG #从光标开始复制到页尾
dd #删除一行
3dd #从光标开始删除3行
dgg #从光标开始删除到页首
dG #从光标开始删除到页尾
d^ #删除当前光标之前的内容
p #粘贴到本行的下一行
大P #粘贴到本行的上一行
x #删除光标所在的字符
D #从光标处删除到行尾
u #undo撤销
r #可以用来修改一个字符

3.2.4扩展命令(尾行)模式

shift+: #进入尾行模式(扩展命令模式)
:10 #进入第10行
:w #保存
:q #退出
:wq #保存并退出
:q! #不保存并退出
:wq! 强制保存退出

3.2.5进入其他模式

ctrl+v #进入可视块模式
shift+v #进入可视行模式

3.2.6查找替换

语法----> :范围 s/old/new/选项
😒/world/nice/ #替换当前光标所在行
:3s/sbin/nice/ #替换指定行
:1,5 s/nologin/soso/ #从1-5行的nologin 替换为soso
:%s/bin/soso/ #替换所有行
:%s/sbin/nice/g #替换行内所有关键字

注释:%表示替换所有行 g表示行内所有关键字

将文件另存(另存为)
语法----> :w 存储到当前文件
:w /tmp/aaa.txt #另存为/tmp/aaa.txt
:1,3 w /tmp/2.txt #从1-3行的内容另存为/tmp/2.txt

3.2.7设置环境

:set nu #设置行号
:set list #显示控制字符
:set nonu #取消设置行号

3.2.8 文件基本信息

时间类型
访问时间:atime,查看内容
修改时间:mtime,修改内容
改变时间:ctime,文件属性,比如权限,mv改名

3.2.9查寻实例

[root@localhost ~]# ls -l passwd
-rw-r–r--. 1 root root 839 Oct 31 21:29 passwd

[root@localhost ~]# stat passwd
File: ‘passwd’
Size: 839 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 33583688 Links: 1
Access: (0644/-rw-r–r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2019-10-31 21:29:40.750993492 +0800
Modify: 2019-10-31 21:29:36.449993550 +0800
Change: 2019-10-31 21:29:36.452993550 +0800
Birth: -
ls -l 文件名 仅看的是文件的修改时间

四.用户管理

4.1理解用户和组的意义

Linux的一大特性:
​ 多用户、多任务。
所谓多用户多任务就是指可以在同一时间,有多个用户登录同一个系统执行不同的任务而互不影响。
假设现在有三个用户:root、lbb、mvv,三个用户同一时间登录了同一个系统,root去修改配置文件了,lbb去创建目录了,mvv去访问数据库了,每个用户互不干扰的独立执行自己的任务,并且每个用户不能够越线去访问其他用户正在操作的目录或执行其他用户下的任务,由此可见,不同的用户是拥有各自不同的权限的,Linux通过权限的划分和管理来实现多用户、多任务的运行机制。

4.2Linux系统中的用户及其角色划分

账户为分三类:
超级用户(管理员):享有最高权限,具备系统中的所有权限(一般为root),UID为0
系统用户 :别称“伪用户”,无法登录系统,其主要作用是支撑系统运行,方便系统管理。uid号码小于1000.
普通用户:有权限限制,只能对自己目录下的文件进行操作,可以登录系统。uid 大于1000,登陆shell是bin/bash。
任何一个账户在创建的同时都会在系统里面创建一个同名的组。

4.3用户概览

4.3.1 用户/组的基本概念

Users and groups:
系统上的每个进程(运行的程序)都是作为特定用户运行的
. Every file is owned by a particular user.
每个文件是由一个特定的用户拥有 .
. Access to files and directories are restricted by user.
访问文件和目录受到用户的限制

4.4 用户管理

4.4.1 用户组

创建组
[root@localhost ~]# groupadd hr //创建一个用户组叫hr
[root@localhost ~]# groupadd market //创建一个用户组叫market
[root@localhost ~]# groupadd net01 -g 2000 //创建组叫net01,并指定gid为2000
[root@localhost ~]# grep ‘net01’ /etc/group //查看/etc/group中组net01信息
net01❌2000:

修改组
[root@localhost ~]# groupmod 参数 组名
-g:修改组的gid
-n:修改组名
[root@localhost ~]# groupmod -g 2000 grp1
[root@localhost ~]# groupmod -n 新组名 grp1
删除组
[root@localhost ~]# groupdel net01 #删除组net01
注意:用户的主属组不能删除
查看组
[root@localhost ~]# cat /etc/group
组名:代表组密码:gid:组员

4.4.2用户

[root@localhost ~]# useradd user01 //创建用户
/etc/passwd ---->查看账户是否存在的文件
/home/ ---->用户的家目录,每创建一个用户会在/home目录下面创建对应的家目录
/etc/shadow —>用户的密码文件
此文件内除了密码字段可以1删除不能修改之外,其他字段都能直接修改

[root@localhost ~]# cat /etc/passwd
root❌0:0:root:/root:/bin/bash
bin❌1:1:bin:/bin:/sbin/nologin
分隔符::
第一列:用户名
第二列:密码
第三列:用户标识号—>(uid)是一个整数,系统内部用它来标识用户。通常用户标识号的取值范围是0~65535。0是超级用户root的标识号
第四列:gid
第五列:描述信息。
第六列:家目录
第七列:是用户登陆到界面的第一个命令,开启一个shell。登陆shell

1.判断用户是否存在:
[root@localhost ~]# id user01 //查看用户的uid、gid、和所在组
uid=1001(user01) gid=1003(user01) groups=1003(user01)
主属组 附属组
uid 系统用来识别账户的user identify
gid 系统用来识别组的group identify

2.查看现在所使用的的账户:
[root@localhost ~]# whoami 查看我现在所使用的账户

4.4.3创建用户(带有选项)

[root@localhost ~]# useradd user02 -u 503 //指定uid为503
[root@localhost ~]# useradd user05 -s /sbin/nologin //创建用户并指定shell
[root@localhost ~]# useradd user07 -G it,fd //创建用户,指定附加组
[root@localhost ~]# useradd -g 1003 user8 #指定用户的主属组为1003组。
[root@localhost ~]# useradd user10 -u 4000 -s /sbin/nologin

4.4.4删除用户

[root@localhost ~]# userdel -r user02 //删除用户user2,同时删除用户家目录

4.4.5用户密码

[root@localhost ~]# passwd alice #root用户可以给任何用户设置密码
[root@localhost ~]# passwd #root用户给自己设置密码
[root@localhost ~]# su - alice
[root@localhost ~]$ passwd #普通用户只能给自己修改密码,而且必须提供原密码,而且要遵循密码复杂策略

4.4.6用户操作

1.修改用户名:
-l
[root@localhost ~]# usermod -l NEW_name user8
[root@localhost ~]# id user8
id: user8:无此用户
2.修改GID:
-g
[root@localhost ~]# id user10
uid=1000(user10) gid=1000(tom) groups=1000(tom)
[root@localhost ~]# usermod user10 -g new_gid #gid需要提前存在
3.修改UID
-u
[root@localhost ~]# usermod -u new_id jack
[root@localhost ~]# id jack
uid=1005(jack) gid=1004(jack) groups=1004(jack)
4.修改用户的登录shell
-s
[root@localhost ~]# usermod -s /sbin/nologin user07 #修改用户的登录shell

4.5组成员管理

只针对已经存在的用户
1.给组添加账户
-a
[root@localhost ~]# gpasswd -a user10 grp2
Adding user user10 to group grp2
2.同时添加多个用户到组
-M:members成员的缩写
[root@localhost ~]# gpasswd -M tom,alice it
3.从组删除用户
-d
[root@localhost ~]# gpasswd -d user07 hr
Removing user user07 from group hr

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值