Linux 5

第十二章

*权限掩码

  umask  取消用户创建的文件和目录的默认权限设置

  目录:

  rwx rwx rwx

  7     7     7

  0      2     2

  7      5     5

  rwx r-x r-x

  文件:
  rw- rw- rw-

  6    6    6

  0    2    2

  6    4    4

  rw- r-- r--

*ACL控制

  ACL(访问控制列表) 是一个文件或者目录的访问控制列表

  setfacl  设置文件或目录的ACL

  getfacl  读取文件的ACL

*Linux 下文本编辑工具

  gedit + 文件名  (在桌面环境中)

  vi   、  emacs   、 vim   ( 在命令行中)

  打开 vi 默认进入命令模式

  a,i,o(A I O)    进入 编辑模式(插入模式)

  a 代表在光标后面插入信息,i 代表在光标前面输入信息,o 代表换行

  进入编辑模式后,敲 Esc 回到命令模式

     敲   “:”      进入Ex模式,敲 “ Esc ” 回到命令模式

  编辑模式和Ex模式不能相互切换

一 打开和关闭文件

$ vi [filename]  打开文件

ZZ   保存退出
:wq   保存退出

:q! RETURN  不保存, 退出

:w   保存
:w! RETURN  覆盖当前文件
:w newfile RETURN 另存为新文件

$vi file1 file2 file3 同时编辑多个文件
:n   切换到下一个文件
:N   切换到上一个文件
:ar   查看文件列表, 当前文件用[]括起来
ctrl+^   切换到前一个文件

二 多窗口编辑(vim特性)

:sp newfile  从屏幕中间分隔窗口, 显示新文件
:new newfile  从屏幕中间分隔窗口, 显示新文件
:clo   关闭当前窗口
ctrl ww   切换窗口(按住ctrl, w连续按2次)

三 shell和unix命令

:sh RETURN ctrl+d 进入和退出shell
ctrl+z  fg 将vi放入后台

:!command  不退出vi, 执行unix命令
:行号范围!command :.,.+100!sort 100行排序

四 模式切换

i(I)   进入插入模式,在光标前(光标所在行的行首)输入
a(A)   进入插入模式,在光标后(光标所在行的行尾)输入
o(O)   进入插入模式,在光标下一行(上一行)输入
ESC   进入命令模式
:   进入行编辑模式
r(R)   命令模式下替换光标下的单个(多个)字符(不切换模式)

五 光标移动

the cursor arrow keys 单字符移动     ^  移动到行首      $  移动到行尾

w   按单词移动

Home   移动到行首
End   移动到行尾

Page Up, Page Down 整页移动

G   移动到最后一行(文件尾)
nG   移动光标到第n行
gg   移动到第一行
:set nu   设置行号

六 命令模式下文本编辑

--------------------------------------------------------------------------------|
 单位  | 删除  | 复制 | 粘贴 |
--------------------------------------------------------------------------------|
光标位置字符  | x  |  |  |
----------------------------------------------------------------|   p |
光标位置单词  | dw  | yw |  |
----------------------------------------------------------------|  |
光标位置后n个单词 | dnw  | ynw |在光标后面 |
----------------------------------------------------------------|粘贴  |
光标位置到行尾  | D(d End 或 d$) |  y End 或 y$  |  |
----------------------------------------------------------------|  |
光标所在行  | dd  | yy(Y) | P |
----------------------------------------------------------------|  |
光标所在行以下n行 | ndd  | nyy |在光标前面 |
----------------------------------------------------------------|粘贴  |
光标所在行至文件尾 | dG  | yG |  |
----------------------------------------------------------------|  |
光标所在行至第n行 | dnG  | ynG |  |
--------------------------------------------------------------------------------|

xp   调换两个字母的顺序
u   撤销上次的操作
.   重复上一次的操作

50a12 ESC  光标位置追加25对"12"
~   大小写转换

(n)>>   当前n行向右移8个空格(一个制表符)
(n)<<   当前n行向左移8个空格(一个制表符)

ctrl+v   进入可视模式,使用光标选择,再结合删除/复制等快捷键操作
V   整行选取的可视模式

=====================================
vi命令的一般格式: (命令)(数字)(文本目标)
d3w 删除3个单词
y3G 复制到第3行
=====================================

vimtutor  查看vi的帮助教程
LANG=zh_CN.UTF-8 vimtutor 查看中文版(需要安装中文字体)

七 ex命令

d   删除行
m   移动行
co(t)   复制行

.   当前行
$   文件最后一行
%   文件中每一行(等价1,$)

=====================================
ex命令的一般格式: (行范围)(命令)(行范围)
:.,$d 删除当前行至文件尾
:%t$ 复制所有行至文件尾
=====================================

八 模式搜索与替换

vi命令模式下

/pattern(:g/pattern) 按模式搜索
/"pattern paterrn" 如果搜索模式中包含空格, 要使用单引号或双引号
/\<pattern\>  搜索整个单词
*   搜索光标当前单词
n   同向重复搜索
d(y)/pattern  通过搜索进行修改(向后, 删除或复制光标与模式之间字符串)
d(y)?pattern  通过搜索进行修改(向前, 删除或复制光标与模式之间字符串)

ex命令

:s/old/new  当前行中替换第一次出现的模式
:s/old/new/g  当前行中替换所有出现的模式,默认不区分大小写
:s/old/new/gi  i区分大小写
:s/old/new/gc  当前行中替换所有出现的模式, 需要确认
:行范围s/old/new/gc 行号范围中替换所有出现的模式, 需要确认
:%s/old/new/gi  全文范围中替换所有出现的模式, 区分大小写

vi命令的等价方式
/old   搜索old
cwnew ESC  修改为new(c为cut, w为word)(必须用c, 否则无法重复修改. w可为任意位置参数如$, 到行尾)
n   重复搜索, 跳过一次修改
n   重复搜索
.   重复修改

:g/pattern   全局搜索
   可以将:g与其它ex命令结合在一起, 实现全局替换删除移动和复制
   :g/old/s//new/gc与:%s/old/new/gc效果相同
:g/pattern/s/old/new/g(c) 在包含模式pattern的行中, 将old替换为new, g表示在该行进行全部替换, c表示需要确认
:g/old/s//new/g  搜索模式与替换模式相同

:g/pattern/d  删除符合模式的行
:g/pattern/行范围d  删除符合模式的多行(:g/pattern1/.,/pattern2/d 删除pattern1和pattern2之间的行)
:g/pattern/行范围m(t)行范围 移动(复制)符合模式的多行

=============================================
:g命令的一般格式: :g/pattern/行范围/ex命令/行范围
=============================================

:上箭头   访问ex命令的历史记录

九 单词缩写与命令映射

:ab abbr phrase  插入模式下设置单词缩写
:unab abbr  撤销缩写
:ab   查看当前定义的缩写

:map x command  命令模式下设置映射命令
:unmap x   撤销映射
:map   查看当前定义的映射

ctrl+v然后enter
esc, backspace, delete 映射中防止ex解释键
:map! x command  在插入模式下映射键

十 c风格缩进

在~home/.vimrc中加入以下设置, 可得到标准c风格缩进
set nocp incsearch
set cinoptions=:0,p0,t0
set cinwords=if,else,while,do,for,switch,case
set formatoptions=tcqr
set cindent
syntax on
set nu

还要了解的:
1 和编程相关的vim特性
2 全局替换的实例

第十四章  软件包安装与管理  

  Red Hat Package Manager

  RPM 软件包管理器(RPM)是一种开放的软件包管理系统。

  file  /var/lib/rpm/*  查看当前安装软件包的RPM数据库

  df  -h  查看光盘挂接

  /dev/cdrom

  rpm  -ivh

  -i  安装软件包

  -v  输出详细信息

  -h  安装软件包时打印哈希标记

    例:安装vsftpd-2.2.2-11.el6.x86_64.rpm软件包。

  cd  /media/OL6.4\ x86_64\ Disc\ 1\ 20130225/

   cd Packages

  rpm -ivh vsftpd-2.2.2-11.el6.x86_64.rpm

  rpm  -e  卸载软件包

  rpm  -Uvh  升级RPM软件包 (删除旧版本,安装新版本)

  rpm  -Fvh   刷新软件包 (有旧版本,才会安装新版本,没有旧版本就不会安装)

  rpm  -q  + vsftpd(软件包名)  查询指定RPM软件包是否已经安装

  rpm  -qa  |  grep vsf(软件包部分名字)  查询不清楚名字的安装包

  rpm  -ql  查询软件包在系统中所包含的文件列表

  rpm -qf  根据文件名查询属于哪个软件包

  rpm  -v + [软件包名称] 验证PRM软件包

  RPM软件包公钥管理

  rpm  --import [RPM包公钥文件]  导入RPM软件包公钥

  cd  /etc/yum.repos.d/   资料库,在后面设置一个后缀为repo的文件

  rm  -f  *.repo

  vi  /etc/yum.repos.d/zhang.repo

在zhang.repo中写:

  [Server]
  name=Server
  baseurl=file:///media/"OL6.4 x86_64 Disc 1 20130225"/Server
  enabled=1
  gpgcheck=0

yum  repolist  all  显示软件仓库的配置

  

  

  

时间: 2024-07-29 02:42:16

Linux 5的相关文章

排查Linux机器是否已经被入侵

随着开源产品的越来越盛行,作为一个Linux运维工程师,能够清晰地鉴别异常机器是否已经被入侵了显得至关重要,个人结合自己的工作经历,整理了几种常见的机器被黑情况供参考 背景信息:以下情况是在CentOS 6.9的系统中查看的,其它Linux发行版类似 1.入侵者可能会删除机器的日志信息,可以查看日志信息是否还存在或者是否被清空,相关命令示例: [[email protected] ~]# ll -h /var/log/* -rw-------. 1 root root 2.6K Jul 7 18

linux下Nginx配置文件(nginx.conf)配置设置详解(windows用phpstudy集成)

linux备份nginx.conf文件举例: cp /usr/local/nginx/nginx.conf /usr/local/nginx/nginx.conf-20171111(日期) 在进程列表里 面找master进程,它的编号就是主进程号. ps -ef | grep nginx 查看进程 cat /usr/local/nginx/nginx.pid 每次修改完nginx文件都要重新加载配置文件linux命令: /usr/local/nginx -t //验证配置文件是否合法 若ngin

Linux下WebSphereV8.5.5.0 安装详细过程

Linux下WebSphereV8.5.5.0 安装详细过程 自WAS8以后安装包不再区别OS,一份介质可以安装到多个平台.只针对Installation Manager 进行了操作系统的区分 ,Websphere产品介质必须通过专门的工具Install Managere安装.进入IBM的官网http://www.ibm.com/us/en/进行下载.在云盘http://yun.baidu.com/share/linkshareid=2515770728&uk=4252782771 中是Linu

Linux centos下让alias自定义永久生效(+常用的别名)

alias可以简化一些复杂的命令串,使一个单词或简化后的命令即可实现复杂(通常是带很多参数的长串)命令. 基本用法: alias 简化命令='实际的长串命令'    //实际长串命令通常为'原命令 -/选项参数' eg. alias ll='ls -a' 获取别名: alias        //即可查看当前设定的所有alias别名 取消别名: unalias 简化命令 eg. unalias ll            //取消ll的别名 永久生效: 直接使用alias命令定义的别名,重启后就

Linux下修改环境变量PATH

1.什么是环境变量(PATH) 在Linux中,在执行命令时,系统会按照PATH的设置,去每个PATH定义的路径下搜索执行文件,先搜索到的文件先执行. 我们知道查阅文件属性的指令ls 完整文件名为:/bin/ls(这是绝对路径), 那你会不会觉得很奇怪:"为什么我可以在任何地方执行/bin/ls这个指令呢? " 为什么我在任何目录下输入 ls 就一定可以显示出一些讯息而不会说找不到该 /bin/ls 指令呢? 这是因为环境变量 PATH 的帮助所致呀! 当我们在执行一个指令癿时候,举例

老男孩Linux运维第41期20170917开班第四周学习重点课堂记录

第1章 必知必会文件 配置文件位置 该文件作用 /etc/sysconfig/network-scripts/ifcfg-eth0 第一块网卡的配置文件 同setup中的network /etc/resolv.conf 客户端DNS配置文件,优先级低于网卡配置文件 /etc/hosts 主要作用是定义IP地址和主机名的映射关系(域名解析),是一个映射IP地址和主机名的规定 /etc/sysconfig/network 用于配置hostname和networking /etc/fstab 开机自动

Linux基础命令小结

注意:Linux严格区分大小写 老男孩方法论经验之谈: 有一种方法叫做没方法 有两种方法,左右为难 有三种方法才叫有方法 停止一个命令:CTR + C 1.创建目录 英文:make directorys 命令:mkdir 实例:三种方式 mkdir /data cd / mkdir data cd /;mkdir data mkdir x y z    表示同时创建多个目录 mkdir -p /data/x/y   表示同时创建多级目录(递归创建),切记不可用mkdir /data/x/y 2.

Linux red hat 安装ansible

今日对Linux 系统是Red Hat Enterprise Linux Server release 6.5 (Santiago)对ansible进行安装. 由于系统的源为yum源,所以使用yum install ansible 进行安装,但是报错.如图.(这个错误是yum源没有注册到red hat 系统). yum源不能安装,所以换了一个思路.使用pip安装.pip是依赖python安装的. 1.检查Python版本 Python -v 检查出来为Python 2.6.6 2.检查pip 版

初识运维3--在虚拟机中安装Linux发行版系统(CentOS)的方法

在讲Linux系统发行版本的安装过程之前,先大略说明一下虚拟化. 虚拟化:将底层硬件资源抽象为用户更容易读懂和使用的逻辑抽象层的技术. 最早由IBM提出,现使用率较高的虚拟化软件平台有三类:VMware workstation.VirtualBOX.HyperV.在这里使用VMware workstation作为例子讲解说明安装过程. 虚拟化网络: 桥接模式:让物理机和虚拟机利用物理网络接口完成通信.虚拟机可以访问互联网. 仅主机模式:让虚拟机和物理机利用被虚拟出来的VMnet1网络接口完成通信

查看Linux系统版本信息

一.查看Linux内核版本命令(两种方法): 1.cat /proc/version [[email protected]CentOS home]# cat /proc/versionLinux version 2.6.32-431.el6.x86_64 ([email protected]) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) ) #1 SMP Fri Nov 22 03:15:09 UTC 2013 2.uname -a [