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    
  • 相关阅读:
    操作系统学习笔记 003 安装SourceInsight
    操作系统学习笔记 002 安装NASM
    操作系统学习笔记 001 安装Ubuntu
    ATmega8仿真——键盘扫描的学习
    Open-Drain&Push-Pull
    ATmega8仿真——LED 数码管的学习
    SSD固态硬盘的GC与Trim
    前缀、中缀、后缀表达式
    动态规划解决01背包问题
    javascript 获取图片原始尺寸
  • 原文地址:https://www.cnblogs.com/liuzhipeng/p/7571334.html
Copyright © 2011-2022 走看看