CentOS 6.x安装与配置指南,centos6.x配置指南


CentOS 6.x安装与配置指南

 

一、 系统安装篇

 

1、选择“Installor upgrade an existing system”开始安装旅程

 

 

 

2、选择“Skip”跳过光盘安装检测

 

 

 

3、选择“Next”继续安装


 

 

4、保持默认的语言“English(English)”,点击“Next”继续


 

 

5、保持默认的键盘按键“U.S English”,点击“Next”继续


 

 

6、当在非服务器且不具备外接存储设备时,请选择“Basic Storage Devices(基本存储设备)”,点击“Next”继续

Ø  Basic Storage Devices(基本存储设备)

Ø  Specialized Storage Devices(指定的存储设备)

  

7、选择“Yes,discard any data(是,忽略所有数据)”,点击“Next”继续

Ø  Yes, discard any data(是,忽略所有数据)

Ø  No, keep any data(否,保留所有数据)

 

Applymy choice to all devices with undetected partitions or filesystems

(在所有包含未探测分区或文件系统的设备中应用我的选择)

 

8、设置主机名与网络,点击“Next”继续

 

 

 

 

 

 

9、时区选择“Asia/Shanghai(亚洲/上海)”,并取消“System clock user UTC(系统时钟使用UTC时间)”的勾选,

点击“Next”继续

  

10、密码设定,输入密码和确认密码,点击“Next”继续

 

 

 

11、磁盘分区格式设定,选择“创建自定义布局”,点击“Next“继续


 

 

12、磁盘分区建立,选中“Free(空闲)“的磁盘,点击”Create(创建)“,根据需求建立磁盘分区,然后点击”Next“继续

 

 

 

 

 

可参照下面的方案进行磁盘的分区设定:

分区类型

挂载点

文件系统类型

其它大小选项

标准大小

建议大小

标准分区(Standard Partition)

/boot

Ext4

固定大小(Fixed size)

100 MB

2000 MB

标准分区(Standard Partition)

/

Ext4

固定大小(Fixed size)

5000 MB

10000 MB

标准分区(Standard Partition)

 

swap

固定大小(Fixed size)

1000 MB

8000 MB

标准分区(Standard Partition)

/usr

Ext4

固定大小(Fixed size)

3000 MB

10000 MB

标准分区(Standard Partition)

/var

Ext4

固定大小(Fixed size)

1000 MB

8000 MB

标准分区(Standard Partition)

/tmp

Ext4

固定大小(Fixed size)

500 MB

7000 MB

标准分区(Standard Partition)

/data

xfs

固定大小(Fixed size)

5000 MB

20000 MB

标准分区(Standard Partition)

/home

Ext4

固定大小(Fixed size)

剩余全部

剩余全部

标准分区(Standard Partition)

/backup

xfs

固定大小(Fixed size)

独立磁盘全部

独立磁盘全部

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

HOSTS主机列表 示例:

    192.168.100.101Master.GreenPlum Master

    192.168.100.102Mirror.GreenPlum Mirror

    192.168.100.103Slave1.GreenPlum Slave1

    192.168.100.104Slave2.GreenPlum Slave2

    192.168.100.105Slave3.GreenPlum Slave3

 

 

主机名、IP地址、MAC地址、UUID示例:

    Master.GreenPlum    192.168.100.101   00:50:56:28:1C:CF   ab4ce8c2-119d-460e-bff6-b2b7766af574

    Mirror.GreenPlum    192.168.100.102   00:50:56:25:38:1F   dd585048-96bc-4e9e-88b6-40b1f7672051

    Slave1.GreenPlum    192.168.100.103   00:50:56:3B:2B:10   efe64854-af0f-4c34-aaa3-34d699a596e2

    Slave2.GreenPlum    192.168.100.104   00:50:56:2D:0C:6D   9fe9b8e6-c3f3-4742-b530-6e871236b685

    Slave3.GreenPlum    192.168.100.105   00:50:56:3F:DB:D3   f0584922-74d5-4176-82f9-47ffdf926456

 

 

 

 

二、          系统配置篇

1、网络与主机名配置

① 保留eth0,修改MAC地址(多网卡时注意区别设定值)

    #vim/etc/udev/rules.d/70-persistent-net.rules

② 修改IP地址、MAC地址、UUID等信息(UUID为GUID编码,多网卡时注意区别设定值)

    #vim/etc/sysconfig/network-scripts/ifcfg-eth0   /ifcfg-eth1   /ifcfg-eth*

配置文件样例:

DEVICE=eth0

注意:名称和网卡名称必须一致

TYPE=Ethernet

网卡类型(Ethernet | TokenRing | ATM | ADSL)

UUID=******

UUID唯一编码(GUI D编码)

ONBOOT=yes

系统启动时是否自动加载

NM_CONTROLLED=no

是否实时生效(改为no不依赖VMware 网络管理控制)

BOOTPROTO=static

获取ip地址的方式(none | static | bootp | dhcp)

HWADDR=00:50:56:3B:51:59

MAC地址

IPADDR=192.168.100.254

IP地址

NETMASK=255.255.255.0

子网掩码

BROADCAST=192.168.100.255

广播地址(可不设定)

PREFIX=24

 

GATEWAY=192.168.100.1

默认网关

DNS1=208.67.222.222

DNS地址1

DNS2=208.67.220.220

DNS地址2

DEFROUTE=yes

默认启用路由

IPV4_FAILURE_FATAL=yes

 

IPV6INIT=no

IPv6配置相关

IPV6_AUTOCONF=yes

IPv6配置相关

IPV6_DEFROUTE=yes

IPv6配置相关

IPV6_PEERDNS=yes

IPv6配置相关

IPV6_PEERROUTES=yes

IPv6配置相关

IPV6_FAILURE_FATAL=no

IPv6配置相关

NAME=eth0

注意:名称和网卡名称必须一致

USERCTL=no

是否允许非root用户控制该设备

PEERDNS=yes

是否允许自动修改/etc/resolv.conf配置文件

    #/etc/init.d/networkreload           重新导入ifcfg-eth0网络配置文件

③ 修改主机名和网关

    #vim/etc/sysconfig/network

配置文件样例:

NETWORKING=yes

是否自动启用网络连接

HOSTNAME=Aaron

主机名称

GATEWAY=192.168.100.1

默认网关

④ 修改DNS

    #vim/etc/sysconfig/resolv.conf

配置文件样例:

nameserver 208.67.222.222

DNS  1

******

******

nameserver 208.67.220.220

DNS  n

⑤ 添加主机列表

    #vim/etc/hosts

    #more/etc/hosts

配置文件样例:

192.168.100.101 Master.GreenPlum Master

主机  Master

192.168.100.102 Mirror.GreenPlum Mirror

镜像  Mirror

192.168.100.103 Slave1.GreenPlum Slave1

从机  Slave1

192.168.100.104 Slave2.GreenPlum Slave2

从机  Slave2

192.168.100.105 Slave3.GreenPlum Slave3

从机  Slave3

⑥ 重新启动系统

 

 

命令行方式修改IP地址、网关、DNS:(重启后失效)

① 修改IP地址:

    #ifconfigeth0 192.168.100.254 netmask 255.255.255.0

② 修改网关

    #routeadd default gw 192.168.100.1

③ 修改DNS

    #echo"nameserver 192.168.100.1" >> /etc/resolv.conf

④ 重启网络服务

    #/etc/init.d/networkrestrart    或    #service network restart

 

 

2、虚拟机工具安装步骤与方式

(1)、 安装 VMware Tools 步骤

a. 安装perl脚本管理工具

# yuminstall perl

      b. 创建装载点目录

#mkdir/mnt/cdrom

c. 装载CD-ROM 驱动器

#mount/dev/cdrom /mnt/cdrom

d. 转到系统临时目录,并删除以前的 vmware-tools-distrib 目录

#cd /tmp

e. 列出装载点目录内容,并记下 VMware Tools tar 安装程序的文件名

#ls/mnt/cdrom

f. 解压缩安装程序

#tar zxpf/mnt/cdrom/VMwareTools-x.x.x-yyyy.tar.gz

g. 卸载 CD-ROM驱动器

#umount/dev/cdrom

h. 运行安装程序(一路回车)

#cdvmware-tools-distrib

#./vmware-install.pl

i. 配置VMware Tools(一路回车)

#vmware-config-tools.pl

      j. 重新启动系统

 

(2)、 安装 VirtualBox 增强功能步骤

a. 安装依赖包

#yuminstall kernel-headers

#yuminstall kernel-devel

#yuminstall gcc*

#yuminstall make

      b. 安装增强功能包

           #mkdir /mnt/cdrom

#mount/dev/cdrom /mnt/cdrom

#cd/mnt/cdrom

#./VBoxLinuxAdditions.run

      c. 共享设置

① 设备->分配数据空间

② 挂载/卸载命令

#mkdir/mnt/share

#mount –t vboxsfmyshare /mnt/share/

#umount -f/mnt/share

③ 开机自动共享

#vim/etc/fstab

添加一项 à          myshare /mnt/share vboxsfrw,gid=100,uid=1000,auto 0 0

      d. 重新启动系统

 

 

3、Linux基础环境配置

  安装wget 网络下载工具

#yum-y install wget

  修改CentOS的安装源,可增加下载速度

① 备份原来的源

#mv/etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

② 安装阿里云源

#wget -O/etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

③ 生成缓存

#yummakecache

  安装VIM 编辑器

#yum-y install vim*

  关闭防火墙(修改 SELINUX 为 disabled,使用“#sestatus”可查看状态)

#vim/etc/selinux/config

  关闭iptables 过滤器(使用“#/sbin/chkconfig --list iptables”可查看状态)

#/sbin/chkconfigiptables off

 

 

 

三、          Linux常用命令

  (001)可使用SecureCRT终端软件对Linux进行操作管理

  (002)最基本的日常命令

序号

命令行

命令说明

备注

001

#su

取得管理权限

 

002

#passwd

修改当前账号密码

 

003

#shutdown -h now

立即关机

 

004

#reboot

立即重启

 

005

#dhclient

自动获得IP地址

 

006

#more

显示更多文件内容

 

007

#cd ..

退回上一级目录

 

008

#cd \

返回根目录

 

009

#cd /etc

进入etc目录,依次类推

 

010

#rm -rf dirName

删除指定名称目录

 

011

#df -Th

查看分区信息及格式类型

 

012

#service network status

查看网卡状态

 

013

#service network stop

停止网卡

 

014

#service network start

启动网卡

 

015

#service network restart

重启网卡

 

016

#hostname

查看当前主机名称

 

017

#sestatus

查看防火墙状态

 

018

#/sbin/chkconfig --list iptables

查看 iptables 状态

 

019

#ifconfig

查看当前网络(网卡)状况

-a

020

#/etc/init.d/network reload

重新导入ifcfg-eth0网络配置文件

 

021

#netstat -r

查看当前路由及网关信息

 

022

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  (003)添加新用户

添加账号:  #useradd userName

设置密码:  #passwd userName

  (004)禁用屏保以及电源节能选项

a. 禁用选项

                       #echo setterm -blank-store>>/etc/rc.local          CentOS5以及ubuntu10.04有效

                       #echo -ne "\033[9;0]" >>/etc/issue                 CentOS6/7 ArchlinuxUbuntu14.04有效

b. 重启

c. 执行命令: #cat /sys/module/kernel/parameters/consoleblank           为0表示生效

 

 

 

四、          Vim编程器常用命令

u  1 切换插入模式:

命令模式下

a                                (小写)光标之后进行插入

A                                (大写)光标所在行尾进行插入

i                                 (小写)光标前开始进行插入

I                                (大写)光标所在行首进行插入

o                                (小写)光标所在行后新插入一空行进行插入

O                                (大写)光标所在行前新插入一空行进行插入

插入模式下按ESC键返回命令模式

u  2 切换到编辑模式

命令模式下按【:】进入编辑模式,键入命令回车后自动返回到命令模式或按ESC键返回到命令模式。

u  3 保存文件

编辑模式下

:w                            (小写)保存文件

?:wq                         (小写)保存并退出vim

:w 文件名1            将文件另存为文件名1

:ZZ                          (大写)保存文件并退出,相当于:wq

:wq!                        (小写)文件所有者强制保存只读文件,如果不是文件所有者进行此操作,不能成功

:q!                                退出不保存文件

u  4 复制(yank)

命令模式下

yy或Y                     复制光标所在整行

y^                         复制到光标所在行行首,不包括光标位置字符

y$                         复制到光标所在行行尾,包括光标位置字符

yw                         复制一个单词,光标必须在单词首部

yG                         复制到文件尾

y1G                        复制到文件首

nyy                        复制光标所在行开始的n行

u  5 粘贴

命令模式下

p                                (小写)粘贴到光标后

P                                (大写)粘贴到光标前

u  6 删除

命令模式下

x                                (小写)删除光标前一个字符

X                                (大写)删除光标后一个字符

dd                                (小写)删除光标所在整行

dw                                (小写)删除光标所在处一个单词

dG                                删除光标所在整行到文件尾

dgg                        删除光标所在整行到文件首

D                                (大写)删除到行尾,包含光标处的字符

d$                                与D效果相同

d0                                删除到行首,不包含光标处的字符

d^                                与d0效果相同

:n1,n2d                编辑模式下,删除n1-n2行

u  7撤销

命令模式下

u                        (小写)无限次保存前撤销(大概500多次)

ctrl+r                 redo

u  8 字符替换

命令模式下

r                        (小写)替换光标所在处一个字符

R                        (大写)开始替换,直到按ESC键退出替换,相当于按下键盘上到insert键

cc                        (小写)取代光标所在整行

S                        (大写)与ss(小写)效果相同

C                        (大写)取代到行尾,包括光标处字符

c0                        (小写,数字0)取代到行首,不包括光标处字符

c^                        (小写)与c0(小写,数字0)效果相同

u  9 字符串查找和替换

命令模式下

/string                从光标处开始向下开始查找字符串string

/查找模式下按n(小写)查找下一个,按N(大写)查找上一个

?string        从光标处开始向上开始查找字符从string

?查找模式下按n(小写)查找上一个,按N(大写)查找下一个

*                        向下完整匹配光标下的单词

#                        向上完整匹配光标下的单词

g*                        向下部分匹配光标下的单词

g#                        向上部分匹配光标下到单词

编辑模式下

:setic                查找时,忽略大小写

:setnoic        取消查找时忽略大小写

:fstring        (小写f与string有空格)搜索一行中匹配到的string

:%s/old/new/g        全文将old替换为new,不提示

:%s/old/new/c        全文将old替换为new,提示是否替换

:n1,n2s/old/new/g        n1-n2行中,将old替换为new,不提示

:n1,n2s/old/new/c        n1-n2行中,将old替换为new,提示是否替换

在替换文本old或new中有/字符时,需要用\进行转义

u  10 显示行号

编辑模式下

:setnu(mber)                显示行号

:setnonu                        取消显示行号

:setnu!                        取消显示行号

u  11 简单排版

编辑模式下

:ce(nter)                居中显示光标所在行

:ri(ght)                靠右显示光标所在行

:le(ft)                        靠左显示光标所在行

命令模式下

J                                将光标所在下一行合并到光标所在行

>>                                光标所在行增加缩进(一个tab)

<<                                光标所在行减少缩进(一个tab)

n>>                        光标所在行开始的n行增加缩进

n<<                        光标所在行开始的n行减少缩进

u  12 书签

命令模式下

mx                设定书签,x是任意一个字母,通常小写(a-z),x为小写字母时,局限在一个文件之间切换;大写字母时,可在文件之间切换.

`x                (`位于数字键1旁边)跳转到书签x

编辑模式下

:marks                        查看标签

u  13 光标移动方式

命令模式下

H                        (大写,Head)移动到屏幕顶第一个非空白字符

M                        (大写,Mid)移动到屏幕中间第一个非空白字符

L                        (大写,Last)移动到屏幕底部第一个非空白字符

(                        (左小括号)移动到上一个句子首

)                        (右小括号)移动到下一个句子首

{                        (左大括号)移动到上一个段落首

}                        (右大括号)移动到下一个段落首

%                        光标跳转到匹配到括号处,支持{}()

[[                        光标跳转到代码块开头即{处,要求{独占一行

gD                        光标跳转到局部变量定义处

''                        (两个单引号)光标跳转到上次停靠处

h                        (小写)光标左移一个字符,相当于左方向键

l                        (小写)光标右移一个字符,相当于右方向键

k                        (小写)光标垂直上移一行,相当于上方向键

j                        (小写)光标垂直下移一行,相当于下方向键

ctrl+f                (forword)向下整页翻页

ctrl+b                (backward)向上整页翻页

ctrl+u                (up)向上翻半页

ctrl+d                (down)向下翻半页

zz                        (小写)让光标所在行居于屏幕中央

zt                        (小写)让光标所在行居于屏幕最顶部

zb                        (小写)让光标所在行居于屏幕底部

编辑模式下

:n                        指定移动到第n行

u  14 数字前缀与重复

命令模式下

将数字加在命令前,标示该命令处理几次,如5dd标示执行5次dd(删除光标所在整行)操作。

.        (英文句号)为命令重复命令,按下一次执行一次上一次执行过的命令。

u  15 浏览目录

编辑模式下

:e 目录                列出指定目录下的文件和目录

u  16 vim技巧

技巧1 导入文件或shell命令执行结果

编辑模式下

:r 文件名1                将文件1内容引入到本文件中

:!shell命令                在vim中执行shell命令,执行完后按回车会到vim界面

:r !shell命令        (r与!之间有空格)将shell命令执行的结果导入到本文件中

技巧2 自定义快捷键操作

编辑模式下

:map ^x 命令        (map与^之间、x与命令之间有空格,此处到^并非键盘上的^,而是按下ctrl+v出现到快捷键,表示ctrl键,后面到x为任意字母)按下ctrl+x后会执行对应到命令

例:

:map ^pI#<ESC> 当按下ctrl+p快捷组合键时,在光标所在行行首添加一个#号,并回到命令模式

技巧3 连续行注释

编辑模式下

:n1,n2/^/#/g                (#号为注释符号,在shell中注释符号为#,C++中为//)

:n1,n2/^/\/\//g        C++源文件多行连续注释

技巧4 替换

:ab string1string2        在vim中输入string1按空格或回车后,string1会自动替换为string2

:unabstring1                        取消string1的替换

vim配置文件

~/.vimrc

可将编辑模式下的命令写在里面,每个命令单独一行,这样每次启动时,会自动执行里面的命令。

 

 

 

五、          Linux常见问题答疑(摘抄整理 ^_^)

-------------------------------------------------------------------------------------------------------------------------------

  使用虚拟机克隆操作:

克隆虚拟机后,网卡的问题,导致不能上网

克隆后:使用ip addr show  发现网卡名字是 eth1 不是默认的eth0

查看:/etc/sysconfig/network-scripts/目录下却只能看到eth0的网卡

 

故障产生的原因:

    由于克隆后的系统,虚拟机只是修改了虚拟机的名字MAC等,并

      在/etc/udev/rules.d/70-persistent-net.rules文件中增加了一行名为eth1的设备名,

解决方法:

1、修改/etc/udev/rules.d/70-persistent-net.rules 文件

      删除掉 关于 eth0 的信息。修改 第二条 eth1 的网卡的名字为 eth0.

2、修改文件/etc/udev/rules.d/70-persistent-net.rules中的MAC地址

      和/etc/sysconfig/network-scripts/ifcfg-eth0中的MAC地址要与虚拟机网卡的MAC地址相对应。

 

  问题:虚拟机中CentOS用ifconfig命令查看,发现没有ipv4地址!

解决办法:

步骤1:将网络连接方式从桥接改为NAT连接

步骤2:在终端运行

#/etc/init.d/network restart

步骤3:重启系统,运行ifconfig查看。

 

-------------------------------------------------------------------------------------------------------------------------------

 

 

 

六、          随便附录(摘抄整理 ^_^)

初窥Linux 之我最常用的20条命令

1、cd命令

这是一个非常基本,也是大家经常需要使用的命令,它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径。如:

[plain] viewplain copy

 print?

1.  cd /root/Docements # 切换到目录/root/Docements  

2.  cd ./path          # 切换到当前目录下的path目录中,“.”表示当前目录    

3.  cd ../path         # 切换到上层目录中的path目录中,“..”表示上一层目录  

2、ls命令

这是一个非常有用的查看文件与目录的命令,list之意,它的参数非常多,下面就列出一些我常用的参数吧,如下:

[plain] viewplain copy

 print?

1.  -l :列出长数据串,包含文件的属性与权限数据等  

2.  -a :列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用)  

3.  -d :仅列出目录本身,而不是列出目录的文件数据  

4.  -h :将文件容量以较易读的方式(GB,kB等)列出来  

5.  -R :连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来  

注:这些参数也可以组合使用,下面举两个例子:

[plain] viewplain copy

 print?

1.  ls -l #以长数据串的形式列出当前目录下的数据文件和目录  

2.  ls -lR #以长数据串的形式列出当前目录下的所有文件  

3、grep命令

该命令常用于分析一行的信息,若当中有我们所需要的信息,就将该行显示出来,该命令通常与管道命令一起使用,用于对一些命令的输出进行筛选加工等等,它的简单语法为

[plain] viewplain copy

 print?

1.  grep [-acinv] [--color=auto] '查找字符串' filename  

它的常用参数如下:

[plain] viewplain copy

 print?

1.  -a :将binary文件以text文件的方式查找数据  

2.  -c :计算找到‘查找字符串’的次数  

3.  -i :忽略大小写的区别,即把大小写视为相同  

4.  -v :反向选择,即显示出没有‘查找字符串’内容的那一行  

5.  # 例如:  

6.  # 取出文件/etc/man.config中包含MANPATH的行,并把找到的关键字加上颜色  

7.  grep --color=auto 'MANPATH' /etc/man.config  

8.  # 把ls -l的输出中包含字母file(不区分大小写)的内容输出  

9.  ls -l | grep -i file  

4、find命令

find是一个基于查找的功能非常强大的命令,相对而言,它的使用也相对较为复杂,参数也比较多,所以在这里将给把它们分类列出,它的基本语法如下:

[plain] viewplain copy

 print?

1.  find [PATH] [option] [action]  

2.    

3.  # 与时间有关的参数:  

4.  -mtime n : n为数字,意思为在n天之前的“一天内”被更改过的文件;  

5.  -mtime +n : 列出在n天之前(不含n天本身)被更改过的文件名;  

6.  -mtime -n : 列出在n天之内(含n天本身)被更改过的文件名;  

7.  -newer file : 列出比file还要新的文件名  

8.  # 例如:  

9.  find /root -mtime 0 # 在当前目录下查找今天之内有改动的文件  

10.   

11. # 与用户或用户组名有关的参数:  

12. -user name : 列出文件所有者为name的文件  

13. -group name : 列出文件所属用户组为name的文件  

14. -uid n : 列出文件所有者为用户ID为n的文件  

15. -gid n : 列出文件所属用户组为用户组ID为n的文件  

16. # 例如:  

17. find /home/ljianhui -user ljianhui # 在目录/home/ljianhui中找出所有者为ljianhui的文件  

18.   

19. # 与文件权限及名称有关的参数:  

20. -name filename :找出文件名为filename的文件  

21. -size [+-]SIZE :找出比SIZE还要大(+)或小(-)的文件  

22. -tpye TYPE :查找文件的类型为TYPE的文件,TYPE的值主要有:一般文件(f)、设备文件(b、c)、  

23.              目录(d)、连接文件(l)、socket(s)、FIFO管道文件(p);  

24. -perm mode :查找文件权限刚好等于mode的文件,mode用数字表示,如0755;  

25. -perm -mode :查找文件权限必须要全部包括mode权限的文件,mode用数字表示  

26. -perm +mode :查找文件权限包含任一mode的权限的文件,mode用数字表示  

27. # 例如:  

28. find / -name passwd # 查找文件名为passwd的文件  

29. find . -perm 0755 # 查找当前目录中文件权限的0755的文件  

30. find . -size +12k # 查找当前目录中大于12KB的文件,注意c表示byte  

5、cp命令

该命令用于复制文件,copy之意,它还可以把多个文件一次性地复制到一个目录下,它的常用参数如下:

[plain] viewplain copy

 print?

1.  -a :将文件的特性一起复制  

2.  -p :连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份  

3.  -i :若目标文件已经存在时,在覆盖时会先询问操作的进行  

4.  -r :递归持续复制,用于目录的复制行为  

5.  -u :目标文件与源文件有差异时才会复制  

例如 :

[plain] viewplain copy

 print?

1.  cp -a file1 file2 #连同文件的所有特性把文件file1复制成文件file2  

2.  cp file1 file2 file3 dir #把文件file1、file2、file3复制到目录dir中  

6、mv命令

该命令用于移动文件、目录或更名,move之意,它的常用参数如下:

[plain] viewplain copy

 print?

1.  -f :force强制的意思,如果目标文件已经存在,不会询问而直接覆盖  

2.  -i :若目标文件已经存在,就会询问是否覆盖  

3.  -u :若目标文件已经存在,且比目标文件新,才会更新  

注:该命令可以把一个文件或多个文件一次移动一个文件夹中,但是最后一个目标文件一定要是“目录”。

 

例如:

[plain] viewplain copy

 print?

1.  mv file1 file2 file3 dir # 把文件file1、file2、file3移动到目录dir中  

2.  mv file1 file2 # 把文件file1重命名为file2  

7、rm命令

该命令用于删除文件或目录,remove之间,它的常用参数如下:

[plain] viewplain copy

 print?

1.  -f :就是force的意思,忽略不存在的文件,不会出现警告消息  

2.  -i :互动模式,在删除前会询问用户是否操作  

3.  -r :递归删除,最常用于目录删除,它是一个非常危险的参数  

例如:

[plain] viewplain copy

 print?

1.  rm -i file # 删除文件file,在删除之前会询问是否进行该操作  

2.  rm -fr dir # 强制删除目录dir中的所有文件  

8、ps命令

该命令用于将某个时间点的进程运行情况选取下来并输出,process之意,它的常用参数如下:

[plain] viewplain copy

 print?

1.  -A :所有的进程均显示出来  

2.  -a :不与terminal有关的所有进程  

3.  -u :有效用户的相关进程  

4.  -x :一般与a参数一起使用,可列出较完整的信息  

5.  -l :较长,较详细地将PID的信息列出  

其实我们只要记住ps一般使用的命令参数搭配即可,它们并不多,如下:

[plain] viewplain copy

 print?

1.  ps aux # 查看系统所有的进程数据  

2.  ps ax # 查看不与terminal有关的所有进程  

3.  ps -lA # 查看系统所有的进程数据  

4.  ps axjf # 查看连同一部分进程树状态  

9、kill命令

该命令用于向某个工作(%jobnumber)或者是某个PID(数字)传送一个信号,它通常与ps和jobs命令一起使用,它的基本语法如下:

[plain] viewplain copy

 print?

1.  kill -signal PID  

signal的常用参数如下:

注:最前面的数字为信号的代号,使用时可以用代号代替相应的信号。

[plain] viewplain copy

 print?

1.  1:SIGHUP,启动被终止的进程  

2.  2:SIGINT,相当于输入ctrl+c,中断一个程序的进行  

3.  9:SIGKILL,强制中断一个进程的进行  

4.  15:SIGTERM,以正常的结束进程方式来终止进程  

5.  17:SIGSTOP,相当于输入ctrl+z,暂停一个进程的进行  

例如:

[plain] viewplain copy

 print?

1.  # 以正常的结束进程方式来终于第一个后台工作,可用jobs命令查看后台中的第一个工作进程  

2.  kill -SIGTERM %1   

3.  # 重新改动进程ID为PID的进程,PID可用ps命令通过管道命令加上grep命令进行筛选获得  

4.  kill -SIGHUP PID  

10、killall命令

该命令用于向一个命令启动的进程发送一个信号,它的一般语法如下:

[plain] viewplain copy

 print?

1.  killall [-iIe] [command name]  

它的参数如下:

[plain] viewplain copy

 print?

1.  -i :交互式的意思,若需要删除时,会询问用户  

2.  -e :表示后面接的command name要一致,但command name不能超过15个字符  

3.  -I :命令名称忽略大小写  

4.  # 例如:  

5.  killall -SIGHUP syslogd # 重新启动syslogd  

11、file命令

该命令用于判断接在file命令后的文件的基本数据,因为在Linux下文件的类型并不是以后缀为分的,所以这个命令对我们来说就很有用了,它的用法非常简单,基本语法如下:

[plain] viewplain copy

 print?

1.  file filename  

2.  #例如:  

3.  file ./test  

12、tar命令

该命令用于对文件进行打包,默认情况并不会压缩,如果指定了相应的参数,它还会调用相应的压缩程序(如gzip和bzip等)进行压缩和解压。它的常用参数如下:

[plain] viewplain copy

 print?

1.  -c :新建打包文件  

2.  -t :查看打包文件的内容含有哪些文件名  

3.  -x :解打包或解压缩的功能,可以搭配-C(大写)指定解压的目录,注意-c,-t,-x不能同时出现在同一条命令中  

4.  -j :通过bzip2的支持进行压缩/解压缩  

5.  -z :通过gzip的支持进行压缩/解压缩  

6.  -v :在压缩/解压缩过程中,将正在处理的文件名显示出来  

7.  -f filename :filename为要处理的文件  

8.  -C dir :指定压缩/解压缩的目录dir  

上面的解说可以已经让你晕过去了,但是通常我们只需要记住下面三条命令即可:

[plain] viewplain copy

 print?

1.  压缩:tar -jcv -f filename.tar.bz2 要被处理的文件或目录名称  

2.  查询:tar -jtv -f filename.tar.bz2  

3.  解压:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录  

注:文件名并不定要以后缀tar.bz2结尾,这里主要是为了说明使用的压缩程序为bzip2

 

13、cat命令

该命令用于查看文本文件的内容,后接要查看的文件名,通常可用管道与more和less一起使用,从而可以一页页地查看数据。例如:

[plain] viewplain copy

 print?

1.  cat text | less # 查看text文件中的内容  

2.  # 注:这条命令也可以使用less text来代替  

14、chgrp命令

该命令用于改变文件所属用户组,它的使用非常简单,它的基本用法如下:

[plain] viewplain copy

 print?

1.  chgrp [-R] dirname/filename  

2.  -R :进行递归的持续对所有文件和子目录更改  

3.  # 例如:  

4.  chgrp users -R ./dir # 递归地把dir目录下中的所有文件和子目录下所有文件的用户组修改为users  

15、chown命令

该命令用于改变文件的所有者,与chgrp命令的使用方法相同,只是修改的文件属性不同,不再详述。

 

16、chmod命令

该命令用于改变文件的权限,一般的用法如下:

[plain] viewplain copy

 print?

1.  chmod [-R] xyz 文件或目录  

2.  -R:进行递归的持续更改,即连同子目录下的所有文件都会更改  

同时,chmod还可以使用u(user)、g(group)、o(other)、a(all)和+(加入)、-(删除)、=(设置)跟rwx搭配来对文件的权限进行更改。

 

[plain] viewplain copy

 print?

1.  # 例如:  

2.  chmod 0755 file # 把file的文件权限改变为-rxwr-xr-x  

3.  chmod g+w file # 向file的文件权限中加入用户组可写权限  

18、vim命令

该命令主要用于文本编辑,它接一个或多个文件名作为参数,如果文件存在就打开,如果文件不存在就以该文件名创建一个文件。vim是一个非常好用的文本编辑器,它里面有很多非常好用的命令,在这里不再多说。你可以从这里下载vim常用操作的详细说明。

 

19、gcc命令

对于一个用Linux开发C程序的人来说,这个命令就非常重要了,它用于把C语言的源程序文件,编译成可执行程序,由于g++的很多参数跟它非常相似,所以这里只介绍gcc的参数,它的常用参数如下:

[plain] viewplain copy

 print?

1.  -o :output之意,用于指定生成一个可执行文件的文件名  

2.  -c :用于把源文件生成目标文件(.o),并阻止编译器创建一个完整的程序  

3.  -I :增加编译时搜索头文件的路径  

4.  -L :增加编译时搜索静态连接库的路径  

5.  -S :把源文件生成汇编代码文件  

6.  -lm:表示标准库的目录中名为libm.a的函数库  

7.  -lpthread :连接NPTL实现的线程库  

8.  -std= :用于指定把使用的C语言的版本  

9.    

10. # 例如:  

11. # 把源文件test.c按照c99标准编译成可执行程序test  

12. gcc -o test test.c -lm -std=c99  

13. #把源文件test.c转换为相应的汇编程序源文件test.s  

14. gcc -S test.c  

20、time命令

该命令用于测算一个命令(即程序)的执行时间。它的使用非常简单,就像平时输入命令一样,不过在命令的前面加入一个time即可,例如:

[plain] viewplain copy

 print?

1.  time ./process  

2.  time ps aux  

在程序或命令运行结束后,在最后输出了三个时间,它们分别是:

user:用户CPU时间,命令执行完成花费的用户CPU时间,即命令在用户态中执行时间总和;

system:系统CPU时间,命令执行完成花费的系统CPU时间,即命令在核心态中执行时间总和;

real:实际时间,从command命令行开始执行到运行终止的消逝时间;

 

注:用户CPU时间和系统CPU时间之和为CPU时间,即命令占用CPU执行的时间总和。实际时间要大于CPU时间,因为Linux是多任务操作系统,往往在执行一条命令时,系统还要处理其它任务。另一个需要注意的问题是即使每次执行相同命令,但所花费的时间也是不一样,其花费时间是与系统运行相关的。

 

 

 

 

 

 

50个最常用的Unix/Linux命令

tar

grep

find

ssh

sed

awk

vim

diff

sort

export

args

ls

pwd

cd

gzip

bzip2

unzip

shutdown

ftp

crontab

service

ps

free

top

df

kill

rm

cp

mv

cat

mount

chmod

chown

passwd

mkdir

ifconfig

uname

whereis

whatis

locate

man

tail

less

su

mysql

yum

rpm

ping

date

wget

1. tar

创建一个新的tar文件

$ tar cvf archive_name.tar dirname/

解压tar文件

$ tar xvf archive_name.tar

查看tar文件

$ tar tvf archive_name.tar

更多示例:The Ultimate Tar Command Tutorial with 10 PracticalExamples

2.grep

在文件中查找字符串(不区分大小写)

$ grep -i "the" demo_file

输出成功匹配的行,以及该行之后的三行

$ grep -A 3 -i "example" demo_text

在一个文件夹中递归查询包含指定字符串的文件

$ grep -r "ramesh" *

更多示例:Get a Grip on the Grep! – 15 Practical Grep CommandExamples

3.find

查找指定文件名的文件(不区分大小写)

$ find -iname "MyProgram.c"

对找到的文件执行某个命令

$ find -iname "MyProgram.c" -exec md5sum {} \;

查找home目录下的所有空文件

$ find ~ -empty

更多示例:Mommy, I found it! — 15 Practical Linux Find CommandExamples

4. ssh

登录到远程主机

$ ssh -l jsmith remotehost.example.com

调试ssh客户端

$ ssh -v -l jsmith remotehost.example.com

显示ssh客户端版本

$ ssh -V

更多示例:5 Basic Linux SSH Client Commands

5. sed

当你将Dos系统中的文件复制到Unix/Linux后,这个文件每行都会以\r\n结尾,sed可以轻易将其转换为Unix格式的文件,使用\n结尾的文件

$ sed 's/.$//' filename

反转文件内容并输出

$ sed -n '1!G; h; p' filename

为非空行添加行号

$ sed '/./=' thegeekstuff.txt | sed 'N; s/\n/ /'

更多示例:Advanced Sed Substitution Examples

6. awk

删除重复行

$ awk '!($0 in array) { array[$0]; print}' temp

打印/etc/passwd中所有包含同样的uid和gid的行

$ awk -F ':' '$3=$4'/etc/passwd

打印文件中的指定部分的字段

$ awk '{print $2,$5;}' employee.txt

更多示例:8 Powerful Awk Built-in Variables – FS, OFS, RS, ORS, NR,NF, FILENAME, FNR

7. vim

打开文件并跳到第10行

$ vim +10 filename.txt

打开文件跳到第一个匹配的行

$ vim +/search-term filename.txt

以只读模式打开文件

$ vim -R /etc/passwd

更多示例:How To Record and Play in Vim Editor

8.diff

比较的时候忽略空白符

$ diff -w name_list.txt name_list_new.txt

9.sort

以升序对文件内容排序

$ sort names.txt

以降序对文件内容排序

$ sort -r names.txt

以第三个字段对/etc/passwd的内容排序

$ sort -t: -k 3n /etc/passwd | more

10.export

输出跟字符串oracle匹配的环境变量

$ export | grep ORCALE

declare -x ORACLE_BASE="/u01/app/oracle"

declare -x ORACLE_HOME="/u01/app/oracle/product/10.2.0"

declare -x ORACLE_SID="med"

declare -x ORACLE_TERM="xterm"

设置全局环境变量

$ exportORACLE_HOME=/u01/app/oracle/product/10.2.0

11.xargs

将所有图片文件拷贝到外部驱动器

$ ls *.jpg | xargs -n1 -i cp {}/external-hard-drive/directory

将系统中所有jpd文件压缩打包

$ find / -name *.jpg -type f -print |xargs tar -cvzf images.tar.gz

下载文件中列出的所有url对应的页面

$ cat url-list.txt | xargs wget –c

12. ls

以易读的方式显示文件大小(显示为MB,GB...)

$ ls -lh

-rw-r----- 1 ramesh team-dev 8.9M Jun12 15:27 arch-linux.txt.gz

以最后修改时间升序列出文件

$ ls -ltr

在文件名后面显示文件类型

$ ls -F

更多示例:Unix LS Command: 15 Practical Examples

13.pwd

输出当前工作目录

14. cd

cd -可以在最近工作的两个目录间切换

使用shopt-s cdspell可以设置自动对cd命令进行拼写检查

更多示例:6 Awesome Linux cd command Hacks

15.gzip

创建一个*.gz的压缩文件

$ gzip test.txt

解压*.gz文件

$ gzip -d test.txt.gz

显示压缩的比率

$ gzip -l *.gz

    compressed       uncompressed  ratiouncompressed_name

         23709               97975  75.8% asp-patch-rpms.txt

16.bzip2

创建*.bz2压缩文件

$ bzip2 test.txt

解压*.bz2文件

bzip2 -d test.txt.bz2

更多示例:BZ is Eazy! bzip2, bzgrep, bzcmp, bzdiff, bzcat, bzless,bzmore examples

17.uzip

解压*.zip文件

$ unzip test.zip

查看*.zip文件的内容

$ unzip -l jasper.zip

Archive: jasper.zip

Length    Date   Time    Name

--------   ----   ----    ----

40995  11-30-98 23:50  META-INF/MANIFEST.MF

32169  08-25-98 21:07  classes_

15964  08-25-98 21:07  classes_names

10542  08-25-98 21:07  classes_ncomp

18.shutdown

关闭系统并立即关机

$ shutdown -h now

10分钟后关机

$ shutdown -h +10

重启

$ shutdown -r now

重启期间强制进行系统检查

$ shutdown -Fr now

19.ftp

ftp命令和sftp命令的用法基本相似连接ftp服务器并下载多个文件

$ ftp IP/hostname

ftp> mget *.html

显示远程主机上文件列表

ftp> mls *.html -

/ftptest/features.html

/ftptest/index.html

/ftptest/othertools.html

/ftptest/samplereport.html

/ftptest/usage.html

更多示例:FTP and SFTP Beginners Guide with 10 Examples

20.crontab

查看某个用户的crontab入口

$ crontab -u john -l

设置一个每十分钟执行一次的计划任务

*/10 * * * */home/ramesh/check-disk-space

更多示例:Linux Crontab: 15 Awesome Cron Job Examples

21.service

service命令用于运行SystemV init脚本,这些脚本一般位于/etc/init.d文件下,这个命令可以直接运行这个文件夹里面的脚本,而不用加上路径

查看服务状态

$ service ssh status

查看所有服务状态

$ service --status-all

重启服务

$ service ssh restart

22. ps

ps命令用于显示正在运行中的进程的信息,ps命令有很多选项,这里只列出了几个

查看当前正在运行的所有进程

$ ps -ef | more

以树状结构显示当前正在运行的进程,H选项表示显示进程的层次结构

$ ps -efH | more

23.free

这个命令用于显示系统当前内存的使用情况,包括已用内存、可用内存和交换内存的情况

默认情况下free会以字节为单位输出内存的使用量

$ free

            total       used      free     shared    buffers    cached

Mem:      3566408    1580220    1986188         0    203988    902960

-/+ buffers/cache:     473272    3093136

Swap:     4000176         0    4000176

如果你想以其他单位输出内存的使用量,需要加一个选项,-g为GB,-m为MB,-k为KB,-b为字节

$ free -g

            total       used       free     shared   buffers     cached

Mem:             3          1          1          0          0          0

-/+ buffers/cache:          0          2

Swap:            3          0          3

如果你想查看所有内存的汇总,请使用-t选项,使用这个选项会在输出中加一个汇总行

ramesh@ramesh-laptop:~$ free -t

            total       used       free    shared    buffers     cached

Mem:       3566408    1592148    1974260         0    204260    912556

-/+ buffers/cache:    475332    3091076

Swap:      4000176         0    4000176

Total:     7566584    1592148    5974436

24.top

top命令会显示当前系统中占用资源最多的一些进程(默认以CPU占用率排序)如果你想改变排序方式,可以在结果列表中点击O(大写字母O)会显示所有可用于排序的列,这个时候你就可以选择你想排序的列

Current Sort Field:  P  forwindow 1:Def

Select sort field via field letter,type any other key to return

 

  a:PID        = Process Id              v: nDRT       = Dirty Pages count

  d:UID        = User Id                 y: WCHAN      = Sleeping in Function

  e: USER       = User Name               z: Flags      = Task Flags

 ........

如果只想显示某个特定用户的进程,可以使用-u选项

$ top -u oracle

更多示例:Can You Top This? 15 Practical Linux Top Command Examples

25. df

显示文件系统的磁盘使用情况,默认情况下df -k 将以字节为单位输出磁盘的使用量

$ df -k

Filesystem           1K-blocks      Used Available Use%Mounted on

/dev/sda1             29530400   3233104 24797232  12% /

/dev/sda2            120367992  50171596  64082060  44% /home

使用-h选项可以以更符合阅读习惯的方式显示磁盘使用量

$ df -h

Filesystem                  Size   Used Avail Capacity  iused      ifree %iused  Mounted on

/dev/disk0s2               232Gi   84Gi 148Gi    37% 21998562   38864868  36%   /

devfs                      187Ki  187Ki    0Bi   100%      648         0  100%  /dev

map -hosts                   0Bi    0Bi    0Bi   100%       0         0  100%  /net

map auto_home                0Bi    0Bi    0Bi   100%       0         0  100%  /home

/dev/disk0s4               466Gi   45Gi  421Gi    10%   112774  440997174    0%  /Volumes/BOOTCAMP

//app@izenesoft.cn/public 2.7Ti  1.3Ti  1.4Ti    48%       0 18446744073709551615    0%   /Volumes/public

使用-T选项显示文件系统类型

$ df -T

Filesystem   Type   1K-blocks      Used Available Use%Mounted on

/dev/sda1     ext4   29530400   3233120  24797216 12% /

/dev/sda2    ext4   120367992  50171596  64082060  44% /home

26.kill

kill用于终止一个进程。一般我们会先用ps -ef查找某个进程得到它的进程号,然后再使用kill -9 进程号终止该进程。你还可以使用killall、pkill、xkill来终止进程

$ ps -ef | grep vim

ramesh   7243  7222  9 22:43 pts/2    00:00:00 vim

 

$ kill -9 7243

更多示例:4 Ways to Kill a Process – kill, killall, pkill, xkill

27. rm

删除文件前先确认

$ rm -i filename.txt

在文件名中使用shell的元字符会非常有用。删除文件前先打印文件名并进行确认

$ rm -i file*

递归删除文件夹下所有文件,并删除该文件夹

$ rm -r example

28. cp

拷贝文件1到文件2,并保持文件的权限、属主和时间戳

$ cp -p file1 file2

拷贝file1到file2,如果file2存在会提示是否覆盖

$ cp -i file1 file2

29. mv

将文件名file1重命名为file2,如果file2存在则提示是否覆盖

$ mv -i file1 file2

注意如果使用-f选项则不会进行提示

-v会输出重命名的过程,当文件名中包含通配符时,这个选项会非常方便

$ mv -v file1 file2

30.cat

你可以一次查看多个文件的内容,下面的命令会先打印file1的内容,然后打印file2的内容

$ cat file1 file2

-n命令可以在每行的前面加上行号

$ cat -n /etc/logrotate.conf

    1    /var/log/btmp{

    2        missingok

    3        monthly

    4        create 0660 root utmp

    5        rotate 1

    6    }

31.mount

如果要挂载一个文件系统,需要先创建一个目录,然后将这个文件系统挂载到这个目录上

# mkdir /u01

 

# mount /dev/sdb1 /u01

也可以把它添加到fstab中进行自动挂载,这样任何时候系统重启的时候,文件系统都会被加载

/dev/sdb1 /u01 ext2 defaults 0 2

32.chmod

chmod用于改变文件和目录的权限

给指定文件的属主和属组所有权限(包括读、写、执行)

$ chmod ug+rwx file.txt

删除指定文件的属组的所有权限

$ chmod g-rwx file.txt

修改目录的权限,以及递归修改目录下面所有文件和子目录的权限

$ chmod -R ug+rwx file.txt

更多示例:7 Chmod Command Examples for Beginners

33.chown

chown用于改变文件属主和属组

同时将某个文件的属主改为oracle,属组改为db

$ chown oracle:dba dbora.sh

使用-R选项对目录和目录下的文件进行递归修改

$ chown -R oracle:dba /home/oracle

34.passwd

passwd用于在命令行修改密码,使用这个命令会要求你先输入旧密码,然后输入新密码

$ passwd

超级用户可以用这个命令修改其他用户的密码,这个时候不需要输入用户的密码

# passwd USERNAME

passwd还可以删除某个用户的密码,这个命令只有root用户才能操作,删除密码后,这个用户不需要输入密码就可以登录到系统

# passwd -d USERNAME

35.mkdir

在home目录下创建一个名为temp的目录

$ mkdir ~/temp

使用-p选项可以创建一个路径上所有不存在的目录

$ mkdir -p dir1/dir2/dir3/dir4/

36.ifconfig

ifconfig用于查看和配置Linux系统的网络接口

查看所有网络接口及其状态

$ ifconfig -a

使用up和down命令启动或停止某个接口

$ ifconfig eth0 up

 

$ ifconfig eth0 down

更多示例:Ifconfig: 7 Examples To Configure Network Interface

37.uname

uname可以显示一些重要的系统信息,例如内核名称、主机名、内核版本号、处理器类型之类的信息

$ uname -a

Linux john-laptop 2.6.32-24-generic #41-Ubuntu SMP Thu Aug 19 01:12:52 UTC 2010i686 GNU/Linux

38.whereis

当你不知道某个命令的位置时可以使用whereis命令,下面使用whereis查找ls的位置

$ whereis ls

ls: /bin/ls/usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

当你想查找某个可执行程序的位置,但这个程序又不在whereis的默认目录下,你可以使用-B选项,并指定目录作为这个选项的参数。下面的命令在/tmp目录下查找lsmk命令

$ whereis -u -B /tmp -f lsmk

lsmk: /tmp/lsmk

39.whatis

wathis显示某个命令的描述信息

$ whatis ls

ls               (1)  -list directory contents

 

$ whatis ifconfig

ifconfig (8)         - configure a network interface

40.locate

locate命名可以显示某个指定文件(或一组文件)的路径,它会使用由updatedb创建的数据库

下面的命令会显示系统中所有包含crontab字符串的文件

$ locate crontab

/etc/anacrontab

/etc/crontab

/usr/bin/crontab

/usr/share/doc/cron/examples/crontab2english.pl.gz

/usr/share/man/man1/crontab.1.gz

/usr/share/man/man5/anacrontab.5.gz

/usr/share/man/man5/crontab.5.gz

/usr/share/vim/vim72/syntax/crontab.vim

41.man

显示某个命令的man页面

$ man crontab

有些命令可能会有多个man页面,每个man页面对应一种命令类型

$ man SECTION-NUMBER commandname

man页面一般可以分为8种命令类型

1. 用户命令

2. 系统调用

3. c库函数

4. 设备与网络接口

5. 文件格式

6. 游戏与屏保

7. 环境、表、宏

8. 系统管理员命令和后台运行命令

例如,我们执行whatiscrontab,你可以看到crontab有两个命令类型1和5,所以我们可以通过下面的命令查看命令类型5的man页面

$ whatis crontab

crontab (1)          - maintain crontab files forindividual users (V3)

crontab (5)          - tables for driving cron

 

$ man 5 crontab

42.tail

tail命令默认显示文件最后的10行文本

$ tail filename.txt

你可以使用-n选项指定要显示的行数

$ tail -n N filename.txt

你也可以使用-f选项进行实时查看,这个命令执行后会等待,如果有新行添加到文件尾部,它会继续输出新的行,在查看日志时这个选项会非常有用。你可以通过CTRL-C终止命令的执行

$ tail -f log-file

更多示例:3 Methods To View tail -f output of Multiple Log Files inOne Terminal

43.less

这个命名可以在不加载整个文件的前提下显示文件内容,在查看大型日志文件的时候这个命令会非常有用

$ less huge-log-file.log

当你用less命令打开某个文件时,下面两个按键会给你带来很多帮助,他们用于向前和向后滚屏

CTRL+F – forward one window

CTRL+B – backward one window

更多示例:Unix Less Command: 10 Tips for Effective Navigation

44. su

su命令用于切换用户账号,超级用户使用这个命令可以切换到任何其他用户而不用输入密码

$ su - USERNAME

用另外一个用户名执行一个命令下面的示例中用户john使用raj用户名执行ls命令,执行完后返回john的账号

[john@dev-server]$ su - raj -c 'ls'

 

[john@dev-server]$

用指定用户登录,并且使用指定的shell程序,而不用默认的

$ su -s 'SHELLNAME' USERNAME

45.mysql

mysql可能是Linux上使用最广泛的数据库,即使你没有在你的服务器上安装mysql,你也可以使用mysql客户端连接到远程的mysql服务器

连接一个远程数据库,需要输入密码

$ mysql -u root -p -h 192.168.1.2

连接本地数据库

$ mysql -u root -p

你也可以在命令行中输入数据库密码,只需要在-p后面加上密码作为参数,可以直接写在p后面而不用加空格

46.yum

使用yum安装apache

$ yum install httpd

更新apache

$ yum update httpd

卸载/删除apache

$ yum remove httpd

47.rpm

使用rpm安装apache

# rpm -ivh httpd-2.2.3-22.0.1.el5.i386.rpm

更新apache

# rpm -uvh httpd-2.2.3-22.0.1.el5.i386.rpm

卸载/删除apache

# rpm -ev httpd

更多示例:RPM Command: 15 Examples to Install, Uninstall, Upgrade,Query RPM Packages

48.ping

ping一个远程主机,只发5个数据包

$ ping -c 5 gmail.com

更多示例:Ping Tutorial: 15 Effective Ping Command Examples

49.date

设置系统日期

# date -s "01/31/201023:59:53"

当你修改了系统时间,你需要同步硬件时间和系统时间

# hwclock –systohc

 

# hwclock --systohc –utc

50.wget

使用wget从网上下载软件、音乐、视频

$ wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.1.tar.gz

下载文件并以指定的文件名保存文件

$ wget -O taglist.zip http://www.vim.org/scripts/download_script.php?src_id=7701

 

 

 

 

 

                                                                                                            蟑螂•魂 原创出品

                                                                                                              2017年7月5日

相关内容