linux3~5

第三单元

一 、  man

man    manual  是man手册缩

man passwd    ###查看passwd命令帮助

man 1 文件名 ####查找命令的帮助 (1 可以省略)

man 5 文件名 ####查找文件的帮助

man的快捷用法

/关键字 ###搜索关键字,关键字高亮显示,n向下匹配,N向上匹配

pageup|pagdown  ###向上或向下一个屏幕

上键|下键         ###向上或向下滚动一行

d|u         ###向下或向上滚动半个屏幕

gg ###回到man的最上面

G ###回到man的最下面

q ###退出man页面

第四单元

一、管理输入输出

在linux 系统中,正确输出的编号为1,错误的为2

在普通用户下执行

find /etc -name passwd

因为用户权限问题输出

find: ‘/etc/pki/CA/private’: Permission denied  ##没有进入权力,报错

find: ‘/etc/pki/rsyslog’: Permission denied

find: ‘/etc/audit’: Permission denied

/etc/passwd         ###正确输出

find: ‘/etc/polkit-1/rules.d’: Permission denied

find: ‘/etc/polkit-1/localauthority’: Permission denied

find: ‘/etc/dhcp’: Permission denied

find: ‘/etc/selinux/targeted/modules/active’: Permission denied

find: ‘/etc/lvm/archive’: Permission denied

find: ‘/etc/lvm/backup’: Permission denied

find: ‘/etc/lvm/cache’: Permission denied

find: ‘/etc/grub.d’: Permission denied

/etc/pam.d/passwd          ###正确输出

find: ‘/etc/audisp’: Permission denied

find: ‘/etc/firewalld’: Permission denied

find: ‘/etc/cups/ssl’: Permission denied

find: ‘/etc/ipsec.d’: Permission denied

find: ‘/etc/libvirt’: Permission denied

find: ‘/etc/sudoers.d’: Permission denied

find: ‘/etc/named’: Permission denied

如何管理输出

find /etc -name passwd > file    ####重定向正确输出

find /etc -name passwd 2> file ####重定向错误输出

find /etc -name passwd &> file ####重定向所有输出

(> , 2>, &> 都会覆盖原文件内容)

find /etc -name passwd >> file ###追加正确输出

find /etc -name passwd 2>> file   ####追加错误输出

find /etc -name passwd &>> file   ####追加所有输出

(>>,2>>,&>> 不会覆盖原文件内容,会把相应的输出字符放到文件的最后)

find /etc -name passwd > file 2>&1 ####重新定义错误输出为正确

|  管道, 管道作用是将前一条命令的输出变成管道后命令的输入

|tee      复制一份输出

ls /bin | wc -l      ##统计ls /bin 命令输出的行数

系统中报错的输出是无法通过管道的

用  2>&1 |  转换错误输出为正确再通过管道

date |tee file |wc -l     ### tee命令复制date命令的输出到file中,并统计输出行数

三   、  vim用法

1.命令模式

vim /etc/vimrc

:set nu|nonu          ##显示行号/不显示行号

:set mouse=a          ##设定鼠标可以操作光标位置

:help          ##查看vim的用法

:q                     ##退出帮助

ctrl + v            ##高亮选择模式,可以选者一片区域操作

+u        ##恢复到未操作之前

ctrl + r           ##恢复到操作之后

批量添加字符

ctrl + v 选中要加字符所在的位,按I键,在加入想要加入的字符,按esc

分屏功能

ctrl+w s    ####上下分屏

ctrl+w v    ####左右分屏

ctrl+w c    ####撤销光标所在屏幕

ctrl+w 上|下|左|右 #####移动光标到指定的屏幕中

替换字符

在命令模式中

:%s/原字符/替换后字符/g

(g是全部替换 不加g 就替换每行第一个遇到的)

字符的管理

dw  ##删除光标所在单词

dl  ##删除光所在字母

dd  ##删除一整行

d数字d  ##删除数字指定的行数

d数字 上键  ##向上删除指定行数

yw   ##复制光标所在单词

yl   ##复制光所在字母

yy   ##复制一整行

p   ##粘贴

y数字y   ##复制数字指定的行数

cw   ##剪切光标所在单词

cl   ##剪切光所在字母

cc   ##剪切一整行

c数字c   ##剪切数字指定的行数

( 剪切完成后会进入插入模式,先退出插入模式   再按P)

移动光标到指定行    : 行号

G        ##移动光标到文件末行

g               ### 移动到首行

2.vim的插入模式

i          光标坐在位置插入字符

I          光标所在行行首插入

a          光标所在字符的下一位插入

A          光标所在行行尾插入

o          光标所在行的下一行

O          光标所在行的上一行

s          删除光标所在字符

S          删除光标所在行

3.vim的退出模式

:q          ###退出不保存

:q!          ###强制退出不保存

:wq          ###退出保存

:wq!          ###强制退出保存

vimtutor是vim的说明工具,用:q退出此工具

##########第四单元练习##########

1.在student用户下执行find /etc -name passwd 命令,并管理其输出要求如下:

* 显示所有正确输出,屏蔽错误输出

[[email protected] Desktop]$ find /etc -name passwd 2> file

* 保存正确数出到/mnt/find.out,错误数出到/mnt/find.err中

[[email protected] Desktop]$ find /etc -name passwd > /mnt/find.out  2> /mnt/find.err

* 建立/mnt/find.all文件,并且保存所有输出到此文件中

[[email protected] Desktop]$ find /etc -name passwd &> /mnt/find.all

* 再次保存所有输出到/mnt/find.all中,并且保持源文件内容

[[email protected] Desktop]$ find /etc -name passwd &>> /mnt/find.all

* 屏蔽此命令的所有输出

[[email protected] Desktop]$ find /etc -name passwd &> file

* 显示此命令的所有输出并保存输出到桌面上的任意文件中

[[email protected] Desktop]$ find /etc -name passwd 2>&1 | tee file

* 保存正确输出到/mnt/find.out.1中,屏蔽错误输出

[[email protected] Desktop]$ find /etc -name passwd 1> /mnt/find.out 2> file

时间: 2024-10-10 21:31:20

linux3~5的相关文章

Linux内核源码分析--内核启动之(5)Image内核启动(rest_init函数)(Linux-3.0 ARMv7)【转】

原文地址:Linux内核源码分析--内核启动之(5)Image内核启动(rest_init函数)(Linux-3.0 ARMv7) 作者:tekkamanninja 转自:http://blog.chinaunix.net/uid-25909619-id-4938395.html 前面粗略分析start_kernel函数,此函数中基本上是对内存管理和各子系统的数据结构初始化.在内核初始化函数start_kernel执行到最后,就是调用rest_init函数,这个函数的主要使命就是创建并启动内核线

Linux3.5内核以后的路由下一跳缓存

在Linux3.5版本号(包括)之前.存在一个路由cache.这个路由cache的初衷是美好的,可是现实往往是令人遗憾的.下面是陈列得出的两个问题:1.面临针对hash算法的ddos问题(描写叙述该问题的文章已经汗牛充栋,不再赘述):2.缓存出口设备是p2p设备的路由项会降低性能.这些问题本质上是由于路由cache的查找方式和路由表的查找方式互不相容引起的.路由cache必须是精确的元组匹配,因此它必须设计成一维的hash表,而路由表查找算法是最前前缀匹配.因此它能够是多维的. 路由查找终于会找

Linux内核源码分析--内核启动之(6)Image内核启动(do_basic_setup函数)(Linux-3.0 ARMv7)【转】

原文地址:Linux内核源码分析--内核启动之(6)Image内核启动(do_basic_setup函数)(Linux-3.0 ARMv7) 作者:tekkamanninja 转自:http://blog.chinaunix.net/uid-25909619-id-4938396.html 在基本分析完内核启动流程的之后,还有一个比较重要的初始化函数没有分析,那就是do_basic_setup.在内核init线程中调用了do_basic_setup,这个函数也做了很多内核和驱动的初始化工作,详解

Linux内核源码分析--内核启动之(3)Image内核启动(C语言部分)(Linux-3.0 ARMv7) 【转】

原文地址:Linux内核源码分析--内核启动之(3)Image内核启动(C语言部分)(Linux-3.0 ARMv7) 作者:tekkamanninja 转自:http://blog.chinaunix.net/uid-25909619-id-4938390.html 在构架相关的汇编代码运行完之后,程序跳入了构架无关的内核C语言代码:init/main.c中的start_kernel函数,在这个函数中Linux内核开始真正进入初始化阶段, 下面我就顺这代码逐个函数的解释,但是这里并不会过于深入

Linux内核源码分析--内核启动之(4)Image内核启动(setup_arch函数)(Linux-3.0 ARMv7)【转】

原文地址:Linux内核源码分析--内核启动之(4)Image内核启动(setup_arch函数)(Linux-3.0 ARMv7) 作者:tekkamanninja 转自:http://blog.chinaunix.net/uid-25909619-id-4938393.html 在分析start_kernel函数的时候,其中有构架相关的初始化函数setup_arch. 此函数根据构架而异,对于ARM构架的详细分析如下: void __init setup_arch(char **cmdlin

基于S3C2440的linux-3.6.6移植——LED驱动【转】

本文转载自:http://www.voidcn.com/blog/lqxandroid2012/article/p-625005.html 目前的linux版本的许多驱动都是基于设备模型,LED也不例外. 简单地说,设备模型就是系统认为所有的设备都是挂接在总线上的,而要使设备工作,就需要相应的驱动.设备模型会产生一个虚拟的文件系统——sysfs,它给用户提供了一个从用户空间去访问内核设备的方法,它在linux里的路径是/sys.如果要写程序访问sysfs,可以像读写普通文件一样来操作/sys目录

s5pv210 移植 ubuntu(uboot + linux3.9.7 + ubuntu12.11 + xfce)

手里的s5pv210有两年了,性能也远远不如当下的应用处理器 但是跑比较简单的系统还是绰绰有余的 给s5pv210 移植 linaro ubuntu根文件系统 12.11 + xfce桌面系统,运行速度还是可以的,能上网. uboot + linux3.9.7 + ubuntu12.11 + xfce 可以作为远程tiny服务器. show下: 桌面 浏览器和设置界面 睡眠时的屏保界面

S5PV210之添加缺少的-内核提供的'.h'文件 linux3.0.8驱动

怎样解决编译时出现内核提供的函数或变量没有定义,使用source insight搜索功能找到声明的头文件,然后包含该头件就行了: 比如: error: implicit declaration of function 'copy_from_user' 解决:使用source insight搜索功能,可以找到copy_from_user函数是在linux/uaccess.h 头文件中定义,所以包含此头文件就行了. S5PV210之添加缺少的-内核提供的'.h'文件 linux3.0.8驱动,布布扣

linux-3.2.36内核启动1-启动参数(arm平台 启动参数的获取和处理,分析setup_arch)【转】

转自:http://blog.csdn.net/tommy_wxie/article/details/17093297 最近公司要求调试一个内核,启动时有问题,所以就花了一点时间看看内核启动. 看的过程中总结了一点东西,希望可以帮助大家调试内核. 当我开始看的时候,第一件事是从网上搜集资料,不看不知道,一看吓一跳!牛人太多了,像这种内核启动的上古代码早就被人分析的彻彻底底.这注定我写的只能是烂微博了. 为了此微博有存在的必要,我会显示内核启动打印的代码位置(用绿色表示)及出现错误打印的原因(用红

DM9000驱动移植在mini2440(linux2.6.29)和FS4412(linux3.14.78)上的实现(deep dive)篇一

关于dm9000的驱动移植分为两篇,第一篇在mini2440上实现,基于linux2.6.29,也成功在在6410上移植了一遍,和2440非常类似,第二篇在fs4412(Cortex A9)上实现,基于linux3.14.78,用设备树匹配,移植过程中调试和整体理解很重要,一路上幸有良师益友指点,下面详细介绍: 1.物理时序分析相关 DM9000芯片是DAVICOM公司生产的一款以太网处理芯片,提供一个通用的处理器接口.一个10/100M自适应的PHY芯片和4K双字的SRAM.内部框架如下,涉及