本文主要是介绍UOS常用命令,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
shutdown 关机
reboot 重启
reboot -f 强制重启
history 查看使用的历史命令
history -c 清空命令行
- 常见目录结构
/bin 存储常用用户指令
/boot 存放用于系统引导时使用的各种文件
/dev 存放设备文件
/etc 存放系统,服务的配置目录与文件
/home 存放用户家目录
/lib 存放库文件,如内核模块,共享库等
/usr 存放系统应用程序目录
- 创建文件
touch 创建文件命令
touch file{1..50}.txt 创建file1到50
cat 查看文件内容命令
cp 拷贝命令
mv 移动命令
rm -rf 删除命令
ln 创建软链接 硬链接
alias 别名的定义
alias ld='ls -ld'
unalias 别名删除
unalia ld
- 文件查找与压缩归档
which <指令> 显示一个指令的完整路径与别名
whereis <指令> 搜索一个指令的完整路径以及其帮助文件
locate <指令> 数据库方式查找
updatedb <指令> 更新数据库
find <指令> 查找
- 归档与压缩
1.归档的含义
将许多零散的文件整理为一个文件
文件总的大小基本不变
2.压缩的含义
按谋种算法减小文件所占用空间的大小
恢复时间对应的逆向算法解压
3.常见的压缩格式及命令工具:
gz gzip gunzipzip [-r] 备份文件zip 被归档的文件bz2 bzip2 bunzip2bzip2[参数]文件系统参数:-c -d -f -k -s -t -v -z -c xz xz unxztar <命令>
输入输出重定向
Linux标准输入设备是键盘:键盘 /dev/stdin 0标准输出设备是显示器:显示器 /dev/stdout 1标准错误输出指的是显示器: /dev/stderr 2
文件处理查看
ps 查看进程信息:
ps -aux | grep 所需要查的
grep -nr 查找的文件 /etc/ n:行号
more /etc/pas
less /etc/passwd
head /etc/passwd
cat -n etc/passwd | herd :herd 前几行
cat -n etc/passwd | tail :tail 后几行
wc 查看行数 :wc -1 /etc/passwd2文件排序sort -k 2 a.txt | uniquniq a.txtuniq -c a.txt
二.网络管理
基础配置
- 1.ifconfig 可设置IP地址 列:
ifconfig ens33 192.168.100.77 netmask 255.255.255.0 ens33 192.138.100.77/24
- 2.重新启动网卡命令:
service network restart
查看主机名
hostname
修改主机名
hostnamectl set-hostname 主机名
DNS配置目录
vi /etc/resolv.conf/
nmtui网络配置命令
nmtui <命令>
nmcli连接管理
nmcli device status 查看网卡硬件状态
nmcli connection show 查看网卡配置文件信息
nmcli connection show ens33 查看指令接口详细信息
nmcli connection add con-name ens8 ifname ens8 type ethernet
添加硬件连接 ens8:需要添加的硬件
nmcli con modify ens8 ipv4.manual配置IP地址
[root@master network-scripts]# nmcli connection modify ens39 ipv4.method manual ipv4.addresses 192.168.2.20/24 ipv4.gateway 192.168.2.255 ipv4.dns 192.168.100.1 connection.autoconnect yes
nmcli device disconnect ens8 断开网络硬件连接 ens8:网络硬件
nmcli device connect ens8 重新连接网络硬件
nmcli connection delete ens8 删除网络配置文件
配置ipv6地址
nmcli connection modify ens7 ipv6.method manual ipv6.addresses 2001 : : 1/64 修改IPv6 配置
nmcli con down ens7
nmcli con up ens7 激活修改的IPv6配置
ifconfig ens7 查看ipv6地址
ping6 2001: : 1 看是否拼通
IP配置文件详细
TYPE=Ethernet //网络类型 Ethernet 以太网
PROXY_METHOD=none //代理方式
BROWSER_ONLY=no //只是浏览器
BOOTPROTO=dhcp //网络协议获取网卡IP的方式
//dhcp:动态主机配置IP协议
//static:手动配置固定IP
//none:手动配置固定IP
DEFROUTE=yes //默认路由:是
//如果IP数据包中的目的地址找不到存在的其他路由时,路由器会默认的选择
IPV4_FAILURE_FATAL=no //是否开启IPV6致命错误检查
IPV6INIT=yes // IPv6初始化
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens36
UUID=ece5fd65-f891-40ed-b74d-f7da772ff88c
DEVICE=ens36
ONBOOT=yes //系统开启时是否启动网卡
- 网络诊断
网络下载
wget 网络文件下载工具 列 :wget 软件包链接
wget -b 软件包链接 : 后台下载
零散软件包管理
rpm -ivh 软件包 安装软件包
rpm -Uvh 软件包 升级软件包
rpm -e 软件名 卸载软件包
rpm -qi 软件名 列出软件详细信息
rpm -qpi 软件包名 列出软件包名信息
rpm --help | more 获取帮助
dnf配置管理
dnf 与 yum 语法一样
dnf repolist :查看系统当中软件仓库有什么
dnf list :列出所有rpm包dnf list --help :列出可供安装的软件包
dnf list installed | 想查询的软件包
dnf grouplist :查询软件包组
dnf remove 软件包名 或 dnf erase 软件包名 :移除软件包
dnf clean 软件包名 :删除缓存无用的软件包
dnf help : 获取指令帮助
dnf history :dnf执行历史
本地yum软件源配置
ls /dev/cdrom :查看cdrom文件
mkdir /mnt/cdrom :创建一个挂载目录
mount -o loop /dev/cdrom /mnt/cdrom :把/dev/cdrom挂载到/mnt/cdrom/下
ls /mnt/cdrom :查看cdrom下的内容
Packages :存放rpm软件包 repodata :存放仓库档案信息filelists.xml.gz :存放软件包的安装清单primary.sqlite.bz2 :软件包的主要基本信息otheer .xml .gz :存放软件包其他基本信息repomd.xml :存放软件包校验信息isolinux :光盘引导的数据
cd /etc/yum.repos.d/ # ls :进入/etc/yum.repos.d/里面,再用ls查看
vim kylin.repo: :新编辑一个仓库 kylin.repo:新的仓库名内容:[cdrom]name=cdrombaseurl=file:///mnt/cdrom/ : 挂载路径enabled=1 :是否启用仓库文件 1:启用 0:不启用gpgcheck=1: 需不需要进行校验值对比 1:需要 0:不需要
yum clean all : 清除软件原有的缓存yum makecache : 生成新的缓存yum repolist : 查看仓库信息三方软件rpm包生成仓库
# createrepo 三方软件包存放路径 <指令>
cp /etc/yum.repos.d/kylin.repo /etc/yum.repos.d/kylin-1.repo :拷贝以前的库kylin.repo kylin-1.repo :库的新名字
vim kylin.repo
[soft]
name=soft
baseurl=file: //挂载路径
enabled=1 :是否启用仓库文件 1:启用 0:不启用
gpgcheck=1
yum clean all : 清除软件原有的缓存
yum makecache : 生成新的缓存
yum repolist : 查看仓库信息
源码包安装
yum install -y gcc gcc-c++ make <指令> :安装编译的环境 gcc gcc- c++ make
gcc --version :查看gcc版本
tar -zxvf rpm包 -C 释放路径 <指令> :对rpm包进行释放
make :安装完东西之后用make进行编译
make install :编译完后进行安装
- 环境变量
系统环境变量
HOME :指定用户的主工作目录(即用户登录到Linux系统中时,默认的目录)
HISTSIZE :指保存历史命令记录的条数。
LOGNAME :指当前用户的登录名。
HOSTNAME :指主机的名称,许多应用程序如果要用到主机名的话,通常是从这 个环境变量中来取得的
SHELL :指当前用户的是哪中shell
LANG :和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。
MAIL :指当前用户的邮件存放目录。
注意:上述变量的名字并不固定,如HOSTNAME在某些Linux系统中可能设置成HOST
永久性生成环境变量
vim /etc/profile :进入profile里面配置环境
source /etc/profile :刷新环境变量
格式
列:export JAVA_HOME=/home/admin/bigdata/module/jdk1.8.0_152 export PATH=$PATH:$JAVA_HOME/bin
- 服务与计划任务
一 . systemctl 控制
1.init程序的作用
linux系统和服务管理器
是内核引导之后加载的一个初始化进程(PID=1)
负责掌控整个linux的运行/服务资源组合
2.systemd
一个高效的系统&服务管理器
开机服务并启动,各系统服务间的精确依赖
配置目录 :/etc/systemd/system/
服务目录 :/lib/systemd/system/
主要管理工具 :ysytemctl
3.unit 配置单元
不同的unit决定了一组相关启动服务
service:后台独立服务
socket:套接字,类似xinetd管理的临时服务
target :一套配置单元的组合,类似于传统“运行级别”
device:对应udev规定标记的某个设备
mount, automount:挂载点,触发挂载点
systemctl -t service:列出活动的系统服务
systemctl -t service --all :列出所有系统服务(包括不活动的)
systemctl start httpd :启动某一个服务 httpd:是启动服务的名称
systemctl status httpd :查看某一个服务的状态
systemctl restart httpd :重新启动系统服务
systemctl enable httpd:开机自启动
systemctl disable httpd :取消系统服务开机自启动
systemctl stop httpd :关闭服务
systemctl get-default:查看系统默认级别
systemctl set-default multi-user.target:更改系统默认级别为字符 multi-user.target :字符界面 graphical.target :图形画界面
systemctl -t target :查看可用的运行级别
cd /usr/lib/systemd/system :进入目录
ll runlevel*.target :linux系统中七个运行级别
runlevel :查看当前运行级别
systemctl isolate runlevel3.target:切换运行级别 runlevel3.target:运行级别的名称
init 5 :切换运行级别 5 :运行级别的名称
SSH访问控制
rpm -q openssh-server :服务端软件包
rpm -q openssh-clients :客户端软件包
yum -q openssh-clients :如果没有安装就去安装
systemctl status sshd :查看ssh状态
netstat -anptu | grep 22 :查看ssh端口号
cd /etc/ssh/ :ssh配置文件所在目录sshd_config :服务端配置文件ssh_config :客户端配置文件
ssh :免密登录
vim /etc/hosts/ :进入hosts里面进行映射
列: 192.168.241.250 master192.168.241.251 slave1ssh-keygen -t rsa :创建ssh密钥对 :三个回车ssh-copy-id master@192.168.2.10
- linux时间同步
1. Linux有两个时钟时间,分别是:硬件时钟RTC 系统时钟
2. 使用date命令date //查看时间date -s "2022-05-01" :修改时间 “ ”里面是需要修改的时间yum -y install ntp.x86_64
- cron计划任务
系统服务 :crond
日志文件 :/var/log/crong
组配置文件:/etc/crontab
编辑:crontab -e [-u 用户名]
查看:crontab -l [-u 用户名]
清除:crontab -r [-u 用户名]
编辑crontab的格式
vim /etc/crontab :里面有格式为 [ 分,时,日,月,周 ]* :匹配范围内任意时间,:分隔多个不连续的时间点- :指定连续时间范围/n:指定时间频率,每n...
列如:每两天8点到11点的第3,第15分钟执行一次重启
3,15 8-11 */2 * * reboot
给谋个用户指定计划任务
crontab -e -u uos :-e是编译 -u是指定用户如uos
进入里面 :* * * * * echo uos >> /tmp/uos.txt
查看用户计划任务:crontab -l -u uos
清楚计划任务:crontab -r -u uos
- 进程管理与系统监控
系统状态查询
free :查看内存 还可以查询Swap交换分区情况free -g :查看是多少个Gfree -s 10 :查看内存每十秒查一次 和cat /proc/meminfo内容一样cat /etc/deepin-version :查看系统版本uname , uname -r ,uname -a :查看内核信息lscpu ,cat /proc/cpuinfo:查看cpu信息last ,lastlog | more:查看最近登录用户
系统进程管理
pstree -p | more:查看进程数 -p(进程号数) -a(显示完整命令行)
ps aux :查看进程快照 a(显示当前终端所有进程) x(当前用户在所有终端下的进程) u(以用户格式进行输出)
ps aux | more
ps -elf | more :列出正在运行的所有进程 e(显示系统内所有进程) l(长格式输出) f(包括最完整的进程信息)
pgrep -lx baash 检索某个进程
pgrep -l -U root 指定用户的所有进程
cp /dev/cdrom mycd.iso :拷贝 然后CTRL+z 后台运行
jobs :查看后台任务列表
bg %1 :激活后台挂起的任务 1:作业号
fg %1 :后台任务恢复到前台工作 1:作业号
kill %1 :杀死进程 1:作业号
kill -9 8158 :强制杀死进程 8158 :进程号
- 日志管理
日志:系统和程序“日记本”
系统服务rsyslog统一记录/管理
日志消息用文本格式
主要记录事件发生的时间,主机,进程,内容
/var/log/messages : 记录内核信息,各种服务的公共信息
/var/log/cron : 记录与cron计划任务相关的信息
/var/log/maillog : 记录邮件收发相关的消息
/var/log/secure : 记录与访问限制相关的安全的信息
用户日志文件
/var/log/lastlog : 记录最近的用户登录事件
/var/log/wtmp : 记录成功的用户登录/注销事件
/var/log/btmp : 记录失败的用户登录事件users :查看登陆的用户who :查看登录的用户详细信息w :查看登录的用户详细信息在详细些last -2 :查看谁最近成功登录了我的系统中 -2 :最近两条登录信息lastb -2 :查看最近登录失败
- 日志消息是有优先级的
man syslog <指令>
journalctl :查看所有日志信息 包括内核日志和应用日志
journalctl status systemd-journal :查看服务状态
journalctl -k :查看内核日志
journalctl -b :查看系统本次启动日志
journalctl --since "16:00" :显示今天下午16点后的日志
journalctl -n 20 :后十行最新日志 20是对应的行
journalctl -f :滚动查看最新日志
journalctl /usr/lib/systed/systemd :查看指定服务日志
journalctl _PID=1 :查看指定进程日志
journalctl /usr/bin/bash :某个路径脚本日志
journalctl -p 3 :显示级别日志 3 :是级别
-
系统安全防护
BIOS :“基本输入输出系统”
UEFI : “统一可扩展固件接口,是BIOS的替代方案”
UEFI的优势:
1,支持硬盘容量更大 :相比于传统BIOS+MBR只能支持2048G的硬盘和4个主分区相比,UEFI+GPT支持18EB的磁盘和128个主分区
2,容错特性:UEFI是模块化构建,比BIOS容错和纠错特性强
3,鼠标操作:UEFI内置图形驱动,可以提供原生分辩率的图形环境,用户进入可以使用鼠标调整
4,扩展性强:UEFI包含一个可编程序的开放口,厂商利用这个接口可以对功能进行扩展,如:设备和诊断
5,支持联网 :在不进入操作系统的前提下就可以通过网络进行远程故障诊断 -
系统启动流程
1,接通电源 2,系统固件搜索可启动设备3,读取启动加载(boot loader)4,grub.cfg 5,initramfs6,启动加载器放权7,内核初始化8,启动initrd.target并挂载9,切换根文件系统10,启动相应目标
破解root密码
启动系统后,出现开机画面时,按下字母:e
找的liunx16 删除到 ro 将ro改为 rw rd.break ctrl + x 进入 switch_root:/#
进入 switch_root:/# 输入chroot /sysroot(修改为系统真实的目录),就会进入到sysroot的shell中
此时修改密码:echo xxxxxxx(你的密码) | passwd --stdin root
为了让selinux自动初始化,否则可能导致不生效,需要再输入:touch /.autorelabel 输入:exit退出x2
UOS破解密码
进入页面按e键进入操作行
将ro改为rw 在最后面加init=/bin/bash 在按ctrl+x
输入:passwd修改密码
在输入:touch /.autorelabel //通知系统下次开机时重新标记SELiunx安全上下文
在输入:sync //同步信息
在输入:exit //退出
麒麟v10初始化密码:root/Kylin123123
- SELinux安全机制
1,增强Linux系统安全的强制访问控制体系2,集成到Linux内核(2.6及以上)中运行3,基于SELinux体系针对用户,进程,目录和文件提供预设的保护策略,以及管理工具4,SELinux的运行模式1.enforcing(强制)2.permissive(宽松)3.disabled(彻底禁用)
5,切换运行模式1.临时切换:setenforce 1|02.固定配置:/etc/selinux/config文件getenforce:查看SELinux运行模式vim /etc/selinux/config :永久性修改SELinux运行模式
- 分区规划及使用
识别硬盘=>分区规划=> 格式化=>挂载使用
硬盘主分区表格式:MBR与GTPTgdisk /dev/vda查看MBR,GPTMBR:MBR分区(即主引导记录),支持的最大容量:2T,对分区有限制:最多4个主分区或3个主分区,一个扩展分区多逻辑分区。GPT:GTP(即GUD分区表),突破MBR4个主分区限制,每个磁盘最多支持128个主分区;支持2T以上硬盘,最大支持容量为18EB。
使用fdisk分区工具
fdisk -l /dev/sda :查看分区表
fdisk 硬盘设备名称 如 fdisk /dev/sda m 列出指令帮助p 查看现有的分区表n 新建分区d 删除分区q 放弃更改并退出w 保存更改并退出lsblk 查看分区表
mkfs工具级 列 mkfs.ext4 /dev/sdb1
blkid /dev/sdb1 :查看sdb1格式类型
识别分区表:使用partprobe命令 列如 partprobe /dev/sdb 或者 reboot 重启系统
如果想使用创建的分区先格式化
mount diskpart 挂载点
如 mount /dev/sda1 /mnt/sda1
卸载挂载点 umount /mnt/sda1 后面跟挂载点
永久挂载 vim /etc/fstab
/dev/sdb1 /mnt/sda1 ext4 defaults 0 0
mount -a
df -hT | tail -1 :查看是否挂载成功
- LVM逻辑卷
功能 | 物理卷管理 | 卷组管理 | 逻辑卷管理 |
---|---|---|---|
Scan 扫描 | pvscan | vgscan | lvscan |
Create 创建 | pvcreate | vgcreate | lvcreate |
Display 显示 | pvdisplay | vgdisplay | lvdisplay |
Remove 删除 | pvremove | vgremove | lvremove |
Extend 扩展 | / | vgextend | lvextend |
- LVM快速部署及使用
创建卷组:vgcreate 卷组名 空闲分区
vgcreate wjf /dev/sdb2 :wjf 卷组名
创建逻辑卷 :lvcreate -L 大小 -n 名称 卷组名
lvcreate -L 900M -n wjf1 wjf :wjf1 逻辑卷名称
mkfs.ext4 /dev/wjf/wjf1:格式逻辑卷
blkid /dev/wjf/wjf1:查看逻辑卷的格式
挂载
vim /etc/fstab
格式:/dev/wjf/wjf1 /mnt/sdb2 ext4 defaults 0 0
mount -a
df -h :查看
lvs :查看逻辑卷大小
vgs:查看卷组大小
扩展卷组
vgextend wjf /dev/sdc :扩展wjf空间
扩展逻辑卷
lvextend -L +2G /dev/wjf/wjf1 :给wjf12个G
lvextend -l +100%free /dev/wjf/wjf1 :给wjf1全部内存
更新文件系统大小
对与格式化过的逻辑卷,扩容后应该通知Linux内核否则,使用等工具时看到的仍是旧大小
刷新文件系统容量:resize2fs EXT3/4xfs_growfs XFS
列如:resize2fs /dev/wjf/wjf1/dev/wjf/wjf1: UUID="81634a05-b6fe-405d-a233-d3a9312ac397" TYPE="ext4"
- 管理交换空间
parted工具
用法:parted[选项]...[设备[命令[参数]...]...]-h,--help 显示此求助信息-l, --list 列出所有设别的分区信息-i, --interactive 在必要时,提示用户-s, --script 从不提示用户-v, --version 显示版本
parted /dev/sdc :/dev/sdc/路径:help 查看命令列表:quit 退出命令
进入parted /dev/sdc后输入:mklabel:gpt 创建分区表输入:mkpart后:输入分区名称 如(parted)mkpart
交换分区创建 :mkswap /dev/sdb1:swapon /dev/sdb1 起用交换分区:swapon -s 查看交换分区:swapoff /dev/sdb1 停用交换分区
永久性挂载交换分区 sdb1 : vim /etc/fstab
/dev/sdc1 swap swap defaults 0 0
swapon -a : 开启检测
这篇关于UOS常用命令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!