【总结】简单易用的linux命令行清单

-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直接从图形界面进入文本界面

原文地址:https://www.cnblogs.com/hust_wsh/p/2175519.html