-man [命令]获取当前命令的帮助文档,如man mkdir
-[命令] --help获取当前命定的帮助文档,如man --help
-返回上一级目录 cd ..
-返回登录用户目录 cd ~或cd
-新建目录 mkdir
+删除目录 rmdir或rm
-删除非空目录 rm -rf 目录
+gcc -Wall test.c -std=c99 -o main
-以C99标准来编译test.c
-新建文件 touch new.c
-常用数学函数使用stdlib.h,非常用数学函数使用math.h,编译时加上-lm选项
-linux编译优化 -O -O1 -O2 -O3(是字母O,大写)
-gdb模式下返回命令行使用shell
+更改Centos启动模式:文本or图形
-http://www.jb51.net/os/RedHat/1285.html
-修改inittab文件。 vi /etc/inittab 找到id:3:initdefault:这行 按i进入编辑模式,将3改为5。 按esc退出编辑。 输入 :qw ---输入包括“:” 如果希望每次都自动进入多用户模式
改为:
id:3:initdefault: 有下几种模式: # 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode //单用户模式
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking) //多用户模式,没有网络文件系统
# 3 - Full multiuser mode /完全多用户模式
# 4 - unused
# 5 - X11 //窗口模式
# 6 - reboot (Do NOT set initdefault to this)
-由字符界面切换到图形界面可用两种简单方法实现:
1、在字符界面输入startx或init 5 。
2、通过编辑/etc/inittab文件实现默认进入图形界面。
把其中的id:3:initdefault中的3改为5,这样以后系统启动后将直接进入文本模式。
以下是配置引导进入图形模式的etc/inittab文件的部分内容:
#Default runlevel.The runlevels used by RHS are:
# 0-halt(Do NOT set initdefault to this)
# 1 -Single user mode
# 2-Multiuser,without NFS(The same as 3,if you do not have networking)
# 3-Full multiuser mode
# 4-unused
# 5-X11 //选择此项,系统在登录时将进入图形化登录界面
# 6-reboot(Do NOT set initdefault to this)
#
id:3:initdefault: //此处若改为3,系统将被引导进入文本登录提示符界面
让linux启动后自动进入图形界面或文本界面(转载)
a.开机进入图形界面:安装时选图形启动方式或把/etc /inittab的id:x:initdefault:这行改成id:5:initdefault:。
b.开机不进入图形界面:安装时选文本启动方式或把/etc/inittab的id:x:initdefault:这行改成id:3:initdefault:。
*inittab是做什么的?
在KERNEL起来之后,将生成第一个进程——init,实际上是执行了/sbin/init。init的工作是根据/etc/inittab来执行相应的脚本进行系统初始化,如设置键盘、字体,装载模块,设置网络,等等。
/etc/inittab文件的每一行包括四个域:
id:runlevels:action:process
runlevel是运行模式,通常为0-6。模式0是 halt,模式6是reboot,模式1是单用户,模式2/3是多用户,模式5是运行xdm以图形界面方式登录。id为标识符,通常为两个字母。 process为需要执行的程序或脚本。action包括有:
(1) defaultinit —— 指定缺省的运行模式(runlevel)
(2) sysinit —— 指定运行的第一个程序/脚本,此时runlevels域不起作用。
(3) boot —— 在sysinit之后执行,runlevels域不起作用
(4) bootwait —— 同boot,但init会等待该命令结束
(5) once —— 在进入有runlevels指定的运行模式时运行
(6) wait —— 同上,但init会等待该命令结束
(7) respawn —— 在进入相应runlevel时执行,并且若该进程结束,init会再起一个进程执行同样的命令
(icon_cool.gif ctrlaltdel —— 指定在用户按下Ctrl-Alt-Del时执行的命令
对于linux来说,执行的顺序为:
/etc/rc.d/rc.sysinit # 由init执行的第一个脚本
/etc/rc.d/rc $RUNLEVEL # $RUNLEVEL为缺省的运行模式
/sbin/mingetty # 等待用户登录
init程序部分
init 程序通常在/sbin或/bin下,它负责在系统启动时运行一系列程序和脚本文件。init程序一旦被内核调用,便成为系统的第0号进程,该进程对于 LINUX系统是十分重要的,有关它的详细内容请参阅其他资料。init进程做的每一步都由/etc/initab中的配置决定。以下是RadHat 的/etc/inittab文件的例子:
inittab文件的每一行包含四个域,格式为:
code:runlevels:action:command
(1) code域用单个或两个字符序列来作为本行的标识,这个标识在此文件中是唯一的。文件中的某些记录必须使用特定的code才能使系统工作正常。
(2) runlevels域给出的是本行的运行级别。LINUX系统运行在一定的级别下,当inittab文件指定了某一特定的运行级别时,该记录行包含的命令将被执行。RedHat系统通常设置了7个运行级别(0-6),各运行级别的说明包含在inittab文件的开头。
(3) action域指出的是init程序执行command命令的方式。比如:只执行command一次,还是在它退出时重启。
(4) command域给出相应记录行要执行的命令
运行级别1是单用户模式,所谓单用户指的是系统运行在唯一用户--超级用户模式下。而大多数情况下,系统运行在多用户模式下。在启动出错、文件系统出错等情况下,系统将进入单用户模式,此时,系统只有很少的配置,这对于恢复系统是很必要的。
inittab文件首先指出缺省的运行级别(如 id:3:initdefault:),我们看到上面的例子中缺省的运行级别为3。此后根据下一条记录,系统应当运行/etc/rc.d/rc.sysinit,这是一个脚本文件,主要包括基本的系统初始化命令,如激活交换分区、检查并挂上文件系统、装载部分模块等。
-使用ctrl+C终止ping
-从root进root的上一级目录,cd /
-使用yum指令安装dhcp:yum -y install dhcp
+CentOS中DHCP服务器的配置
-http://www.net527.cn/a/caozuoxitong/Linux/9971.html
-一、DHCP(Dynamic Host Configuration Protocol):动态主机配置协议。 二、搭建DHCP服务器: 1、安装DHCP服务器组件: [root@CentOS ~]#yum -y install dhcp 2、配置DHCP: DHCP配置文件为/etc/dhcpd.conf,但该文件默认是没有内容的,可以从dhcp安装目录
-一、DHCP(Dynamic Host Configuration Protocol):动态主机配置协议。
二、搭建DHCP服务器:
1、安装DHCP服务器组件:
[root@CentOS ~]#yum -y install dhcp
2、配置DHCP:
DHCP配置文件为/etc/dhcpd.conf,但该文件默认是没有内容的,可以从dhcp安装目录复制一个到/etc下。
[root@CentOS ~]#cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf
[root@CentOS ~]#vi /etc/dhcpd.conf
ddns-update-style none; #不要更新DDNS的设置
subnet 192.168.0.0 netmask 255.255.255.0 {
option routers 192.168.0.254; #网关
option subnet-mask 255.255.255.0; #子网掩码
option domain-name “mycentos"; #域名
option domain-name-servers 192.168.0.254,202.103.0.68; #域名服务器地址
range 192.168.0.1 192.168.0.254; #提供的IP地址段
default-lease-time 21600; #默认租期
max-lease-time 43200; #最大租期
}
#以下内容为特定机器保留的IP
host game {
hardware ethernet 00:11:22:33:44:55;
fixed-address 192.168.0.123;
}
编辑/etc/sysconfig/dhcpd文件为:
# Command line options here
DHCPDARGS=eth0
三、启动DHCP服务器
[root@CentOS ~]#service dhcpd start
让dhcp服务随系统而启动:
[root@CentOS ~]#chkconfig dhcpd on
+linux编辑器的基础命令使用方法
-http://os.51cto.com/art/200910/158396.htm
-学习linux vi编辑器时,你可能会遇到其使用方法得问题,这里将介绍linux vi编辑器命令的一般用法,在这里拿出来和大家分享一下。
一般模式
h 左
j 下
k 上
l 右
0 移动到行首
$ 移动到行尾
H 屏幕最上
M 屏幕中央
L 屏幕最下
G 档案最后一行
/work 向下搜索
?work 向上搜索
gg 移动到档案第一行
vi编辑模式
a,i,r,o,A,I,R,O
进入vi编辑模式
dd 删除光标当前行
ndd 删除n行
yy 复制当前行
nyy 复制n行
p,P 粘贴
u 撤消
[Ctrl]+r 重做上一个动作
[ctrl]+z 暂停退出
指令模式
:w 保存
:w! 强制保存
:q! 不保存离开
:wq! 保存后离开
:e! 还原原始档
:w filename 另存为
:set nu 设置行号
:set nonu 取消行号
ZZ 保存离开
:set nohlsearch 永久地关闭高亮显示
:sp 同时打开两个文档
[Ctrl]+w 两个文档设换
:nohlsearch暂时关闭高亮显示
+vim显示行号,设置tab宽度为2
-vim配置,直接在Terminal中输入vim打开vim,然后使用:进去命令模式,然后输入如下命令即可
set ai ignorecase tabstop=4
set nu
解释:
ai为设置自动缩进
ignorecase搜索时忽略大小写
tabstop=4设置tab宽度为4个空格宽
nu显示行号
+yum指令的使用
-http://blog.chinaunix.net/space.php?uid=346158&do=blog&cuid=2565163
-yum check-update 检查可更新的所有软件包
yum update 下载更新系统已安装的所有软件包
yum upgrade 大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级
yum install <packages> 安装新软件包
yum update <packages> 更新指定的软件包
yum remove <packages> 卸载指定的软件包
yum groupinstall <groupnames> 安装指定软件组中的软件包
yum groupupdate <groupnames> 更新指定软件组中的软件包
yum groupremove <groupnames> 卸载指定软件组中的软件包
yum grouplist 查看系统中已经安装的和可用的软件组
yum list 列出资源库中所有可以安装或更新以及已经安装的rpm包
yum list <regex> 列出资源库中与正则表达式匹配的可以安装或更新以及已经安装的rpm包
yum list available 列出资源库中所有可以安装的rpm包
yum list available <regex> 列出资源库中与正则表达式匹配的所有可以安装的rpm包
yum list updates 列出资源库中所有可以更新的rpm包
yum list updates <regex> 列出资源库中与正则表达式匹配的所有可以更新的rpm包
yum list installed 列出资源库中所有已经安装的rpm包
yum list installed <regex> 列出资源库中与正则表达式匹配的所有已经安装的rpm包
yum list extras 列出已经安装的但是不包含在资源库中的rpm包
yum list extras <regex> 列出与正则表达式匹配的已经安装的但是不包含在资源库中的rpm包
yum list recent 列出最近被添加到资源库中的软件包
yum search <regex> 检测所有可用的软件的名称、描述、概述和已列出的维护者,查找与正则表达式匹配的值
yum provides <regex> 检测软件包中包含的文件以及软件提供的功能,查找与正则表达式匹配的值
yum clean headers 清除缓存中的rpm头文件
yum clean packages 清除缓存中rpm包文件
yum clean all 清除缓存中的rpm头文件和包文件
yum deplist <packages> 显示软件包的依赖信息
当第一次使用yum 或yum 资源库有更新时,yum 会自动下载所有所需的he ade rs放置于 /var/cache /yum 目录下,所需时间可能较长。
还可以使用 yum info 命令列出包信息,yum info 可用的参数与 yum list 的相同。
yum 命令还可以使用 -y 参数用于用 ye s 回答命令运行时所提出的问题,比如 yum -y install vsftpd,这样在安装软件的时候就不用输入yes/y了
yum 命令工具使用举例
1、升级系统
[root@localhost ~]#yum update
2、安装指定的软件包,我最喜欢用下面的命令
[root@localhost ~]# yum -y install vsftpd
3、升级指定的软件包
[root@localhost ~]# yum -y update mysql
4、卸载指定的软件包
[root@localhost ~]# yum -y remore vsftpd mysql
5、查看系统中已经安装的和可用的软件组,对于可用的软件组,你可以选择安装
[root@localhost ~]# yum grouplist
6、安装上一个命令中显示的可用的软件组中的一个软件组,神之编辑器-Emacs,大约安装了12个软件包
[root@localhost ~]# yum -y groupinstall Emacs
7、更新指定软件组中的软件包
[root@localhost ~]# yum -y groupupdate Emacs
8、卸载指定软件组中的软件包,对于Emacs,安装的时候安装了12个软件包,但是卸载的时候只卸载了4个软件包!
[root@localhost ~]# yum -y groupremove Emacs
9、清除缓存中的rpm 头文件和包文件
[root@localhost ~]# yum clean all
10、搜索相关的软件包
[root@localhost ~]# yum -y search Emacs
11、显示指定软件包的信息
[root@localhost ~]# yum info Emacs
和rpm -qi emacs显示的信息差不多,但不完全相同
12、查询指定软件包的依赖信息,emacs依赖的模块不少啊
[root@localhost ~]# yum deplist emacs
13、列出所有以 yum 开头的软件包
[root@localhost ~]# yum list yum\*
14、列出已经安装的但是不包含在资源库中的rpm 包
# yum list extras
最常用的还是第3,4命令
number of view: 225
No related posts.
启动动 yum 升级系统
第一次执行yum check-update必须花比较久的时间,因為yum必须检查伺服器上所有header资料; 完成之后,往后执行 yum check-update就会很快了。
在使用yum升级系统之前,基於系统安全性考量,yum需要所有RPM套件的GPG认证金钥,认证升级RPM套件的完整性之后,才能安全地帮您自动升级系 统,所以您必须先载入Fedora DVD安装光碟的RPM-GPG-KEY与RPM-GPG-KEY-fedora这两个GPG认证金钥档案,才能执行yum update自动升级所有RPM套件。
# yum check-update (检查需要升级的套件)
# rpm --import RPM-GPG-KEY
# rpm --import RPM-GPG-KEY-fedora
# yum -y update (自动升级所有RPM套件)
yum程式已经自动在系统的 /etc/cron.daily 目录中放有yum.cron,每天会定时帮您自动执行yum系统升级程式,自动检查并更新伺服器上update的新RPM套件,所有的yum执行过程也都 会记录在 /var/log/yum.log中,我们只要确定 cron、yum 的 service 有啟动,即会每天作 yum update 的动作了
#chkconfig crond on
#chkconfig yum on
yum相关的套件
Yum Extender
是一套图形介面的yum更新程式,安装后会出现在 Xwindow的应用程式/系统工具/yum延伸程式。
yum -y install yumex
Yum UpdateOnBoot
若电脑并非24小时开机,不适合作cron定时更新的主机,可设定在开机时检查是否有要更新的套件。
yum -y install yum-updateonboot
chkconfig yum-updateonboot on
yum的常用指令
更新套件
yum update [套件1] [套件2] [...] yum update
安装套件
yum install 套件1 [套件2] [...]
yum install php*
移除套件
yum remove 套件1 [套件2] [...] yum removel nmap
列出所有的套件
yum list
列出所有可以更新的套件 yum list updates
列出所有已安装的套件 yum list installed
列出所有已安装但不在 Yum Repository 内的套件 yum list extras
检查可以更新的套件 yum check-update
列出所有套件的资讯 yum info
列出所有可以更新的套件资讯 yum info updates
列出所有已安装的套件资讯 yum info installed
列出所有已安装但不在 Yum Repository 内的套件资讯 yum info extras
列出套件提供哪些档案
yum provides 套件1 [套件2] [...]
搜寻套件
yum search [参数]
-卸载光驱:umount
挂载光驱:mount
-权限问题:安装vmware tools 的时候,如果提示没有权限,那么需要用chmod 777 文件名 来添加权限,比如 提示vmware-install.pl没有权限,那么用下面的命令:
chmod 777 vmware-install.pl
-马上关闭系统shutdown now,需要root权限
-OpenSUSE中使用kmenuedit可以分配应用程序键盘快捷键
-切换用户su -,切换成root用户,exit切换成普通用户
-fdisk -l查看分区情况
-df -hl查看磁盘使用情况
-重命名文件夹命令 mv a b
-修改fstab:vim /etc/fstab
-cat,more命令,将某个文件的内容显示出来。两个命令所不同的是:cat把文件内容一直打印出来,而more则分屏显示
-chmod命令 权限修改 用法:chmod 一位8进制数 filename
-su -l 用户名(如果用户名缺省,则切换到root状态)
-whoami:确认自己身份
whereis:查询命令所在目录以及帮助文档所在目录
which:查询命令所在目录(类似whereis)
+grep:文本内容搜索;find:文件或者目录名以及权限属主等匹配搜索
-grep success* //查找当前目录下面所有文件里面含有success字符的文件
-kill 杀死某个正在进行或者已经是dest状态的进程
-passwd可以设置口令
-history 用户用过的命令
-!!执行最近一次的命令
+tar 解压
-tar -zxvf nmap-3.45.tgz
+finger 可以让使用者查询一些其他使用者的资料
-finger root 查看root的资料
-查看当前进程:process -e
+修改linux系统启动顺序
-vi /etc/grub.conf
-使用lftp 10.238.11.160登录ftp
-使用%s/\r//g去掉vim打开的文件中的^M
-在进入系统后使用init 3进入文本模式,init 5进入图形模式
-挂载u盘,使用fdisk -l查看u盘设备名称,如/dev/sda1,然后使用mount /dev/sda1 /mnt/usb(usb需自己创建)
+linux查看命令/文件所在路径的命令whereis & which
-whereis 用来查看一个命令或者文件所在的绝对路径,而 which 用来查看当前要执行的命令所在的路径。
下面举个例子来说明。加入你的linux系统上装了多个版本的java。如果你直接在命令行敲命令 "java -version" ,会得到一个结果。但是,你知道是哪一个路径下的java在执行吗?如果想知道,可以用 which 命令:
which java
得到的结果就是系统默认执行的java所在的路径。
如果使用命令: whereis java
那么你会得到很多条结果,因为这个命令把所有包含java(不管是文件还是文件夹)的路径都列了出来。
-Ctrl+Alt+BackSpace直接从图形界面进入文本界面