首页 文章 精选 留言 我的

精选列表

搜索[Arch Linux],共10000篇文章
优秀的个人博客,低调大师

2016全新Linux+Python高端运维班-Linux grep命令及基本正则表达式

本周作业内容: 1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 第一种方式: [root@liu/] #chmod-Rgo=---/home/tuser1 [root@liutuser1] #ls-l/home/tuser1/ 总用量4 -rw-------.1rootroot478月2500:01issue 第二种方式: [root@liu/] #rm-rf/home/tuser1/ [root@liu/] #cp-r/etc/skel//home/tuser1 [root@liu/] #chmod-Rg-rwx/home/tuser1/ [root@liu/] #chmod-Ro-rwx/home/tuser1/ [root@liu/] #ls-l/home/tuser1/ 总用量4 -rw-------.1rootroot478月2500:12issue [root@liu/] #ls-ld/home/tuser1/ drwx------.4rootroot40968月2500:12 /home/tuser1/ 2、编辑/etc/group文件,添加组hadoop。 1 2 3 4 5 6 7 第一种方式: [root@liu/] #echo"hadoop:x:3008:">>/etc/group 第二种方式: vim /etc/group 在最下面添加一行: hadoop:x:3009: 保存退出。 3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home/hadoop。 1 2 3 4 5 6 vim /etc/passwd 在最下面添加一行: hadoop:x:3008:3008:: /home/hadoop : /bin/bash 保存退出。 [root@liu/] #idhadoop uid=3008(hadoop)gid=3008(hadoop)组=3008(hadoop) 4、复制/etc/skel目录为/home/hadoop,要求修改hadoop目录的属组和其它用户没有任何访问权限。 1 2 3 4 5 6 7 8 9 10 11 12 [root@liu/] #cp-r/etc/skel//home/hadoop [root@liu/] #chmod-Rgo=---/home/hadoop [root@liu/] #ls-la/home/hadoop 总用量32 drwx------.4rootroot40968月2500:33. drwxr-xr-x.19rootroot40968月2500:33.. -rw-------.1rootroot188月2500:33.bash_logout -rw-------.1rootroot1768月2500:33.bash_profile -rw-------.1rootroot1248月2500:33.bashrc drwx------.2rootroot40968月2500:33.gnome2 -rw-------.1rootroot478月2500:33issue drwx------.4rootroot40968月2500:33.mozilla 5、修改/home/hadoop目录及其内部所有文件的属主为hadoop,属组为hadoop。知识点: 修改文件的属主:chown chown [OPTION]... [OWNER][:[GROUP]] FILE... 用法: OWNER OWNER:GROUP :GROUP Note: 命令中的冒号可用.替换; -R: 递归 chown [OPTION]... --reference=RFILE FILE... 1 2 3 [root@liu/] #chown-Rhadoop:hadoop/home/hadoop/ [root@liu/] #idhadoop uid=3008(hadoop)gid=3008(hadoop)组=3008(hadoop) 6、显示/proc/meminfo文件中以大写或小写S开头的行;用两种方式; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [root@liu/] #grep'^[Ss]'/proc/meminfo SwapCached:0kB SwapTotal:2097144kB SwapFree:2097144kB Shmem:3296kB Slab:46576kB SReclaimable:13148kB SUnreclaim:33428kB [root@liu/] #grep-i"^s"/proc/meminfo SwapCached:0kB SwapTotal:2097144kB SwapFree:2097144kB Shmem:3296kB Slab:46584kB SReclaimable:13160kB SUnreclaim:33424kB 7、显示/etc/passwd文件中其默认shell为非/sbin/nologin的用户;知识点: grep [OPTIONS] PATTERN [FILE...] 选项: --color=auto: 对匹配到的文本着色显示; -v: 显示不能够被pattern匹配到的行; -i: 忽略字符大小写; -o: 仅显示匹配到的字符串; -q: 静默模式,不输出任何信息; -A #:after, 后#行 -B #: before, 前#行 -C #:context, 前后各#行 -E:使用ERE; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [root@liu/] #grep-v"/sbin/nologin"/etc/passwd|cut-d:-f1 root sync shutdown halt liu bash basher testbash centos useradd1 mageia slackware openstacks user1 user2 user3 hadoop 8、显示/etc/passwd文件中其默认shell为/bin/bash的用户; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [root@liu/] #grep"/bin/bash"/etc/passwd|cut-d:-f1 root liu bash basher testbash centos useradd1 mageia openstacks user1 user2 user3 hadoop 9、找出/etc/passwd文件中的一位数或两位数;知识点: 基本正则表达式元字符: 字符匹配: .: 匹配任意单个字符; []: 匹配指定范围内的任意单个字符 [^]:匹配指定范围外的任意单个字符 [:digit:]、[:lower:]、[:upper:]、[:alpha:]、[:alnum:]、[:punct:]、[:space:] 匹配次数:用在要指定次数的字符后面,用于指定前面的字符要出现的次数; *:匹配前面的字符任意次; 例如: grep "x*y" abxy xay xxxxxxy 贪婪模式 .*:任意长度的任意字符; \?:匹配其前面的字符0或1次;即前面的可有可无; \+:匹配其前面的字符至少1次; \{m\}:匹配前面的字符m次; \{m,n\}:匹配前面的字符至少m次,至多n次; \{0,n\}:匹配前面的字符至多n次; \{m,\}:匹配前面的字符至少m次; 位置锚定: ^:行首锚定;用于模式的最左侧; $:行尾锚定;用于模式的最右侧; ^PATTERN$: 用于模式匹配整行; ^$: 空行; ^[[:space:]]*$ \< 或 \b:词首锚定;用于单词模式的左侧; \> 或 \b:词尾锚定;用于单词模式的右侧; \<PATTERN\>:匹配整个单词; 分组: \(\):将一个或多个字符捆绑在一起,当作一个整体进行处理; \(xy\)*ab 1 [root@liu/] #grep-E-o"\<[0-9]{1,2}\>"/etc/passwd 10、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; 1 2 3 4 5 6 7 8 [root@liu/] #grep"^[[:space:]]\+"/boot/grub/grub.conf root(hd0,0) kernel /vmlinuz-2 .6.32-431.el6.i686ro root=UUID=3fcabd0f-e9fb-4618-918d-c9e004fe6a59rd_NO_LUKS KEYBOARDTYPE=pcKEYTABLE=usrd_NO_MDcrashkernel=autoLANG=zh_CN.UTF-8 rd_NO_LVMrd_NO_DMrhgbquiet initrd /initramfs-2 .6.32-431.el6.i686.img 11、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; 1 2 3 4 5 6 7 8 9 10 11 12 13 [root@liu/] #grep"^#[[:space:]]\+[^[:space:]]\+"/etc/rc.d/rc.sysinit #/etc/rc.d/rc.sysinit-runonceatboottime #TakeninpartfromMiquelvanSmoorenburg'sbcheckrc. #CheckSELinuxstatus #Printatextbanner. #Onlyreadthisonce. #Initializehardware #Setdefaultaffinity #Loadotheruser-definedmodules #Loadmodules(forbackwardcompatibilitywithVARs) #Configurekernelparameters #Setthehostname. ... 12、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行; 1 2 3 4 5 6 7 8 9 10 11 12 13 [root@liu/] #netstat-tan|grep"LISTEN[[:space:]]\+$" tcp000.0.0.0:1110.0.0.0:*LISTEN tcp000.0.0.0:220.0.0.0:*LISTEN tcp00127.0.0.1:6310.0.0.0:*LISTEN tcp00127.0.0.1:250.0.0.0:*LISTEN tcp000.0.0.0:336610.0.0.0:*LISTEN tcp00:::36996:::*LISTEN tcp00:::111:::*LISTEN tcp00:::22:::*LISTEN tcp00::1:631:::*LISTEN tcp00::1:25:::*LISTEN 或者使用 egrep 命令 netstat -tan| egrep "LISTEN[[:space:]]+$" 13、添加用户bash, testbash, basher, nologin (此一个用户的shell为/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息; 1 2 3 4 5 6 7 8 9 10 [root@liu/] #useraddbash [root@liu/] #useraddtestbash [root@liu/] #useraddbasher [root@liu/] #useraddnologin-s/sbin/nologin [root@liu/] #grep"^\(\<[[:alpha:]]\+\>\).*\1$"/etc/passwd sync :x:5:0: sync : /sbin : /bin/sync shutdown :x:6:0: shutdown : /sbin : /sbin/shutdown halt:x:7:0:halt: /sbin : /sbin/halt bash :x:501:501:: /home/bash : /bin/bash nologin:x:504:504:: /home/nologin : /sbin/nologin 本文转自 ljohnmail 51CTO博客,原文链接:http://blog.51cto.com/ljohn/1843661,如需转载请自行联系原作者

优秀的个人博客,低调大师

《Linux内核设计的艺术:图解Linux操作系统架构设计与实现原理》——3.4 本章小结

3.4 本章小结 本章详细讲解了进程0创建进程1的全过程。后续所有进程的创建过程与这个过程基本相同。透彻理解这个创建过程,为理解后续的进程创建打下坚实的基础。本章还讲解了操作系统启动以来内核做的第一次进程调度,内容涉及了进程调度的很多代码,为更深入地理解进程调度起到了很好的铺垫作用。最后,本章详细讲解了进程1第一次执行后所做的设置硬盘信息、格式化虚拟盘、加载根文件系统等工作。

优秀的个人博客,低调大师

《Linux内核设计的艺术:图解Linux操作系统架构设计与实现原理》——2.13 开启中断

2.13 开启中断 现在,系统中所有中断服务程序都已经和IDT正常挂接。这意味着中断服务体系已经构建完毕,系统可以在32位保护模式下处理中断,重要意义之一是可以使用系统调用。可以开启中断了!执行代码如下: //代码路径:include/asm/system.h: #define sti() __asm__ ("sti"::) //代码路径:init/main.c: void main(void) { … sti(); … } 图2-29给出了开中断后的效果,注意其中EFLAGS中的变化。

优秀的个人博客,低调大师

《Linux内核设计的艺术:图解Linux操作系统架构设计与实现原理》——2.15 本章小结

2.15 本章小结 本章开始执行以main()函数为代表的用C语言编写的操作系统内核代码,内容涉及硬件初始化、为内核及进程的正确运行所做的初始化、激活进程0。硬件初始化又可以分为两类:一类是与主机有关的硬件初始化,包括规划内存格局、设置及初始化缓冲区、设置及初始化虚拟盘、初始化mem_map、初始化缓冲区管理结构等;另一类是与外设有关的初始化,包括设置根设备、初始化软盘、初始化硬盘等。为内核及进程的正确运行所做的初始化,包括中断服务程序的挂接、初始化进程0等。最后就是用仿中断的方法将进程0的特权级由0翻转到3,实现激活进程0。

优秀的个人博客,低调大师

《Linux内核设计的艺术:图解Linux操作系统架构设计与实现原理》——1.4 本章小结

1.4 本章小结 本章的内容主要分为两大部分。第一部分为加载操作系统;第二部分为32位保护、分页模式下的main函数的执行做准备。从借助BIOS将bootsect.s文件加载到内存开始,相继加载了setup.s文件和system文件,从而完成操作系统程序的加载。接下来设置IDT、GDT、页目录表、页表以及机器系统数据,为32位保护、分页模式下的main函数的执行做准备。一切就绪后,跳转到main函数执行入口,开始执行main函数。

优秀的个人博客,低调大师

linux最常用命令记录(一)

**一、vim个人最常用设置:** vim .vimrc 然后添加以下内容 set nu set tabstop=4 set encoding=utf-8 **二、查看磁盘空间相关命令** 1、df -h 查看硬盘使用情况 `2、du -hs 目录名 查看目录占用空间 ` 3、`du` `-h [目录名] 查看指定文件夹下的所有文件大小(包含子文件夹)` 4、`du` `-sm [文件夹] 返回该文件夹总M数` 5、`du` `-sh 目录 //查看该目录大小 ` **三、增加用户,并设置sudo权限** adduser 和 useradd 都可以添加用户,但有区别 aduser 会创建/home/user的文件目录,而useradd只是创建用户名 passwd user 修改用户密码 **chmod -v u+w /etc/sudoers** 让sudo用户文件变可编辑 vim /etc/sudoers **[用户名] ALL=(ALL) ALL**(如需新用户使用sudo时不用输密码,把最后一个**ALL**改为**NOPASSWD:ALL**即可) **chmod -v u-w /etc/sudoers** **四、网络端口查看命令** 1、netstat -ntlp 查看所有tcp使用的端口情况 2、netstat -ntulp |grep 80 查看所有80端口使用情况 3、netstat命令各个参数说明如下: -t : 指明显示TCP端口 -u : 指明显示UDP端口 -l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序) -p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。 -n : 不进行DNS轮询,显示IP(可以加速操作) 4、查看当前所有tcp端口· netstat -ntlp 查看所有80端口使用情况 netstat -ntulp |grep 80 查看所有3306端口使用情况 netstat -an | grep 3306 查看一台服务器上面哪些服务及端口 netstat -lanp 查看一个服务有几个端口。比如要查看mysqld ps -ef |grep mysqld 查看某一端口的连接数量,比如3306端口 netstat -pnt |grep :3306 |wc 查看某一端口的连接客户端IP 比如3306端口 netstat -anp |grep 3306 netstat -an 查看网络端口 nmap 端口扫描 netstat -nupl (UDP类型的端口) netstat -ntpl (TCP类型的端口) netstat -anp 显示系统端口使用情况

优秀的个人博客,低调大师

NetworkManager 1.58 发布,Linux 网络管理软件

NetworkManager 1.58 现已发布。本次版本更新为文本用户界面 nmtui 带来了一系列可用性改进。在为物理接口(以太网、Wi-Fi 等)创建配置文件时,新增的<Select...>按钮允许用户从可用设备中进行选择,而无需手动输入接口名称。 nmtui connect和nmtui edit中的连接列表现已支持 vim-style / search 功能,该功能可在输入时实时筛选列表,仅显示匹配的条目。 “Activate a connection”界面新增了一个“Rescan Wi-Fi”的按钮,可按需扫描附近的 Wi-Fi 网络;激活连接时显示的秘密码提示框现在也增加了“Show password”复选框,与连接编辑器保持一致。 用户还可以直接从 nmtui 以二维码的形式共享 Wi-Fi 网络: “Edit a connection”中的新“Share QR…”按钮与nmcli device wifi show-password类似。 最后,由于新增了“other options”字段,configuring bonds 更加完善,该字段涵盖了没有专用输入的 bond 选项;此外,nmtui 表单现在会在终端调整大小时重新绘制,而不会像以前那样一直处于被裁剪或偏离中心状态,直到用户重新打开它们为止。 IPv6-only networks: CLAT (464XLAT) NetworkManager 现在支持 CLAT (464XLAT),该功能通过一个 BPF 程序实现。CLAT 允许仅支​​持 IPv6 的主机访问仅支持 IPv4 的目标地址。 为此,ipv4.dhcp-ipv6-only-preferred属性的默认值已更改为新的“auto”值,当连接配置文件中启用 CLAT(设置为“yes”或“auto”)时,该选项将自动启用。 GENEVE tunnels NetworkManager 现在可以创建和管理 GENEVE(Generic Network Virtualization Encapsulation)接口。 更多详情可查看官方公告:https://networkmanager.dev/blog/networkmanager-1-58/

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册