Skip to content Skip to main navigation Skip to footer

Fedora

How to Install VLC Media Player on Fedora 31 30 Linux

This post will show you how to install VLC Media Player on your Fedora 30 or Fedora 31 Linux. How do I install the latest VLC Player version through command line on the latest Fedora Linux operating system? This guide will show step by step instruction to install VLC Media Player and remove it in CentOS Fedora 30 Linux.

What is VLC Media Player?


VLC is a free and open source cross-platform multimedia player and framework that plays most multimedia files as well as DVDs, Audio CDs,

VCDs and various streaming protocols. It supports most of the common video formats, so it is very popular in the Linux world. VLC is a free and portable open-source media player for both Audio and video. It also has a modular application design and it also be translated in several languages.

VLC Media Player is also available for Desktop operating systems and mobile platforms, such as: Window phone, Android, IOS and Tizen.
Before launch VLC Player, you need to make sure that a graphical environment is installed on your CentOS 8 system, so that you can be able to use VLC media player.

install vlc player ubuntu 20.04_13

There are different methods to install VLC media player on Fedora 31 or Fedora 30 system. you can either use the default dnf package manager tool or use another tool called snap package manager.

Install VLC Media Player on Fedora 31 /30 using DNF Package Manager


To install VLC Media Player on your Fedora 31 /30 Linux system, and just do the following steps:

Step1: install RPM Fusion Repository

Since VLC packages are available in the RPM Fusion repository that maintained by a community to provide additional packages that can not be distributed in the default Fedora repo.

Just execute the following two commands on the terminal to install and enable RPM Fusion repository, type:

$ sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
$ sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

Outputs:

[root@localhost ~]# sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
Last metadata expiration check: 0:39:31 ago on Tue 15 Sep 2020 09:28:37 PM CST.
rpmfusion-free-release-30.noarch.rpm 6.1 kB/s | 13 kB 00:02
Dependencies resolved.
============================================================================================================================================================================================
Package Architecture Version Repository Size
============================================================================================================================================================================================
Downgrading:
rpmfusion-free-release noarch 30-1 @commandline 13 k

Transaction Summary
============================================================================================================================================================================================
Downgrade 1 Package

Total size: 13 k
Is this ok [y/N]: y
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Downgrading : rpmfusion-free-release-30-1.noarch 1/2
Cleanup : rpmfusion-free-release-30-2.noarch 2/2
Verifying : rpmfusion-free-release-30-1.noarch 1/2
Verifying : rpmfusion-free-release-30-2.noarch 2/2

Downgraded:
rpmfusion-free-release-30-1.noarch

Complete!

Once it is installed successfully. One RPM Fusion repo file should be created under the /etc/yum.repos.d/ directory.
You can verify all repo list by run the below command:

$ dnf repolist

Outputs:

[root@localhost ~]# dnf repolist
repo id repo name
fedora Fedora 30 - x86_64
fedora-modular Fedora Modular 30 - x86_64
rpmfusion-free RPM Fusion for Fedora 30 - Free
rpmfusion-free-updates RPM Fusion for Fedora 30 - Free - Updates
rpmfusion-nonfree RPM Fusion for Fedora 30 - Nonfree
rpmfusion-nonfree-updates RPM Fusion for Fedora 30 - Nonfree - Updates
updates Fedora 30 - x86_64 - Updates
updates-modular Fedora Modular 30 - x86_64 - Updates
virtualbox Fedora 30 - x86_64 - VirtualBox

From the above outputs, you can see that rpmfusion-free-updates repo has been enabled.

Step2: install VLC Media Player on Fedora 31/30

Now you can install VLC Media player package using dnf command on your Fedora 31/30 Linux system, type the following command:

$ sudo dnf install vlc

Outputs:

[root@localhost ~]# sudo dnf install vlc
Last metadata expiration check: 0:41:45 ago on Tue 15 Sep 2020 09:28:37 PM CST.
Dependencies resolved.
============================================================================================================================================================================================
Package Architecture Version Repository Size
============================================================================================================================================================================================
Installing:
vlc x86_64 1:3.0.10-1.fc30 rpmfusion-free-updates 1.6 M

Transaction Summary
============================================================================================================================================================================================
Install 35 Packages

Total download size: 20 M
Installed size: 90 M
Is this ok [y/N]:
Complete!
[root@localhost ~]#

Note: if you want to run VLC Media Player in Web browsers, and you need to install the following packages via dnf package manager. type:

$ sudo dnf install python-vlc npapi-vlc

Once VLC is installed successfully on your system, and you can use the following rpm command with -q option to verify it.

$ rpm -q vlc

Outputs:

[root@localhost ~]# rpm -q vlc
vlc-3.0.10-1.fc30.x86_64
Step3: launch the VLC Media Player on Fedora 30/31

You can now launch the VLC player either from the command line interface by running the following vlc command or by clicking on Activities menu, then click on “Applications”” menu, click on “VLC media player” icon to start VLC.

install vlc media player fedora 31_1

Once it has opened, and you need to accept the Privacy and Network Access Policy, then click Continue to start using VLC Media player to play your favorate Audio or Video.

$ vlc

 

Install VLC Media Player on Fedora 31 /30 using SNAP Package Manager


There is another alternate method to install VLC Media Player on your Fedora 30/31. you just need to run the following commands:

$ sudo snap install vlc

outputs:

[devops@localhost ~]$ sudo snap install vlc
Download snap "snapd" (8790) from channel "stable" 3% 177kB/s 2m53s
vlc 3.0.11 from VideoLAN✓ installed

Removing VLC Media Player From Fedora 31/30


If you want to remove or uninstall VLC Media Player application from your Fedora 30/31 Linux system, and you can execute the following command on the terminal, type:

$ sudo dnf remove vlc

Set VLC Media Player as the Default Media Player


If you want to set VLC Media Player as the default media player on your current Fedora 30/31 Linux system, and just do the following steps:
Step1: click Activities menu to open “Activities” window.
Step2: type “default applications” keyword in searching box and then click on it. The “Default Applications” window will appear.
Step3: select “VLC Media Player” option from drop down menu list of both Music and Video.

install vlc media player fedora 31_2

Conclusion


You should know that how to install VLC Media Player on Fedora 31/30 Linux system. and if you want to get more details about VLC, and you can visit its official page.

 

vim 命令大全 / vi 命令大全

vim 命令作为linux系统下使用最多的文本编辑器,功能十分强大,里面包含了操作文本的各种命令。本文收集了在linux系统下的 最常用的vim 命令大全 /vi 命令大全。
vi/vim
vim 命令大全
光标控制命令:
命令 光标移动
h 向左移一个字符
j 向下移一行
k 向上移一行
l 向右移一个字符
G 移到文件的最后一行
w 移到下一个字的开头
W 移到下一个字的开头,忽略标点符号
b 移到前一个字的开头
B 移到前一个字的开头,忽略标点符号
L 移到屏幕的最后一行
M 移到屏幕的中间一行
H 移到屏幕的第一行
e 移到下一个字的结尾
E 移到下一个字的结尾,忽略标点符号
( 移到句子的开头
) 移到句子的结尾
{ 移到段落的开头
} 移到下一个段落的开头
0(数字), | 移到当前行的第一列
^ 移到当前行的第一个非空字符
$ 移到当前行的最后一个字符
+, Enter 移到下一行的第一个字符
– 移到前一行的第一个非空字符
 
在 vi 中添加文本:
命令 插入动作
a 在光标后插入文本
A 在当前行插入文本
i 在光标前插入文本
I 在当前行前插入文本
o 在当前行的下边插入新行
O 在当前行的上边插入新行
s 删除光标所在处字符,并进入插入模式
S 删除光标所在的行,并进入插入模式
:r file 读入文件 file 内容,并插在当前行后
:nr file 读入文件 file 内容,并插在第 n 行后
Esc 回到命令模式
^v char 插入时忽略 char 的指定意义,这是为了插入特殊字符
 
在 vi 中删除文本:
命令 删除操作
x 删除光标处的字符
dw 删至下一个字的开头
dG 删除行,直到文件结束
dd 删除整行
db 删除光标前面的字
:n,md 从第 m 行开始往前删除 n 行
d, d$ 从光标处删除到行尾
^h, backspace 插入时,删除前面的字符
^w 插入时,删除前面的字
 
修改 vi 文本:
每个命令前面的数字表示该命令重复的次数
命令 替换操作
rchar 用 char 替换当前字符
R text escape 用 text 替换当前字符直到按下 Esc 键
stext escape 用 text 代替当前字符
S 或 cctext escape 用 text 代替整行
cwtext escape 将当前字改为 text
Ctext escape 将当前行余下的改为 text
cG escape 修改至文件的末尾
ccursor_cmd text escape 从当前位置处到光标命令位置处都改为 text
 
在 vi 中查找与替换:
命令 查找与替换操作
/text 在文件中向前查找 text
?text 在文件中向后查找 text
n 在同一方向重复查找
N 在相反方向重复查找
ftext 在当前行向前查找 text
Ftext 在当前行向后查找 text
ttext 在当前行向前查找 text,并将光标定位在 text 的第一个字符
Ttext 在当前行向后查找 text,并将光标定位在 text 的第一个字符
:set ic 查找时忽略大小写
:set noic 查找时对大小写敏感
:ranges/pat1/pat2/g 用 newtext 替换 oldtext
:m,ns/oldtext/newtext 在 m 行通过 n,用 newtext 替换 oldtext
& 重复最后的 :s 命令
:g/text1/s/text2/text3 查找包含 text1 的行,用 text3 替换 text2
:g/text/command 在所有包含 text 的行运行 command 所表示的命令
:v/text/command 在所有不包含 text 的行运行 command 所表示的命令
 
在 vi 中复制文本:
命令 复制操作
yy 将当前行的内容放入临时缓冲区
nyy 将 n 行的内容放入临时缓冲区
p 将临时缓冲区中的文本放入光标后
P 将临时缓冲区中的文本放入光标前
“(a-z)nyy 复制 n 行放入名字为圆括号内的可命名缓冲区,省略 n 表示当前行
“(a-z)ndd 删除 n 行放入名字为圆括号内的可命名缓冲区,省略 n 表示当前行
“(a-z)p 将名字为圆括号的可命名缓冲区的内容放入当前行后
“(a-z)P 将名字为圆括号的可命名缓冲区的内容放入当前行前
 
在 vi 中撤消与重复:
命令 撤消操作
u 撤消最后一次修改
U 撤消当前行的所有修改
. 重复最后一次修改
, 以相反的方向重复前面的 f、F、t 或 T 查找命令
; 重复前面的 f、F、t 或 T 查找命令
“np 取回最后第 n 次的删除(缓冲区中存有一定次数的删除内容,一般为 9)
n 重复前面的 / 或 ? 查找命令
N 以相反方向重复前面的 / 或 ? 命令
 
保存文本和退出 vi:
命令 保存和/或退出操作
:w 保存文件但不退出 vi
:w file 将修改保存在 file 中但不退出 vi
:wq 或 ZZ 或 😡 保存文件并退出 vi
:q! 不保存文件,退出 vi
:e! 放弃所有修改,从上次保存文件开始再编辑
 
vi 中的选项:
选项 作用
:set all 打印所有选项
:set nooption 关闭 option 选项
:set nu 每行前打印行号
:set showmode 显示是输入模式还是替换模式
:set autoindent 继承前一行的缩进方式,特别适用于多行注释
:set smartindent 为C程序提供自动缩进
:set list 显示制表符(^I)和行尾符号
:set ts=8 为文本输入设置 tab stops
:set window=n 设置文本窗口显示 n 行
:set number 显示行数
:set nonumber 取消显示行数
 
vi 的状态:
选项 作用
:.= 打印当前行的行号
:= 打印文件中的行数
ctrl+g 显示文件名、当前的行号、文件的总行数和文件位置的百分比
:l 使用字母 “l” 来显示许多的特殊字符,如制表符和换行符
 
在文本中定位段落和放置标记:
选项 作用
{ 在第一列插入 { 来定义一个段落
[[ 回到段落的开头处
]] 向前移到下一个段落的开头处
m(a-z) 用一个字母来标记当前位置,如用 mz 表示标记 z
‘(a-z) 将光标移动到指定的标记,如用 ‘z 表示移动到 z
 
在 vi 中连接行:
选项 作用
J 将下一行连接到当前行的末尾
nJ 连接后面 n 行
 
光标放置与屏幕调整:
选项 作用
H 将光标移动到屏幕的顶行
nH 将光标移动到屏幕顶行下的第 n 行
M 将光标移动到屏幕的中间
L 将光标移动到屏幕的底行
nL 将光标移动到屏幕底行上的第 n 行
^e(ctrl+e) 将屏幕上滚一行
ctrl+y 将屏幕下滚一行
ctrl+u 将屏幕上滚半页
ctrl+d 将屏幕下滚半页
ctrl+b 将屏幕上滚一页
ctrl+f 将屏幕下滚一页
ctrl+l 重绘屏幕
z-return 将当前行置为屏幕的顶行
nz-return 将当前行下的第 n 行置为屏幕的顶行
z. 将当前行置为屏幕的中央
nz. 将当前行上的第 n 行置为屏幕的中央
z- 将当前行置为屏幕的底行
nz- 将当前行上的第 n 行置为屏幕的底行
 
vi 中的 shell 转义命令:
选项 作用
:!command 执行 shell 的 command 命令,如 :!ls
:!! 执行前一个 shell 命令
:r!command 读取 command 命令的输入并插入,如 :r!ls 会先执行 ls,然后读入内容
:w!command 将当前已编辑文件作为 command 命令的标准输入并执行 command 命令,如 :w!grep all
:cd directory 将当前工作目录更改为 directory 所表示的目录
:sh 将启动一个子 shell,使用 ^d(ctrl+d) 返回 vi
:so file 在 shell 程序 file 中读入和执行命令
 
vi 中的宏与缩写:
(避免使用控制键和符号,不要使用字符 K、V、g、q、v、*、= 和功能键)
选项 作用
:map key command_seq 定义一个键来运行 command_seq,如 :map e ea,无论什么时候都可以 e 移到一个字的末尾来追加文本
:map 在状态行显示所有已定义的宏
:umap key 删除该键的宏
:ab string1 string2 定义一个缩写,使得当插入 string1 时,用 string2 替换 string1。当要插入文本时,键入 string1 然后按 Esc 键,系统就插入了 string2
:ab 显示所有缩写
:una string 取消 string 的缩写
 
在 vi 中缩进文本:
选项 作用
ctrl+i或 tab 插入文本时,插入移动的宽度,移动宽度是事先定义好的
:set ai 打开自动缩进
:set sw=n 将移动宽度设置为 n 个字符
n> 使 n 行都向右移动一个宽度,例如 3>> 就将接下来的三行每行都向右移动一个移动宽度
更多参考:
1. Linux 下 vi/vim 文本编辑器超详细使用指南
2. Linux/Ubuntu:在命令行下安装vim文本编辑器
3. linux vi/vim man 帮助文档

29个最基本的 vim /vi 命令

本文收集了29个在日常工作中最常使用的29个基本 vim 命令 / vi 命令,对于linux初学者来说,这些命令是必须要掌握的。
vi/vim
1.vim
#在命令行中输入vim,进入vim编辑器
2.i
#按一下i键,下端显示 –INSERT–
#插入命令,在vim中可能任意字符都有作用
3.Esc
#退出i(插入)命令进行其它命令使用
4.:r filename
#读入一个文件内容,并写入到当前编辑器中
5.:w newfilename
#将该编辑器中的内容写入到一个新文件中
6.:w
#在编辑的过程中保存文件,相当于word中的ctrl+s
7.:! command
暂时离开 vi 到指令列模式下执行 command 的显示结果!例如
:!ls
#在编辑过程中执行shell命令ls
8.:sh
#进入shell命令行,执行完命令后ctrl+d退出重新进入vim编辑继续编辑
在shell命令下,执行ctral+l完成清屏
9.:wq
#保存文件并退出
10.ZZ
#保存文件并退出,同上一个命令,注意大写
11.:q!
#强制退出,不保存
12.:set number或者:set nu
#使编辑中的文件显示行号
13.:set nonumber或者:set nonu
#与上一条命令相反,不显示行号
14.:help i
#查看插入命令帮助
15.u
#撤消上一步操作
16./Fedora
#查找Fedora字符
17.:s /Fedora/Redhat
#将Fedora字符替换为Redhat(只替换在光标所在的行)
18.dw
#删除单词
dd
#删除行
19.o
#打开空白一行
20.vim + filename
#进行文件最后一行进行编辑
21.vim +n filename
#进入文件第n行进行编辑
22.:1,.s/redhat/fedora
#.号表示当前行,即光标所在行
#将第1行到当前行(.)第一次出现的redhat字符代替为fedora
23.:1,.s/redhat/fedora/g
#将第1行到当前行(.)所有出现的redhat字符代替为fedora,g
全局标志
24.:1,$s/redhat/fedora/g
#$表示最后一行
#将第1行到最后一行所有出现的redhat字符代替为fedora
25.:%s/redhat/fedora/g
#同上一个命令
26.:%s/\/fedora/g
#将第1行到最后一行所有出现的redhat字代替为fedora
#字,而不是字符
27.:f
#显示文件内容,状态等等
#同ctrl+g命令
28.:e!
#当前文件,返回到上次保存
:e file
#切换编辑文件
29.:n
#当编辑时有多个文件(比如vim file1 file2)时切换到下一个文件,与:e file
结合使用
更多参考:
1. Linux 下 vi/vim 文本编辑器超详细使用指南
2. Linux/Ubuntu:在命令行下安装vim文本编辑器
3. linux vi/vim man 帮助文档

Linux下如何使用vi /vim 文本编辑器做批量字符串替换

在linux下我们最常使用的文本编辑器就是是vi 编辑器了,那么如何使用linux vi 文本编辑器来做批量的字符串替换呢? 本文将会讲述如何使用linux vi /vim 文本编辑器来做字符串的批量替换。
vi/vim 
#1 使用linux vi /vim 编辑器做文件内全部替换
输入下面的命令:

%s#old#new#g
 

上面的命令会将文本内的所有的old字符串替换成“new”.这里使用了 ”#“ 分隔符,当然你也可以使用其它的,比如”/”.
 
#2 使用linux vi /vim 编辑器做文件内局部替换
输入下面的命令:

:10,20s/old/new/g
 

上面的vi /vim 命令会将文件内的第10行到20行直接的所有的old字符串替换成new。
对于上的命令如果在命令后面再加上”c”选项,这样在vi 替换字符串之前会出现提示符确认,是否要执行字符串替换。
输入下面的命令:

:10,20s/old/new/gc
 

 
更多参考:
1. Linux 下 vi/vim 文本编辑器超详细使用指南
2. Linux/Ubuntu:在命令行下安装vim文本编辑器
3. linux vi/vim man 帮助文档

linux下如何退出vi/vim 文本编辑器

当你用vi/vim 文本编辑器打开一个文件的时候,并且对文件做了更改,之后如何来退出vi编辑器呢? 退出vi/vim 编辑器又分为以下几种:不保存退出vi/vim 编辑器,保存退出vi/vim 编辑器,只保存不退出vi/vim编辑器,没有更改直接退出vi/vim编辑器。下面我们分别来说以下这四种退出vi/vim的方法:
vi/vim 
#1不保存退出vi/vim 编辑器
这个我们在之前的文章中讲过如何不保存退出vi/vim编辑器,简单的说就是从输入模式返回到命令模式,然后输入“”,在输入”q!“,回车后,就可以不保存退出vi/vim编辑器
 
#2保存退出vi/vim 编辑器
在linux vi/vim 文本编辑器里,保存并退出vi/vim编辑器的方法有多种:
1)在末行模式下,输入”:“后,再输入”wq“,回车就可以保存退出vi/vim文本编辑器。
2)在命令模式下,输入两次大写字母”z“,如果当前编辑的文件被更改过,那么会保存文件并退出vi/vim 编辑器,如果没有编辑修改过,那么会直接退出vi/vim编辑器。
3)在末行模式下,输入”“后,再输入”x“,回车后即可保存并退出vi/vim编辑器。
 
#3只保存不退出vi/vim编辑器
如果想对当前编辑的文件,只做保存操作,但并不退出vi/vim编辑器(在编辑文档的时候要记得保存,否则可能会因为系统宕机引起文件更改丢失或不保存),进入末行模式,输入”:”后,再输入“w”,回车,就可以随时保存当前文件更改。
 
#4 没有更改直接退出vi/vim编辑器
如果使用vi/vim 文本编辑器打开了文件,但并没有对文件做任何的更改,可以直接退出,进入末行模式,输入”:”,再输入”q”,回车后就可以退出vi/vim编辑器,返回shell。
 
以上是总结的关于linux下退出 vi/vim 编辑器的几种情况和退出方法。
更多参考:
1. Linux 下 vi/vim 文本编辑器超详细使用指南
2. Linux/Ubuntu:在命令行下安装vim文本编辑器
3. linux vi/vim man 帮助文档

Linux 下 vi/vim 文本编辑器超详细使用指南

Linux下的编辑器最常用的就是vim或者vi文本编辑。vi 和vim 编辑器的区别是vim是vi的改进版本,在vi 编辑器的基础上上扩展了很多实用的功能。 大多数的linux/unix 发行版本中都使用 vim 代替了原来的 vi 文本编辑器。 如果是centos或者redhat系统,当系统安装完毕后,vi/vim 文本编辑器默认情况下就已经被安装了。如果是debian/ubuntu系统下,默认情况下,vim编辑器是不会被安装的。你需要在ubuntu系统下手动安装vim编辑
vi/vim文本编辑器是我们在linux系统下工作可以说是必须会使用的一个工具,因为linux系统的设计理念是一切皆文件,也就是说,你在linux里的任何操作都是对文件的操作,所以会经常去操作文件,更改文件,保存文件,退出并保存文件。那么在linux下,如何使用vim/vi 文本编辑器来新建文件,编辑文件,保存文件呢? 如何使用vim/vi文本编辑器的查找命令来查找特定的文本呢? 如何使用vim/vi 文本编辑器中的查找并替换命令来对文本做批量更改呢?
本文将会给大家详细讲述如何在linux操作系统下使用vi/vim 文本编辑器。
 
vi/vim模式介绍
在linux vi/vim 文本编辑器里有三种模式:命令模式输入模式末行模式。这三者模式的区别是什么呢?
命令模式是vi/vim 编辑器进入后的默认模式,从命令模式可以切换到输入模式和末行模式,如果当你进入另外的两种模式后,可以使用“ESC”键退回到命令模式。在命令模式下,可以输入一些文本编辑器特有的命令,比如说你想编辑文件,那么就需要输入“i”,让当前模式变为插入模式或者输入模式,这样你就可以编辑这个文本了。
输入模式顾名思义就是要对本文做输入的操作,也就是说可以对文件做出更改操作。否则,你在命令模式下,vi/vim 文本编辑器是只读模式,你无法对文本做出更改。
末行模式是是命令模式下输入”:”,当你在输入模式下,对文件做了更改,那么需要先退回到命令命令,再进入末行模式,并输入”wq”后,即可保存并退出 vi/vim 文本编辑器。如果想不保存退出 vi/vim 文本编辑器,那么直接输入”q!”,即可。
 
在linux系统下运行 vi/vim 文本编辑器
在linux命令行下,输入 vi 或者vim 命令:

vi
 

或者

vim
 

linux vi vim 文本编辑器
 
linux 下 vim/vi 文本编辑器常用命令
#1 进入vi/vim文本编辑器的命令
vi filename:打开或新建文件,并将光标置于第一行行首的位置
vi +n filename: 打开文件,并将光标置于第n行的位置
vi + filename: 打开文件,并将光标置于最后一行的位置
vi +/pattern filename: 打开文件,并将光标置于第一个与pattern匹配的行首
vi -r filename: 在上次征用vim 文本编辑器的时候发生系统奔溃后,恢复filename 文件
vi filename1…filenamen: linux vi/vim 文本编辑器可以通过打开多个文件,依次进行编辑
#2 linux vi/vim 文本编辑器下移动光标的命令
H: 光标移到屏幕顶行
M: 光标移到屏幕中间行
L: 光标移到屏幕最后行
0: 光标移到当前行首
$: 光标移到当前行尾
#3 linux vi/vim 文本编辑器下屏幕翻滚类命令
Ctrl+F:向前翻整页
Ctrl+U:向前翻半页
Ctrl+B:向后翻整页
Ctrl+D:向后翻半页
#4 Linux vi/vim 文本编辑器插入文本类命令
i: 在光标前
I:在当前行行首
a: 在光标后
A: 在当前行尾
o: 在当前行之下新开一行
O: 在当前行之前新开一行
#5 Linux vi/vim 文本编辑器删除命令
do:删至行首
d$: 删至行尾
dd: 删除光标所在行
ndd: 删除当前航及其后n-1行
D: 删除当前光标到行尾的内容
Ctrl+u: 删除输入方式下输入的所有文本
#6 Linux vi/vim 文本编辑器搜索及替换命令
/pattern: 从光标开始处向文件尾搜索pattern模式
?pattern: 从光标开始处向文件首搜索pattern 模式
:s/p1/p2/g : 将当前行中所有p1替换成p2
:n1,n2s/p1/p2/g:将第n1行到n2行中所有的p1替换成p2
:g/p1/s//p2/g:将文件中所有的p1替换成p2
#7 Linux vi/vim 文本编辑器拷贝和粘贴命令
在vi/vim文本编辑器中”y”表示拷贝,”d”表示删除, “p”表示粘贴,通常与光标移动命令结合使用
y$: 表示拷贝从当前光标处到行尾的内容
d$: 表示删除从当前光标到行尾的内容
yy: 表示拷贝光标所在行
#8 Linux vi/vim 文本编辑器撤销操作命令
u:取消最近一次的操作
U:取消所有的操作
#9 vi/vim 编辑器末行模式下的命令
n1,n2 d: 将n1行到n2行之间的内容删除
:w 保存当前文件
:e filename 打开文件filename进行编辑
:x 保存当前文件并推出
:q 退出 vi/vim 编辑器
:q! 不保存并退出vi/vim编辑器
以上是linux 下vi/vim 文本编辑器里最常用的命令集合。更多关于vi/vim编辑器的使用,可以参考官方帮助文档。
更多参考:
1.linux vi/vim man 帮助文档
2. Linux/Ubuntu:在命令行下安装vim文本编辑器
3. vi/vim里如何退出不保存?

CentOS/RHEL:如何使用Cp/rm/mv命令的强制覆盖操作

在centos linux系统上如果你想使用cp/rm/mv的强制覆盖操作,默认情况下,系统会对着几个命令做不能强制覆盖的别名操作。所以如何来取消命令的别名,执行强制覆盖操作呢。
习惯了freebsd里的cp/rm/mv等命令遇到同名文件时直接覆盖操作,而在linux中(不一定是全部,可能是我使用的几种),使用cp/rm/mv命令覆盖文件操作时总是提示输入yes或no,很是麻烦,一两个的也就算了,没什么,但有时会遇到大量文件的复制时,就麻烦了,要一个一个输入yes才能进行,即使加上了-f参数也无法达到强制覆盖。于是查阅资料后,找到一些小技巧,下面仅以cp命令为例,详细说明
一、使用unalias cp命令 解除对cp的别名(仅本次终端连接会话临时取消),我们先输入alias命令,查看系统内部已经设置的别名

 [root@localhost ~]# alias
    alias cp='cp -i'
    alias l.='ls -d .* --color=tty'
    alias ll='ls -l --color=tty'
    alias ls='ls --color=tty'
    alias mv='mv -i'
    alias rm='rm -i'
    alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
 

输入unalias cp命令,取消cp命令的别名

   [root@localhost ~]# unalias cp
    [root@localhost ~]# cp filename new/filename
    [root@localhost ~]#
 

使用unalias cp命令后,即可使用cp filename new/filename就不会提示输入yes或no了,是不是很方便
二、直接输入\cp命令,作用也是取消cp的别名

    [root@localhost ~]# \cp filename new/filename
    [root@localhost ~]#
 

是不是比上一个方法更省事
三、使用管道的方式,自动输入yes

    [root@localhost ~]# yes | cp filename new/filename
    cp: overwrite `new/filename'? [root@localhost ~]#
 

自己替我们输入了yes
原文:92csz.com

CentOS/Linux:如何理解系统的目录结构

对于初学linux的人来说,一定要对系统的目录结构有深入的了解,也是刚开始学linux必须掌握的知识点。本文将会讲述linux的目录结构以及对目录结构里的不同目录做分析。
linux的系统目录结构如下图
linux 目录结构
/: 根目录,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中
/bin:/usr/bin: 可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。
/boot: 放置linux系统启动时用到的一些文件。/boot/vmlinuz为linux的内核文件,以及/boot/grub。建议单独分区,分区大小100M即可
/dev: 存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱mount /dev/cdrom /mnt。
/etc: 系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有/etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d修改配置文件之前记得备份。注:/etc/X11存放与x windows有关的设置。
/home: 系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,~表示当前用户的家目录,~test表示用户test的家目录。建议单独分区,并设置较大的磁盘空间,方便用户存放数据
/lib:/usr/lib:/usr/local/lib: 系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助,比较重要的目录为/lib/modules。
/lost+fount: 系统异常产生错误时,会将一些遗失的片段放置于此目录下,通常这个目录会自动出现在装置目录下。如加载硬盘于/disk 中,此目录下就会自动产生目录/disk/lost+found
/mnt:/media: 光盘默认挂载点,通常光盘挂载于/mnt/cdrom下,也不一定,可以选择任意位置进行挂载。
/opt: 给主机额外安装软件所摆放的目录。如:FC4使用的Fedora 社群开发软件,如果想要自行安装新的KDE 桌面软件,可以将该软件安装在该目录下。以前的 Linux 系统中,习惯放置在 /usr/local 目录下
/proc: 此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/*等
/root: 系统管理员root的家目录,系统第一个启动的分区为/,所以最好将/root和/放置在一个分区下。
/sbin:/usr/sbin:/usr/local/sbin: 放置系统管理员使用的可执行命令,如fdisk、shutdown、mount等。与/bin不同的是,这几个目录是给系统管理员root使用的命令,一般用户只能”查看”而不能设置和使用。
/tmp: 一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下
/srv: 服务启动之后需要访问的数据目录,如www服务需要访问的网页数据存放在/srv/www内
/usr: 应用程序存放目录,/usr/bin 存放应用程序, /usr/share 存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local:存放软件升级包。/usr/share/doc: 系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录,使用 man ls时会查询/usr/share/man/man1/ls.1.gz的内容建议单独分区,设置较大的磁盘空间
/var: 放置系统执行过程中经常变化的文件,如随时更改的日志文件 /var/log,/var/log/message: 所有的登录文件存放目录,/var/spool/mail: 邮件存放的目录,/var/run: 程序或服务启动后,其PID存放在该目录下。建议单独分区,设置较大的磁盘空间
------------------------------------------
/dev: 目录
  dev是设备(device)的英文缩写。/dev这个目录对所有的用户都十分重要。因为在这个目录中包含了所有Linux系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序,这一点和windows,dos操作系统不一样。它实际上是一个访问这些外部设备的端口。我们可以非常方便地去访问这些外部设备,和访问一个文件,一个目录没有任何区别。
Linux沿袭Unix的风格,将所有设备认成是一个文件。备文件分为两种:块设备文件(b)和字符设备文件(c)
设备文件一般存放在/dev目录下,对常见设备文件作如下说明:
/dev/hd[a-t]:IDE设备
/dev/sd[a-z]:SCSI设备
/dev/fd[0-7]:标准软驱
/dev/md[0-31]:软raid设备
/dev/loop[0-7]:本地回环设备
/dev/ram[0-15]:内存
/dev/null:无限数据接收设备,相当于黑洞
/dev/zero:无限零资源
/dev/tty[0-63]:虚拟终端
/dev/ttyS[0-3]:串口
/dev/lp[0-3]:并口
/dev/console:控制台
/dev/fb[0-31]:framebuffer
/dev/cdrom => /dev/hdc
/dev/modem => /dev/ttyS[0-9] /dev/pilot => /dev/ttyS[0-9] /dev/random:随机数设备
/dev/urandom:随机数设备
/dev目录下的节点是怎么创建的?
devf或者udev会自动帮你创建得。
kobject是sysfs文件系统的基础,udev通过监测、检测sysfs来获取新创建的设备的。
------------------------------------------
/etc: 目录
包含很多文件.许多网络配置文件也在/etc 中.
/etc/rc or /etc/rc.d or /etc/rc*.d   启动、或改变运行级时运行的scripts或scripts的目录.
/etc/passwd 用户数据库,其中的域给出了用户名、真实姓名、家目录、加密的口令和用户的其他信息.
/etc/fstab 启动时mount -a命令(在/etc/rc 或等效的启动文件中)自动mount的文件系统列表. Linux下,也包括用swapon -a启用的swap区的信息.
/etc/group 类似/etc/passwd ,但说明的不是用户而是组.
/etc/inittab init 的配置文件.
/etc/issue getty 在登录提示符前的输出信息.通常包括系统的一段短说明或欢迎信息.内容由系统管理员确定.
/etc/motd  Message Of The Day,成功登录后自动输出.内容由系统管理员确定.经常用于通告信息,如计划关机时间的警告.
/etc/mtab  当前安装的文件系统列表.由scripts初始化,并由mount 命令自动更新.需要一个当前安装的文件系统的列表时使用,例如df 命令.
/etc/shadow 在安装了影子口令软件的系统上的影子口令文件.影子口令文件将/etc/passwd 文件中的加密口令移动到/etc/shadow 中,而后者只对root可读.这使破译口令更困难.
/etc/login.defs login 命令的配置文件.
/etc/printcap 类似/etc/termcap ,但针对打印机.语法不同.
/etc/profile , /etc/csh.login , /etc/csh.cshrc  登录或启动时Bourne或C shells执行的文件.这允许系统管理员为所有用户建立全局缺省环境.
/etc/securetty 确认安全终端,即哪个终端允许root登录.一般只列出虚拟控制台,这样就不可能(至少很困难)通过modem或网络闯入系统并得到超级用户特权.
/etc/shells 列出可信任的shell.chsh 命令允许用户在本文件指定范围内改变登录shell.提供一台机器FTP服务的服务进程ftpd 检查用户shell是否列在 /etc/shells 文件中,如果不是将不允许该用户登录.
/etc/sysconfig 网络配置相关目录
------------------------------------------
/proc: 目录
/proc/cmdline 加载 kernel 时所下达的相关参数!查阅此文件,可了解系统是如何启动的!
/proc/cpuinfo 本机的 CPU 的相关资讯,包含时脉、类型与运算功能等
/proc/devices 这个文件记录了系统各个主要装置的主要装置代号,与 mknod 有关呢!
/proc/filesystems 目前系统已经加载的文件系统罗!
/proc/interrupts 目前系统上面的 IRQ 分配状态。
/proc/ioports 目前系统上面各个装置所配置的 I/O 位址。
/proc/kcore 这个就是内存的大小啦!好大对吧!但是不要读他啦!
/proc/loadavg 还记得 top 以及 uptime 吧?没错!上头的三个平均数值就是记录在此!
/proc/meminfo 使用 free 列出的内存资讯,嘿嘿!在这里也能够查阅到!
/proc/modules 目前我们的 Linux 已经加载的模块列表,也可以想成是驱动程序啦!
/proc/mounts 系统已经挂载的数据,就是用 mount 这个命令呼叫出来的数据啦!
/proc/swaps 到底系统挂加载的内存在哪里?呵呵!使用掉的 partition 就记录在此啦!
/proc/partitions 使用 fdisk -l 会出现目前所有的 partition 吧?在这个文件当中也有纪录喔!
/proc/pci 在 PCI 汇流排上面,每个装置的详细情况!可用 lspci 来查阅!
/proc/uptime 就是用 uptime 的时候,会出现的资讯啦!
/proc/version 核心的版本,就是用 uname -a 显示的内容啦!
/proc/bus/* 一些汇流排的装置,还有 U盘 的装置也记录在此喔!
------------------------------------------
/usr: 目录
/usr 文件系统经常很大,因为所有程序安装在这里. /usr 里的所有文件一般来自Linux distribution;本地安装的程序和其他东西在/usr/local 下.这样可能在升级新版系统或新distribution时无须重新安装全部程序.
/usr/etc 存放设置文件
/usr/games 存放游戏和教学文件
/usr/include 存放C开发工具的头文件
/usr/share 存放结构独立的数据
/usr/bin   几乎所有用户命令.有些命令在/bin 或/usr/local/bin 中.
/usr/sbin  根文件系统不必要的系统管理命令,例如多数服务程序.
/usr/share/man , /usr/share/info , /usr/share/doc 手册页、GNU信息文档和各种其他文档文件.
/usr/include C编程语言的头文件.为了一致性这实际上应该在/usr/lib 下,但传统上支持这个名字.
/usr/lib 程序或子系统的不变的数据文件,包括一些site-wide配置文件.名字lib来源于库(library); 编程的原始库存在/usr/lib 里.
/usr/local 本地安装的软件和其他文件放在这里.
/usr/src 存放程序的源代码
------------------------------------------
/var: 目录
/var 包括系统一般运行时要改变的数据.每个系统是特定的,即不通过网络与其他计算机共享.
/var/catman 当要求格式化时的man页的cache.man页的源文件一般存在/usr/man/man* 中;有些man页可能有预格式化的版本,存在/usr/man/cat* 中.而其他的man页在第一次看时需要格式化,格式化完的版本存在/var/man 中,这样其他人再看相同的页时就无须等待格式化了. (/var/catman 经常被清除,就象清除临时目录一样.)
/var/lib 系统正常运行时要改变的文件.
/var/local /usr/local 中安装的程序的可变数据(即系统管理员安装的程序).注意,如果必要,即使本地安装的程序也会使用其他/var 目录,例如/var/lock .
/var/lock 锁定文件.许多程序遵循在/var/lock 中产生一个锁定文件的约定,以支持他们正在使用某个特定的设备或文件.其他程序注意到这个锁定文件,将不试图使用这个设备或文件.
/var/log 各种程序的Log文件,特别是login (/var/log/wtmp log所有到系统的登录和注销) 和syslog (/var/log/messages 里存储所有核心和系统程序信息. /var/log 里的文件经常不确定地增长,应该定期清除.
/var/run 保存到下次引导前有效的关于系统的信息文件.例如, /var/run/utmp 包含当前登录的用户的信息.
/var/spool mail, news, 打印队列和其他队列工作的目录.每个不同的spool在/var/spool 下有自己的子目录,例如,用户的邮箱在/var/spool/mail 中.
/var/tmp 比/tmp 允许的大或需要存在较长时间的临时文件. (虽然系统管理员可能不允许/var/tmp 有很旧的文件.)
------------------------------------------
比较重要的目录
在 Linux 系统中,有几个目录是特别需要注意的,以下提供几个需要注意的目录,以及预设相关的用途: 
/etc: 这个目录相当重要,如前所述,你的开机与系统数据文件均在这个目录之下,因此当这个目录被破坏,那你的系统大概也就差不多该死掉了!而在往后的文件中,你会发现我们常常使用这个目录下的 /etc/rc.d/init.d 这个子目录,因为这个 init.d 子目录是开启一些 Linux 系统服务的 scripts (可以想成是批次檔 )的地方。而在 /etc/rc.d/rc.local 这个文件是开机的执行档。
 
/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,例如 root 常常使用的 userconf, netconf, perl, gcc, c++ 等等的数据都放在这几个目录中,所以如果你在提示字符下找不到某个执行档时,可以在这四个目录中查一查!其中, /bin, /usr/bin 是给系统使用者使用的指令,而 /sbin, /usr/sbin 则是给系统管理员使用的指令!  
/usr/local: 这是系统预设的让你安装你后来升级的套件的目录。例如,当你发现有更新的 Web 套件(如 Apache )可以安装,而你又不想以 rpm 的方式升级你的套件,则你可以将 apache 这个套件安装在 /usr/local 底下。安装在这里有个好处,因为目前大家的系统都是差不多的,所以如果你的系统要让别人接管的话,也比较容易上手呀!也比较容易找的到数据喔!因此,如果你有需要的话,通常我都会将 /usr/local/bin 这个路径加到我的 path 中。 
/home: 这个是系统将有账号的人口的家目录设置的地方。
/var: 这个路径就重要了!不论是登入、各类服务的问题发生时的记录、以及常态性的服务记录等等的记录目录,所以当你的系统有问题时,就需要来这个目录记录的文件数据中察看问题的所在啰!而 mail 的预设放置也是在这里,所以他是很重要的
 
/usr/share/man, /usr/local/man: 这两个目录为放置各类套件说明档的地方,例如你如果执行 man man,则系统会自动去找这两个目录下的所有说明文件
文件种类:
谈完了文件格式之后,再来谈谈所谓的文件种类吧!我们在刚刚的属性介绍中提到了最前面的标志 ( d 或 – ) 可以代表目录或文件,那就是不同的文件种类啦!Linux 的文件种类主要有底下这几种:
正规文件( regular file ):就是一般类型的文件,在由 ls –al 所显示出来的属性方面,第一个属性为 [ – ]。另外,依照文件的内容,又大略可以分为两种文件种类:
纯文字文件(ascii) :这是 Unix 系统中最多的一种啰,几乎只要我们可以用来做为设定的文件都属于这一种;
二进制文件(binary) :通常执行档除了 scripts (文字型批次文件)之外,就是这一种文件格式;
目录 (directory):就是目录!第一个属性为 [ d ];
连结档 (link):就是类似 Windows 底下的快捷方式啦!第一个属性为 [ l ];
设备档 (device):与系统周边相关的一些文件,通常都集中在 /dev 这个目录之下!通常又分为两种:
区块 (block) 设备档 :就是一些储存数据,以提供系统存取的接口设备,简单的说就是硬盘啦!例如你的一号硬盘的代码是 /dev/hda1 等等的文件啦!第一个属性为 [ b ];
字符 (character) 设备档 :亦即是一些串行端口的接口设备,例如键盘、鼠标等等!第一个属性为 [ c ]。
Linux 的文件系统( inode ):
在 Linux 系统当中,每个文件不止有文件的内容数据,还包括文件的种种属性,例如:所属群组、所属使用者、能否执行、文件建立时间、文件特殊属性等等。我们将每个文件的内容分为两个部分来储存,一个是文件的属性,另一个则是文件的内容。
为了应付这两个不同的咚咚,所以 ext2 规划出 inode 与 Block 来分别储存文件的属性( 放在 inode 当中 )与文件的内容( 放置在 Block area 当中 )。当我们要将一个 partition 格式化( format )为 ext2 时,就必须要指定 inode 与 Block 的大小才行,也就是说,当 partition 被格式化为 ext2 的文件系统时,他一定会有 inode table 与 block area 这两个区域。
Block 已经在前面说过了,他是数据储存的最小单位。那么 inode 是什么?!简单的说, Block 是记录『文件内容数据』的区域,至于 inode 则是记录『该文件的相关属性,以及文件内容
放置在哪一个 Block 之内』的信息。简单的说, inode 除了记录文件的属性外,同时还必须要具有指向( pointer )的功能,亦即指向文件内容放置的区块之中,好让操作系统可以正确的去
取得文件的内容啊
原文:iteye.com

CentOS/RHEL:如何查看系统的发行版本号

对于linux系统,有很多不同的发行版本,比如说redhat, fedora, centos, ubuntu 或者其它的很多不同版本。那么如何来查看远程主机的linux发行版本呢。本文将会讲述查看linux发行版本的方法。
如何查看远程主机CentOS的版本?
通过 /etc/issue 文件,这个文件是控制台界面,用来登录时的提示信息的,而这个提示信息就有CentOS的版本。
下面就显示一下我的电脑的CentOS版本:

        [root@syy ~]# cat /etc/issue
        CentOS release 6.5 (Final)
        Kernel \r on an \m
        [root@syy ~]#
 

从上面的输出可以看出linux的发行版本是CentOS 6.5 。

CentOS/Linux: 如何压缩并解压缩归档文件

在日常的工作中我们经常需要将多个文件做归档处理即打包成一个文件。本文将会讲述如何来压缩文件以及如何解压缩文件。
1. 文件压缩的原理:目前,计算机系统中都是使用bytes单位来计量的,不过,事实上,计算机最小的计量单位应该是bits才对,此外,我们也知道1byte=8bits。即每个byte当中会有8个空格,而每个空格可以是0或1,所以,如果我们要记录1这个数字,那么就会将另外的7个空格浪费掉。而压缩技术就是通过一些算法,将这些没有使用的控件丢出来,以让档案占用的空间变小。另一种压缩技术将重复的数据进行统计记录。比如,1111……1共100个1时,压缩技术就会记录为100个1,而不是实际存储100个1。
2. 文件后缀与压缩方式
1)*.Z:compress程序压缩的档案
2)*.gz:gzip程序压缩过的档案
3)*.bz2:bzip2程序压缩的档案
4)*.tar:tar程序打包的数据,并没有压缩过。
5)*.tar.gz:tar程序打包的档案,并且经过gzip压缩过
6)*.tar.bz2:tar程序打包的档案,并且经过bzip2的压缩
3. linux上常见的压缩指令就是gzip与bzip2,至于compress已经退出流行了。gzip是由GNU计划所开发出来的指令,该指令已经取代了compre。后来GNU又开发出bzip2这个压缩比更好的压缩指令。不过,这些指令通常仅能针对一个档案压缩与解压缩,如此一来,每次压缩与解压缩都要一大堆档案。因此,可以用tar进行打包。tar将很多档案打包成一个档案,甚至是目录。单纯的tar只是打包的功能。
4.compress [-rcv] 档案或目录:非常老的指令,需要安装ncompress软件。gzip可以解开这个指令压缩的档案。
1)-r:可以连同目录下的档案同时压缩
2)-c:将压缩数据输出到屏幕,可以通过>filename 另存到指定的档案,源文件依然存在
3)-v:可以显示出压缩后的档案信息以及压缩过的一些档案名变化
在预设情况下,源文件会被压缩文件替换掉。
uncompress 档案.Z:解压文件,解压后会去掉后缀,还原成源文件。
5. gzip [-cdtv#] 档名;zcat 档名.gz:压缩解压缩档案,参数:
1)-c:将压缩的数据显示到屏幕上,可透过数据流导向来处理
2)-d:加压缩的参数
3)-t:可以用来检验一个压缩文件的一致性,看档案有无错误
4)-v:可以显示出原档案/压缩文件的压缩比等信息
5)-#:压缩等级,-1最快,但压缩比最差,-9最慢,但压缩比最好,预设是-6,在#处输入数字
该指令在预设情况下会将档案压缩成后缀为.gz的档案名,源文件就不再存在了。另外该指令压缩的文件也可以被windos下的winrar软件解压。
zcat这个指令可以读取gzip压缩后的文件
6. bzip2 [-cdkzv#] 档名,bzcat 档名.bz2:提供比gzip更好的压缩方案,参数:
1)-c:将压缩的过程产生的数据输出到屏幕上
2)-d:解压缩的参数
3)-k:保留源文件,而不会删除原始档案
4)-z:压缩的参数
5)v:可以显示出原档案/压缩文件案的压缩比等信息
6)-#:与gzip同样的,都是在计算压缩比参数,-9最佳,-1最快
bzcat:同样可以读取压缩过的文件
7. tar [-jz] [cv] [-f 建立的档名] filename:打包并压缩
tar [-jz] [tv] [-f 建立的档名] :查看档名
tar [-jz] [xv] [-f 建立的档名] [-C 目录] :解压缩
参数:
1)-c:建立打包档案,可搭配-v来擦看过程中被打包的档名
2)-t:查看打包档案的内容还有哪些档名
3)-x:解包或解压缩的功能,可以搭配-C在特定目录下解开
特别注意:-c,-t,-x不能同时出现在一条指令中
4)-j:透过bzip2的支持进行压缩/解压缩:此时档案名最后为*.tar.bz2
5)-z:透过gzip的支持进行压缩/解压缩:此时档名最好为tar.gz
6)-v:在压缩/解压缩的过程中,将正在处理的文件名显示出来
7)-f filename:-f后面要立刻接要被处理的档名
8)-C目录:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项
9)-p:保留备份数据的原本权限与属性,常用于备份重要的配置文件
10)-P:保留绝对路径,亦即允许备份数据中含有根目录存在之意
11)–exclude=FILE:在压缩过程中,不要讲FILE打包。
指令套餐:
压缩:tar –jcv –f filename.bar.bz2 要被压缩的档案或目录名称
查询:tat –jtv –f filename.tar.bz2
减压缩:tar –jxv –f filename.tar.bz2 -C 欲解压缩的目录
上述j的位置也可换成-z代表gzip压缩方式。
8. dump [-Suvj] [-level] [-level] [-f 备份档案] 待备份的档案;dump W:参数,
1)-S:仅列出后面的待备份数据需要多少空间才能备份完毕
2)-u:将这次dump的时间记录到etc/dumpdates档案中
3)-v:将dump的档案过程显示出来
4)-j:加入bzip2的支持,将数据进行压缩,默认是bzip2压缩等级为2
5)-level:等级,从-0~-8
6)-f filename:后面接产生的档案
7)-W:列出在etc/fstab里面的具有dump设定的partition是否有备份过
9. restore -r [-f dumpfile]:还原整个文件系统,参数:
1)-t:此模式用在查看dump起来的备份文件中含有什么重要数据
2)-C:此模式可以将dump内的数据拿出来跟实际文件系统作比较
3)-i:进入互动模式,可以仅还原部分档案,用在dump目录时的还原
4)-r:将整个文件系统还原的一种模式,用在还原针对文件系统dump备份
5)-h:查看完整备份数据中的inode与文件系统label等信息
6)-f:后面就接你要处理的那个dump档案
7)-D:与-C进行搭配,可以查出后面接的挂载点与dump内有不同的档案。
10. mkisofs [-o 映像档][-rv][-m file] 待备份的文件 …[-V vol] –graft-point isodir=systemdir …,参数:
1)-o:后面接你想要产生的那个映像档档名
2)-r:透过Rock Ridge产生Unix/Linux的档案数据,可记录较多的信息
3)-v:显示建置ISO的过程
4)-m file:-m为排除档案的意思,后面的档案不备份到映像档
5)-V vol:建立Volume,有点像Windos在档案总管内看到的CD title的东西
6)-graft-point:graft有转嫁或移植的意思,
11. cdrecord:光盘刻录指令
12 .dd -if=inputfile of=outfile bs=blocksize count=number:参数,
1)if:就是要备份的档案,也可以是装置
2)of:就是备份的目标档案,也可以是装置
3)bs:规划的一个block大小,若未指定则预设512bytes
4)count:多少个bs的意思
13. cpio –ovcB >[file|device] 备份;cpio -ivcdu <[file|device] 还原;cpio -ivct <[file|device] 查看,参数:
1)-o:将数据copy输出到档案或装置上
2)-B:让预设的Blocks可以增加至5120bytes,预设是512bytes,这样可以让大档案存取速度更快
3)-i:将数据自档案或装置copy到系统当中
4)-d:自动建立目录
5)-u:自动将较新的档案覆盖较旧的档案
6)-t:需要配合-i选项,可用在“查看”以cpio建立的档案或装置的内容
7)-v:让存储的过程中文件名可以在屏幕上显示
8)-c:一种较新的portable format方式存储

9个常用的查看文件内容的linux命令

在centos或者rhel系统下如何来查看目录下的文件内容,本文将会介绍9个常用的linux命令用来查看文件的内容
1. cat [-AbEnTv] 文件路径:以只读的形式显示指定的文件,参数:
1)-A:等于-vET,可以列出一些特殊字符而不是空白而已
2)-b:列出行号,仅列出非空百行的行号
3)-E:将结尾的断行以$符显示出来
4)-n:打印出行号(包括空白行)
5)-T:将Tab键以^I显示出来
6)-v:列出一些看不出来的特殊字符
2.tac 文件路径:从后到前的显示文件。
3.nl [-bnw] 文件名:添加行号输出,参数:
1)-b:指定好好的显示方式,-b a:列出包括空行在内的行号;-b t:列出非空行的行号(默认)。
2)-n:列出行号的表示方法,-n ln:行号在屏幕的最左方显示;-n rn:行号在自己字段的最右方显示,且不加0;-n rz:行号在自己字段的最右方显示,且加上0
3)-w:行号字段的占用位数
以上这些指令都是直接将整个文件名,显示在屏幕上,下面指令可以实现分页。
4.more 文件名路径:以分页的形式显示文件名,打开时,快捷键有:
空格键:向下翻页
Enter:向下一行
/字符串:向下搜索指定的字符串
q:离开more
b或ctr+b:上一页,对管线无效
5.less 文件名路径:以分页的形式显示文件名,打开时,快捷键有:
空格键或pagedown:向下翻页
pageup:向上翻页
/字符串:向下搜索指定的字符串
?字符串:向上搜索指定的字符串
n:重复前一个搜寻
N:方向重复前一个搜寻
q:离开more
6.head [-n] number 文件名路径:列出文件名的前n行,如果n为负数,则表示列出到倒数n行哪里。
7.tail [-fn] number 文件名路径:取后面几行,参数:
-nnumber:显示最后number行,默认显示最后10行,若在number前加+行,则表示显示number行以后的内容
-f:持续侦测后面接的档名,需要ctr+c终止。(常用来监听日志文件)
8.od [t TYPE] 文件名:读取二进制文件,其中TYPE的类型有,a:利用默认的字符来显示,c:使用ASCII字符来输出,d[size]:利用十进制来输出数据,每个整数占用size bytes;f[size]:利用浮点数来输出数据,每个数占用size bytes;o[size]:利用八进制来输出数据,每个整数占用size bytes;x[size]:利用十六进制来输出数据,每个整数占用size bytes。
9.touch [-acdmt] 文件名:创建空文件名,或修改文件名的各种时间,参数:
1)-a:仅修订atime
2)-c:仅修改文件名的时间,若文件名不存在则不建立新文件名
3)-d:后面可以接欲修订的日期而不用是当前日期,也可以使用—date=”日期或时间”,可以用”2 days ago”这种语句
4)-m仅修改mtime
5)-t后面可以接欲修订的时间而不用是当前时间,格式为[YYMMDDhhmm] 若文件名不存在则表示新建空文件名各个时间值均为当前时间。
原文:51cto

CentOS/Linux:如何修改系统的硬件时间

在centos linux里有两种时间,一种是系统的当前时间,另一种是系统的硬件时间,也就是有系统bios维护的时间。在linux下,如果只是用date命令更改了系统时间,那么系统重启后,依旧是不对的,所以我们可以直接设置系统的硬件时间,这样系统启动后,系统就会自动读取硬件时间并更新为当前系统时间。
使用Centos,遇到本地时间对不上,直接敲命令:date -s “2014-12-25 15:15:15″是立即生效了,但是重启后,系统时间还是原来的。
1.date {查看目前本地的时间}

[root@osetc ~]# date
Wed Jan  7 10:10:59 CST 2015
 

2.hwclock –show {查看硬件的时间}

[root@osetc ~]# hwclock --show
Wed 07 Jan 2015 10:11:19 AM CST  -0.793403 seconds
 

3.如果硬件的时间是对不上,那就对硬件的时间进行修改、
4.hwclock –set –date ‘014-12-15 15:15:15’ {设置硬件时间}
5.hwclock –hctosys {设置系统时间和硬件时间同步}
6.clock -w {保存时钟}
7.最后在通过重启,init 6 快速重启后,查看系统时间是否真正生效!!!!1

CentOS /RHEL: 如何使用DD命令

在centos 或者rhel系统下我们经常会用到dd命令来创建文件,那么dd命令的用法还有很多。本文将会给大家介绍一些dd命令的例子。
在我们手边没有合适的硬盘IO测试利器时,dd是我们的最佳选择,好,仔细看线面四种方式。思考一个问题,区别在哪儿?

dd bs=1M count=128 if=/dev/zero of=test
dd bs=1M count=128 if=/dev/zero of=test_01; sync
dd bs=1M count=128 if=/dev/zero of=test_02 conv=fdatasync
dd bs=1M count=128 if=/dev/zero of=test_03 oflag=dsync
 

想到了吗?看这里:区别在于内存中写缓存的处理方式。
1# dd bs=4M count=1024 if=/dev/zero of=test
centos dd 命令
没有加任何参数,dd默认的方式不包括“同步(sync)”命令。也就是说,dd命令完成前并没有让系统真正把文件写到磁盘上。所以以上命令只是单纯地把这128MB的数据读到内存缓冲当中(写缓存[write cache])。所以你得到的将是一个超级快的速度。因为其实dd给你的只是读取速度,直到dd完成后系统才开始真正往磁盘上写数据,但这个速度你是看不到了。所以如果这个速度很快,先不要偷着乐。呵呵

2# dd bs=4M count=1024 if=/dev/zero of=test_01

centos dd 命令
和前面1中的完全一样。分号隔开的只是先后两个独立的命令。当sync命令准备开始往磁盘上真正写入数据的时候,前面dd命令已经把错误的“写入速度”值显示在屏幕上了。所以你还是得不到真正的写入速度。
3# dd bs=4M count=1024 if=/dev/zero of=test_02 conv=fdatasync
centos dd 命令
加入这个参数后,dd命令执行到最后会真正执行一次“同步(sync)”操作,所以这时候你得到的是读取这128M数据到内存并写入到磁盘上所需的时间,这样算出来的时间才是比较符合实际的。
4# dd bs=4M count=1024 if=/dev/zero of=test_03 oflag=dsync
centos dd 命令
加入这个参数后,dd在执行时每次都会进行同步写入操作。也就是说,这条命令每次读取1M后就要先把这1M写入磁盘,然后再读取下面这1M,一共重复128次。这可能是最慢的一种方式了,因为基本上没有用到写缓存(write cache)。
至于哪一种最有参考价值,个人觉得是下面这种:

dd bs=4M count=1024 if=/dev/zero of=test_02  conv=fdatasync
 

因为这种方式最接近计算机实际操作,所以测出来的数据最有参考价值。

CentOS 安装php-tidy 模块扩展

在php环境下有时候需要php-tidy模块的支持,那么如何在centos 或rhel系统下安装php-tidy模块呢?
首先需要使用yum命令安装下面的模块:
php-tidy-这个包含了使用tidy 类库支持php的动态共享库。
linux操作系统

在centos下安装php-tidy

输入下面的命令:

yum install php-tidy
 

命令输出:

[root@devops Desktop]# yum -y install glances
Loaded plugins: fastestmirror, refresh-packagekit, security, versionlock
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * extras: mirrors.163.com
 * updates: mirrors.163.com
Setting up Install Process
No package glances available.
Error: Nothing to do
[root@devops Desktop]# yum install glances
Loaded plugins: fastestmirror, refresh-packagekit, security, versionlock
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * extras: mirrors.163.com
 * updates: mirrors.163.com
Setting up Install Process
No package glances available.
Error: Nothing to do
[root@devops Desktop]#
[root@devops Desktop]#
[root@devops Desktop]#
[root@devops Desktop]# yum install php-tidy
Loaded plugins: fastestmirror, refresh-packagekit, security, versionlock
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * extras: mirrors.163.com
 * updates: mirrors.163.com
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php-tidy.x86_64 0:5.3.3-40.el6_6 will be installed
--> Processing Dependency: php-common(x86-64) = 5.3.3-40.el6_6 for package: php-tidy-5.3.3-40.el6_6.x86_64
--> Processing Dependency: libtidy-0.99.so.0()(64bit) for package: php-tidy-5.3.3-40.el6_6.x86_64
--> Running transaction check
---> Package libtidy.x86_64 0:0.99.0-19.20070615.1.el6 will be installed
---> Package php-common.x86_64 0:5.3.3-40.el6_6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
 Package         Arch        Version                         Repository    Size
================================================================================
Installing:
 php-tidy        x86_64      5.3.3-40.el6_6                  updates       39 k
Installing for dependencies:
 libtidy         x86_64      0.99.0-19.20070615.1.el6        base         127 k
 php-common      x86_64      5.3.3-40.el6_6                  updates      527 k
Transaction Summary
================================================================================
Install       3 Package(s)
Total download size: 693 k
Installed size: 3.3 M
Is this ok [y/N]: y
Downloading Packages:
(1/3): libtidy-0.99.0-19.20070615.1.el6.x86_64.rpm       | 127 kB     00:00
(2/3): php-common-5.3.3-40.el6_6.x86_64.rpm              | 527 kB     00:01
(3/3): php-tidy-5.3.3-40.el6_6.x86_64.rpm                |  39 kB     00:00
--------------------------------------------------------------------------------
Total                                           108 kB/s | 693 kB     00:06
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : php-common-5.3.3-40.el6_6.x86_64                             1/3
  Installing : libtidy-0.99.0-19.20070615.1.el6.x86_64                      2/3
  Installing : php-tidy-5.3.3-40.el6_6.x86_64                               3/3
  Verifying  : libtidy-0.99.0-19.20070615.1.el6.x86_64                      1/3
  Verifying  : php-tidy-5.3.3-40.el6_6.x86_64                               2/3
  Verifying  : php-common-5.3.3-40.el6_6.x86_64                             3/3
Installed:
  php-tidy.x86_64 0:5.3.3-40.el6_6
Dependency Installed:
  libtidy.x86_64 0:0.99.0-19.20070615.1.el6  php-common.x86_64 0:5.3.3-40.el6_6
Complete!
 

重启或者重载 web服务器
输入下面的命令:

service httpd restart
 

验证tidy的配置
输入命令:

php -i | grep -color tidy
 

命令输出:

PHP Warning:  Unknown: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/New_York' for 'EST/-5.0/no DST' instead in Unknown on line 0
tidy
Extension Version => 2.0 ($Id: tidy.c 296107 2010-03-12 10:28:59Z jani $)
tidy.clean_output => no value => no value
tidy.default_config => no value => no value
[root@devops Desktop]#
 

Fedora /Linux: 如何在windows 8 系统下创建Fedora 21 Live USB

Fedora官方最近发布了其最新版Fedora 21,对于喜欢使用fedora linux系统的人来说,可能只是想体验下 Fedora 21的新变化,那么就想着创建一个Fedora 21 Live USB? 本文将会给大家讲述下如何在windows 8 系统下创建一个 Fedora 21 Live USB.
fedora
创建 Fedora 21 Live USB之前,需要准备一个 大概4GB大小的U盘,还有Fedora21 Live 的镜像文件。
下载并安装Rawrite32 工具,可以从下面的地址下载(
[cc lang=”php”] http://www.netbsd.org/~martin/rawrite32/download.html)。
[/code] Winodws8 创建 Fedora 21 Live USB
打开我们上面安装好的Rawrite 32 工具, 打开一个Fedora 21 Live 镜像文件, 如下图所示:
选中USB disk为你要写入的目的盘, 然后点击”write to disk”. 等待写盘完成后,你就可以重启电脑,从U 盘启动 Fedora 21 Live USB 了。

Fedora linux: 重启/停止/启动(restart/stop/start) DHCPD 服务的命令

在Fedora 18中,我们怎么通过命令行来重启dhcpd服务呢?
DHCP(动态主机配置协议)是一个用于为网络上的独立设备获取网络配置信息的协议,主要包括下面的一些信息:
1.IP地址
2.子网掩码
3.广播地址
4.DNS服务器的IP地址
5.默认的网关地址
Fedora start/stop/restart DHCPD服务(最新版本,Fedora 15之后)
重启dhcpd服务,在终端下输入下面的命令:

# systemctl restart dhcpd.service
 

停止dhcpd服务,输入命令:

# systemctl stop dhcpd.service
 

启动dhcpd服务,输入命令:

# systemctl start dhcpd.service
 
注意:在默认情况下,DHCPD 服务不会在系统启动的时候启动。为了在系统启动的时候自动重启,可以输入下面的命令来实现:
# systemctl enable dhcpd.service
 

Fedora start/stop/restart DHCPD服务(老版本,Fedora 14之前)
重启dhcpd服务,在终端下输入下面的命令:

# service dhcpd restart
 

停止dhcpd服务,输入命令:

# service dhcpd stop
 

启动dhcpd服务,输入命令:

# service dhcpd start
 
注意:在默认情况下,DHCPD 服务不会在系统启动的时候启动。为了在系统启动的时候自动重启,可以输入下面的命令来实现:
# chkconfig dhcpd on