Linux运维班第四,五,六,七单元笔记整理

来源:互联网 发布:算法第四版pdf 图灵 编辑:程序博客网 时间:2024/04/29 05:16

第四单元

#############1.管理输入输出#############



  linux系统中,正确输出编号为为1,错误输出编号为2
  
1.重定向输出并覆盖原内容:
  >     ###正确输出
  2>    ###错误输出
  &>    ###所有输出


2.重定向输出不覆盖原内容(追加到原内容后面):
  >>    ###正确输出
  2>>   ###错误输出
  &>>   ###所有输出


3.管道"|"
  将前一条命令的输出变为管道后面的命令的输入


  错误输出无法通过管道
  2>&1     ###将错误输出变为正确输出
  tee      ###复制输出到指定位置


#############2.vim#############
1.vim命令模式
  设定vim的工作方式(临时设定):
  :set nu           ###添加行号
  :set nonu         ###取消行号
  :set mouse=a      ###添加鼠标选择
  :set cursorline   ###显示行线


  永久设定方式:
  vim /etc/vimrc    ###打开vim配置文件,在此文件的最后集如以上参数,不加":"


2.vim命令模式下关键字搜索
  /     ###搜索关键字
  n     ###向下匹配
  N     ###向上匹配


3.vim命令模式下字符的管理
  字符的复制:
  yl     ###复制一个字符
  y3l    ###复制三个字符
  yw     ###复制一个单词
  y3w    ###复制三个单词
  yy     ###复制一行
  y3y    ###复制三行
  p      ###粘贴


  字符的删除:
  dl     ###删除一个字符
  d3l    ###删除三个字符
  dw     ###删除一个单词
  d3w    ###删除三个单词
  dd     ###删除一行
  d3d    ###删除三行


  字符的剪切:
  cl     ###剪切一个字符
  c3l    ###剪切三个字符
  cw     ###剪切一个单词
  c3w    ###剪切三个单词
  cc     ###剪切一行
  c3c    ###剪切三行
  Esc->p ###剪切完后会进入到插入模式,要先按"Esc"再去粘贴


4.vim的命令模式下的VISUAL模式
  v       ###VISUAL模式,行选择
  Ctrl+v  ###VISUAL BLOCK模式,块选择


  VISUAL模式下批量添加字符:
  -"Ctrl+v"进入VISUAL BLOCK模式,选中要加入字符的列
  -按"I"(注意是大写)进入插入模式,写入要插入的字符
  -按"Esc"


5.批量修改字符
  :%s/原有字符/替换后字符        ###只替换每一行出现的第一个字符
  :%s/原有字符/替换后字符/g      ###替换所有字符
  :10,20s/原有字符/替换后字符/g  ###替换10到20行的所有字符
  
  PS:-特殊字符前要加"\"
     -"^\ *"代表行首的空格


6.vim的分屏功能
  Ctrl+w,s       ###上下分屏
  Ctrl+w,v       ###左右分屏
  Ctrl+w,c       ###关闭光标所在的屏幕
  Ctrl+w,方向键  ###移动光标到指定的屏幕
  :sp file2      ###同时编辑当前文件和file2


  PS:先同时按下"Ctrl+w",松开后再按其他键


7.vim光标移动
  :数字     ###移动到指定的行
  G         ###移动到文件最后一行
  gg        ###移动到文件第一行


  进入到插入模式的方法:
  i     ###在光标所在位置插入
  I     ###在光标所在行的行首插入
  a     ###在光标所在位置的下一个字符处插入
  A     ###在光标所在行的行尾插入
  o     ###在光标所在行的下一行插入
  O     ###在光标所在行的上一行插入
  s     ###删除光标所在的字符后插入
  S     ###删除光标所在行后插入


8.vim的退出
  :q     ###对文件没有任何操作时可直接退出
  :q!    ###放弃对文件的操作并退出
  :wq    ###保存退出
  :wq!   ###强行保存退出,只对超级用户或文件所有人生效


9.vim手册
  vimtutor


#############3.gedit#############
Ctrl+n            ###在gedit中打开一个新的tab
Ctrl+s            ###保存文件
Ctrl+o            ###打开文件
Ctrl+c            ###复制字符
Ctrl+x            ###剪切字符
Ctrl+v            ###粘贴字符

yelp help:gedit   ###gedit图形手册



第五单元

#############1.用户理解#############
用户信息涉及到的系统配置文件:
/etc/passwd     ###用户信息
用户名:密码:UID:GID:说明:家目录:用户使用的shell


/etc/shadow     ###用户认证信息
用户名:密码:最后一次修改密码的时间:最短有效期:最长有效期:警告期:非活跃期:帐号到期日


/etc/group      ###组信息
组名:组密码:组ID:附加组成员


/etc/gshadow    ###组认证信息


/home/username  ###用户家目录


/etc/skel/.*    ###用户骨架文件


#############2.用户管理#############
1.用户的建立与删除
  useradd 参数 用户名   ###建立用户
  参数列表:
  -u     ###指定用户的UID
  -g     ###指定用户的初始组
  -G     ###指定用户的附加组
  -c     ###用户说明
  -d     ###用户的家目录
  -s     ###用户所使用的shell,/etc/shells中记录了用户能使用的shell的名字


  userdel 参数 用户名   ###删除用户
  参数列表:
  -r     ###删除用户信息及用户的系统配置


3.组的建立与删除
  groupadd 参数 组名   ###建立组
  参数列表:
  -g     ###指定GID
  
  groupdel 组名        ###删除组


4.用户id信息查看
  id 参数 用户名
  参数列表:
  -u     ###用户UID
  -g     ###用户初始组的GID
  -G     ###用户所有所在组的GID
  -n     ###显示名称而不是ID数字,须和"-u,-g,-G"参数配合使用
  -a     ###显示所有信息(默认参数)


5.用户信息更改
  usermod 参数 用户名
  参数列表:  
  -l    ###更改用户名
  -u    ###更改UID
  -g    ###更改GID
  -G    ###更改附加组
  -aG   ###添加附加组
  -c    ###更改说明
  -d    ###更改家目录指定
  -md   ###更改家目录指定及家目录名称
  -s    ###更改shell
  -L    ###冻结帐号
  -U    ###解锁帐号


#############3.用户权力下放#############
1.超级用户可以下放普通用户不能执行的操作给普通用户
  下放权力的配置文件:
  /etc/sudoers


2.下放权力的方法
  -执行"visudo"或"vim /etc/sudoers"编辑下放权力的配置文件
  -在root的权限下写入普通用户需要获得的权限
   格式:
        获得权限的用户   主机名=(获得到的用户身份)   获得的命令
   e.g.:test             localhost=(root)            /usr/sbin/useradd


3.执行下放权限的命令
  sudo 命令


  PS:第一次执行sudo时需要输入当前用户的密码
  在/etc/sudoers中设置如下,可以不需要密码:
       获得权限的用户   主机名=(获得到的用户身份)  NOPASSWD:  获得的命令
  e.g.:test             localhost=(root)           NOPASSWD:  /usr/sbin/useradd


#############4.用户认证信息控制#############
chage 参数 用户名
参数列表:
-d     ###用户密码最后一次修改时间,如果设定为0,则登陆后必须修改密码
-m     ###最短有效期
-M     ###最长有效期
-W     ###警告期
-I     ###非活跃天数
-E     ###帐号到期日



第六单元

##############
###文件权限###
##############


#############1.文件属性的查看#############
ls -l filename
-|rw-r--r--.|1|root|root|1313|Nov 3 16:48|filename
_ __________ _ ____ ____ ____ ___________ ________
1 2          3 4    5    6    7           8


1."-":文件类型
  -     ###普通文件
  d     ###目录
  c     ###字符设备
  s     ###套接字
  p     ###管道
  b     ###快设备
  l     ###链接


2."rw-|r--|r--":文件的权限
   ___ ___ ___
   u   g   o


   u     ###所有人的权限
   g     ###所有组的权限
   o     ###其他人的权限


3."1"
  对文件:文件内容被系统记录的次数
  对目录:目录中文件属性的字节数


4."root"
  文件的所有人


5."root"
  文件的所有组


6."1313"
  文件内容的大小


7."Nov 3 16:48"
  文件最后一次被修改的时间


8."filename"
  文件名


#############2.文件所有人所有组的管理#############
chown    username             file|dir   ###更改文件的所有人
chown    username.groupname   file|dir   ###更改文件的所有人和所有组,也可用":"分隔
chown -R username             dir        ###更改目录本身及目录里所有内容的所有人
chgrp -R groupname            dir        ###更改目录本身及目录里所有内容的所有组


#############3.文件的普通权限#############
rw-|r--|r--
___ ___ ___
u   g   o


1.r
  对文件:可以查看文件的内容
  对目录:可以查看目录中的文件的信息


2.w
  对文件:可以更改文件的内容
  对目录:可以在目录中添加或删除文件


3.x
  对文件:可以运行可执行文件
  对目录:可以进入到目录中


4.字符方式修改文件的权限
  chmod [-R] <u|g|o><+|-|=><r|w|x> file|dir


5.数字方式修改文件的权限
  chmod 权限值 file|dir


  权限值:
  r=4;w=2;x=1


#############4.系统默认权限的设定#############
umask     ###查看系统的默认权限,默认值为"022",777-022=755为目录的默认权限,755-111=644为文件的默认权限


临时设定umask的值(只在当前shell中生效):
umask 权限值


永久设定umask的值:
用vim编辑"/etc/bashrc"和"/etc/profile"两个文件,更改里面的umask值,两个文件中的umask值必须保持一直


让设定立即生效:
source /etc/bashrc
source /etc/profile


也可以退出当前shell再重新打开,使设定生效


#############5.特殊权限#############
1.SUID(Set UID)       ###冒险位
  SUID=4


  针对二进制可执行文件
  程序产生的进程的所有人为文件所有人
  与进程发起人的身份无关


  设定方式:
  chmod u+s file     ###字符方式设定
  chmod 4*** file    ###数字方式设定


2.SGID(Set GID)       ###强制位
  SGID=2


  对文件:针对二进制可执行文件
          程序产生的进程的所有组为文件所有组
          与进程发起人的所有组无关
  对目录:目录中新建所有文件的所有组都归到目录的所有组中
          与文件建立者的所在组无关


  设定方式:
  chmod g+s  file|dir     ###字符设定方式
  chmod 2*** file|dir     ###数字设定方式


3.SBIT(Sticky Bit)    ###粘滞位
  SBIT=1


  只针对目录
  目录中的文件或目录只能被其所有人或root删除


  设定方式:
  chmod o+t  dir     ###字符设定方式
  chmod 1*** dir     ###数字设定方式



第七单元

################
####第七单元####
################


####1.进程定义####
进程就是cpu未完成的工作


####2.ps命令####
ps
a ##关于当前环境的所有进程
x ##与当前环境无关的所有进程
f ##显示进程从属关系
e ##显示进程调用环境工具的详细信息
l ##长列表显示进程的详细信息
u ##显示进程的用户信息


ps ax -o %cpu,%mem,user,group,comm,nice,pid ##指定显示进程的某些信息
%cpu ##显示进程cpu负载
%mem ##显示进程内存负载
user ##进程用户
group ##进程组
comm ##进程名称
nice ##进程优先级
pid ##进程的id


ps ax -o %cpu,comm --sort <+|-%cpu > <+|-%mem> ##按照进程信息排序
+ ##正序
- ##倒序
%cpu ##cpu负载排序
%mem ##内存负载




####3.进程优先级####
1.进程的优先级范围
-20~19


2.优先级查看
ps ax -o pid,nice,comm


3.指定某个优先级开启进程
nice -n 优先级数字 进程名称
nice -n -5 vim & ##开启vim并且指定程序优先级为-5


4.改变进程优先级
reince -n 优先级数字 进程pid
renice -n -5 1806 ##改变1806进程的优先级为-5
root@desktop0 ~]# ps a -o pid,nice,comm
  PID  NI COMMAND
  614   0 Xorg
 1128   0 agetty
 1625   0 bash
 1785   0 vim
 1806  -5 vim
 1824  -5 vim
 1835   0 ps


####4.环境中进程的前后台调用####
jobs ##查看被打入环境后台的进程
ctrl+z ##把占用终端的进程打入后台
fg ##把后台进程调回前台
bg ##把后台暂停的进程运行
comm & ##让命令直接在后台运行




####5.进程信号####
1.常用信号等级
1 ##进程重新加载配置
2 ##删除进程在内存中的数据
3 ##删除鼠标在内存中的数据
9 ##强行结束单个进程
15 ##正常关闭进程
18 ##运行暂停的进程
19 ##暂停某个进程
20 ##把进程打入后台
man 7 signal ##查看信号详细信息


kill -信号 进程pid
killall -信号 进程名字
pkill -u student -信号


SIGHUP     终止进程     终端线路挂断
SIGINT     终止进程     中断进程
SIGQUIT   建立CORE文件终止进程,并且生成core文件
SIGILL   建立CORE文件       非法指令
SIGTRAP   建立CORE文件       跟踪自陷
SIGBUS   建立CORE文件       总线错误
SIGSEGV   建立CORE文件       段非法错误
SIGFPE   建立CORE文件       浮点异常
SIGIOT   建立CORE文件       执行I/O自陷
SIGKILL   终止进程     杀死进程
SIGPIPE   终止进程     向一个没有读进程的管道写数据
SIGALARM   终止进程     计时器到时
SIGTERM   终止进程     软件终止信号
SIGSTOP   停止进程     非终端来的停止信号
SIGTSTP   停止进程     终端来的停止信号
SIGCONT   忽略信号     继续执行一个停止的进程
SIGURG   忽略信号     I/O紧急信号
SIGIO     忽略信号     描述符上可以进行I/O
SIGCHLD   忽略信号     当子进程停止或退出时通知父进程
SIGTTOU   停止进程     后台进程写终端
SIGTTIN   停止进程     后台进程读终端
SIGXGPU   终止进程     CPU时限超时
SIGXFSZ   终止进程     文件长度过长
SIGWINCH   忽略信号     窗口大小发生变化
SIGPROF   终止进程     统计分布图用计时器到时
SIGUSR1   终止进程     用户定义信号1
SIGUSR2   终止进程     用户定义信号2
SIGVTALRM 终止进程     虚拟计时器到时


1) SIGHUP 
本信号在用户终端连接(正常或非正常)结束时发出, 通常是在终端的控 
制进程结束时, 通知同一session内的各个作业, 这时它们与控制终端 
不再关联. 
2) SIGINT 
程序终止(interrupt)信号, 在用户键入INTR字符(通常是Ctrl-C)时发出 
3) 
SIGQUIT 和SIGINT类似, 但由QUIT字符(通常是Ctrl-)来控制. 进程在因收到 
SIGQUIT退出时会产生core文件, 在这个意义上类似于一个程序错误信 
号. 
4) 
SIGILL 执行了非法指令. 通常是因为可执行文件本身出现错误, 或者试图执行 
数据段. 堆栈溢出时也有可能产生这个信号. 
5) 
SIGTRAP 由断点指令或其它trap指令产生. 由debugger使用. 
6) 
SIGABRT 程序自己发现错误并调用abort时产生. 
6) 
SIGIOT 在PDP-11上由iot指令产生, 在其它机器上和SIGABRT一样. 
7) 
SIGBUS 非法地址, 包括内存地址对齐(alignment)出错. eg: 访问一个四个字长 
的整数, 但其地址不是4的倍数. 
8) 
SIGFPE 在发生致命的算术运算错误时发出. 不仅包括浮点运算错误, 还包括溢 
出及除数为0等其它所有的算术的错误. 
9) 
SIGKILL 用来立即结束程序的运行. 本信号不能被阻塞, 处理和忽略. 
10) 
SIGUSR1 留给用户使用 
11) 
SIGSEGV 试图访问未分配给自己的内存, 或试图往没有写权限的内存地址写数据. 
12) 
SIGUSR2 留给用户使用 
13)
SIGPIPE Broken pipe 
14) 
SIGALRM 时钟定时信号, 计算的是实际的时间或时钟时间. alarm函数使用该 
信号. 
15) 
SIGTERM 程序结束(terminate)信号, 与SIGKILL不同的是该信号可以被阻塞和 
处理. 通常用来要求程序自己正常退出. shell命令kill缺省产生这 
个信号. 
17) 
SIGCHLD 子进程结束时, 父进程会收到这个信号. 
18) 
SIGCONT 让一个停止(stopped)的进程继续执行. 本信号不能被阻塞. 可以用 
一个handler来让程序在由stopped状态变为继续执行时完成特定的 
工作. 例如, 重新显示提示符 
19) 
SIGSTOP 停止(stopped)进程的执行. 注意它和terminate以及interrupt的区别: 
该进程还未结束, 只是暂停执行. 本信号不能被阻塞, 处理或忽略. 
20) 
SIGTSTP 停止进程的运行, 但该信号可以被处理和忽略. 用户键入SUSP字符时 
(通常是Ctrl-Z)发出这个信号 
21) 
SIGTTIN 当后台作业要从用户终端读数据时, 该作业中的所有进程会收到SIGTTIN 
信号. 缺省时这些进程会停止执行. 
22) 
SIGTTOU 类似于SIGTTIN, 但在写终端(或修改终端模式)时收到. 
23) 
SIGURG 有"紧急"数据或out-of-band数据到达socket时产生. 
24) 
SIGXCPU 超过CPU时间资源限制. 这个限制可以由getrlimit/setrlimit来读取/ 
改变 
25) 
SIGXFSZ 超过文件大小资源限制. 
26) 
SIGVTALRM 虚拟时钟信号. 类似于SIGALRM, 但是计算的是该进程占用的CPU时间. 
27) 
SIGPROF 类似于SIGALRM/SIGVTALRM, 但包括该进程用的CPU时间以及系统调用的 
时间. 
28) 
SIGWINCH 窗口大小改变时发出. 
29) 
SIGIO 文件描述符准备就绪, 可以开始进行输入/输出操作. 
30) 
SIGPWR Power failure 


有 两个信号可以停止进程:SIGTERM和SIGKILL。 SIGTERM比较友好,进程能捕捉这个信号,根据您的需要来关闭程序。在关闭程序之前,您可以结束打开的记录文件和完成正在做的任务。在某些情况下,假 如进程正在进行作业而且不能中断,那么进程可以忽略这个SIGTERM信号。


对于SIGKILL信号,进程是不能忽略的。这是一个 “我不管您在做什么,立刻停止”的信号。假如您发送SIGKILL信号给进程,Linux就将进程停止在那里


####6.用户登陆审记####


1
w ##查看使用系统的当前用户有那些
w -f ##-f查看使用地点


2
last ##查看用户登陆成功历史
3.
lastb ##查看用户登陆未成功历史






####7.top命令####
top ##监控系统负载工具

0 0
原创粉丝点击