Linux基础操作与命令

##修改主机名:
hostname 主机名 (临时更改)
hostnamectl set-hostname 主机名(永久更改)
##修改用户密码:
passwd 直接敲是修改当前用户的密码,修改其他用户密码在后面加用户名
root用户可以修改所有用户的密码 ,普通用户只能修改自己的密码
passwd -d 用户名 删除该用户的密码


##破解root密码
1、重启 reboot ,按e进入救援系统
2、在Linux16句末尾输入 rd.break (以rd.break的方法重置密码),ctrl+x继续执行操作
3、mount -o remount,rw /sysroot (重新挂载根给/sysroot读写权限,给跟系统一个读写权限)
4、chroot /sysroot (切换到真实的根下面)
5、passwd root (修改密码)
6、touch /.autorelabel (创建一个标签文件)现在是在非正常的救援模式下,所以系统需要给你一个认可,这个标签就是告诉系统我是好人别开枪。创建好之后就让它带着标签和新密码去启动。
7、exit (退出,让系统进行修改密码)
8、exit


**##**切换用户更改命令提示符的用户名(switch user):su - 用户名
查看当前的工作目录(print work directory):pwd
-P:显示出真实的路径,而非链接路径
在这里插入图片描述
切换目录(change directory):cd

##绝对路径:以 / 开始的路径 ,例 cd /home/redhat
相对路径:不是以 / 开始的路径,例 cd home

##直接回到当前用户的主目录:cd ~
回到当前目录的上一级目录:cd …
回到当前目录:cd .
切换到之前的目录:cd -

##列出目录里的内容:ls(list)
ls -l 长列表列出=ll
ls -d 查看当前目录
ls -a 列出隐藏文件,包括.和…
ls -A 列出隐藏文件,不包括.和…
ls -i 显示文件的索引节点号(inode),一个索引节点号代表一个文件。


##通配符在这里插入图片描述
##查看和修改时间
date 查看系统时间
date -s “2020/2/5 12:00” 修改系统时间
clock 查看硬件时间
hwclock -w 系统时间附给硬件时间
hwclock -s 硬件时间附给系统时间
ntpdate time.windows.com 同步网络时间

##查看日历cal
cal 月 年 查看X年X月的日历
cal -3 查看上月、本月、下月的日历


##命令创建别名
临时创建:
alias haha=‘cd’ 给cd命令创建别名haha
unalias haha 删除别名
永久创建(保存别名到配置文件):
~/.bashrc文件
nano .bashrc
alias haha=‘cd’
ctrl+o 写入
enter 确定
ctrl+x 离开
source .bashrc 让文件生效


##文件类型
在这里插入图片描述
##文件系统层级标准(FHS)
在这里插入图片描述


##Vim文本编辑器
一般模式:
x:删除光标所在位置内容
dd:删除当前行
dgg:删除光标至文档首部
u:撤销
yy:复制光标所在行;2yy复制光标行和下一行
p:粘贴到光标下一行
gg:跳转到文档首部行首
ctrl+r:重复上一个操作

插入模式:
i:在光标前插入
s:删除光标所在位置并插入
o:在光标所在的下一行插入

末行模式:
:wq 保存退出
:wq!强制保存退出
:set nu 显示行号
:set nonu 不显示行号
:行号 跳转到指定行号
:3,5 d 删除3-5行
:%s /a/b/g 将a替换位b,全局修改
: /所查找内容 查找
:r 文件名1 将文件名1的内容读到当前文件中
:w 文件名1 另存为文件名1

块选择:
ctrl+v 块选择
y 将反白的地方复制
d 将反白的地方删除


##文件
创建文件:touch
查看文件:cat 、more、less(比more高级,支持前后翻阅,上下键)、head默认打开文件头部前十行、tail默认打开文件末尾后十行

##目录
创建目录:mkdir+目录名
删除目录:rmdir+目录名
rmdir -p :连同上一级空目录一起删除

##复制 cp
复制文件:cp+文件名
复制目录:cp -r +目录名
保留源文件属性:cp -p +文件名 (所属主、属组、权限、时间)

##移动 mv
mv+文件名+目标位置 :移动文件
mv aa bb 重命名文件aa

##文本切割 cut
cut -d -f 文件名
-d:指定分隔符
-f:指定截取的列数

##文本排序 sort
sort -n 文件名 按照数字大小排序
sort -n -u 文件名 排序并去重
sort -r 逆序排序

##文本统计 wc
统计指定文件中的字节数、字数、行数
wc -l 统计行数
wc -w 统计单词数
wc -c 统计字节数

##tee
tee命令会从输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。
cat haha | tee xixi 将haha文件的内容保存至xixi同时创建xixi文件。


##文本查找
查找文件名 find
find -name
查找文件中的内容 grep
grep h haha 查找haha文件中带h的字符串
grep h ./* 查找当前目录下所有为文件中的h字符,不包含目录文件
grep -r h ./* 查找当前目录下所有文件中的h字符,包含目录文件
grep -w h haha 查找haha文件中带h的完整单词,不是单个的h字符


##文本压缩
gz , bz2 , xz , zip

gzip 压缩文件 .gz
gzip -d 解压文件 = gunzip
zcat 查看压缩过的文本内容

bzip2 压缩文件 .bz2
bzip2 -d 解压文件
-# 压缩比为1-9,默认为6
bzcat 查看压缩过的.bz2的文件内容

xz 压缩文件 .xz
xz -d 解压文件
-k 压缩时保留源文件
xzcat 不解压直接直接查看压缩格式的文本文件

zip 压缩文件
unzip 解压文件


##tar 同时压缩多个文件或目录
语法:tar 【主选项+辅选项】文件名
主选项:
c - 压缩文件-打包
x - 解压文件-把文件提取出来
t - 不解压查看压缩文件
辅选项:
v- 过程中显示文件
f- 输出结果到文件,必须写
j- 压缩格式(.bz2)
J- 压缩格式(.xz)
z- 压缩内容(.gz)
p- 保留源文件的属性
C- 解压到指定的目录

组合使用:
压缩方式:jcvf ,zcvf ,Jcvf
解压方式:xvf
查看方式:tf
例:tar zcvf text.tar.gz file1 file2 file3 将file1,file2,fiel3三个文件打包为text.tar.gz


##文本传输 scp
scp [email protected]:/root/haha /maomoa 下载
scp /root/s [email protected]:/text 上传

##查看进程 ps
ps -e 显示后台进程
ps -f 显示详细信息

进程的五种状态码:
D 不可中断
R 运行中
S 中断
T 停止
Z 僵死

几种附加符号含义:
< 高优先级
N 低优先级
L有些页被锁进内存
s 包含子进程
+位于后台的进程组
| 多线程,克隆线程


##用户和组的管理
1、用户
/etc/passwd 用户管理配置文件
三种用户:超级用户root、系统用户、普通用户
在这里插入图片描述
useradd:添加用户
usermod:修改用户参数
-r 系统用户
-G 添加附加组
userdel:删除用户
-r 代表同时删除创建用户时的主目录和邮箱
不允许登陆:shell /sbin/nologin

2、组
/etc/group 组配置文件
在这里插入图片描述
基本组:创建一个用户后,若没有指定基本组,则会地洞为自己分配一个同uid的基本组
附加组:除基本组之外,用户还可以被分配到其他组

groupadd:创建组
newgrp :登陆组
groupmod:修改组
groupdel:只能删除groupadd添加的组,基本组只能通过删除用户来实现
id+用户名:查看用户的分组情况

扩展:
gpasswd:给组设置密码
gpasswd -a maomao group1 将maomao用户添加组group1
gpasswd -M xixi, haha, maomao group1 指定多个用户添加到组group1
gpasswd -d maomao group1 将maomao用户从组group1移除
gpasswd -R group1 锁定group1组,只有组内成员才能进入本组

手动创建用户
(1)添加用户信息,在/etc/passwd/输入用户配置信息
在这里插入图片描述在这里插入图片描述
(2)添加组信息
在这里插入图片描述
(3)创建用户家目录
在这里插入图片描述
(4)复制/etc/skel/的隐藏文件.bash和.mizilla到家目录
在这里插入图片描述
在这里插入图片描述
3、用户的密码文件
/etc/shadow
在这里插入图片描述
参数:以 1天 为单位
-n 最短使用时间
-x 最长使用时间
-w 警告时间
-i 宽限时间
例:passwd -n 2 -x 10 -w 1 -i 3 redhat 指定密码最短使用时间2天,最长使用时间10天,警告时间1天,宽限时间3天
-e 精确时间 通过修改账号
例 :usermod -e 2020-03-20 redhat


##更改文件的所属关系 chown,chgrp
chown maomao /text/a 修改/text/a文件的属主为maomao
chown redhat:maomao haha 修改haha的属主为redhat,属组为maomao
chown redhat.maomao haha 修改haha的属主为redhat,属组为maomao
chown .maomao haha 修改haha的属组为maomao
chgrp 只能修改属组
chgrp maomao haha 修改haha的属组为maomao
chgrp -R 递归,连同目录下的所有文件、子目录都更新为新的属组

##文件权限控制 chmod
文件详细信息:
d r-xr-x–rwx. 16 root root 4096 Aug 26 09:47 root
权限:属主的权限u 属组的权限g 其他人的权限o
修改权限:
chmod 777 文件名
chmod u+r 文件名
一般权限:
对于普通文件:
r–可读取此文件的实际内容(cat查看文件)
w–可编辑此文件的内容(vim,echo),但不具备删除该文件的权限(删除 文件由该文件的上层目录控制,跟文件本身的权限无关)
x–该文件具有可以被系统执行的权限
对于目录文件:
r–具有读目录结构列表的权限,可以查询该目录下的文件名数据(ls)
w–空
x–用户能否进入该目录(cd)
同时有w和x权限才可以创建、删除文件和目录

特殊权限:
suid:u+s,让进程不再属于它的发起者,而是属于程序文件本身(调用者执行该文件过程中,会暂时获得该文件的所有者权限,只在程序执行过程中有效)
例:使用suid来实现普通用户可以查看密码文件
答:先找到查看命令的程序文件位置,which cat
在这里插入图片描述
发现其所属者是root,现要实现普通用户查看密码文件,则要将其伪装成root
在这里插入图片描述
即可实现普通用户查看密码文件

sgid:g+s,在此目录下创建的所有文件的所属组均是该目录所在的属组

sticky:o+t,不能够删除其他用户在同目录里创建的文件,可删除自己创建的文件

**ACL访问控制列表:**可以对某个文件设置该文件具体的某些用户的权限,意思就是通过ACL可以对一个文件权限做扩展,可以使不同的用户对某个文件有不同的权限。
getfacl+文件名 获取文件的访问控制信息
setfacl 设置文件的acl
setfacl -m u:用户名:权限 文件名/目录名 ,修改文件的acl
setfacl -m g:组名:权限 文件名

权限掩码控制创建文件的权限
查看权限掩码:umask
修改权限掩码:umask 022
普通文件的权限掩码:666
目录文件的权限掩码:777


##网卡配置
1、图形界面配置
2、修改网卡的配置文件
vim /etc/sysconfig/network-scripts/ifcfg-eno16777736
在这里插入图片描述
修改完成之后,重启服务:systemctl restart network
网关配置文件:/etc/sysconfig/network
DNS配置文件:/etc/resolv.conf

3、命令行编辑
nmcli connection edit
e
go ipv4
set address 192.168.1.2/24
yes
set gateway 192.168.1.1
save
activate eno16777736

4、命令行编辑
nmcli connection modify eno16777736 ipv4.addresses 192.168.168.2/24
nmcli connection modify eno16777736 +ipv4.address 192.168.168.168/24
nmcli connection modify eno16777736 ipv4.gateway 192.168.168.1
nmcli connection modify eno16777736 ipv4.method manual
nmcli connection modify eno16777736 connection.autoconnect yes
nmcli connection up eno16777736


磁盘分区和文件系统
Linux里面根据硬盘接口的不同来命名:
IDE-------hd (a-d)
SATA/SCSI--------sd(a-z)
一块磁盘可以分为4个分区,可以是4个主分区,也可以把某个分区作为扩展分区,在扩展分区上可以创建多个逻辑分区。
磁盘分区步骤:
一、创建分区:
1、判断磁盘是否有剩余空间 df-h lsblk
2、fdisk /dev/sda
3、默认只能分为4个主分区 扩展分区 +逻辑分区
4、新建分区 e p
5、起始点–结束点(+2G)
6、p打印
7、w 保存退出 q不保存退出
#partprobe(同步磁盘分区信息)


二、创建文件系统:
#mkfs.
ext2 ext3 ext4 xfs vfat nfs
#mkfs.xfs /dev/sda5


三、挂载使用
临时挂载:
#mount 设备名称 挂载目录
#mount /dev/sda5 /sda5(新建的目录)
卸载:umount +分区文件名或 umount+挂载点目录
永久挂载:
#vim /etc/fstab
设备名称(uuid) 挂载目录(/sda5) 文件系统格式(xfs) defaults 开机是否备份 开机是否检查
/dev/sda5 /sda5 xfs defaults 0 0
#mount -a 挂载所有设备–会检测/etc/fstab文件信息,即重新读取/etc/fstab下的文件命令


#fdisk /dev/sda
m (参数含义)
n 新建分区
p 打印分区
q 退出不保存
w 保存退出
d 删除分区
>n
e 扩展分区
p 主分区


##软件安装
yum安装:
首先需要有一个仓库,来存放这些依赖关系,在需要的时候直接调用
1、挂载 mount /dev/sr0 /mnt
2、创建源配置文件
仓库目录/etc/yum.repos.d
定义配置文件:vim /etc/yum.repos.d/base.repo
yum.repos.d目录下只认识.repo结尾的配置文件
本地源配置文件:
[base]
name=base
baseurl=file:///mnt
enable=1
gpgcheck=0
3、安装:yum install+包名 -y
卸载:yum remove+包名 -y

发布了7 篇原创文章 · 获赞 4 · 访问量 317

猜你喜欢

转载自blog.csdn.net/weixin_44842905/article/details/104184319