首页
友链
统计
留言
更多
直播
壁纸
推荐
我的毛线
哔哔点啥
院长科技
Search
1
本站官方群:894703859------|诚邀各位大佬的入驻!
580 阅读
2
pxe 自动化安装系统
570 阅读
3
软件安装
434 阅读
4
新款螺旋帽子编织#夏凉帽#合股线夏凉帽编织
379 阅读
5
10 个Linux Awk文本处理经典案例
372 阅读
linux
yaml
iptables
shell
ansible
ssl
awk
sed
pxe
prometheus
Nginx
k8s
fish
dev
go占位符
clickhouse
html标签
vue基础
html表格
vue项目
vscode
css基础
css定位
css精灵图
code
html5
project
js
jQuery
面向对象
编织
编织视频
常用工具
微软
登录
/
注册
Search
标签搜索
基础
js
Nginx
css
webapi
jQuery
面向对象
command
项目
ansible
用户权限
go
html
文件管理
命令
k8s
shell
pxe
awk
vscode
JustDoIt
累计撰写
114
篇文章
累计收到
4
条评论
首页
栏目
linux
yaml
iptables
shell
ansible
ssl
awk
sed
pxe
prometheus
Nginx
k8s
fish
dev
go占位符
clickhouse
html标签
vue基础
html表格
vue项目
vscode
css基础
css定位
css精灵图
code
html5
project
js
jQuery
面向对象
编织
编织视频
常用工具
微软
页面
友链
统计
留言
直播
壁纸
推荐
我的毛线
哔哔点啥
院长科技
搜索到
5
篇与
的结果
2023-11-01
Linux系统基础命令
系统目录结构几乎所有的计算机操作系统都是用目录结构组织文件。具体来说就是在一个目录中存放子目录和文件, 而在子目录中又会进一步存放子目录和文件,以此类推形成一个树状的文件结构,由于其结构很像一棵树的分支, 所以该结构又被称为“目录树”。Linux系统中也沿用了这种文件结构, 所有目录和文件都在 "根目录"下, 目录名为"/"。FHS(文件系统层次标准)定义了在根目录下的主要目录以及每个目录应该存放什么文件。/etc 系统重要配置文件, 以及常用服务配置文件 /var 存放系统引导启动时产生的可变文件,文件通常动态更改的,例如: 缓存目录,日志文件 /run 系统启动后, 运行的程序产生的运行时数据, 包括进程的pid文件,锁文件等 /home 普通用户的主目录, 普通用户的家目录默认为/HOME/USERNAME /root 超级管理员的主目录, 普通用户无权操作 /tmp 存放临时文件, 一般存放超过10天以上都会自动删除,可以更改删除临时文件的期限 /boot 存放系统引导时候需要的文件 /dev 存放设备文件 /usr 安装的软件, 共享库, 重要的子目录有 /usr/bin 用户命令目录 /usr/sbin 管理员命令目录 /usr/local 本地自定义安装的软件 /bin --> /usr/bin /sbin --> /usr/sbin lib -> usr/lib lib64 -> usr/lib64 文件路径定位路径的作用:定位文件具体位置信息你要在那里创建什么文件?你要将什么文件复制到什么地方?你要删除的文件在什么地方?1.特殊目录: (.)和(..)在每个目录下, 都会固定存在两个特殊目录, 分别是一个点(.)和两个(..)的目录。一个点代表当的是当前目录, 两个点代表的是当前目录的上层目录。注意: 在Linux下所有以点开始的文件都是"隐藏文件", 对于这类文件, 只使用命令ls -l是看不到的, 必须要使用ls -la才可以看到,如下所示:[root@xuliangwei ~] [root@xuliangwei opt] [root@xuliangwei opt] . .. 2.绝对路径:Linux系统采用了目录树的文件组织结构, 在Linux下每个目录或文件都可以从根目录处开始寻找, 比如: /usr/bin目录。这种从根目录开始的全路径被称为"绝对路径", 绝对路径一定是以 “/” 开头的。如何确认当前所在的目录, 可以使用pwd命令查看:[root@xuliangwei ~] /root 3.相对路径相对路径, 关键点在于当前在什么路径下。假设当前目录在/usr/local下, 那么它的上层目录(/usr目录)可以用../表示, 而``/usr/local的下层目录(src)则可以用./src`表示。所谓的(.)和(..)目录实际上也是属于相对路径//进入/opt目录 [root@xuliangwei ~] [root@xuliangwei opt] total 76 drwxr-xr-x. 2 root root 69632 Dec 4 11:00 . dr-xr-xr-x. 33 root root 4096 Dec 4 10:40 .. //进入当前目录 [root@xuliangwei opt] //显示当前目录 [root@xuliangwei opt] /opt //进入当前目录的上层目录 [root@xuliangwei opt] //进入上层目录,也就是/目录 [root@xuliangwei /] / cd命令常见用法:. 表示用户所处的当前目录 .. 表示上级目录; ~ 表示当前用户自己的家目录 cd - //切换上次所在目录 cd ~ //切换至当前用户家目录 cd //切换至当前用户家目录 cd . //.代表当前目录,一般在拷贝、移动等情况下使用 cd .. //切换至当前目录的上级目录 目录管理命令1.目录创建命令mkdir2.以树状显示目录结构命令tree-L: 显示目录树的层级 # tree # tree -L 1 / 文件管理命令Linux一切皆为文件, 在对Linux进行配置时, 很大程度上就是处理文件的过程, 所以掌握文件的相关操作是非常有必要的。下面我们介绍如何对文件进行, 创建、删除、移动、重命名, 以及查看文件内容, 至于如何编辑文件, 在后面具体介绍编辑器的时候在做详细阐述。1.文件创建命令touch2.文件时间stat[root@test-example ~] File: 'test.txt' Size: 2 Blocks: 8 IO Block: 4096 regular file Device: fd00h/64768d Inode: 67335626 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:admin_home_t:s0 Access: 2018-01-21 12:12:48.949097044 +0800 Modify: 2018-01-21 12:12:35.243302963 +0800 Change: 2018-01-21 12:12:35.243302963 +0800 Birth: - 访问时间:atime,查看内容 修改时间:mtime,修改内容 改变时间:ctime,文件属性,比如权限 删除时间:dtime,文件被删除的时间 3.文件目录复制命令cpcp [OPTION]... [-T] SOURCE DEST cp [OPTION]... SOURCE... DIRECTORY cp [OPTION]... -t DIRECTORY SOURCE... # cp name /tmp/name_copy # cp name /tmp/name # cp -p name /tmp/name_p # mkdir name_name # cp -r name_name/ /tmp/name_tmp # cp -rv /etc/hosts /etc/hostname /tmp # cp -rv /etc/hosts /etc/hostname ./ # cp -rv /etc/hosts /etc/hosts.bak # cp -rv /etc/{hosts,hosts.bak} # cp -rv /etc/hosts{,-org} 3.文件目录移动命令mvmv [OPTION]... [-T] SOURCE DEST mv [OPTION]... SOURCE... DIRECTORY mv [OPTION]... -t DIRECTORY SOURCE... # mv file /tmp/ # mv file /tmp/file_test # mv dir/ /tmp/ # touch file{1..3} # mv file1 file2 file3 /opt/ # mkdir dir{1..3} # mv dir1/ dir2/ dir3/ /opt 4.文件目录删除命令rmrm [OPTION]... FILE... -r 递归 -f 强制删除 -v 详细过程 # rm anan # rm anan -f # rm -r dir/ # rm -rf dir/ # mkdir /home/dir10 # touch /home/dir10/{file2,file3,.file4} # rm -rf /home/dir10/* # ls /home/dir10/ -a . .. .file4 # touch file{1..10} # touch {1..10}.pdf # rm -rf file* # rm -rf *.pdf 文件查看命令cat 示例:cat /etc/passwd 示例:cat -n /etc/passwd 示例:cat >> xuliangwei.txt <<EOF test EOF head 示例:head /etc/passwd 示例:head -n5 /etc/passwd tail 示例:tail /etc/passwd 示例:tail -f /var/log/messages more 示例:more /etc/passwd less 示例:less /etc/passwd 文件下载命令wget -O -T -q --spider 示例:wget http: curl 示例:curl -o http: yum install lrzsz rz sz 示例:sz filename 命令查找命令locate 示例:locate /etc/sh 示例:locate -i /etc/sh which 示例:which ls whereis 示例:whereis ls 示例:whereis -b ls 字符处理命令1.使用sort排序很多情况下需要对无序的数据进行排序, 这时就需要用到sort排序了。sort [OPTION]... [FILE]... -r:倒序 -n:按数字排序 -t:指定分隔符(默认空格) -k:指定第几列, 指定几列几字符(指定1,1 3.1,3.3) [root@xuliangwei ~]# cat >> sort.txt <<EOF b:3 c:2 a:4 e:5 d:1 f:11 EOF [root@xuliangwei ~]# sort sort.txt a:4 b:3 c:2 d:1 e:5 f:11 [root@xuliangwei ~]# sort -t ":" -k2 sort.txt d:1 f:11 c:2 b:3 a:4 e:5 [root@xuliangwei ~]# sort -t ":" -n -k2 p.txt d:1 c:2 b:3 a:4 e:5 f:11 192.168.3.1 00:0F:AF:81:19:1F 192.168.3.2 00:0F:AF:85:6C:25 192.168.3.3 00:0F:AF:85:70:42 192.168.2.20 00:0F:AF:85:55:DE 192.168.2.21 00:0F:AF:85:6C:09 192.168.2.22 00:0F:AF:85:5C:41 192.168.0.151 00:0F:AF:85:6C:F6 192.168.0.152 00:0F:AF:83:1F:65 192.168.0.153 00:0F:AF:85:70:03 192.168.1.10 00:30:15:A2:3B:B6 192.168.1.11 00:30:15:A3:23:B7 192.168.1.12 00:30:15:A2:3A:A1 192.168.1.1 00:0F:AF:81:19:1F 192.168.2.2 00:0F:AF:85:6C:25 192.168.3.3 00:0F:AF:85:70:42 192.168.2.20 00:0F:AF:85:55:DE 192.168.1.21 00:0F:AF:85:6C:09 192.168.2.22 00:0F:AF:85:5C:41 192.168.0.151 00:0F:AF:85:6C:F6 192.168.1.152 00:0F:AF:83:1F:65 192.168.0.153 00:0F:AF:85:70:03 192.168.3.10 00:30:15:A2:3B:B6 192.168.1.11 00:30:15:A3:23:B7 192.168.3.12 00:30:15:A2:3A:A1 [root@student tmp]# sort -t. -k3.1,3.1nr -k4.1,4.3nr test.txt 2.使用uniq删除重复内容如果文件中有多行完全相同的内容, 当前是希望能删除重复的行,同时还可以统计出完全相同的行出现的总次数, 那么就可以使用uniq命令解决这个问题(但是必须配合sort使用)。uniq [OPTION]... [INPUT [OUTPUT]] -c 计算重复的行 //演示uniq的用法, 首先创建一个文件: [root@xuliangwei ~] abc 123 abc 123 //uniq需要和sort一起使用, 先使用sort排序, 让重复内容连续在一起 [root@xuliangwei ~] 123 123 abc abc //使用uniq去除相邻重复的行 [root@xuliangwei ~] 123 abc //使用-c参数, 能统计出文件中每行内容重复的次数 [root@xuliangwei ~] 2 123 2 abc 3.使用cut命令截取某一个字段cut OPTION... [FILE]... -d:指定分隔符 -f:数字,取第几列 –f3,6三列和6列 -c:按字符取(空格也算) #echo “Im xuliangwei, is QQ 552408925” >xuliangwei.com # sed 's#,# #g' xuliangwei.txt | cut -d " " -f2,6 # sed 's#,# #g' xuliangwei.txt | awk -F " " '{print $2 " " $5}' # awk -F '[, ]+' '{print $2,$5}' xuliangwei.txt # awk '{print $2 $5}' xuliangwei.txt | awk -F "," '{print $1" " $2}' # awk -F "[, ]" '{print $2 " " $6}' xuliangwei.txt 此类问题是运维工作中最常见的问题。可以演变成分析日志,查看TCP各个状态连接数,查看单IP连接数排名等 [root@student tmp]# cat web.log http: http: http: http: http: http: [root@student tmp]# awk -F '/' '{print $3}' web.log|sort -rn|uniq –c 3 www.xuliangwei.comxuliangwei.com 2 post.xuliangwei.comxuliangwei.com 1 mp3.xuliangwei.comxuliangwei.com [root@student tmp]# cut -d / -f3 web.log|sort -rn|uniq –c 3 www.xuliangwei.comxuliangwei.com 2 post.xuliangwei.comxuliangwei.com 1 mp3.xuliangwei.comxuliangwei.com 4.使用wc统计wc - print newline, word, and byte counts for each file显示文件的行、单词与字节统计信息 wc [OPTION]... [FILE]... -l:显示文件行数 -c:显示文件字节 -w:显示文件单词 //统计fstab有多少行 [root@student ~] 15 /etc/fstab 显示/etc/services 文件行号 [root@student ~] 10774 /etc/services //扩展方法 [root@student ~] [root@student ~] [root@student ~] [root@student ~] 转载 xuliangwei.com
2023年11月01日
23 阅读
0 评论
0 点赞
2023-11-01
Linux系统Bash初识
转载 xuliangwei.com1.Linux系统终端概述服务器终端切换: Ctrl + Alt + F1 … F6虚拟机终端切换: Ctrl +Shift +Alt +F1 … F6虚拟终端由mingetty程序生成 [root@xuliangwei ~]# tty /dev/tty1 [root@xuliangwei ~]# tty /dev/pts/1 2.Linux系统Bash管理简单的说, Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。Linux, Shell也有多种不同的版本。主要有下列版本的Shell:BASH Shell: 是一个为GNU计划编写的Unix shell, 是许多Linux发行版的默认ShellC Shell: 是SUN公司Shell的BSD版本。Z Shell: 它集成了bash、ksh的重要特性,同时又增加了自己独有的特性。还有许多传统UNIX上用的Shell,例如tcsh、csh、ash、bsh、ksh等, Shell Script大致都类同,当您学会一种Shell以后,其它的Shell很快就上手, 大多数的时候, 一个Shell脚本 通常可以在很多种Shell上使用。查看当前使用的shell[root@xuliangwei ~] /bin/bash 查看Linux可用的 shell[root@xuliangwei ~] /bin/sh /bin/bash /sbin/nologin /bin/dash /bin/tcsh /bin/csh /bin/zsh Bash Shell提示符[root@xuliangwei ~] [\u@\h \W]\$ [root@xuliangwei ~] Sat Jan 20 09:45:40 EST 2018 [root@xuliangwei ~] Shell 语法命令行bash shell, 为用户提供输入, 执行命令的界面//等待用户输入,执行命令, $ = 普通用户, [student@desktop0 ~]$ //bash Shell 执行命令 //命令 选项 参数 command [-options] [arguments] [root@xuliangwei ~] [root@xuliangwei ~] [root@xuliangwei ~] 命令: 命令的主体 一个命令有多个选项, 多个选项可以合并在一起 选项: 用于调节命令的具体功能 以 “-”引导短格式选项(单个字符),例如“-l” 以“--”引导长格式选项(多个字符),例如“--color” 多个短格式选项可以写在一起,只用一个“-”引导,例如“-al” 参数: 命令操作的对象,如文件、目录名等 我们可以使用SHELL实现对Linux的大部分管理1.文件管理2.权限管理3.用户管理4.磁盘管理5.网络管理6.软件管理...使用Shell的方式输入命令 --> 效率低 -->适合少量的工作Shell Script --> 效率高-->适合复杂重复性的工作BASH所支持的功能命令行编辑快捷键内部命令与外部命令命令补全与路径补全命令别名与命令历史转义字符与路径展开通配符与特殊字符重定向与管道技术2.1.Bash特性:命令补全通过上下方向键来调取过往执行过的Linux命令;命令或参数仅需输入前几位就可以用Tab键补全;tab键可以实现命令补全, 路径补全和命令实现方式一致, 工作中我们经常用到tab补全, 减少执行命令以及路径出错率。1.命令补全2.提示功能3.减少出错 [root@xuliangwei ~]# ifcon [root@xuliangwei ~]# ifconfig [root@xuliangwei ~]# if if ifconfig ifenslave ifrename ifcfg ifdown ifnames ifup [root@xuliangwei ~]# ls /etc/sysconfig/network-scripts/ 2.2.Bash特性:命令快捷键终端快捷键的使用可以帮助我们大大提升效率Ctrl + A Ctrl + E Ctrl + C Ctrl + D Ctrl + Z Ctrl + L Ctrl + K Ctrl + U Ctrl + R History查看系统命令历史, 追溯之前发生情况命令选项-w 保存命令历史到历史文件-c 清空命令历史记录, 不会情况文件-d 删除命令历史的第 N 条行history命令历史相关快捷键//使用双 !! 可执行上一条命令 [root@xuliangwei ~] xuliangwei.com [root@xuliangwei ~] ls xuliangwei.com //输入!6, 执行history命令历史中第 6 行命令 [root@xuliangwei ~] touch xuliangwei.com //使用!cat, 调用history命令历史最近一次执行过的cat命令 [root@xuliangwei ~] [root@xuliangwei ~] cat /etc/sysconfig/network-scripts/ifcfg-eth0 [root@xuliangwei ~] //调用上一条命令的最后参数或选项, 按下ESC松开, 然后按下 "." [root@xuliangwei ~] [root@xuliangwei ~] //第二种方式, 输入!$ [root@xuliangwei ~] ls /etc/passwd /etc/passwd 2.3.Bash特性:命令别名命令别名将用户经常使用的复杂命令简单化, 可以用"alias 别名名称=命令"命令创建属于自己的命令别名, 若要取消一个命令别名,则是用unalias 别名名称命令。 [root@xuliangwei ~]# alias if0='ifconfig eth0' [root@xuliangwei ~]# if0 [root@xuliangwei ~]# alias ifconfig='ifconfig eth0' [root@xuliangwei ~]# /sbin/ifconfig [root@WebServer ~]# \ifconfig [root@xuliangwei ~]# echo "alias ifconfig='ifconfig eth0'" >> ~/.bashrc [root@xuliangwei ~]# unalias ifconfig 2.4.Bash特性:命令流程当我们执行一个命令, 整个命令执行流程如下:1.判断命令是否通过绝对路径执行2.判断命令是否存在别名3.判断用户输入的是内部命令还是外部命令4.内部命令直接执行, 外部命令检测是否存在缓存5.检测PATH路径, 有执行, 无报错内部命令: shell程序自带的命令。外部命令: 在系统PATH变量的某个路径下的可执行程序。使用type命令检测用户输入的命令属于内部命令还是外部命令。//cd命令属于shell内部命令 [root@linux-node1 ~] cd is a shell builtin cd is /usr/bin/cd //ping属于外部命令, 同时会打印当前命令路径 [root@xuliangwei ~] ping is /bin/ping PATH变量定义的路径, 作用是告诉Bash执行的外部命令存放的位置,Bash会在这些路径中进行逐个扫描。 [root@xuliangwei ~]# echo "123" 123 [root@xuliangwei ~]# echo -e "123 \n456" 123 456 [root@xuliangwei ~]# echo $PATH /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin [root@xuliangwei ~]# PATH=/soft/bin:$PATH echo 'export PATH=/soft/bin:$PATH' >> /etc/profile 事实上执行过的外部命令都会保存在内存缓存中, 当再次执行相同的命令, 会通过缓存调取执行, 也就意味着不会搜索PATH路径。//表缓存命令所在位置 [root@xuliangwei ~] hits command 1 /usr/bin/tty 3 /sbin/ifconfig //已缓存命令,如果移动位置会导致无法找到该命令 [root@xuliangwei ~] [root@xuliangwei ~] -bash: /sbin/ifconfig: No such file or directory //删除缓存过的ifconfig命令, 即可执行 [root@xuliangwei ~] [root@xuliangwei ~] //当然可以清空缓存表 [root@xuliangwei ~] //命令缓存hash需要注意如下情况: 1.如果执行外部命令1次就会对该命令进行缓存 2.如果将命令移动了位置 a.使用绝对路径执行 b.删除hash表的缓存指令 总结, 当我们执行了一个ping命令之后, 整个命令执行的流程步骤如下:1.检查执行的是否是绝对路径执行2.检查该ping命令是否存在别名3.检查该ping命令是内部命令还是外部命令4.如果是内部指令直接执行, 如果是外部命令5.检测该命令是否有缓存,如果没有,查找PATH变量6.检查PATH路径直到查找到该命令然后执行7.如果没有找到该命令则返回错误。command not found2.5.Bash特性:路径展开Linux Shell下路径展开用花括号包括, 逗号分隔, 这样花括号里的内容会被展开形成列表。[root@xuliangwei ~] mkdir: created directory `/tmp/zz' mkdir: created directory `/tmp/zz/a' mkdir: created directory `/tmp/zz/a/b' mkdir: created directory `/tmp/yy' mkdir: created directory `/tmp/yy/a' mkdir: created directory `/tmp/yy/a/b' //删除目录 [root@xuliangwei ~] //通过路径展开方式创建目录 [root@xuliangwei ~] mkdir: created directory `/tmp/zz' mkdir: created directory `/tmp/zz/a' mkdir: created directory `/tmp/zz/a/b' mkdir: created directory `/tmp/yy' mkdir: created directory `/tmp/yy/a' mkdir: created directory `/tmp/yy/a/b' 思考:在/tmp 路径下创建以下目录 etc/init.d etc/sysconfig usr/lib usr/bin usr/include var/spool var/run proc sys bin 2.6.Bash特性:转义字符Shell解释器提供了非常丰富的转义字符, 来实现字符处理以及命令替换。4类常用转义字符反斜杠(\):使反斜杠后面的一个变量变为字符串。单引号(''):转义其中所有的变量为单纯的字符串。双引号(""):保留其中的变量属性,不进行转义处理。反引号(``):把其中的命令执行后返回结果。//将特殊字符转换为正常字符 [root@xuliangwei ~] shoping is 00 [root@xuliangwei ~] shoping is $500 //转义其中特殊字符为普通字符串 [root@xuliangwei ~] shoping is $500 //使用$()实现命令替换 [root@xuliangwei ~] The Directory is /root //使用``实现命令替换 [root@xuliangwei ~] The Directory is /root //转义其中所有的变量为单纯的字符串 [root@xuliangwei ~] [root@xuliangwei ~] file-2017-12-03-04-18 [root@xuliangwei ~] [root@xuliangwei ~] file-2017-12-03-04-18 file-`date +%F-%H-%S` 2.7.Bash特性:获取帮助1.通过man命令获取帮助手册的常见级别: 1(普通用户命令手册) , 5(配置文件手册), 8(管理员命令手册) g : 回到手册的顶部 G : 去到文档的底部 / : 输入要搜索的关键字,进行文档搜索 q: 退出文档 回车: 往下滚动一行 空格键: 往下翻一页 man -a passwd man 5 passwd man 1 passwd man -k passw 找到所有的包含passwd关键字的手册并且列出来 2.通过info或pinfo获得帮助首页寻找Textinfo文档,如果没有,强制打开对应的Man文档 与vi风格类似,快捷键: 空格:翻页 HOME: 返回页面顶部 END:返回页面底部 上箭头: 光标上移动一行 下箭头: 光标下移动以行 左箭头: 返回上一章节 右箭头: 浏览光标所在章节 d: 回到手册首页 q: 退出手册 强制打开指定级别的man文档 $ pinfo -m 5 passwd
2023年11月01日
31 阅读
0 评论
0 点赞
2023-11-01
虚拟环境安装Linux
转载 xuliangwei.com1.安装配置VM虚拟机VMware WorkStation虚拟机软件是一款桌面计算机虚拟软件,让用户能够在单一主机上同时运行多个不同的操作系统。1.每个虚拟操作系统的硬盘与数据都是独立2.多台虚拟机可以构建为一个中小企业集群架构3.虚拟机支持快照与克隆,虚拟网络,网络安装等第1步: 运行下载完成的Vmware Workstation虚拟机软件包,将会看到如图1-1所示的虚拟机程序安装向导初始界面。2.安装Linux操作系统CentOS6安装指南传送门安装RHEL/CentOS7系统时需要注意:您电脑的CPU需要支持VT(Virtualization Technology虚拟化技术)所谓VT,指的是让单台计算机能够分割出多个独立资源区,并让每个资源区按照需要模拟出系统的一项技术,其本质就是通过中间层实现计算机资源的管理和再分配,让系统资源的利用率最大化注意:如果开启虚拟机后依然提示CPU不支持VT技术”报错信息,请重启电脑并进入到BIOS中把CPU的VT虚拟化功能开启即可。第1步:在虚拟机管理界面中单击“开启此虚拟机”按钮后数秒就看到RHEL 7系统安装界面,如图1-所示。 描述 含义 Install Red Hat Enterprise Linux 7 安装Redhat Linux7系统 Test this media & install Red Hat Enterprise Linux 7 校验光盘完整性后再安装 Troubleshooting 启动救援模式 第2步:接下来按回车键后开始加载安装镜像,所需时间大约在30~60秒,请耐心等待,如图1-27所示。........3.重置Linux root密码平时日常练习过程中如果不小心将Linux系统的密码忘记了并不用慌,只需简单几步就可以完成密码的重置工作。要先确定是否为RHEL/CentOS 7系统。如果是,然后再进行下面的操作。[root@bgx-Linux ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.4.1708 (Core) 第1步:重启Linux系统主机并出现引导界面时,按下键盘上的e键进入内核编辑界面第2步:在linux16参数这行的最后面追加rd.break参数,然后按下Ctrl + X组合键来运行修改过的内核程序第3步:大约5秒过后,进入到系统的紧急求援模式,依次输入以下命令,等待系统重启操作完毕,然后就可以使用新密码来登录Linux系统了。命令行执行效果如图所示。救援模式重置Linux系统的root管理密码命令如下:mount -o remount,rw /sysroot chroot /sysroot echo "123" | passwd --stdin root touch /.autorelabel exit reboot 4.Systemd初始化进程Linux7系统的开机启动过程如下:1.首先BIOS开机自检2.然后进入启动菜单,加载系统内核3.然后内核进行初始化4.最后启动初始化进程初始化进程作为Linux系统的第一个进程,它需要完成Linux系统中相关的初始化工作,为用户提供合适的工作环境。RHEL/CentOS 7系统已经替换掉了熟悉的初始化进程服务System V init正式采用全新的systemd初始化进程服务。如果您之前学习的是RHEL/CentOS 6或7系统,可能会不习惯。systemd初始化进程服务采用了并发启动机制,开机速度得到了不小的提升。CentOS6系统, 管理员可以使用如下指令来管理服务器的启动与停止 shutdown -h now init 0 reboot init 6 CentOS7系统, 管理员可以使用systemctl命令来管理服务器启动与停止 systemctl poweroff systemctl reboot 5.Systemd目标名称无论如何, RHEL/CentOS 7已经没有了“运行级别”这个概念,Linux系统在启动时要进行大量的初始化工作,比如挂载文件系统和交换分区、启动各类进程服务等,这些都可以看作是一个一个的单元Unit, systemd用目标target代替了System V init中运行级别的概念,这两者的区别如下所示 System V init运行级别 systemd目标名称 作用 0 runlevel0.target, poweroff.target 关机 1 runlevel1.target, rescue.target 单用户模式 2 runlevel2.target, multi-user.target 3 runlevel3.target, multi-user.target 多用户的文本界面 4 runlevel4.target, multi-user.target 5 runlevel5.target, graphical.target 多用户的图形界面 6 runlevel6.target, reboot.target 重启 emergency emergency.target 救援模式 shutdown systemctl 救援模式 reboot emergency.target 救援模式 powef emergency.target 救援模式 emergency emergency.target 救援模式 RHEL/CentOS6系统运行级别管理 [root@student ~]# runlevel N 3 [root@student ~]# init 3 [root@student ~]# /etc/inittab RHEL/CentOS7系统目标管理 [root@student ~]# systemctl get-default [root@student ~]# systemctl set-default TARGET.target # multi-user.target: analogous to runlevel 3 # graphical.target: analogous to runlevel 5 6.systemd服务管理由于之前长期使用RHEL/CentOS 6系统, 已经习惯使用service chkconfig等命令来管理系统服务,但在RHEL/CentOS 7系统中是使用systemctl命令来管理服务的。如下是RHEL/CentOS 6系统中System V init命令与RHEL/CentOS 7系统中systemctl命令的对比,后续课程中会经常用到它们。systemctl管理服务的启动、重启、停止、重载、查看状态等常用命令 System V init(6系统) systemctl命令(7系统) 作用 service crond start systemctl start crond.service 启动服务 service crond stop systemctl stop crond.service 停止服务 service crond restart systemctl restart crond.service 重启服务 service crond reload systemctl reload crond.service 重新加载配置(不终止服务) service crond status systemctl status crond.servre 查看服务运行状态 systemctl is-active sshd.service 查看服务是否在运行中 systemctl mask crond.servre 禁止服务运行 systemctl unmask crond.servre 取消禁止服务运行 systemctl设置服务开机启动、不启动、查看各级别下服务启动状态等常用命令 System V init(6系统) systemctl命令(7系统) 作用 chkconfig crond on systemctl enable crond.service 开机自动启动 chkconfig crond off systemctl disable crond.service 开机不自动启动 chkconfig --list systemctl list-unit-files 查看各个级别下服务的启动与禁用 chkconfig --list crond systemctl is-enabled crond.service 查看特定服务是否为开机自启动 chkconfig--add crond systemctl daemon-reload 创建新服务文件或者变更设置 systemctl服务状态说明 服务状态 状态说明 loaded 服务单元的配置文件已经被处理 active(running) 服务的一个或多个进程在运行中 active(exited) 一次性运行的服务成功被执行并退出(服务运行后完成任务,相关进程会自动退出) active(waiting) 服务已经运行但在等待某个事件 inactive 服务没有在运行 enabled 服务设定为开机运行 disabled 服务设定为开机不运行 static 服务不能被设定开机启动,但可以由其他服务启动该服务
2023年11月01日
24 阅读
0 评论
0 点赞
2023-11-01
Linux系统命令整理
查询及帮助命令(2个)man help文件和目录操作命令(11个)ls tree pwd mkdir cd touch cp mv rm ln find查看文件及内容处理命令(17个)cat more less head tail cut sort uniq wc file diff vimdiff chattr lsattr rev grep egrep (split paste iconv dos2unix)文件压缩及解压缩命令(7个)tar unzip gzip zip bzip2 zcat bzcat信息显示命令(12个)hostnamectl uname hostname dmesg uptime file stat du df top free date cal 搜索文件命令(4个)which commandwhereis -b commandlocate /etc/shfind用户管理命令(10个)useradd usermod userdel groupadd passwd chage id su visudo sudo基础网络操作命令(10个)telnet ssh scp wget ping route ifconfig ifup ifdown netstat深入网络操作命令(6个)lsof route mail mutt nslookup dig有关磁盘文件系统的命令(8个)mount umount df du fsck dd dumpe2fs dump关机/重启/注销命令(4个)shutdown halt init reboot系统管理相关命令(8个)uptime top free vmstat mpstat iostat sar chkconfig系统安全相关命令(10个)chmod chown chgrp chage passwd su sudo umask chattr lsattr查看系统用户登陆信息的命令(7个)whoami who w last lastlog users finger查看硬件信息相关命令(8个)ifconfig free fdisk ethtool mii-tool dmidecode dmesg lspci其它命令(19个)echo printf rpm yum watch alias unalias date clear history eject time nohup nc xargs exec export unset type系统性能监视高级命令(12个)内存:top free vmstat mpstat iostat sarCPU:top vmstat mpstat iostat sarI/O:vmstat mpstat iostat sar进程:ipcs ipcrm lsof strace lstrace负载:uptime进程管理命令(16个)bg:后台运行fg:挂起程序jobs:显示后台程序kill,killall,pkill:杀掉进程crontab:设置定时ps:查看进程pstree:显示进程状态树top:显示进程nice:改变优先权screennohup:用户退出系统之后继续工作pgrep:查找匹配条件的进程 strace:跟踪一个进程的系统调用ltrace:跟踪进程调用库函数的情 vmstat:报告虚拟内存统计信息linux 系统四位剑客(3个)grep(egrep) sed awk
2023年11月01日
38 阅读
0 评论
0 点赞
2023-09-13
linux chage命令简介
chage命令用于密码实效管理,该是用来修改帐号和密码的有效期限。它可以修改账号和密码的有效期。对于chage命令的描述如下所示: The chage command changes the number of days between password changes and the date of the last password change. This information is used by the system to determine when a user must change his/her password 参数 表头 -d 指定密码最后修改日期 -E 密码到期的日期,过了这天,此账号将不可用。0表示马上过期,-1表示永不过期。 -h 显示帮助信息并退出 -I 密码过期后,锁定账号的天数 -l 列出用户以及密码的有效期 -m 密码可以更改的最小天数。为零代表任何时候都可以更改密码。 -M 密码保持有效的最大天数。 -W 密码过期前,提前收到警告信息的天数。 使用示例:1: 查看chage命令的帮助信息[root@DB-Server ~]#man chage [root@DB-Server ~]# info chage [root@DB-Server ~]# chage -h Usage: chage [options] user Options: -d, --lastday LAST_DAY set last password change to LAST_DAY -E, --expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE -h, --help display this help message and exit -I, --inactive INACTIVE set password inactive after expiration to INACTIVE -l, --list show account aging information -m, --mindays MIN_DAYS set minimum number of days before password change to MIN_DAYS -M, --maxdays MAX_DAYS set maximim number of days before password change to MAX_DAYS -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS 2:查看mysql用户以及密码的有效期[root@DB-Server ~]# chage -l mysql Last password change : Mar 26, 2015 Password expires : never Password inactive : never Account expires : never Minimum number of days between password change : -1 Maximum number of days between password change : -1 Number of days of warning before password expires : -1 3:设置mysql用户60天后密码过期,至少7天后才能修改密码,密码过期前7天开始收到告警信息。[root@DB-Server ~]# chage -M 60 -m 7 -W 7 mysql You have new mail in /var/spool/mail/root [root@DB-Server ~]# chage -l mysql Last password change : Mar 26, 2015 Password expires : May 25, 2015 Password inactive : never Account expires : never Minimum number of days between password change : 7 Maximum number of days between password change : 60 Number of days of warning before password expires : 7 [root@DB-Server ~]# clip_image001 4:强制新建用户第一次登陆时修改密码[root@DB-Server home]# useradd test [root@DB-Server home]# passwd test Changing password for user test. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully. [root@DB-Server home]# chage -d 0 test You have new mail in /var/spool/mail/root [root@DB-Server home]# chage -l test Last password change : password must be changed Password expires : never Password inactive : never Account expires : never Minimum number of days between password change : 0 Maximum number of days between password change : 99999 Number of days of warning before password expires : 7 综合版 linux chage命令功能:修改帐号和密码的有效期限 用法:chage[-l][-m mindays][-M maxdays][-I inactive][-E expiredate][-W warndays][-d lastdays]username 参数: -l:列出用户的以及密码的有效期限 -m:修改密码的最小天数 -M:修改密码的最大天数 -I:密码过期后,锁定帐号的天数 -d:指定密码最后修改的日期 -E:有效期,0表示立即过期,-1表示永不过期 -W:密码过期前,开始警告天数 chage命令 是用来修改帐号和密码的有效期限。 语法 chage [选项] 用户名 选项 -m:密码可更改的最小天数。为零时代表任何时候都可以更改密码。 -M:密码保持有效的最大天数。 -w:用户密码到期前,提前收到警告信息的天数。 -E:帐号到期的日期。过了这天,此帐号将不可用。 -d:上一次更改的日期。 -i:停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。 -l:例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。 实例 可以编辑/etc/login.defs来设定几个参数,以后设置口令默认就按照参数设定为准: PASS_MAX_DAYS 99999 PASS_MIN_DAYS 0 PASS_MIN_LEN 5 PASS_WARN_AGE 7 当然在/etc/default/useradd可以找到如下2个参数进行设置: # useradd defaults file GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel CREATE_MAIL_SPOOL=yes 通过修改配置文件,能对之后新建用户起作用,而目前系统已经存在的用户,则直接用chage来配置。 我的服务器root帐户密码策略信息如下: [root@linuxde ~]# chage -l root 最近一次密码修改时间 : 3月 12, 2013 密码过期时间 :从不 密码失效时间 :从不 帐户过期时间 :从不 两次改变密码之间相距的最小天数 :0 两次改变密码之间相距的最大天数 :99999 在密码过期之前警告的天数 :7 我可以通过如下命令修改我的密码过期时间: [root@linuxde ~]# chage -M 60 root [root@linuxde ~]# chage -l root 最近一次密码修改时间 : 3月 12, 2013 密码过期时间 : 5月 11, 2013 密码失效时间 :从不 帐户过期时间 :从不 两次改变密码之间相距的最小天数 :0 两次改变密码之间相距的最大天数 :60 在密码过期之前警告的天数 :9 然后通过如下命令设置密码失效时间: [root@linuxde ~]# chage -I 5 root [root@linuxde ~]# chage -l root 最近一次密码修改时间 : 3月 12, 2013 密码过期时间 : 5月 11, 2013 密码失效时间 : 5月 16, 2013 帐户过期时间 :从不 两次改变密码之间相距的最小天数 :0 两次改变密码之间相距的最大天数 :60 在密码过期之前警告的天数 :9 从上述命令可以看到,在密码过期后5天,密码自动失效,这个用户将无法登陆系统了。
2023年09月13日
33 阅读
0 评论
0 点赞