zoukankan      html  css  js  c++  java
  • 【总结】简单易用的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直接从图形界面进入文本界面

  • 相关阅读:
    Postman生成随机数(4)
    Postman参数化(3)
    Postman主界面介绍(2)
    Postman安装与介绍(1)
    Scuba数据库漏洞扫描工具--安装与使用
    Jmeter(八)Linux上安装与使用
    Jmeter(七)生成测试报告(Windows)
    理解动态字符串SDS
    csp复习笔记?
    ORM
  • 原文地址:https://www.cnblogs.com/hust_wsh/p/2175519.html
Copyright © 2011-2022 走看看