zoukankan      html  css  js  c++  java
  • linux命令

    ? bin(binaries):存放可执行的二进制文件
    ? sbin(super user binaries):存放可执行的二进制文件,只有root用户才能访问
    ? boot:存放用于系统引导时使用的的各种文件
    ? dev(devices):用于存放设备文件
    ? etc(etcetera):存放系统配置文件【重要】
    ? root:超级用户(管理员)目录
    ? home:存放用户文件的根目录
    ? lib(library):存放根文件系统中的程序运行所需要的共享库及内核模块
    ? mnt(mount):系统管理员安装临时文件系统的安装点
    ? tmp(temporary):用于存放各种临时文件
    ? usr(Unix share resource):用于存放共享的的系统资源【重要】,一般我们都会把文件安装在该目录下
    ? var(variable):用于存放运行时需要改变数据的文件


    1、 内部命令:help + 命令,例如help cd
    2、 外部命令:man + 命令,例如 man ls

    一:
    操作文件或目录常用命令

            cd /         :根目录
            cd /a/b/c     :进入指定目录
            cd ~         :进入到用户的根目录root目录
            cd -         :返回到原来目录
            cd ..         :回退上一级
            cd ../b/c    :上一级的下一集
            pwd          :print working directory,显示当前工作目录
            ls            :查看当前目录下的所有文件,ls –la或者ll
    
            mkdir        :make directory,创建目录
                            mkdir directory1 directory2
                            mkdir -p  /home/orale/(创建多级目录)
            touch        :创建空文件
            echo        :向文件中添加内容echo “content” > x.txt; 追加数据:echo “content” >> x.txt
            cp            :copy,复制文件或者目录(递归持续复制 cp -r )
                            cp (复制档案或目录) 
                            [root@linux ~]# cp [-adfilprsu] 来源档(source) 目的檔(destination) 
                            [root@linux ~]# cp [options] source1 source2 source3 …. directory 
                            参数: 
                            -a :相当于 -pdr 的意思; 
                            -d :若来源文件为连结文件的属性(link file),则复制连结文件属性而非档案本身; 
                            -f :为强制 (force) 的意思,若有重复或其它疑问时,不会询问使用者,而强制复制; 
                            -i :若目的檔(destination)已经存在时,在覆盖时会先询问是否真的动作! 
                            -l :进行硬式连结 (hard link) 的连结档建立,而非复制档案本身; 
                            -p :连同档案的属性一起复制过去,而非使用预设属性; 
                            -r :递归持续复制,用于目录的复制行为; 
                            -s :复制成为符号连结文件 (symbolic link),亦即『快捷方式』档案; 
                            -u :若 destination 比 source 旧才更新 destination ! 
                            最后需要注意的,如果来源档有两个以上,则最后一个目的文件一定要是『目录』才行!
                            scp nginx-1.8.0.tar.gz 192.168.200.129:/root/
            mv            :move,移动文件或者目录、
                        (同一目录下就是改名)(mv a b c -t 目录)
                        
            rm            :remove,删除文件; -r:recursive,同时删除该目录下的所有文件; -f:force,强制删除文件或目录
            rmdir        :remove directory,删除空目录
            cat            :catenate,显示文件文件内容
            more、less    :分页显示文本文件内容  (空格:翻页)
            head、tail    :head|tail –n 5 a.log:查看a.log的前5行|或后5行数据;    tail –500f b.log:循环读取最后500行(ctrl+c退出)
            stat        :查看文件详情


    常用命令

            wc            :word count,统计文本的字符个数、单词个数、行数
                            -l:统计该文本的行数; -w:统计该文本的单词个数; -m:统计该文本的字符个数;
    
            find        :在文件系统中查找指定的文件,例:find /usr/ -name “xxx.txt”
            grep        :在指定的文本文件中查找指定的字符串,例如:grep “hello” x.txt
            du            :显示指定的文件(目录)已使用的磁盘空间的总数
            free        :显示当前内存和交换空间的使用情况
            netstat        :显示网络状态信息   
            ifconfig    :网卡的网络配置信息
            ping        :测试网络的连通性
            ps            :显示瞬间的进程状态
            kill        :杀死一个进程,kill -9 pid
            df            :显示文件系统磁盘空间的使用情况
            ln            :link,建立连接文件(link),例如:ln –s family/son lnson
    
            
            netstat -ltunp    

    文件搜索命令locate
    命令搜索命令whereis和which
    文件搜索命令find
    字符串搜索命令grep
    find命令与grep命令的区别

    解压缩命令

            gzip(文件)                        :压缩文件(xxx.gz)    例:gzip 1.txt; 解压:gzip –d xxx.gz(或者gunzip xxx.gz)
            bzip2(文件)(相比.gz压的更狠)        :压缩文件(xxx.bz2)    例:bzip2 1.txt;解压:bzip2 –d xxx.bz2或者(bunzip2 xxx.bz2)
            tar    (文件夹)        :
                        -c 建立一个压缩文件的参数指令(create)
                        -x 解开一个压缩文件的参数指令(extract)
                        -z 是否需要用 gzip 压缩
                        -j 是否需要用 bzip2 压缩
                        -v 压缩的过程中显示文件(verbose)
                        -f 使用档名,在 f 之后要立即接档名(file)
    
                        1、    将当前目录打包:     tar –cvf bak.tar bak/
                        2、    解压:                tar –xvf bak.tar
    
                        3、    打包并压缩成gzip:    tar –zcvf bak.tar.gz bak.tar
                        4、    解压gzip:            tar –zxvf bak.tar.gz [-C /usr  解压到该目录下]
    
                        5、    打包并压缩成bz2:    tar -jcvf a.tar.bz2
                        6、    解压bz2:            tar -jxvf a.tar.bz2
    
    
            unzip abc.zip -d /solr    解压会散落在solr中(可以先建个文件夹)            

    其他命令

            tab键        自动补全
            Ctrl+c        停止当前进程
            history        查看历史命令
            ↑ ↓键
            Ctrl+l        清屏,与clear命令作用相同
            Ctrl+r        搜索历史命令
            
            shutdown:系统关机
            -r:关机后立即重启
            -h:关机后不启动 shutdown -h now
            halt:关机后关闭电源
            reboot:重启
            
            su - root 提示密码(切换用户,- 表示环境变量跟着变):
            ubunto系统是: su do root
    
    
            date  当前时间

    二:
    vim编辑器

            vi/vim是Unix/Linux上最常用的文本编辑器而且功能非常强大
            vim        进入一般模式     :wq退出一般模式 ZZ(Shift+zz), q!(强制退出,不保存)  wq!(强制,退出)
            i a o   进入插入模式     Esc退出插入模式
            :        进入底层模式    命令回车即可退出
            /x  n N
            ?x  n N 
            :noh
    
    插入命令:i a o(一般模式)
    
            i            :在当前光标前插入
            I            :在当前光标行首插入
            a            :在当前光标后插入
            A            :在当前光标行尾插入
            o            :在当前光标的下一行插入新行
            O            :在当前光标的上一行插入新行
            
    定位命令:(底层模式)
    
            :set nu        :显示行号
            :set nonu    :取消行号
            :n            :到文本的第n行
            gg            :到文本第一行
            G            :到文本的最后一行
    
    删除命令(好用)
    
            x            :删除光标所在处的字符
            nx            :删除光标所在处的n个字符
                
            dd            :删除光标所在行,
            ndd            : 删除n行
                
            dG            :删除光标所在行到末尾行的所有内容
            D            :删除光标所在处到行尾的内容
            
            :n1,n2d        :删除指定范围的行
    
    复制粘贴命令
            yy            :复制当前光标行;
            nyy         : 复制n行
            p            :粘贴到该行下
            P            :粘贴到该行上
            
    
    替换和取消命令
            u                :undo,取消上一步操作
            ctrl+r            :redo,返回到undo之前
            r                :替换光标所在处的字符
            R                :从光标所在处开始替换,按Esc键结束
                            
    常用快捷键
            ZZ(Shift+zz)    :保存并退出,与”:wq”作用相同, q!不保存强制退出
            Ctrl+c            :结束当前进程
            Ctrl+r            :搜索历史命令
            Tab键            :自动补全


    三:
    关于Linux的配置

    修改主机名
            vim /etc/sysconfig/network
            修改hostname=master即可,需要注意的是:主机名不能包含下划线或者中划线
    
    修改ip
            vim /etc/sysconfig/network-scripts/ifcfg-eth0
            DEVICE="eth0"
            BOOTPROTO="static"          #修改
            HWADDR="00:0C:29:7D:A4:4E"
            IPV6INIT="yes"
            NM_CONTROLLED="yes"
            ONBOOT="yes"
            TYPE="Ethernet"
            UUID="f804bacc-f3e8-452b-ae55-3f97d3bf5108"
            IPADDR="192.168.31.251"     #添加 保证你的ip地址和net1在同一网段下
            NETMASK="255.255.255.0"     #添加
            GATEWAY="193.168.31.250"    #添加
    
    修改主机名和IP的映射关系
            vim /etc/hosts
            最后一行添加 192.168.31.251    master
    
    关闭防火墙
    
            cat /etc/sysconfig/hosts
            
            1、    查看防火墙强状态:service iptables status;
            2、    关闭防火墙:service iptables stop
            3、    查看防火墙是否开机启动:chkconfig iptables --list
            4、    查看该系统已哪种方式启动:vim /etc/inittab   1:单用户启动  3:多用户启动,server版  5:图形界面方式启动
            5、    关闭防火墙开机关闭:chkconfig iptables off
    
            service iptables restart

    CentOS 7.0默认使用的是firewall作为防火墙,使用iptables必须重新设置一下

    1、直接关闭防火墙

    systemctl stop firewalld.service #停止firewall

    systemctl disable firewalld.service #禁止firewall开机启动

    2、设置 iptables service

    yum -y install iptables-services

    如果要修改防火墙配置,如增加防火墙端口3306

    vi /etc/sysconfig/iptables 

    增加规则

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

    保存退出后

    systemctl restart iptables.service #重启防火墙使配置生效

    systemctl enable iptables.service #设置防火墙开机启动

    最后重启系统使设置生效即可。


    四:
    权限管理

    三种基本权限
            r:read,    读权限
            w:write,    写权限
            x:execute,执行权限
    
            -rw-rw-r-- 1 ftpuser ftpuser 41894 Jul  3 22:27 girl.jpg
            第1位:        文件类型        (d 目录,- 普通文件,l 链接文件)
            第2-4位:    所属用户权限,    用u(user)表示
            第5-7位:    所属组权限,    用g(group)表示
            第8-10位:    其他用户权限,    用o(other)表示
            第2-10位:    表示所有的权限,用a(all)表示
    
            完整信息:一个文件,所属用户具有读写执行权限;所属组的用户
            有读写权限,没有执行权限;其他用户只有读权限
    
    更改操作权限
            chmod:    修改文件权限命令(change mode)
                参数: -R 下面的文件和子目录做相同权限操作(Recursive递归的)
                
                例如:chmod  u+r  a.txt
                例如:chmod 750 a.txt
                
                用数字来表示权限 r=4,w=2,x=1,-=0
                rwx用二进制表示是111,十进制4+2+1=7
                r-x用二进制表示是101,十进制4+0+1=5


    五:
    Linux下安装软件

    jdk安装
    
            设置执行权限:            chmod u+x jdk-7u45-linux-i586.bin
            解压缩:                tar -zxvf jdk-7u79-linux-x64.gz -C /usr/java/
                                    --解压后是文件夹直接是jdk1.7.0_45
            添加环境变量
                    1、                vim /etc/profile
                    2、在/etc/profile文件最后添加
                                    JAVA_HOME=/usr/java/jdk1.7.0_45
                                    export PATH=$JAVA_HOME/bin:$PATH
                    3, 更新配置:    source /etc/profile
                    4, 验证:    java -version
            
        
    eclipse安装    
            解压缩:tar -zxvf eclipse-java-luna-SR2-linux-gtk-x86_64.tar.gz -C /usr
            在linux桌面空白处,点击鼠标右键,弹出一个对话框,选择“create Launcher”:
            设置name、command(eclipse安装目录)、图标(icon.xpm)
            reboot:重启
        
        
    tomcat安装
            apache-tomcat-7.0.47.tar.gz解压缩后文件夹是apache-tomcat-7.0.47
            运行 ./startup.sh
            查看日志: tail -500f apache-tomcat-7.0.47/logs/catalina.out
    
            
    mysql的安装
        
            RPM安装mysql
            1、    上传mysql所需的RPM软件包
            2、    RPM文件安装顺序
                rpm -ivh perl-DBI-1.609-4.el6.i686.rpm
                rpm -ivh perl-DBD-MySQL-4.013-3.el6.i686.rpm
                rpm -Uvh openssl-1.0.1e-16.el6_5.14.i686.rpm
                rpm -Uvh mysql-libs-5.1.73-3.el6_5.i686.rpm
                rpm -ivh mysql-5.1.73-3.el6_5.i686.rpm
                rpm -ivh mysql-server-5.1.73-3.el6_5.i686.rpm
            3、    启动mysql服务
                service mysqld start
                设置mysql密码:mysqladmin -u root password 'root'
                登录:mysql -u root -p
                退出:quit
                进入mysql数据库:show databases; use mysql; show tables; 等。
    
            注意:(这里使用的是32位的mysql的RPM软件包,和本机没有关系! 因此该Linux)
        
    RPM是RPM package manager(RPM软件包管理器),是一种用于互联网下载包的打包及安装工具,
            它包含在某些Linux发行版本中。它生成具有.RPM扩展名的文件。
            它的主要功能:安装、卸载、升级和管理软件
            
            RPM常用参数介绍
                i    :安装应用程序(install)
                e    :卸载应用程序(erase)
                vh    :显示安装进度;(verbose   hash)
                
                U    :升级软件包;(update) 
                qa    : 显示所有已安装软件包(query all)
                
                -ql    :显示软件安装的目录
                结合grep命令使用
                例: rpm -ivh gcc-c++-4.4.7-3.el6.x86_64.rpm
                    查看安装rpm文件的位置: rpm -ql mysql
                    查看rpm已经安装过的文件: rpm -qa|grep mysql    
  • 相关阅读:
    基本MVVM 和 ICommand用法举例(转)
    WPF C# 命令的运行机制
    628. Maximum Product of Three Numbers
    605. Can Place Flowers
    581. Shortest Unsorted Continuous Subarray
    152. Maximum Product Subarray
    216. Combination Sum III
    448. Find All Numbers Disappeared in an Array
    268. Missing Number
    414. Third Maximum Number
  • 原文地址:https://www.cnblogs.com/liuzhipeng/p/7571334.html
Copyright © 2011-2022 走看看