文章目录
linux基础必备centos操作系统
一. 常用命令:
- 关闭防火墙与selinux
关闭防火墙与selinux
systemctl stop firewalld #关闭防火墙
systemctl disable firewalld #永久关闭防火墙
systemctl start firewalld ##启动防火墙
vim /etc/sysconfig/selinux #永久关闭selinux , 需要重启机器,将文件中的SELINUX=enforcing改为idisable
setenforce 0 #临时关闭
cat /etc/sysconfig/selinux ##查看更改是否有误
systemctl status firewalld #查看防火墙状态
getenforce #查看selinux是否开启
- mkdir:用于创建新目录。
- yum: 安装指定的软件包。
yum list installed | grep XXXX 查找指定包
yum install package_name :使用 Yum 包管理器安装软件包,其中 "install" 为安装命令。
yum update package_name :使用 Yum 包管理器更新已有软件包,其中 "update" 为更新命令。
yum remove package_name :使用 Yum 包管理器删除软件包,其中 "remove" 为删除命令。
yum clean, yum clean all 清除缓存目录下的软件包及旧的headers
yum provides */命令 # 查看命令是由哪个包提供的(这个命令很有帮助)
yum update #更新升级所有软件包
yum search string #根据关键字string查找安装包
运行以下命令生成缓存
yum clean all
yum makecache
- touch: 用于创建空文件或者更新文件的访问和修改时间戳。
touch {1..10}.log
cp:用于复制文件或目录。可以使用该命令将文件从一个位置复制到另一个位置,或者复制整个目录。
:::info
要在Linux上远程复制文件,您可以使用scp命令。scp命令可以通过SSH协议在本地和远程主机之间安全地复制文件。
使用scp命令的基本语法如下:
scp [选项] [源文件] [目标地址]
例如,要将本地文件file.txt
复制到远程主机remote_host
的/remote/directory
目录中,您可以使用以下命令:
scp file.txt username@remote_host:/remote/directory
在这个命令中,username
是远程主机上的用户名,remote_host
是远程主机的地址,/remote/directory
是远程目录的路径。
您还可以使用-r
选项来递归复制整个目录,例如:
scp -r directory username@remote_host:/remote/directory
这将递归地复制本地directory
目录到远程主机的/remote/directory
目录中。
请确保您具有适当的权限和凭据来访问远程主机,并且远程主机上的SSH服务正在运行。
:::rm:用于删除文件或目录。注意:该命令是永久性删除,操作需谨慎。
rm -i *.log 删除任何 .log 文件,删除前逐一询问确认
rm -rf test 删除 test 子目录及子目录中所有档案删除,并且不用一一确认
rm -- -f* 删除以 -f 开头的文件
rm -rf * 删除当前目录下的所有文件
rm -f 其中的,f参数 (f --force ) 忽略不存在的文件,不显示任何信 不会提示确认信息。
- mv:用于移动文件或目录,也可以用于将文件重命名。它可以将文件从一个位置移动到另一个位置,或者更改文件的名称。
- cat:用于查看文件的内容,将文件的内容输出到终端。
- head:显示文件的开头几行,默认为前10行。可以使用参数来指定要显示的行数。
- tail:显示文件的末尾几行,默认为最后10行。可以使用参数来指定要显示的行数。
tail -f #动态查看
- less:以分页的方式查看文件的内容,可以向上或向下滚动进行查看。
- more:以分页的方式查看文件的内容,与less相似,但只能向前滚动。
- groupadd: 用于创建新的组。
- useradd: 用于创建新的用户。
- pwd: 查看当前所在路径位置。
- |管道与重定向:
> ----覆盖
>> ----追加
- grep: 用于搜索文本的命令行工具。它可以在文件中或者标准输入中查找匹配特定模式的行,并将匹配的行打印到标准输出。
grep 'famas' /usr/local.txt
-i:忽略大小写
-r:递归地在目录中搜索文件
-n:显示匹配行的行号
-v:显示不匹配的行
-E:使用扩展正则表达式
- 进程控制
[root@linux-server ~]# kill -l #查看所有信号
-1 HUP 重新加载进程或者重新加载配置文件,PID不变
-9 KILL 强制杀死
-15 TERM 正常杀死(这个信号可以默认不写) stop
-18 CONT 激活进程
-19 STOP 挂起进程
查看进程 process
:::info
[root@linux-server ~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
============================================================================
USER: #运行进程的用户
PID: #进程ID
%CPU: #CPU占用率
%MEM: #内存占用率
VSZ 进程占用的虚拟内存大小
RSS 占用的物理内存大小
STAT: #进程状态 —了解
? 表示没有占用终端
R 运行
S 可中断睡眠 Sleep
D 不可中断睡眠
T 停止的进程
Z 僵尸进程
X 死掉的进程
START: #进程的启动时间
TIME: #进程占用CPU的总时间
COMMAND: #进程文件,进程名
:::
:::info
ps aux | less
ps :process nsapashot
a 只能查看系统里面运行的所有终端进程
u 显示进程拥有者
x 显示系统内所有进程
f 显示进程之间的父子关系
:::
存储管理
![image.png](https://img-blog.csdnimg.cn/img_convert/75b665297c738dbdb8caa4b19fabcc7b.png)
lsblk 查看分区结果,查看磁盘设备
partprobe /dev/sdb #如果分区后无法发现分区结果,请刷新分区表后再次查看
挂载必须要用 blkid 查uuid
fdisk -l /dev/sdb #查看磁盘分区信息
MBR分区 分磁盘按n和删除磁盘按d保存按w
fdisk /dev/sdb #分磁盘
GPT分区 另一个分区工具gdisk
yum -y install gdisk #安装分区工具
gdisk /dev/sdb #分磁盘 进入磁盘模式分磁盘(n)和删除磁盘d保存w
mkfs.ext4 /dev/格式化的目录 #格式化成ext4格式的文件系统
mkfs.xfs /dev/格式化的目录 #格式化成xfs格式的文件系统
mkdir /mnt/挂载的目录 #创建挂载目录
mount /dev/sdc2 /mnt/disks/ #让磁盘和目录挂载
df -Th #查看磁盘与挂载使用的空间
umount /mnt/disks/ 取消挂载
umount -l /mnt/disk1/ 强行取消挂载,即使目录有资源被进程占用,也可以卸载
blkid /dev/磁盘名 #查看uuid和文件系统类型
也可以放到开机自动启动里面
查看/root下文件的内容,找到文件.bashrc,在里面写挂载信息,然后也可以实现开机自动挂载。
逻辑卷LVM
pvcreate /dev/磁盘名字 添加
yum install -y lvm2 # 下载这个命令用于物理卷
pvcreate /dev/sdb #创建pv
pvs #查看pv
vgcreate vg1 /dev/sdb #创建vg
vgs #查看vg
lvcreate -L 150M -n lv1 vg1 #创建lv
lvs #查看lv
mkfs.xfs /dev/vg1/lv1 格式化xfs
mkfs.ext4 /dev/vg1/lv2 格式ext4
mkdir /mnt/lv{1..2} 创建目录
mount /dev/vg1/lv1 /mnt/lv1 挂载磁盘
mount /dev/vg1/lv2 /mnt/lv2
df -Th #查看磁盘与挂载使用的空间
1pe=4m
vgextend vg1 /dev/sdc #将/dev/sdc扩展到vg1中
lvextend -L +850M /dev/vg1/lv1 #在原有基础上加850M
lvextend -l +15 /dev/vg1/lv1 #在原有基础上加15个PE
xfs_growfs /dev/vg1/lv1 #xfs扩容
resize2fs /dev/vg1/lv2 #ext4扩容
du -sh 查看文件大小
lsblk 查看当前机器的磁盘信息
fdisk -l /dev/sdb 查看某个磁盘详情
关机,添加磁盘,开机,查看是否添加成功,fdisk做分处理,格式化(文件系统xfs,ext4),mount挂载,fstab自动挂载,mount -a 手动触发。
4lvm逻辑卷管理:扩容磁盘:添加物理卷pv,添加到卷组vg,扩容对应的逻辑卷lv,对扩容过的空间容量进行格式化。
raid10和01
- 逻辑或逻辑与
逻辑与:&&
逻辑或: | |
二. 文件管理及文件权限
**文件权限的表示方式通常是使用一串由10个字符组成的字符串,其中第一个字符表示文件类型,接下来的三个字符表示所有者的权限,接下来的三个字符表示群组的权限,最后三个字符表示其他人的权限。文件权限是保护文件和目录的重要机制,可以控制对敏感数据的访问,并确保文件系统的安全性。**
目录功能
bin 普通用户使用的命令 /bin/ls, /bin/date
sbin 管理员使用的命令 /sbin/service
案例:
[root@linux-server ~]# which ls
[root@linux-server ~]# which useradd
/usr/sbin/useradd
dev 设备文件 /dev/sda,/dev/sda1
[root@linux-server ~]# 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@linux-server ~]# 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 #系统提供这个目录是让用户临时挂载其他的文件系统
文件权限
基本权限 U–user用户,G-group组,O-other其他人
chown:改变文件或目录的所属主以及所属组
chmod:为文件或目录设置访问权限
读(read):r ---->4
写(write):w ---->2
执行: x(exec) ----->1
文件类型
- 普通文件(文本文件,二进制文件,压缩文件,电影,图片。。。)
d 目录文件(蓝色)
b 设备文件 block device 设备文件,如硬盘,U盘;
c 设备文件 字符设备文件,比如我们的终端tty1,打印机。
l symbolic link 即符号链接文件,又称软链接文件 (浅蓝色)
s socket 即套接字文件,用于实现两个进程进行通信
p 管道文件
目前两种给普通用户提权手段
:::info
sudo: 有针对性,例如针对某个用户以能够以root的身份执行某些命令。
suid: 基本针对所有用户,任何用户在执行有suid权限的程序时(例如/usr/bin/rm),都是以root身份在执行。
:::
当给普通用户提权时,可以按照以下步骤进行操作:
1. 使用sudo命令:
a. 确保您已经以root用户登录到系统。
b. 打开终端,并编辑sudoers文件,可以使用visudo命令来编辑该文件:
```bash
sudo visudo
```
c. 在sudoers文件中,找到以下行:
```bash
## Allow members of group sudo to execute any command
# %sudo ALL=(ALL:ALL) ALL
```
d. 在该行下面添加一行,允许特定用户执行特定命令:
```bash
username ALL=(ALL:ALL) ALL
```
其中,username是要提权的普通用户名。
e. 保存并关闭sudoers文件。
f. 现在,普通用户就可以使用sudo命令来执行需要特权的操作。
2. 使用su命令:
a. 打开终端,并输入以下命令:
```bash
su -
```
b. 输入root用户的密码进行确认。
c. 现在,您已经切换到root用户,可以执行需要特权的操作。
3. 使用特权程序:
a. 确保您已经以root用户登录到系统。
b. 打开终端,并编辑特权程序的配置文件,通常是在/etc/sudoers.d/目录下。
c. 在配置文件中添加允许普通用户执行特定程序的规则。
d. 保存并关闭配置文件。
e. 现在,普通用户就可以以特权身份运行特定的程序。
在进行这些操作时,务必小心谨慎,确保只有必要的操作才需要使用特权身份,并严格控制哪些命令和程序可以被普通用户执行。