Linux - 常用命令

来源:互联网 发布:淘宝玩具专卖 编辑:程序博客网 时间:2024/03/29 16:24

4.1 chkconfig命令详解

  chkconfig命令主要用来更新启动停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。

 

  使用语法:

 

chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset]

 

  chkconfig在没有参数运行时,显示用法。如果加上服务名,那么就检查这个服务是否在当前运行级启动。如果是,返回true,否则返回false。如果在服务名后面指定了on,off或者reset,那么chkconfig会改变指定服务的启动信息。on和off分别指服务被启动和停止,reset指重置服务的启动信息,无论有问题的初始化脚本指定了什么。on和off开关,系统默认只对运行级3,4,5有效,但是reset可以对所有运行级有效。

 

  参数用法:

 

--add 增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据。

--del 删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据。

--level<等级代号> 指定读系统服务要在哪一个执行等级中开启或关毕。

 

等级0表示:表示关机

等级1表示:单用户模式

等级2表示:无网络连接的多用户命令行模式

等级3表示:有网络连接的多用户命令行模式

等级4表示:不可用

等级5表示:带图形界面的多用户模式

等级6表示:重新启动

 

  需要说明的是,level选项可以指定要查看的运行级而不一定是当前运行级。对于每个运行级,只能有一个启动脚本或者停止脚本。当切换运行级时,init不会重新启动已经启动的服务,也不会再次去停止已经停止的服务。

 

chkconfig --list [name]:显示所有运行级系统服务的运行状态信息(on或off)。如果指定了name,那么只显示指定的服务在不同运行级的状态。

chkconfig --add name:增加一项新的服务。chkconfig确保每个运行级有一项启动(S)或者杀死(K)入口。如有缺少,则会从缺省的init脚本自动建立。

chkconfig --del name:删除服务,并把相关符号连接从/etc/rc[0-6].d删除。

chkconfig [--level levels] name:设置某一服务在指定的运行级是被启动,停止还是重置。

 

  运行级文件:

 

  每个被chkconfig管理的服务需要在对应的init.d下的脚本加上两行或者更多行的注释。第一行告诉chkconfig缺省启动的运行级以及启动和停止的优先级。如果某服务缺省不在任何运行级启动,那么使用 - 代替运行级。第二行对服务进行描述,可以用\ 跨行注释。

 

  例如,random.init包含三行:

# chkconfig: 2345 20 80

# description: Saves and restores system entropy pool for \

# higher quality random number generation.

 

  使用范例:

 

chkconfig --list #列出所有的系统服务

chkconfig --add httpd #增加httpd服务

chkconfig --del httpd #删除httpd服务

chkconfig --level httpd 2345 on #设置httpd在运行级别为2、3、4、5的情况下都是on(开启)的状态

chkconfig --list #列出系统所有的服务启动情况

chkconfig --list mysqld #列出mysqld服务设置情况

chkconfig --level 35 mysqld on #设定mysqld在等级3和5为开机运行服务,--level 35表示操作只在等级3和5执行,on表示启动,off表示关闭

chkconfig mysqld on #设定mysqld在各等级为on,"各等级"包括2、3、4、5等级

 

  如何增加一个服务:

 

1.服务脚本必须存放在/etc/ini.d/目录下;

2.chkconfig --add servicename

在chkconfig工具服务列表中增加此服务,此时服务会被在/etc/rc.d/rcN.d中赋予K/S入口了;

3.chkconfig --level 35 mysqld on

修改服务的默认启动等级。

 

4.2 yum命令详解

  yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

 

  yum的命令形式一般是如下:yum [options] [command] [package ...]

 

  其中的[options]是可选的,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。[command]为所要进行的操作,[package ...]是操作的对象。

 

  概括了部分常用的命令包括:

 

  自动搜索最快镜像插件: yum install yum-fastestmirror

  安装yum图形窗口插件: yum install yumex

  查看可能批量安装的列表: yum grouplist

 

  1 安装

 

yum install 全部安装

yum install package1 安装指定的安装包package1

yum groupinsall group1 安装程序组group1

 

  2 更新和升级

 

yum update 全部更新

yum update package1 更新指定程序包package1

yum check-update 检查可更新的程序

yum upgrade package1 升级指定程序包package1

yum groupupdate group1 升级程序组group1

 

  3 查找和显示

 

yum info package1 显示安装包信息package1

yum list 显示所有已经安装和可以安装的程序包

yum list package1 显示指定程序包安装情况package1

yum groupinfo group1 显示程序组group1信息yum search string 根据关键字string查找安装包

 

  4 删除程序

 

yum remove package1 删除程序包package1

yum groupremove group1 删除程序组group1

yum deplist package1 查看程序package1依赖情况

 

  5 清除缓存

 

yum clean packages 清除缓存目录下的软件包

yum clean headers 清除缓存目录下的 headers

yum clean oldheaders 清除缓存目录下旧的 headers

yum clean, yum clean all (= yum clean packages; yum clean oldheaders) 清除缓存目录下的软件包及旧的headers

 

  比如,要安装游戏程序组,首先进行查找:

  #:yum grouplist

  可以发现,可安装的游戏程序包名字是"Games and Entertainment",这样就可以进行安装:

  #:yum groupinstall "Games and Entertainment"

  所 有的游戏程序包就自动安装了。在这里Games and Entertainment的名字必须用双引号选定,因为linux下面遇到空格会认为文件名结束了,因此必须告诉系统安装的程序包的名字是"Games and Entertainment"而不是"Games"。

 

  此外,还可以修改配置文件/etc/yum.conf选择安装源。可见yum进行配置程序有多方便了吧。更多详细的选项和命令,当然只要在命令提示行下面:man yum

 

4.3 SELinux两个命令

  getsebool与setsebool工具

 

  说明:SELinux规范了许多boolean数值清单档案,提供开启或关闭功能存取项目,而这些值都存放在/selinux/booleans/目录内相关档案,这些档案里的值只有两种:1(启用)或 0(关闭)

 

  1)getsebool

 

  说明:列出所有selinux bool数值清单表与内容

  使用方式:getsebool [ -a ]

  例如以下范例:

 

#getsebool ftpd_disable_trans

ftpd_disable_trans –> off

#getsebool -a

NetworkManager_disable_trans –> off

allow_cvs_read_shadow –> off

allow_daemons_dump_core –> on

allow_daemons_use_tty –> off

allow_execheap –> off

allow_execmem –> on

allow_execmod –> off

………

 

2)setsebool

 

  说明:设定selinux bool数值清单表与内容

  使用方式:setsebool [ -P ] boolean value | bool1=val1 bool2=val2 bool3=val3……

  参数配置: -P表示设定该项目永久套用

  使用范例:

setsebool ftpd_disable_trans=on ( on 或者 1 )

setsebool -P ftpd_disable_trans=off ( off 或者 0 )

 

 

4.4 vim命令详解

  vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻。

 

  1、vi的基本概念

 

  基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:

  1) 命令行模式command mode)

  控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。

 

  2) 插入模式(Insert mode)

  只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。

 

  3) 底行模式(last line mode)

  将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。

  不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode)。

 

2、vi的基本操作

 

  a) 进入vi

  在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面:

 

$ vi myfile

 

  不过有一点要特别注意,就是您进入vi之后,是处于「命令行模式(command mode)」,您要切换到「插入模式(Insert mode)」才能够输入文字。初次使用vi的人都会想先用上下左右键移动光标,结果电脑一直哔哔叫,把自己气个半死,所以进入vi后,先不要乱动,转换到「插入模式(Insert mode)」再说吧!

 

  b) 切换至插入模式(Insert mode)编辑文件

  在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。

 

  c) Insert 的切换

  您目前处于「插入模式(Insert mode)」,您就只能一直输入文字,如果您发现输错了字!想用光标键往回移动,将该字删除,就要先按一下「ESC」键转到「命令行模式(command mode)」再删除文字。

 

  d) 退出vi及保存文件

  在「命令行模式(command mode)」下,按一下「:」冒号键进入「Last line mode」,例如:

 

: w filename (输入 「w filename」将文章以指定的文件名filename保存)

: wq (输入「wq」,存盘并退出vi)

: q! (输入q!, 不存盘强制退出vi)

 

3、命令行模式(command mode)功能键

 

  1)插入模式

  按「i」切换进入插入模式「insert mode」,按"i"进入插入模式后是从光标当前位置开始输入文件;

  按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;

  按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。

 

  2)从插入模式切换为命令行模式

  按「ESC」键。

 

  3)移动光标

  vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格。

 

  按「ctrl」+「b」:屏幕往"后"移动一页。

  按「ctrl」+「f」:屏幕往"前"移动一页。

  按「ctrl」+「u」:屏幕往"后"移动半页。

  按「ctrl」+「d」:屏幕往"前"移动半页。

  按数字「0」:移到文章的开头。

  按「G」:移动到文章的最后。

  按「$」:移动到光标所在行的"行尾"。

  按「^」:移动到光标所在行的"行首"

  按「w」:光标跳到下个字的开头

  按「e」:光标跳到下个字的字尾

  按「b」:光标回到上个字的开头

  按「#l」:光标移到该行的第#个位置,如:5l,56l。

 

  4)删除文字

  「x」:每按一次,删除光标所在位置的"后面"一个字符。

  「#x」:例如,「6x」表示删除光标所在位置的"后面"6个字符。

  「X」:大写的X,每按一次,删除光标所在位置的"前面"一个字符。

  「#X」:例如,「20X」表示删除光标所在位置的"前面"20个字符。

  「dd」:删除光标所在行。

  「#dd」:从光标所在行开始删除#行

 

  5)复制

  「yw」:将光标所在之处到字尾的字符复制到缓冲区中。

  「#yw」:复制#个字到缓冲区

  「yy」:复制光标所在行到缓冲区。

  「#yy」:例如,「6yy」表示拷贝从光标所在的该行"往下数"6行文字。

  「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与"y"有关的复制命令都必须与"p"配合才能完成复制与粘贴功能。

 

  6)替换

  「r」:替换光标所在处的字符。

  「R」:替换光标所到之处的字符,直到按下「ESC」键为止。

 

  7)回复上一次操作

  「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次"u"可以执行多次回复。

 

  8)更改

  「cw」:更改光标所在处的字到字尾处

  「c#w」:例如,「c3w」表示更改3个字

 

  9)跳至指定的行

  「ctrl」+「g」列出光标所在行的行号。

  「#G」:例如,「15G」,表示移动光标至文章的第15行行首。

 

  4、Last line mode下命令简介

 

  在使用「last line mode」之前,请记住先按「ESC」键确定您已经处于「command mode」下后,再按「:」冒号即可进入「last line mode」。

 

  A) 列出行号

  「set nu」:输入「set nu」后,会在文件中的每一行前面列出行号。

  B) 跳到文件中的某一行

  「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。

  C) 查找字符

  「/关键字」:先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。

  「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。

  D) 保存文件

  「w」:在冒号输入字母「w」就可以将文件保存起来。

  E) 离开vi

  「q」:按「q」就是退出,如果无法离开vi,可以在「q」后跟一个「!」强制离开vi。

  「qw」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件。

 

  5、vi命令列表

 

  1、下表列出命令模式下的一些键的功能:

 

h         左移光标一个字符

l         右移光标一个字符

k         光标上移一行

j         光标下移一行

^         光标移动至行首

0         数字"0",光标移至文章的开头

G         光标移至文章的最后

$         光标移动至行尾

Ctrl+f     向前翻屏

Ctrl+b     向后翻屏

Ctrl+d     向前翻半屏

Ctrl+u     向后翻半屏

i         在光标位置前插入字符

a         在光标所在位置的后一个字符开始增加

o         插入新的一行,从行首开始输入

ESC     从输入状态退至命令状态

x         删除光标后面的字符

#x         删除光标后的#个字符

X         (大写X),删除光标前面的字符

#X         删除光标前面的#个字符

dd         删除光标所在的行

#dd     删除从光标所在行数的#行

yw         复制光标所在位置的一个字

#yw     复制光标所在位置的#个字

yy         复制光标所在位置的一行

#yy     复制从光标所在行数的#行

p         粘贴

u         取消操作

cw         更改光标所在位置的一个字

#cw     更改光标所在位置的#个字

 

  2、下表列出行命令模式下的一些指令

 

w filename     储存正在编辑的文件为filename

wq filename     储存正在编辑的文件为filename,并退出vi

q!             放弃所有修改,退出vi

set nu         显示行号

/或?         查找,在/后输入要查找的内容

n             与/或?一起使用,如果查找的内容不是想要找的关键字,按n或向后(与/联用)或向前(与?联用)继续查找,直到找到为止。

 

  对于第一次用vi,有几点注意要提醒一下:

 

  1、用vi打开文件后,是处于「命令行模式(command mode)」,您要切换到「插入模式(Insert mode)」才能够输入文字。切换方法:在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。

  2、编辑好后,需从插入模式切换为命令行模式才能对文件进行保存,切换方法:按「ESC」键。

  3、保存并退出文件:在命令模式下输入:wq即可!(别忘了wq前面的:)

 

4.5 touch命令详解

  linux中新建文件命令touch用法详解:

 

  linux中的touch命令一般用来修改文件的时间,或者新建一个不存在的文件。

 

  语法如下:

 

touch [-acm][-r ref_file(参照文件)|-t time(时间值)] file(文件名)

 

  例子:

 

touch file1.txt 更新file1.txt的存取和修改时间

touch -c file1.txt 如果file1.txt不存在,不创建文件

touch -r ref_file file1.txt 更新file1.txt的时间戳和ref+file相同

touch -t 0911252234.40 file1.txt 设定文件的时间为09年11月25日22点34分40秒

 

  个参数说明如下:

 

-a          修改文件 file 的存取时间.

-c          不创建文件 file.

-m          修改文件 file 的修改时间

-r ref_file 将参照文件 ref_file 相应的时间戳记的数值作为指定文件 file 时间戳记的新值.

-t time      使用指定的时间值 time 作为指定文件 file 相应时间戳记的新值.此处的 time 规定为如下形式的十进制数∶ [[CC]YY]MMDDhhmm[.SS]

  这里,CC为年数中的前两位,即"世纪数";YY为年数的后两位,即某世纪中的年数.如果不给出CC的值,则touch 将把年数CCYY限定在1969--2068之内.MM为月数,DD为天将把年数CCYY限定在1969--2068之内.MM为月数,DD为天数,hh 为小时数(几点),mm为分钟数,SS为秒数.此处秒的设定范围是0--61,这样可以处理闰秒.这些数字组成的时间是环境变量TZ指定的时区中的一个时 间.由于系统的限制,早于1970年1月1日的时间是错误的。

0 0
原创粉丝点击