Linux 命令整理

一、文件目录命令

 对当前目录下所有文件下所有文件及内容赋予读写权限:chmod -R 777 *

1.建立目录:mkdir 目录名

2.删除空目录:rmdir 目录名

3.无条件删除子目录: rm -rf 目录名

4.改变当前目录:cd 目录名 (进入用户home目录:cd ~;进入上一级目录:cd -)

5.查看自己所在目录:pwd

6.查看当前目录大小:du

7.显示目录文件列表:ls -l (-a:增加显示隐含目录)

其中:蓝:目录;绿:可执行文件;红:压缩文件;浅蓝:链接文件;灰:其他文件;红底白字:错误的链接文件

8.浏览文件:more 文件名.txt;less 文件名.txt

9.复制文件: cp 源文件 目标文件 (-r:包含目录)

10.查找文件:(1)find (2)locate 命令名

11.链接:(1)建立hard链接:ln 来源文件 链接文件(-d:创建目录链接);(2)建立符号链接:ln -s 来源文件 链接文件

 

二、驱动挂载命令

1.检查硬盘使用情况:df -T -h

2.检查磁盘分区:fdisk -l

3.挂载软硬光区:mount -t /dev/fdx|hdax /mnt/目录名

其中::modos--FAT16;vfat--FAT32;ntfs--NTFS;光驱--iso9660

支持中文名:mount -o iocharset=x /dev/hdax /mnt/目录名(其中:x=cp936或

挂载光驱:mount -t auto /dev/cdrom /mnt/cdrom

挂载ISO文件:mount -t iso9660 -o loop xxx.iso /path

4.解除挂载:umount /mnt/目录名

解除所有挂载:umount -a

5.建立文件系统:mkfs -t /dev/hdxx。其中:ftype:ext2、ext3、swap

 

三、程序安装命令

1.RPM包安装:(1)安装 rpm -ivh somesoft.rpm

(2)反安装 rpm -e somefost.rpm

(3)查询 rpm -q somefost 或 rpm -qpi somefost.rpm(其中:p未安装;i包含的信息)

(4)查询安装后位置:rpm -ql somefost.rpm

(5)升级安装:rpm -Uvh somesoft.rpm

(6)强制安装:rpm -ivh --nodeps somesoft.rpm 或 rpm -ivh --nodeps --force somesoft.rpm

nodeps 与 force 前面的破折号是两个

2.源代码包安装:

查阅README

基本用法 (1)配置:解压目录下 ./configure

(2)编译:解压目录下 make

(3)安装:解压目录下 make install

3.src.rpm的安装

 

四、压缩解压命令

1.tar.gz类:(1)解压:tar -xvzf 文件.tar.gz;(2)tar.gz解至tar:gzip -d 文件.tar.gz(2)压缩:gzip 待压缩文件

2.tar未压缩类:(1)解包:tar -xvf 文件.tar;(2)打包:tar -cvf 文件.tar 文件列表

3.zip类:(1)解压:unzip 文件.zip -d dir;(2)压缩:zip zipfile 待压缩文件列表

4.bz2类:(1)解压:bunzip2 文件.bz2或bzip2 -d 文件.bz2;(2)压缩:bzip2 待压缩文件

5.z类:(1)解压:uncompress 文件.z;(2)压缩:compress 文件

 

五、进程控制命令

1.列出当前进程ID:ps -auxw

2.终止进程:(1)终止单一进程:kill 进程ID号

(2)终止该程序所有进程:Killall 程序名

(3)终止X-Window程序:xkill

3.查看资源占用情况:(1)top (2)free (3)dmesg

4.查看环境变量值:env

5.重启:(1)reboot (2)Ctrl Alt Del (3)init 6

6.关机:(1)shutdown -h now (2)halt (3)init 0

7.切换桌面:switchdesk gnome|KDE|...

 

六、 vi编辑器命令

:qx 开始记录宏,并将结果存入寄存器x
q 退出记录模式
@x 播放记录在x
寄存器中的宏命令
稍微解释一下,当在normal模式下输入:qx后,你对文本的所有编辑动作将会被记录下来,再次输入q即退出了记录模
式,然后输入@x对刚才记录下来的命令进行重复,此命令后可跟数字,表示要重复多少次,比如@x20,可以重复20次。这个在文本的批处理中是非常有用的。
同时编辑多个文件
在vim众多的插件中,有一个叫minibuffer的插件,就是下面所说的标签页功能了,可以支持同时编辑多个文件。
标签命令
:tabe fn 在一个新的标签页中编辑文件fn
gt 切换到下一个标签页
gT 切换到上一个标签页
:tabr 切换到第一个标签页
:tabl 切换到最后一个标签页
:tabm [N] 把当前tab移动到第N个tab之后
对,正如你所想象的那样,跟eclipse, ue等的标签页是一个意思!
窗口命令
ctrl+w s
水平分割窗口
ctrl+w w 切换窗口
ctrl+w q 退出当前窗口(由于同时有多个文件,此命令不会影响其他窗口)
ctrl+w v 垂直分割窗口
其他
vim在保存之前不会对文件做实际的修改,只是加载到
缓冲区中,对文件的编辑其实是对缓冲区的编辑,直到:w时才会存入物理文件。
:e file 把file加载到新的
缓冲区
:bn 跳转到下一个缓冲区
:bd 删除缓冲区(关闭文件)
:sp fn 分割窗口,并将fn加载到新的窗口中
退出编辑器
:w 将缓冲区写入文件,即保存修改
:wq 保存修改并退出
:x 保存修改并退出
:q 退出,如果对缓冲区进行过修改,则会提示
:q! 强制退出,放弃修改
查找替换
/pattern 向后搜索字符串pattern
?pattern 向前搜索字符串pattern
n 下一个匹配(如果是/搜索,则是向下的下一个,?搜索则是向上的下一个)
N 上一个匹配(同上)
:%s/old/new/g 搜索整个文件,将所有的old替换为new
:%s/old/new/gc 搜索整个文件,将所有的old替换为new,每次都要你确认是否替换
复制粘贴
dd 删除光标所在行
dw 删除一个字(word)
x 删除当前字符
X 删除前一个字符
D 删除到行末
yy 复制一行,此命令前可跟数字,标识复制多行,如6yy,表示从当前行开始复制6行
yw 复制一个字
y$ 复制到行末
p 粘贴粘贴板的内容到当前行的下面
P 粘贴粘贴板的内容到当前行的上面
]p 有缩进的粘贴,vim会自动调节代码的缩进
"a 将内容放入/存入a
寄存器,可以支持多粘贴板
附:比如常用的一个寄存器就是系统寄存器,名称为+,所以从系统粘贴板粘贴到vim中的命令为"+p,注意此处的+不表示操作符,二十一个寄存器。
移动光标
在vim中移动光标跟其他的编辑器中有很大的区别,不过一旦学会了,就会飞速的在文本中移动了。
h,j,k,l 上,下,左,右
ctrl-f 上翻一页
ctrl-b 下翻一页
% 跳到与当前括号匹配的括号处,如当前在{,则跳转到与之匹配的}处
w 跳到下一个字首,按标点或单词分割
W 跳到下一个字首,长跳,如end-of-line被认为是一个字
e 跳到下一个字尾
E 跳到下一个字尾,长跳
b 跳到上一个字
B 跳到上一个字,长跳
0 跳至行首,不管有无缩进,就是跳到第0个字符
^ 跳至行首的第一个字符
$ 跳至行尾
gg 跳至文件的第一行
gd 跳至当前光标所在的变量的声明处
[N]G 跳到第N行,如0G,就等价于gg,100G就是第100行
fx 在当前行中找x字符,找到了就跳转至
; 重复上一个f命令,而不用重复的输入fx
tx 与fx类似,但是只是跳转到x的前一个字符处
Fx 跟fx的方向相反
),( 跳转到上/下一个语句
* 查找光标所在处的单词,向下查找
# 查找光标所在处的单词,向上查找
`. 跳转至上次编辑位置
在屏幕上移动
H 移动光标到当前屏幕上最上边的一行
M 移动光标到当前屏幕上中间的一行
L 移动光标到当前屏幕上最下边的一行
书签
ma 把当前位置存成标签a
`a 跳转到标签a处
编辑
r 替换一个字符
J 将下一行和当前行连接为一行
cc 删除当前行并进入编辑模式
cw 删除当前字,并进入编辑模式
c$ 擦除从当前位置至行末的内容,并进入编辑模式
s 删除当前字符并进入编辑模式
S 删除光标所在行并进入编辑模式
xp 交换当前字符和下一个字符
u 撤销
ctrl+r 重做
. 重复上一个编辑命令
~ 切换大小写,当前字符
g~iw 切换当前字的大小写
gUiw 将当前字变成大写
guiw 将当前字变成小写
>> 将当前行右移一个单位
<< 将当前行左移一个单位(一个tab符)
== 自动缩进当前行
插入模式
i 从当前光标处进入插入模式
I 进入插入模式,并置光标于行首
a 追加模式,置光标于当前光标之后
A 追加模式,置光标于行末
o 在当前行之下新加一行,并进入插入模式
O 在当前行之上新加一行,并进入插入模式
Esc 退出插入模式
可视模式
标记文本
v 进入可视模式,单字符模式
V 进入可视模式,行模式
ctrl+v 进入可视模式,列模式,类似于UE的列模式
o 跳转光标到选中块的另一个端点
U 将选中块中的内容转成大写
O 跳转光标到块的另一个端点
aw 选中一个字
ab 选
中括号中的所有内容,包括括号本身
aB 选中{}括号中的所有内容
ib 选
中括号中的内容,不含括号
iB 选中{}中的内容,不含{}
对标记进行动作
> 块右移
< 块左移
y 复制块
d 删除块
~ 切换块中内容的大小写

 

六、rpm强制命令 

rpm -ivh --force --nodeps +rpm包名

例:rpm –ivh --nodeps --force MySQL-Cluster-gpl-client-7.0.9-0.rhel4.x86_64.rpm

nodeps 与 force 前面的破折号是两个
命令格式:
rpm -i ( or --install) options file1.rpm ... fileN.rpm

参数:
file1.rpm ... fileN.rpm 将要安装的RPM包的文件名

详细选项:
-h (or --hash) 安装时输出hash记号 (``#')
--test 只对安装进行测试,并不实际安装。
--percent 以百分比的形式输出安装的进度。
--excludedocs 不安装软件包中的文档文件
--includedocs 安装文档
--replacepkgs 强制重新安装已经安装的软件包
--replacefiles 替换属于其它软件包的文件
--force 忽略软件包及文件的冲突
--noscripts 不运行预安装和后安装脚本
--prefix 将软件包安装到由 指定的路径下
--ignorearch 不校验软件包的结构
--ignoreos 不检查软件包运行的操作系统
--nodeps 不检查依赖性关系
--ftpproxy 用 作为 FTP代理
--ftpport 指定FTP的端口号

 

八、Yum使用

目的

  1. 如何使用yum软件管理工具;
  2. 如何将rpm包放置到yum服务器上;
  3. 配置好客户端的yum源;

 

yum介绍

  • yum(Yellow dog Updater, Modified)是redhat系列(包括CentOS、SUSE、Fedora等发行版本)操作系统特有的软件管理工具,类似FreeBSD的port和Debian的apt-get,当然yum有着更强大的功能,无论是图形还是文字界面上的。

yum常用命令

  1. yum search
    • yum search主要用于查找yum服务器(remote)上的软件包,一般低版本的yum会给出详细的版本和描述信息,高版本的yum则只给出简单的描述信息;
    • yum search后面接的包名称可以使用shell里面的POSIX正则的通配,比如"*"、"[:alnum:]"等,可以通过管道(|)和shell的各种特点来缩小范围,达到精确的搜索结果;
  2. yum install
    • yum install主要用于安装yum服务器上的软件包;
    • yum install默认安装是带询问提示,如果不想提示,则需要加上"-y"的选项
    • yum install一般和yum search结合使用;
  3. yum list
    • yum list一般是用来查找目前机器上(local)已经安装了哪些软件包;
    • yum list与rpm -qa等效,可以结合管道和shell里面的各种特性达到查询的目的;
  4. yum clean
    • yum clean是主要用来清除一些临时文件和yum下载服务器的一些repo等缓存信息;
    • 当服务器刚刚更新软件包后,yum search并不能马上找到服务器上的更新,需要yum clean清除repo信息的缓存后,才能yum install,具体用法可以查看yum clean的帮助;
    • yum clean可以后面接all清除一切缓存信息;

 

九、yum服务器

rpm软件包放置的一点小知识

  1. 目前世界上的服务器的操作系统根据cpu寻址的型号,一般分为32位和64位操作系统;
  2. 通常来说i386、i486、i586、i686都属于32位带宽Intel构架(IA32:32 bits Intel Architecture),可以表示为x86_32,但是一般不这么表示,直接用x86来表示;同理,64位带宽Intel构架一般用x86_64来表示
  3. 一般来说,i386是基于80386的cpu,后续的x86都是以80386为基础扩展而来.i486指的是基于intel 80486cpu的体系结构,i586指的是基于intel奔腾I代的cpu,i686指的是基于奔腾II/III以上的cpu;
  4. 操作系统中:
  [cnangel@yum ~]$uname -a
  Linux yum.xxx.com 2.6.9-67.ELsmp #1 SMP Wed Nov 7 13:58:04 EST 2007 i686 i686 i386 GNU/Linux

这三个红色标记代表的含义如下:

  machine hardware name:i686
  processor type:i686
  hardware platform:i386

通常,标有i686的rpm包能在奔腾二代以上的CPU上执行,支持i686的机器向下兼容i386的包,只是不能发挥更佳的效能。而硬件只支持i386的处理器平台,则不能上i686的rpm包。

 

rpm软件包命名

  • rpm软件包命名有自己的规范,一般来说是软件名称-版本号-发行号.系统名称.系统平台.rpm,举例说明一下:
  syncengine-1.0.2-10.fc10.x86_64.rpm
  syncengine: 软件名称
  1.0.2: 版本号
  10: 发行号或发行标记,可以使用alpha(A)、debug(D)、beta(B)、release(R)四个版本,某些情况也可以使用test(T)
  fc10: 表示对应于Fedor10的发行版的Linux
  x86_64: 系统平台的版本,通常有i386等,如果是noarch则表示对硬件没有级别限制
  rpm: 后缀名称,如果是以.src.rpm为后缀的,说明包中还同时带有软件的原代码

 

rpm软件包目录放置

  • 以某机器为例,首先登录到 yum.xxx.com 服务器上;
  • 进入到放置rpm包的目录下,比如 /home/yum/xxx 目录下,这下面是yum.xxx.com的yum源位置;
  • 目录下一般有4AS、5AS等目录,这些目录指 Red Hat Enterprise Linux 4 Advanced ServerRed Hat Enterprise Linux 5 Advanced Server,简称RHEL4或4AS、RHEL5或5AS;
  • 根据所在机器的属性,选择相对应的目录进入,这里选择 4AS 目录;
  • 4AS目录下面一般有几个目录:
|-- SRPMS
|-- RPMS
|   |-- i386
|   |-- i486
|   |-- i586
|   |-- i686
|   |-- noarch
|   `-- x86_64
  • 其它目录,比如 5 目录一样也是类似结构,根据机器的配置信息(可用 uname -a 进行查看),进入相应的目录,这里选择x86_64;
  • 然后将已经编译好的rpm软件包(syncengine-1.0.2-10.rhel4.x86_64.rpm)放置到x86_64目录下即可;

 

服务器上repo的更新

  • 上面说到在yum服务器上,我们已经将rpm包放置好了,但是这样还不行,因为服务器上repo文件没有更新,这个文件相当于索引文件,如果没有更新,我们在客户端使用yum命令的时候,就不会得到更新的rpm包;
  • 一般来说,到当前放置rpm软件包的目录下执行命令:
  createrepo -p --update -o . .

这里有一个可批量更新样例脚本如下所示:

#!/bin/bash
# $Id: updaterepo.sh 783 2009-02-25 15:01:53Z gaosy $

CR="/usr/bin/createrepo"
RHELMAJ="4 5"
ARCH="i386 SRPMS x86_64"
BRANCH="current stable test"

# for abc.com
BASEDIR="/home/yum/abc"
for r in $RHELMAJ
do
	for a in $ARCH
	do
		for b in $BRANCH
		do
			cd $BASEDIR/$r/$a/$b
				$CR -p --update -o . .
		done
	done
done

# for xyz
BASEDIR="/home/yum/xxx"
ARCH="i386 SRPMS x86_64 noarch"
for r in $RHELMAJ
do
	for a in $ARCH
	do
		cd $BASEDIR/$r/$a
			$CR -p --update -o . .
	done
done

YUM="/usr/bin/yum"
$YUM makecache
  • 完成更新后,使用yum makecache制作一下缓存,服务器端的配置就算完成了。

 

十、yum客户端

客户端配置

  • yum的设置在 /etc/yum.conf 文件中:
  [main]
  cachedir=/var/cache/yum
  keepcache=0
  debuglevel=2
  logfile=/var/log/yum.log
  distroverpkg=redhat-release
  tolerant=1
  exactarch=1
  obsoletes=1
  gpgcheck=1
  plugins=1
  
  # Note: yum-RHN-plugin doesn't honor this.
  #metadata_expire=1h
  
  # Default.
  # installonly_limit = 3 
  
  # PUT YOUR REPOS HERE OR IN separate files named file.repo
  # in /etc/yum.repos.d

其中 gpgcheck 可以设置为 0,表示不检查gpg密钥,但是这样会导致软件的安装源不会受到信任检查,发生安全隐患。

 

客户端repo配置

  • 在目录 /etc/yum.repos.d 下,比如有一个 xxx.repo 文件,这里面主要存放服务器的repo路径信息,如下所示:
  [xxxbase]
  name=Base PKG by ASC 
  baseurl=http://yum.xxx.com/xxx/$releasever/$basearch
  enabled=1
  gpgkey=http://yum.xxx.com/xxx/RPM-GPG-KEY-xxx
  
  [xxxnoarch]
  name=Noarch PKG by ASC 
  baseurl=http://yum.xxx.com/xxx/$releasever/noarch
  enabled=1
  gpgkey=http://yum.xxx.com/xxx/RPM-GPG-KEY-xxx
  
  [xxxsrpms]
  name=SRPMS by ASC 
  baseurl=http://yum.xxx.com/xxx/$releasever/SRPMS
  enabled=1
  gpgkey=http://yum.xxx.com/xxx/RPM-GPG-KEY-xxx

可以通过 enabled=1来开关yum源,通过gpgkey更换yum源的公钥,当然新版本的yum会有更多的选项供使用者来配置

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值